@volley/recognition-client-sdk 0.1.707 → 0.1.767

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.
@@ -22,6 +22,8 @@ declare enum RecognitionProvider {
22
22
  CARTESIA = "cartesia",
23
23
  DASHSCOPE = "dashscope",
24
24
  BEDROCK = "bedrock",
25
+ INWORLD_STT = "inworld-stt",
26
+ AWS_TRANSCRIBE = "aws-transcribe",
25
27
  TEST_ASR_PROVIDER_QUOTA = "test-asr-provider-quota",
26
28
  TEST_ASR_STREAMING = "test-asr-streaming"
27
29
  }
@@ -129,6 +131,21 @@ declare enum BedrockModel {
129
131
  VOXTRAL_MINI_3B_2507 = "mistral.voxtral-mini-3b-2507",
130
132
  VOXTRAL_SMALL_24B_2507 = "mistral.voxtral-small-24b-2507"
131
133
  }
134
+ /**
135
+ * Inworld AI STT models
136
+ * @see https://docs.inworld.ai/stt/overview
137
+ */
138
+ declare enum InworldSttModel {
139
+ INWORLD_STT_1 = "inworld/inworld-stt-1"
140
+ }
141
+ /**
142
+ * AWS Transcribe streaming model
143
+ * AWS Transcribe uses a single default streaming model
144
+ * @see https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html
145
+ */
146
+ declare enum AwsTranscribeModel {
147
+ DEFAULT = "default"
148
+ }
132
149
  /**
133
150
  * Self-serve vLLM batch transcription models
134
151
  * Backed by recognition-inference / RunPod `/transcribe`
@@ -139,7 +156,7 @@ declare enum SelfServeVllmModel {
139
156
  /**
140
157
  * Type alias for any model from any provider
141
158
  */
142
- type RecognitionModel = DeepgramModel | GoogleModel | FireworksModel | GladiaModel | ElevenLabsModel | OpenAIRealtimeModel | MistralVoxtralModel | CartesiaModel | DashScopeModel | SelfServeVllmModel | BedrockModel | string;
159
+ type RecognitionModel = DeepgramModel | GoogleModel | FireworksModel | GladiaModel | ElevenLabsModel | OpenAIRealtimeModel | MistralVoxtralModel | CartesiaModel | DashScopeModel | InworldSttModel | SelfServeVllmModel | BedrockModel | AwsTranscribeModel | string;
143
160
 
144
161
  /**
145
162
  * Audio encoding types
@@ -594,6 +611,61 @@ declare const SessionConfiguredSchemaV1: z.ZodObject<{
594
611
  providerConfig?: string | undefined;
595
612
  }>;
596
613
  type SessionConfiguredV1 = z.infer<typeof SessionConfiguredSchemaV1>;
614
+ /**
615
+ * Audio metrics result V1 - contains audio quality metrics
616
+ * Extracted from raw PCM audio without AI/ML, pure signal analysis
617
+ * Used to detect mic issues (muted, low gain, clipping) and audio quality
618
+ */
619
+ declare const AudioMetricsResultSchemaV1: z.ZodObject<{
620
+ type: z.ZodLiteral<RecognitionResultTypeV1.AUDIO_METRICS>;
621
+ valid: z.ZodBoolean;
622
+ audioBeginMs: z.ZodNumber;
623
+ audioEndMs: z.ZodNumber;
624
+ maxVolume: z.ZodNumber;
625
+ minVolume: z.ZodNumber;
626
+ avgVolume: z.ZodNumber;
627
+ peakVolumeDb: z.ZodNullable<z.ZodNumber>;
628
+ avgVolumeDb: z.ZodNullable<z.ZodNumber>;
629
+ silenceRatio: z.ZodNumber;
630
+ clippingRatio: z.ZodNumber;
631
+ snrEstimate: z.ZodNullable<z.ZodNumber>;
632
+ lastNonSilenceMs: z.ZodNumber;
633
+ timestamp: z.ZodString;
634
+ isFinal: z.ZodOptional<z.ZodBoolean>;
635
+ }, "strip", z.ZodTypeAny, {
636
+ valid: boolean;
637
+ type: RecognitionResultTypeV1.AUDIO_METRICS;
638
+ audioBeginMs: number;
639
+ audioEndMs: number;
640
+ maxVolume: number;
641
+ minVolume: number;
642
+ avgVolume: number;
643
+ silenceRatio: number;
644
+ clippingRatio: number;
645
+ snrEstimate: number | null;
646
+ lastNonSilenceMs: number;
647
+ timestamp: string;
648
+ peakVolumeDb: number | null;
649
+ avgVolumeDb: number | null;
650
+ isFinal?: boolean | undefined;
651
+ }, {
652
+ valid: boolean;
653
+ type: RecognitionResultTypeV1.AUDIO_METRICS;
654
+ audioBeginMs: number;
655
+ audioEndMs: number;
656
+ maxVolume: number;
657
+ minVolume: number;
658
+ avgVolume: number;
659
+ silenceRatio: number;
660
+ clippingRatio: number;
661
+ snrEstimate: number | null;
662
+ lastNonSilenceMs: number;
663
+ timestamp: string;
664
+ peakVolumeDb: number | null;
665
+ avgVolumeDb: number | null;
666
+ isFinal?: boolean | undefined;
667
+ }>;
668
+ type AudioMetricsResultV1 = z.infer<typeof AudioMetricsResultSchemaV1>;
597
669
 
598
670
  /**
599
671
  * Recognition Context Types V1
@@ -866,6 +938,17 @@ interface ASRRequestConfig {
866
938
  * ```
867
939
  */
868
940
  providerOptions?: Record<string, any>;
941
+ /**
942
+ * Streaming audio metrics opt-in interval (ms).
943
+ *
944
+ * When set to a positive number, server forwards AudioMetrics results to the
945
+ * client over the WebSocket, throttled so at most one result is sent per
946
+ * `audioMetricsIntervalMs`. Undefined / 0 disables streaming audio metrics
947
+ * (final metrics still embedded in the Metadata result).
948
+ *
949
+ * @example 500
950
+ */
951
+ audioMetricsIntervalMs?: number;
869
952
  /**
870
953
  * Optional fallback ASR configurations
871
954
  *
@@ -1166,6 +1249,12 @@ interface IRecognitionClientConfig {
1166
1249
  onFunctionCall?: (result: FunctionCallResultV1) => void;
1167
1250
  /** Callback when metadata is received. Only once after transcription is complete.*/
1168
1251
  onMetadata?: (metadata: MetadataResultV1) => void;
1252
+ /**
1253
+ * Callback when streaming audio metrics arrive (volume, silence ratio, clipping, SNR, etc.).
1254
+ * Only fires when `asrRequestConfig.audioMetricsIntervalMs > 0`.
1255
+ * Final metrics still arrive embedded in `onMetadata.audioMetrics`.
1256
+ */
1257
+ onAudioMetrics?: (metrics: AudioMetricsResultV1) => void;
1169
1258
  /** Callback when session is configured with actual ASR provider/model (optional) */
1170
1259
  onSessionConfigured?: (config: SessionConfiguredV1) => void;
1171
1260
  /** Callback when error occurs */
@@ -4,7 +4,7 @@
4
4
  * Simple builder pattern for RealTimeTwoWayWebSocketRecognitionClientConfig
5
5
  */
6
6
  import type { RealTimeTwoWayWebSocketRecognitionClientConfig, RecognitionCallbackUrl } from './recognition-client.types.js';
7
- import type { ASRRequestConfig, GameContextV1, TranscriptionResultV1, MetadataResultV1, SessionConfiguredV1, ErrorResultV1, Stage } from '@recog/shared-types';
7
+ import type { ASRRequestConfig, GameContextV1, TranscriptionResultV1, MetadataResultV1, SessionConfiguredV1, AudioMetricsResultV1, ErrorResultV1, Stage } from '@recog/shared-types';
8
8
  /**
9
9
  * Builder for RealTimeTwoWayWebSocketRecognitionClientConfig
10
10
  *
@@ -107,6 +107,11 @@ export declare class ConfigBuilder {
107
107
  * Set session configured callback (optional)
108
108
  */
109
109
  onSessionConfigured(callback: (config: SessionConfiguredV1) => void): this;
110
+ /**
111
+ * Set streaming audio metrics callback (optional).
112
+ * Only fires when `asrRequestConfig.audioMetricsIntervalMs > 0`.
113
+ */
114
+ onAudioMetrics(callback: (metrics: AudioMetricsResultV1) => void): this;
110
115
  /**
111
116
  * Set error callback
112
117
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config-builder.d.ts","sourceRoot":"","sources":["../src/config-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,8CAA8C,EAC9C,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,KAAK,EACN,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA+D;IAE7E;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKtB;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAKhD;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKzC;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,sBAAsB,EAAE,GAAG,IAAI;IAKlD;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK/B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKhC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI;IAKvD;;;OAGG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK7C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,GAAG,IAAI;IAKrE;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAAG,IAAI;IAKhE;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,GAAG,IAAI;IAK1E;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAKvD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAKvC;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAKtE;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKjC;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK3C;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKrC;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAKvG;;OAEG;IACH,KAAK,IAAI,8CAA8C;CAGxD"}
1
+ {"version":3,"file":"config-builder.d.ts","sourceRoot":"","sources":["../src/config-builder.ts"],"names":[],"mappings":"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"}