Feature Type
Would make my life easier
Feature Description
We just shipped a small sample on the Assay side that consumes a frozen artifact derived from LiveKit Agents' documented voice.testing.RunResult surface:
https://github.com/Rul1an/assay/tree/main/examples/livekit-runresult-evidence
The goal is narrow: consume the smallest honest testing/result surface without turning it into telemetry, session analytics, room-state export, transcript export, or raw audio export.
Right now the smallest shape that seems to work is roughly:
RunResult.events as the primary seam
outcome, timestamp, task_label
- optional final output only when it is naturally present
- only typed events such as
message, function_call, function_call_output, and agent_handoff
What would help is one of these:
- document that this is roughly the recommended small testing-result surface for external consumers
- point to a thinner official testing/result surface if one already exists
- expose a smaller typed helper/export on top of
RunResult for this use case
That would make it much easier to build deterministic external consumers on top of voice.testing without depending on broader runtime or observability semantics.
Workarounds / Alternatives
Our current workaround is to keep a docs-backed frozen artifact on our side and intentionally ignore telemetry, room/session details, transcripts, and audio payloads:
https://github.com/Rul1an/assay/tree/main/examples/livekit-runresult-evidence
That works for a sample, but it means we are inferring the right seam rather than following an explicitly recommended one.
Additional Context
Related testing/result issues that seem adjacent:
This request is not asking for:
- session analytics
- room metrics
- transcript export
- raw audio export
It is only about a small testing-result-first seam for external consumers.
Feature Type
Would make my life easier
Feature Description
We just shipped a small sample on the Assay side that consumes a frozen artifact derived from LiveKit Agents' documented
voice.testing.RunResultsurface:https://github.com/Rul1an/assay/tree/main/examples/livekit-runresult-evidence
The goal is narrow: consume the smallest honest testing/result surface without turning it into telemetry, session analytics, room-state export, transcript export, or raw audio export.
Right now the smallest shape that seems to work is roughly:
RunResult.eventsas the primary seamoutcome,timestamp,task_labelmessage,function_call,function_call_output, andagent_handoffWhat would help is one of these:
RunResultfor this use caseThat would make it much easier to build deterministic external consumers on top of
voice.testingwithout depending on broader runtime or observability semantics.Workarounds / Alternatives
Our current workaround is to keep a docs-backed frozen artifact on our side and intentionally ignore telemetry, room/session details, transcripts, and audio payloads:
https://github.com/Rul1an/assay/tree/main/examples/livekit-runresult-evidence
That works for a sample, but it means we are inferring the right seam rather than following an explicitly recommended one.
Additional Context
Related testing/result issues that seem adjacent:
This request is not asking for:
It is only about a small testing-result-first seam for external consumers.