@livekit/protocol 1.48.2 → 1.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,7 +19,7 @@
19
19
 
20
20
  import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage, Timestamp } from "@bufbuild/protobuf";
21
21
  import { Message, proto3 } from "@bufbuild/protobuf";
22
- import type { ChatContext } from "./agent/livekit_agent_session_pb.js";
22
+ import type { ChatContext, ChatRole } from "./agent/livekit_agent_session_pb.js";
23
23
  import type { PresignedPostRequest } from "./livekit_cloud_agent_pb.js";
24
24
  import type { TokenPagination } from "./livekit_models_pb.js";
25
25
 
@@ -171,11 +171,6 @@ export declare class SimulationRun extends Message<SimulationRun> {
171
171
  */
172
172
  jobs: SimulationRun_Job[];
173
173
 
174
- /**
175
- * @generated from field: livekit.SimulationRunSummary summary = 8;
176
- */
177
- summary?: SimulationRunSummary;
178
-
179
174
  /**
180
175
  * @generated from field: string agent_name = 9;
181
176
  */
@@ -232,6 +227,21 @@ export declare class SimulationRun extends Message<SimulationRun> {
232
227
  */
233
228
  mode: SimulationMode;
234
229
 
230
+ /**
231
+ * Run-level metric aggregates.
232
+ *
233
+ * @generated from field: livekit.SimulationRun.RunMetrics metrics = 19;
234
+ */
235
+ metrics?: SimulationRun_RunMetrics;
236
+
237
+ /**
238
+ * zstd-compressed SimulationRunSummary: decompress, then proto.Unmarshal.
239
+ * Compressed by default so the blob ships as-is on every hop.
240
+ *
241
+ * @generated from field: bytes summary_zstd = 20;
242
+ */
243
+ summaryZstd: Uint8Array;
244
+
235
245
  constructor(data?: PartialMessage<SimulationRun>);
236
246
 
237
247
  static readonly runtime: typeof proto3;
@@ -351,6 +361,13 @@ export declare class SimulationRun_Job extends Message<SimulationRun_Job> {
351
361
  */
352
362
  usage?: SimulationRun_Job_Usage;
353
363
 
364
+ /**
365
+ * Quality metrics for this job's call. Unset when the job produced none.
366
+ *
367
+ * @generated from field: livekit.SimulationRun.JobMetrics metrics = 14;
368
+ */
369
+ metrics?: SimulationRun_JobMetrics;
370
+
354
371
  constructor(data?: PartialMessage<SimulationRun_Job>);
355
372
 
356
373
  static readonly runtime: typeof proto3;
@@ -425,6 +442,634 @@ export declare class SimulationRun_Job_Usage extends Message<SimulationRun_Job_U
425
442
  static equals(a: SimulationRun_Job_Usage | PlainMessage<SimulationRun_Job_Usage> | undefined, b: SimulationRun_Job_Usage | PlainMessage<SimulationRun_Job_Usage> | undefined): boolean;
426
443
  }
427
444
 
445
+ /**
446
+ * @generated from message livekit.SimulationRun.JobMetrics
447
+ */
448
+ export declare class SimulationRun_JobMetrics extends Message<SimulationRun_JobMetrics> {
449
+ /**
450
+ * Headline scores, 0-1, computed by the worker as weighted means over the
451
+ * members that ran (a missing member renormalizes the rest):
452
+ * accuracy = task_completion x3 + stt.keyterm_recall + (1 - stt.wer) + tts.enunciation_score
453
+ * experience = conversation.turn_taking_score x2 + tts.naturalness_score + llm.conciseness_score
454
+ *
455
+ * @generated from field: optional float accuracy_score = 1;
456
+ */
457
+ accuracyScore?: number;
458
+
459
+ /**
460
+ * @generated from field: optional float experience_score = 2;
461
+ */
462
+ experienceScore?: number;
463
+
464
+ /**
465
+ * The accuracy anchor: the scenario verdict as 1/0, or the fraction of the declared target state the call reached.
466
+ *
467
+ * @generated from field: optional float task_completion = 3;
468
+ */
469
+ taskCompletion?: number;
470
+
471
+ /**
472
+ * @generated from field: livekit.SimulationRun.JobMetrics.STT stt = 4;
473
+ */
474
+ stt?: SimulationRun_JobMetrics_STT;
475
+
476
+ /**
477
+ * @generated from field: livekit.SimulationRun.JobMetrics.LLM llm = 5;
478
+ */
479
+ llm?: SimulationRun_JobMetrics_LLM;
480
+
481
+ /**
482
+ * @generated from field: livekit.SimulationRun.JobMetrics.TTS tts = 6;
483
+ */
484
+ tts?: SimulationRun_JobMetrics_TTS;
485
+
486
+ /**
487
+ * @generated from field: livekit.SimulationRun.JobMetrics.Conversation conversation = 7;
488
+ */
489
+ conversation?: SimulationRun_JobMetrics_Conversation;
490
+
491
+ /**
492
+ * @generated from field: livekit.SimulationRun.JobMetrics.Simulator simulator = 8;
493
+ */
494
+ simulator?: SimulationRun_JobMetrics_Simulator;
495
+
496
+ /**
497
+ * Conversation timeline: one entry per transcript turn, both speakers.
498
+ *
499
+ * @generated from field: repeated livekit.SimulationRun.JobMetrics.Turn turns = 9;
500
+ */
501
+ turns: SimulationRun_JobMetrics_Turn[];
502
+
503
+ /**
504
+ * text judge for judged scores; "" if none ran
505
+ *
506
+ * @generated from field: string judge_model = 10;
507
+ */
508
+ judgeModel: string;
509
+
510
+ /**
511
+ * audio (LALM) judge; "" if none ran
512
+ *
513
+ * @generated from field: string audio_judge_model = 11;
514
+ */
515
+ audioJudgeModel: string;
516
+
517
+ /**
518
+ * false = waveform-only capture (e.g. SIP)
519
+ *
520
+ * @generated from field: bool has_remote_session = 12;
521
+ */
522
+ hasRemoteSession: boolean;
523
+
524
+ /**
525
+ * call start (first speech edge); turn times relative to it
526
+ *
527
+ * @generated from field: google.protobuf.Timestamp t0 = 13;
528
+ */
529
+ t0?: Timestamp;
530
+
531
+ constructor(data?: PartialMessage<SimulationRun_JobMetrics>);
532
+
533
+ static readonly runtime: typeof proto3;
534
+ static readonly typeName = "livekit.SimulationRun.JobMetrics";
535
+ static readonly fields: FieldList;
536
+
537
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SimulationRun_JobMetrics;
538
+
539
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics;
540
+
541
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics;
542
+
543
+ static equals(a: SimulationRun_JobMetrics | PlainMessage<SimulationRun_JobMetrics> | undefined, b: SimulationRun_JobMetrics | PlainMessage<SimulationRun_JobMetrics> | undefined): boolean;
544
+ }
545
+
546
+ /**
547
+ * The agent's perception of the caller.
548
+ *
549
+ * @generated from message livekit.SimulationRun.JobMetrics.STT
550
+ */
551
+ export declare class SimulationRun_JobMetrics_STT extends Message<SimulationRun_JobMetrics_STT> {
552
+ /**
553
+ * word error rate, pooled: word_errors / words
554
+ *
555
+ * @generated from field: optional float wer = 1;
556
+ */
557
+ wer?: number;
558
+
559
+ /**
560
+ * pooling stats: run WER = sum errors / sum words
561
+ *
562
+ * @generated from field: optional uint32 words = 2;
563
+ */
564
+ words?: number;
565
+
566
+ /**
567
+ * @generated from field: optional uint32 word_errors = 3;
568
+ */
569
+ wordErrors?: number;
570
+
571
+ /**
572
+ * character error rate, pooled
573
+ *
574
+ * @generated from field: optional float cer = 4;
575
+ */
576
+ cer?: number;
577
+
578
+ /**
579
+ * recall of uttered key entities (names, IDs, amounts)
580
+ *
581
+ * @generated from field: optional float keyterm_recall = 5;
582
+ */
583
+ keytermRecall?: number;
584
+
585
+ /**
586
+ * @generated from field: optional uint32 keyterms_uttered = 6;
587
+ */
588
+ keytermsUttered?: number;
589
+
590
+ /**
591
+ * @generated from field: optional uint32 keyterms_recognized = 7;
592
+ */
593
+ keytermsRecognized?: number;
594
+
595
+ /**
596
+ * agent-reported STT/endpointing delay, mean
597
+ *
598
+ * @generated from field: optional uint32 transcription_latency_ms = 8;
599
+ */
600
+ transcriptionLatencyMs?: number;
601
+
602
+ constructor(data?: PartialMessage<SimulationRun_JobMetrics_STT>);
603
+
604
+ static readonly runtime: typeof proto3;
605
+ static readonly typeName = "livekit.SimulationRun.JobMetrics.STT";
606
+ static readonly fields: FieldList;
607
+
608
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SimulationRun_JobMetrics_STT;
609
+
610
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics_STT;
611
+
612
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics_STT;
613
+
614
+ static equals(a: SimulationRun_JobMetrics_STT | PlainMessage<SimulationRun_JobMetrics_STT> | undefined, b: SimulationRun_JobMetrics_STT | PlainMessage<SimulationRun_JobMetrics_STT> | undefined): boolean;
615
+ }
616
+
617
+ /**
618
+ * @generated from message livekit.SimulationRun.JobMetrics.LLM
619
+ */
620
+ export declare class SimulationRun_JobMetrics_LLM extends Message<SimulationRun_JobMetrics_LLM> {
621
+ /**
622
+ * time to first token, mean (per-turn in turns)
623
+ *
624
+ * @generated from field: optional uint32 ttft_ms = 1;
625
+ */
626
+ ttftMs?: number;
627
+
628
+ /**
629
+ * time to first sentence — the smallest speakable unit
630
+ *
631
+ * @generated from field: optional uint32 ttfs_ms = 2;
632
+ */
633
+ ttfsMs?: number;
634
+
635
+ /**
636
+ * decode rate, mean
637
+ *
638
+ * @generated from field: optional float tokens_per_second = 3;
639
+ */
640
+ tokensPerSecond?: number;
641
+
642
+ /**
643
+ * judged 0-1: brief enough for voice
644
+ *
645
+ * @generated from field: optional float conciseness_score = 4;
646
+ */
647
+ concisenessScore?: number;
648
+
649
+ constructor(data?: PartialMessage<SimulationRun_JobMetrics_LLM>);
650
+
651
+ static readonly runtime: typeof proto3;
652
+ static readonly typeName = "livekit.SimulationRun.JobMetrics.LLM";
653
+ static readonly fields: FieldList;
654
+
655
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SimulationRun_JobMetrics_LLM;
656
+
657
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics_LLM;
658
+
659
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics_LLM;
660
+
661
+ static equals(a: SimulationRun_JobMetrics_LLM | PlainMessage<SimulationRun_JobMetrics_LLM> | undefined, b: SimulationRun_JobMetrics_LLM | PlainMessage<SimulationRun_JobMetrics_LLM> | undefined): boolean;
662
+ }
663
+
664
+ /**
665
+ * The agent's voice.
666
+ *
667
+ * @generated from message livekit.SimulationRun.JobMetrics.TTS
668
+ */
669
+ export declare class SimulationRun_JobMetrics_TTS extends Message<SimulationRun_JobMetrics_TTS> {
670
+ /**
671
+ * Time to first AUDIO — the user-relevant signal. Some providers stream
672
+ * bytes before actual speech, so byte-level TTFB alone over-promises;
673
+ * it is kept below for disambiguation.
674
+ *
675
+ * @generated from field: optional uint32 ttfa_ms = 1;
676
+ */
677
+ ttfaMs?: number;
678
+
679
+ /**
680
+ * provider byte-level TTFB, agent-reported
681
+ *
682
+ * @generated from field: optional uint32 ttfb_ms = 2;
683
+ */
684
+ ttfbMs?: number;
685
+
686
+ /**
687
+ * intelligibility: intended text vs a transcription of the output audio
688
+ *
689
+ * @generated from field: optional float wer = 3;
690
+ */
691
+ wer?: number;
692
+
693
+ /**
694
+ * speaking rate; conversational English ~110-150
695
+ *
696
+ * @generated from field: optional float speech_rate_wpm = 4;
697
+ */
698
+ speechRateWpm?: number;
699
+
700
+ /**
701
+ * judged 0-1: prosody / expressiveness
702
+ *
703
+ * @generated from field: optional float naturalness_score = 5;
704
+ */
705
+ naturalnessScore?: number;
706
+
707
+ /**
708
+ * judged 0-1: key entities audibly intact
709
+ *
710
+ * @generated from field: optional float enunciation_score = 6;
711
+ */
712
+ enunciationScore?: number;
713
+
714
+ constructor(data?: PartialMessage<SimulationRun_JobMetrics_TTS>);
715
+
716
+ static readonly runtime: typeof proto3;
717
+ static readonly typeName = "livekit.SimulationRun.JobMetrics.TTS";
718
+ static readonly fields: FieldList;
719
+
720
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SimulationRun_JobMetrics_TTS;
721
+
722
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics_TTS;
723
+
724
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics_TTS;
725
+
726
+ static equals(a: SimulationRun_JobMetrics_TTS | PlainMessage<SimulationRun_JobMetrics_TTS> | undefined, b: SimulationRun_JobMetrics_TTS | PlainMessage<SimulationRun_JobMetrics_TTS> | undefined): boolean;
727
+ }
728
+
729
+ /**
730
+ * End-to-end floor dynamics, measured off the audio timeline — the ground
731
+ * truth of what the caller hears, independent of agent self-reports.
732
+ *
733
+ * @generated from message livekit.SimulationRun.JobMetrics.Conversation
734
+ */
735
+ export declare class SimulationRun_JobMetrics_Conversation extends Message<SimulationRun_JobMetrics_Conversation> {
736
+ /**
737
+ * 0-1: latency curve + cut-in/barge-in/missed-turn penalties
738
+ *
739
+ * @generated from field: optional float turn_taking_score = 1;
740
+ */
741
+ turnTakingScore?: number;
742
+
743
+ /**
744
+ * floor-transfer offset; a gap is > 0, an overlap < 0
745
+ *
746
+ * @generated from field: optional int32 response_latency_p50_ms = 2;
747
+ */
748
+ responseLatencyP50Ms?: number;
749
+
750
+ /**
751
+ * @generated from field: optional int32 response_latency_p95_ms = 3;
752
+ */
753
+ responseLatencyP95Ms?: number;
754
+
755
+ /**
756
+ * @generated from field: optional int32 response_latency_p99_ms = 4;
757
+ */
758
+ responseLatencyP99Ms?: number;
759
+
760
+ /**
761
+ * how long the agent talks after a barge-in, mean
762
+ *
763
+ * @generated from field: optional uint32 agent_yield_latency_ms = 5;
764
+ */
765
+ agentYieldLatencyMs?: number;
766
+
767
+ /**
768
+ * agent started before the caller's turn ended
769
+ *
770
+ * @generated from field: optional uint32 eot_misprediction_count = 6;
771
+ */
772
+ eotMispredictionCount?: number;
773
+
774
+ /**
775
+ * overlapping speech / total speech
776
+ *
777
+ * @generated from field: optional float overlap_ratio = 7;
778
+ */
779
+ overlapRatio?: number;
780
+
781
+ /**
782
+ * pooling stats for overlap_ratio
783
+ *
784
+ * @generated from field: optional uint32 overlap_speech_ms = 8;
785
+ */
786
+ overlapSpeechMs?: number;
787
+
788
+ /**
789
+ * @generated from field: optional uint32 total_speech_ms = 9;
790
+ */
791
+ totalSpeechMs?: number;
792
+
793
+ /**
794
+ * dead air within the conversation
795
+ *
796
+ * @generated from field: optional uint32 silence_total_ms = 10;
797
+ */
798
+ silenceTotalMs?: number;
799
+
800
+ /**
801
+ * gaps past the natural-pause threshold
802
+ *
803
+ * @generated from field: optional uint32 awkward_silence_count = 11;
804
+ */
805
+ awkwardSilenceCount?: number;
806
+
807
+ /**
808
+ * the simulated party spoke, the agent never responded
809
+ *
810
+ * @generated from field: optional uint32 unanswered_persona_turns = 12;
811
+ */
812
+ unansweredPersonaTurns?: number;
813
+
814
+ /**
815
+ * agent paused for a non-interruption
816
+ *
817
+ * @generated from field: optional uint32 false_interruption_count = 13;
818
+ */
819
+ falseInterruptionCount?: number;
820
+
821
+ /**
822
+ * of those, never resumed
823
+ *
824
+ * @generated from field: optional uint32 false_interruption_unrecovered_count = 14;
825
+ */
826
+ falseInterruptionUnrecoveredCount?: number;
827
+
828
+ /**
829
+ * the agent's own claim, mean
830
+ *
831
+ * @generated from field: optional uint32 agent_reported_e2e_latency_ms = 15;
832
+ */
833
+ agentReportedE2eLatencyMs?: number;
834
+
835
+ constructor(data?: PartialMessage<SimulationRun_JobMetrics_Conversation>);
836
+
837
+ static readonly runtime: typeof proto3;
838
+ static readonly typeName = "livekit.SimulationRun.JobMetrics.Conversation";
839
+ static readonly fields: FieldList;
840
+
841
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SimulationRun_JobMetrics_Conversation;
842
+
843
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics_Conversation;
844
+
845
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics_Conversation;
846
+
847
+ static equals(a: SimulationRun_JobMetrics_Conversation | PlainMessage<SimulationRun_JobMetrics_Conversation> | undefined, b: SimulationRun_JobMetrics_Conversation | PlainMessage<SimulationRun_JobMetrics_Conversation> | undefined): boolean;
848
+ }
849
+
850
+ /**
851
+ * Was the call spoiled by the simulator, not the agent? Diagnostic only —
852
+ * never folded into the scores; run aggregation excludes flagged calls
853
+ * from the two headline scores.
854
+ *
855
+ * @generated from message livekit.SimulationRun.JobMetrics.Simulator
856
+ */
857
+ export declare class SimulationRun_JobMetrics_Simulator extends Message<SimulationRun_JobMetrics_Simulator> {
858
+ /**
859
+ * simulator ended a still-progressing call
860
+ *
861
+ * @generated from field: optional bool early_termination = 1;
862
+ */
863
+ earlyTermination?: boolean;
864
+
865
+ /**
866
+ * simulator dragged on after the goal was met
867
+ *
868
+ * @generated from field: optional bool late_termination = 2;
869
+ */
870
+ lateTermination?: boolean;
871
+
872
+ constructor(data?: PartialMessage<SimulationRun_JobMetrics_Simulator>);
873
+
874
+ static readonly runtime: typeof proto3;
875
+ static readonly typeName = "livekit.SimulationRun.JobMetrics.Simulator";
876
+ static readonly fields: FieldList;
877
+
878
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SimulationRun_JobMetrics_Simulator;
879
+
880
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics_Simulator;
881
+
882
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics_Simulator;
883
+
884
+ static equals(a: SimulationRun_JobMetrics_Simulator | PlainMessage<SimulationRun_JobMetrics_Simulator> | undefined, b: SimulationRun_JobMetrics_Simulator | PlainMessage<SimulationRun_JobMetrics_Simulator> | undefined): boolean;
885
+ }
886
+
887
+ /**
888
+ * @generated from message livekit.SimulationRun.JobMetrics.Turn
889
+ */
890
+ export declare class SimulationRun_JobMetrics_Turn extends Message<SimulationRun_JobMetrics_Turn> {
891
+ /**
892
+ * 1-based, conversation order
893
+ *
894
+ * @generated from field: uint32 index = 1;
895
+ */
896
+ index: number;
897
+
898
+ /**
899
+ * ASSISTANT — the agent under test, USER — simulator persona.
900
+ *
901
+ * @generated from field: livekit.agent.ChatRole role = 2;
902
+ */
903
+ role: ChatRole;
904
+
905
+ /**
906
+ * relative to t0; unset if the turn could not be aligned to the audio
907
+ *
908
+ * @generated from field: optional uint32 start_ms = 3;
909
+ */
910
+ startMs?: number;
911
+
912
+ /**
913
+ * @generated from field: optional uint32 end_ms = 4;
914
+ */
915
+ endMs?: number;
916
+
917
+ /**
918
+ * Agent-turn measurements; a negative response latency is a cut-in (the
919
+ * agent started before the caller's turn ended).
920
+ *
921
+ * @generated from field: optional int32 response_latency_ms = 5;
922
+ */
923
+ responseLatencyMs?: number;
924
+
925
+ /**
926
+ * @generated from field: optional uint32 transcription_delay_ms = 6;
927
+ */
928
+ transcriptionDelayMs?: number;
929
+
930
+ /**
931
+ * @generated from field: optional uint32 llm_ttft_ms = 7;
932
+ */
933
+ llmTtftMs?: number;
934
+
935
+ /**
936
+ * @generated from field: optional uint32 llm_ttfs_ms = 8;
937
+ */
938
+ llmTtfsMs?: number;
939
+
940
+ /**
941
+ * @generated from field: optional uint32 tts_ttfa_ms = 9;
942
+ */
943
+ ttsTtfaMs?: number;
944
+
945
+ /**
946
+ * @generated from field: optional uint32 tts_ttfb_ms = 10;
947
+ */
948
+ ttsTtfbMs?: number;
949
+
950
+ /**
951
+ * @generated from field: optional uint32 agent_reported_e2e_latency_ms = 11;
952
+ */
953
+ agentReportedE2eLatencyMs?: number;
954
+
955
+ /**
956
+ * @generated from field: optional float conciseness_score = 12;
957
+ */
958
+ concisenessScore?: number;
959
+
960
+ /**
961
+ * @generated from field: optional float naturalness_score = 13;
962
+ */
963
+ naturalnessScore?: number;
964
+
965
+ /**
966
+ * judged 0-1: this turn's key entities audibly intact
967
+ *
968
+ * @generated from field: optional float enunciation_score = 14;
969
+ */
970
+ enunciationScore?: number;
971
+
972
+ /**
973
+ * judge failure tags ("verbosity_or_filler", ...)
974
+ *
975
+ * @generated from field: repeated string flags = 15;
976
+ */
977
+ flags: string[];
978
+
979
+ constructor(data?: PartialMessage<SimulationRun_JobMetrics_Turn>);
980
+
981
+ static readonly runtime: typeof proto3;
982
+ static readonly typeName = "livekit.SimulationRun.JobMetrics.Turn";
983
+ static readonly fields: FieldList;
984
+
985
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SimulationRun_JobMetrics_Turn;
986
+
987
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics_Turn;
988
+
989
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SimulationRun_JobMetrics_Turn;
990
+
991
+ static equals(a: SimulationRun_JobMetrics_Turn | PlainMessage<SimulationRun_JobMetrics_Turn> | undefined, b: SimulationRun_JobMetrics_Turn | PlainMessage<SimulationRun_JobMetrics_Turn> | undefined): boolean;
992
+ }
993
+
994
+ /**
995
+ * Aggregates over this run's jobs. Reuses the JobMetrics group shapes.
996
+ *
997
+ * @generated from message livekit.SimulationRun.RunMetrics
998
+ */
999
+ export declare class SimulationRun_RunMetrics extends Message<SimulationRun_RunMetrics> {
1000
+ /**
1001
+ * mean over scored jobs
1002
+ *
1003
+ * @generated from field: optional float accuracy_score = 1;
1004
+ */
1005
+ accuracyScore?: number;
1006
+
1007
+ /**
1008
+ * @generated from field: optional float experience_score = 2;
1009
+ */
1010
+ experienceScore?: number;
1011
+
1012
+ /**
1013
+ * share of jobs whose scenario verdict passed
1014
+ *
1015
+ * @generated from field: optional float scenario_pass_rate = 3;
1016
+ */
1017
+ scenarioPassRate?: number;
1018
+
1019
+ /**
1020
+ * @generated from field: livekit.SimulationRun.JobMetrics.STT stt = 4;
1021
+ */
1022
+ stt?: SimulationRun_JobMetrics_STT;
1023
+
1024
+ /**
1025
+ * @generated from field: livekit.SimulationRun.JobMetrics.LLM llm = 5;
1026
+ */
1027
+ llm?: SimulationRun_JobMetrics_LLM;
1028
+
1029
+ /**
1030
+ * @generated from field: livekit.SimulationRun.JobMetrics.TTS tts = 6;
1031
+ */
1032
+ tts?: SimulationRun_JobMetrics_TTS;
1033
+
1034
+ /**
1035
+ * @generated from field: livekit.SimulationRun.JobMetrics.Conversation conversation = 7;
1036
+ */
1037
+ conversation?: SimulationRun_JobMetrics_Conversation;
1038
+
1039
+ /**
1040
+ * @generated from field: uint32 jobs_total = 9;
1041
+ */
1042
+ jobsTotal: number;
1043
+
1044
+ /**
1045
+ * infra failures, excluded from aggregates
1046
+ *
1047
+ * @generated from field: uint32 jobs_failed = 10;
1048
+ */
1049
+ jobsFailed: number;
1050
+
1051
+ /**
1052
+ * spoiled by the simulator: flagged, not scored
1053
+ *
1054
+ * @generated from field: uint32 jobs_simulator_fault = 11;
1055
+ */
1056
+ jobsSimulatorFault: number;
1057
+
1058
+ constructor(data?: PartialMessage<SimulationRun_RunMetrics>);
1059
+
1060
+ static readonly runtime: typeof proto3;
1061
+ static readonly typeName = "livekit.SimulationRun.RunMetrics";
1062
+ static readonly fields: FieldList;
1063
+
1064
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SimulationRun_RunMetrics;
1065
+
1066
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SimulationRun_RunMetrics;
1067
+
1068
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SimulationRun_RunMetrics;
1069
+
1070
+ static equals(a: SimulationRun_RunMetrics | PlainMessage<SimulationRun_RunMetrics> | undefined, b: SimulationRun_RunMetrics | PlainMessage<SimulationRun_RunMetrics> | undefined): boolean;
1071
+ }
1072
+
428
1073
  /**
429
1074
  * @generated from message livekit.SimulationRun.Create
430
1075
  */