@speech-sdk/core 0.31.0 → 0.32.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.
@@ -36,10 +36,19 @@ const generateContentResponseSchema = z.object({
36
36
  .optional(),
37
37
  promptFeedback: z.object({ blockReason: z.string().optional() }).optional(),
38
38
  });
39
+ const GEMINI_WAV_MIME_RE = /^audio\/(?:x-)?wav(?:;|$)/i;
39
40
  function findInlineAudio(json) {
40
41
  const part = json.candidates?.[0]?.content?.parts?.find((p) => p.inlineData?.data);
41
42
  return part?.inlineData;
42
43
  }
44
+ async function decodeGeminiAudio(part) {
45
+ const audio = base64ToUint8Array(part.data);
46
+ if (GEMINI_WAV_MIME_RE.test(part.mimeType)) {
47
+ return audio;
48
+ }
49
+ const sampleRate = parseMediaTypeParam(part.mimeType, "rate") ?? DEFAULT_GEMINI_SAMPLE_RATE;
50
+ return await wrapPcm16Mono(audio, sampleRate);
51
+ }
43
52
  // Reads as deliberate punctuation but isn't a sentence terminator, so appending a period would look wrong.
44
53
  const TRAILING_PUNCTUATION_RE = /[…:;,]$/;
45
54
  // Quote marks across the scripts Gemini declares, including the German and CJK forms; matching only the
@@ -110,14 +119,6 @@ function describeMissingAudio(modelIdentifier, json) {
110
119
  return `${modelIdentifier}: no audio in generateContent response${suffix}`;
111
120
  }
112
121
  const DEFAULT_GEMINI_SAMPLE_RATE = 24_000;
113
- async function decodeGeminiWav(part) {
114
- const audio = base64ToUint8Array(part.data);
115
- if (part.mimeType.toLowerCase().startsWith("audio/wav")) {
116
- return audio;
117
- }
118
- const sampleRate = parseMediaTypeParam(part.mimeType, "rate") ?? DEFAULT_GEMINI_SAMPLE_RATE;
119
- return await wrapPcm16Mono(audio, sampleRate);
120
- }
121
122
  // Fusing directive and transcript into one line ("Read aloud: Slowly.") makes a short line parse as delivery
122
123
  // guidance with nothing to voice: the speech synthesis classifier never fires and Gemini blocks the request as
123
124
  // PROHIBITED_CONTENT. Naming the operation, labelling where the transcript starts, and putting the transcript on
@@ -138,14 +139,48 @@ const TTS_INSTRUCTIONS_FRAMING_CHARS = TTS_DELIVERY_LABEL.length + 2;
138
139
  const GEMINI_TTS_TEXT_CHAR_BUDGET = GEMINI_TTS_REQUEST_CHAR_BUDGET - TTS_PROMPT_FRAMING_CHARS;
139
140
  // Real progressive streaming is only available via the /interactions endpoint, and only for 3.1+ TTS models.
140
141
  // The legacy generateContent/streamGenerateContent endpoints buffer the full clip server-side.
142
+ const INTERACTIONS_STREAMING_MODELS = new Set(["gemini-3.1-flash-tts-preview"]);
141
143
  const GEMINI_3_8_MODELS = new Set([
142
144
  "gemini-3.8-flash-tts",
143
145
  "gemini-3.8-flash-lite-tts",
144
146
  ]);
145
- const INTERACTIONS_STREAMING_MODELS = new Set([
146
- "gemini-3.1-flash-tts-preview",
147
- ...GEMINI_3_8_MODELS,
148
- ]);
147
+ const CUSTOM_VOICE_ID_RE = /^(voice_|voicekey_)/;
148
+ const CONTENT_REFUSAL_CODE_RE = /safety|block|policy|refus/i;
149
+ const GEMINI_3_8_TAGS = {
150
+ "[laughs]": "<laugh>",
151
+ "[sighs]": "<sigh>",
152
+ "[coughs]": "<cough>",
153
+ "[gasps]": "<gasp>",
154
+ "[breath]": "<breath>",
155
+ "[short pause]": "<short pause>",
156
+ "[long pause]": "<long pause>",
157
+ };
158
+ function gemini38Text(text) {
159
+ return text.replace(/\[[^\]]+\]/g, (tag) => {
160
+ const replacement = GEMINI_3_8_TAGS[tag.toLowerCase()];
161
+ if (!replacement) {
162
+ throw new SpeechSDKError(`Unsupported Gemini 3.8 audio tag: ${tag}`);
163
+ }
164
+ return replacement;
165
+ });
166
+ }
167
+ function gemini38Content(text, style, speaker) {
168
+ return {
169
+ type: "text",
170
+ text: gemini38Text(text),
171
+ ...(style || speaker
172
+ ? {
173
+ annotations: [
174
+ {
175
+ type: "speech_metadata",
176
+ ...(speaker && { speaker }),
177
+ ...(style && { style }),
178
+ },
179
+ ],
180
+ }
181
+ : {}),
182
+ };
183
+ }
149
184
  // /interactions step.delta events carry base64 PCM in delta.data, tagged by delta.mime_type (e.g. "audio/l16"). Non-audio deltas are ignored.
150
185
  const interactionAudioDeltaSchema = z.object({
151
186
  delta: z.object({
@@ -264,17 +299,29 @@ const GOOGLE_GEMINI_3_1_LANGUAGES = [
264
299
  export const GOOGLE_MODELS = [
265
300
  {
266
301
  id: "gemini-3.8-flash-tts",
267
- releaseDate: "2026-09-23",
302
+ releaseDate: "2026-07-01",
268
303
  languages: GOOGLE_GEMINI_3_1_LANGUAGES,
269
304
  features: ["streaming", "audio-tags", "instructions"],
270
- maxInputChars: GEMINI_TTS_TEXT_CHAR_BUDGET,
305
+ maxInputChars: 5000,
271
306
  },
272
307
  {
273
308
  id: "gemini-3.8-flash-lite-tts",
274
- releaseDate: "2026-09-23",
275
- languages: GOOGLE_GEMINI_3_1_LANGUAGES,
309
+ releaseDate: "2026-07-01",
310
+ languages: [
311
+ "en",
312
+ "es",
313
+ "fr",
314
+ "de",
315
+ "pt",
316
+ "it",
317
+ "ja",
318
+ "ko",
319
+ "hi",
320
+ "ar",
321
+ "zh",
322
+ ],
276
323
  features: ["streaming", "audio-tags", "instructions"],
277
- maxInputChars: GEMINI_TTS_TEXT_CHAR_BUDGET,
324
+ maxInputChars: 5000,
278
325
  },
279
326
  {
280
327
  id: "gemini-3.1-flash-tts-preview",
@@ -323,6 +370,9 @@ export class GoogleSpeechProvider {
323
370
  if (!model?.maxInputChars) {
324
371
  return;
325
372
  }
373
+ if (GEMINI_3_8_MODELS.has(modelId)) {
374
+ return model.maxInputChars;
375
+ }
326
376
  const instructionFramingChars = options?.instructions
327
377
  ? options.instructions.length + TTS_INSTRUCTIONS_FRAMING_CHARS
328
378
  : 0;
@@ -337,14 +387,7 @@ export class GoogleSpeechProvider {
337
387
  async postGenerateContent(options, promptText, speechConfig) {
338
388
  const apiKey = resolveApiKey(this.apiKey, "GOOGLE_API_KEY", "Google");
339
389
  const body = {
340
- contents: [
341
- {
342
- role: "user",
343
- parts: typeof promptText === "string"
344
- ? [{ text: promptText }]
345
- : promptText,
346
- },
347
- ],
390
+ contents: [{ role: "user", parts: [{ text: promptText }] }],
348
391
  generationConfig: {
349
392
  responseModalities: ["audio"],
350
393
  speech_config: speechConfig,
@@ -369,27 +412,21 @@ export class GoogleSpeechProvider {
369
412
  return generateContentResponseSchema.parse(await response.json());
370
413
  }
371
414
  async generate(options) {
415
+ if (GEMINI_3_8_MODELS.has(options.modelId)) {
416
+ return this.generateInteraction(options);
417
+ }
372
418
  const modelIdentifier = `google/${options.modelId}`;
373
419
  const speechConfig = {
374
420
  voice_config: {
375
421
  prebuilt_voice_config: { voice_name: options.voice ?? "Kore" },
376
422
  },
377
423
  };
378
- const promptFor = (text) => GEMINI_3_8_MODELS.has(options.modelId)
379
- ? [
380
- {
381
- text,
382
- ...(options.instructions && {
383
- speech_metadata: { style: options.instructions },
384
- }),
385
- },
386
- ]
387
- : buildTtsPrompt(text, options.instructions);
424
+ const promptFor = (text) => buildTtsPrompt(text, options.instructions);
388
425
  const json = await this.postGenerateContent(options, promptFor(options.text), speechConfig);
389
426
  let part = findInlineAudio(json);
390
427
  // The identical retry the SDK already performs cannot help a response that came back without audio,
391
428
  // so a terse payload gets one differently shaped attempt. A genuine content refusal is skipped: reshaping cannot lift it.
392
- const reshaped = part || isContentDecline(json) || GEMINI_3_8_MODELS.has(options.modelId)
429
+ const reshaped = part || isContentDecline(json)
393
430
  ? undefined
394
431
  : reshapeTerseInput(options.text);
395
432
  let reshapedJson;
@@ -407,13 +444,107 @@ export class GoogleSpeechProvider {
407
444
  reason: noSpeechReason(reshapedJson ?? json),
408
445
  });
409
446
  }
410
- const wav = await decodeGeminiWav(part);
447
+ const wav = await decodeGeminiAudio(part);
411
448
  return {
412
449
  audio: wav,
413
450
  mediaType: "audio/wav",
414
451
  };
415
452
  }
453
+ generateInteraction(options) {
454
+ const input = [
455
+ {
456
+ type: "user_input",
457
+ content: [gemini38Content(options.text, options.instructions)],
458
+ },
459
+ ];
460
+ return this.postInteraction(options, input, [
461
+ { voice: options.voice ?? "Kore" },
462
+ ]);
463
+ }
464
+ async postInteraction(options, input, speechConfig) {
465
+ const apiKey = resolveApiKey(this.apiKey, "GOOGLE_API_KEY", "Google");
466
+ const response = await this.fetchFn(`${this.baseURL}/interactions`, {
467
+ method: "POST",
468
+ headers: {
469
+ "Content-Type": "application/json",
470
+ "x-goog-api-key": apiKey,
471
+ "X-User-Agent": SDK_USER_AGENT,
472
+ ...options.headers,
473
+ },
474
+ body: JSON.stringify({
475
+ model: options.modelId,
476
+ input,
477
+ response_format: { type: "audio" },
478
+ generation_config: {
479
+ speech_config: speechConfig,
480
+ ...options.providerOptions,
481
+ },
482
+ }),
483
+ signal: options.abortSignal,
484
+ });
485
+ await handleErrorResponse(response, {
486
+ provider: this.id,
487
+ model: options.modelId,
488
+ stage: "synthesis",
489
+ });
490
+ const json = await response.json();
491
+ const interaction = z
492
+ .object({
493
+ id: z.string().optional(),
494
+ model: z.string().optional(),
495
+ status: z.string().optional(),
496
+ error: z
497
+ .object({
498
+ code: z.string().optional(),
499
+ message: z.string().optional(),
500
+ })
501
+ .optional(),
502
+ steps: z
503
+ .array(z.object({
504
+ type: z.string().optional(),
505
+ content: z
506
+ .array(z.object({
507
+ type: z.string(),
508
+ data: z.string().optional(),
509
+ mime_type: z.string().optional(),
510
+ }))
511
+ .optional(),
512
+ }))
513
+ .optional(),
514
+ })
515
+ .parse(json);
516
+ const audioPart = interaction.steps
517
+ ?.flatMap((step) => step.content ?? [])
518
+ .find((part) => part.type === "audio" && part.data);
519
+ if (!audioPart?.data) {
520
+ throw new NoSpeechGeneratedError(`google/${options.modelId}: no audio in interaction response (status: ${interaction.status ?? "unknown"}${interaction.error?.code ? `; code: ${interaction.error.code}` : ""}).`, {
521
+ model: options.modelId,
522
+ provider: this.id,
523
+ ...(interaction.id && { requestId: interaction.id }),
524
+ reason: CONTENT_REFUSAL_CODE_RE.test(interaction.error?.code ?? "")
525
+ ? "content_refusal"
526
+ : "provider_empty_response",
527
+ });
528
+ }
529
+ const encoded = base64ToUint8Array(audioPart.data);
530
+ const mimeType = audioPart.mime_type ?? "audio/wav";
531
+ const audio = mimeType.toLowerCase().startsWith("audio/l16")
532
+ ? await wrapPcm16Mono(encoded, parseMediaTypeParam(mimeType, "rate") ?? DEFAULT_GEMINI_SAMPLE_RATE)
533
+ : encoded;
534
+ return {
535
+ audio,
536
+ mediaType: "audio/wav",
537
+ providerMetadata: {
538
+ ...(interaction.id && { requestId: interaction.id }),
539
+ model: interaction.model ?? options.modelId,
540
+ ...(interaction.status && { status: interaction.status }),
541
+ },
542
+ };
543
+ }
416
544
  async stream(options) {
545
+ if (GEMINI_3_8_MODELS.has(options.modelId)) {
546
+ return this.streamInteractions(options);
547
+ }
417
548
  if (INTERACTIONS_STREAMING_MODELS.has(options.modelId)) {
418
549
  return this.streamInteractions(options);
419
550
  }
@@ -437,17 +568,7 @@ export class GoogleSpeechProvider {
437
568
  ? [
438
569
  {
439
570
  type: "user_input",
440
- content: [
441
- {
442
- type: "text",
443
- text: options.text,
444
- ...(options.instructions && {
445
- annotations: [
446
- { type: "speech_metadata", style: options.instructions },
447
- ],
448
- }),
449
- },
450
- ],
571
+ content: [gemini38Content(options.text, options.instructions)],
451
572
  },
452
573
  ]
453
574
  : buildTtsPrompt(options.text, options.instructions),
@@ -463,7 +584,9 @@ export class GoogleSpeechProvider {
463
584
  headers: {
464
585
  "Content-Type": "application/json",
465
586
  "x-goog-api-key": apiKey,
466
- "Api-Revision": "2026-05-20",
587
+ ...(!GEMINI_3_8_MODELS.has(options.modelId) && {
588
+ "Api-Revision": "2026-05-20",
589
+ }),
467
590
  "X-User-Agent": SDK_USER_AGENT,
468
591
  ...options.headers,
469
592
  },
@@ -540,7 +663,36 @@ export class GoogleSpeechProvider {
540
663
  }
541
664
  return;
542
665
  }
666
+ acceptsDialogueVoices(modelId, voices) {
667
+ return (!GEMINI_3_8_MODELS.has(modelId) ||
668
+ voices.every((voice) => !CUSTOM_VOICE_ID_RE.test(voice)));
669
+ }
543
670
  async generateDialogue(options) {
671
+ if (GEMINI_3_8_MODELS.has(options.modelId)) {
672
+ const voiceToLabel = new Map();
673
+ const content = options.turns.map((turn) => {
674
+ let speaker = voiceToLabel.get(turn.voice);
675
+ if (!speaker) {
676
+ speaker = `Speaker${voiceToLabel.size + 1}`;
677
+ voiceToLabel.set(turn.voice, speaker);
678
+ }
679
+ const style = [options.instructions, turn.instructions]
680
+ .filter(Boolean)
681
+ .join("; ");
682
+ return gemini38Content(turn.text, style || undefined, speaker);
683
+ });
684
+ if (voiceToLabel.size !== 2 ||
685
+ !this.acceptsDialogueVoices(options.modelId, [...voiceToLabel.keys()])) {
686
+ throw new SpeechSDKError(`google/${options.modelId}: native dialogue requires two prebuilt voices.`);
687
+ }
688
+ return this.postInteraction(options, [{ type: "user_input", content }], {
689
+ mode: "conversational",
690
+ speakers: [...voiceToLabel].map(([voice, speaker]) => ({
691
+ speaker,
692
+ voice,
693
+ })),
694
+ });
695
+ }
544
696
  const voiceToLabel = new Map();
545
697
  const labelled = [];
546
698
  for (const turn of options.turns) {
@@ -576,20 +728,7 @@ export class GoogleSpeechProvider {
576
728
  prebuilt_voice_config: { voice_name: voiceName },
577
729
  },
578
730
  }));
579
- const parts = GEMINI_3_8_MODELS.has(options.modelId)
580
- ? options.turns.map((turn) => ({
581
- text: turn.text,
582
- speech_metadata: {
583
- speaker: voiceToLabel.get(turn.voice),
584
- ...((turn.instructions || options.instructions) && {
585
- style: [options.instructions, turn.instructions]
586
- .filter(Boolean)
587
- .join("\n"),
588
- }),
589
- },
590
- }))
591
- : text;
592
- const json = await this.postGenerateContent(options, parts, {
731
+ const json = await this.postGenerateContent(options, text, {
593
732
  multi_speaker_voice_config: {
594
733
  speaker_voice_configs: speakerVoiceConfigs,
595
734
  },
@@ -604,7 +743,7 @@ export class GoogleSpeechProvider {
604
743
  reason: noSpeechReason(json),
605
744
  });
606
745
  }
607
- const wav = await decodeGeminiWav(part);
746
+ const wav = await decodeGeminiAudio(part);
608
747
  return {
609
748
  audio: wav,
610
749
  mediaType: "audio/wav",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/google/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/google/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sentence-boundaries.d.ts","sourceRoot":"","sources":["../src/sentence-boundaries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAC4D,CAAC;AAE9F,eAAO,MAAM,sBAAsB,QAC0D,CAAC"}
1
+ {"version":3,"file":"sentence-boundaries.d.ts","sourceRoot":"","sources":["../src/sentence-boundaries.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QACmE,CAAC;AAErG,eAAO,MAAM,sBAAsB,QACiE,CAAC"}
@@ -1,3 +1,3 @@
1
- export const SENTENCE_BOUNDARY_RE = /[.!?\u3002\uFF01\uFF1F\u0964\u0965\u061F\u06D4]["'\u2018\u2019\u201C\u201D\u300D\u300F]*/g;
2
- export const SENTENCE_TERMINATOR_RE = /[.!?\u3002\uFF01\uFF1F\u0964\u0965\u061F\u06D4]["'\u2018\u2019\u201C\u201D\u300D\u300F]*$/;
1
+ export const SENTENCE_BOUNDARY_RE = /[.!?\u3002\uFF01\uFF1F\u0964\u0965\u061F\u06D4]["'\u2018\u2019\u201C\u201D\u300D\u300F)\uFF09]*/g;
2
+ export const SENTENCE_TERMINATOR_RE = /[.!?\u3002\uFF01\uFF1F\u0964\u0965\u061F\u06D4]["'\u2018\u2019\u201C\u201D\u300D\u300F)\uFF09]*$/;
3
3
  //# sourceMappingURL=sentence-boundaries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sentence-boundaries.js","sourceRoot":"","sources":["../src/sentence-boundaries.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAC/B,2FAA2F,CAAC;AAE9F,MAAM,CAAC,MAAM,sBAAsB,GACjC,2FAA2F,CAAC"}
1
+ {"version":3,"file":"sentence-boundaries.js","sourceRoot":"","sources":["../src/sentence-boundaries.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAC/B,kGAAkG,CAAC;AAErG,MAAM,CAAC,MAAM,sBAAsB,GACjC,kGAAkG,CAAC"}
@@ -79,6 +79,7 @@ export interface DesignVoiceProviderResult {
79
79
  }
80
80
  export declare function hasFeature(model: ModelInfo, id: string): boolean;
81
81
  export interface SpeechProvider<TModel extends string = string, TVoice extends Voice = Voice> {
82
+ acceptsDialogueVoices?(modelId: string, voices: readonly TVoice[]): boolean;
82
83
  /**
83
84
  * Create a persisted cloned voice from reference samples and return a reusable
84
85
  * voice ID. Providers that can't clone omit this; `cloneVoice()` throws
@@ -1 +1 @@
1
- {"version":3,"file":"speech-provider.d.ts","sourceRoot":"","sources":["../src/speech-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"speech-provider.d.ts","sourceRoot":"","sources":["../src/speech-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,mJAAmJ;IACnJ,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,QAAQ;;;;;;;;CAQX,CAAC;AAEX;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,2DAA2D;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAIhE;AAED,MAAM,WAAW,cAAc,CAC7B,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,MAAM,SAAS,KAAK,GAAG,KAAK;IAE5B,qBAAqB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC;IAC5E;;;;;;;OAOG;IACH,UAAU,CAAC,CACT,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,WAAW,CAAC,CACV,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAEtC,oBAAoB,CAAC,CAAC,OAAO,EAAE,MAAM,GACjC;QACE,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GACD,SAAS,CAAC;IAEd,QAAQ,CAAC,OAAO,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,GAAG,OAAO,CAAC;QACV,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;QAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC,CAAC;IAEH,gBAAgB,CAAC,CAAC,OAAO,EAAE;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,SAAS;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QACzE,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,GAAG,OAAO,CAAC;QACV,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;KAC9B,CAAC,CAAC;IAEH,gBAAgB,CAAC,CACf,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7B,iBAAiB,GAAG,SAAS,CAAC;IACjC,EAAE,EAAE,MAAM,CAAC;IAEX,0EAA0E;IAC1E,eAAe,CAAC,IAAI,MAAM,CAAC;IAC3B,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAE7B,gBAAgB,CAAC,CACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAExC,0EAA0E;IAC1E,oBAAoB,CAAC,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,MAAM,GAAG,SAAS,CAAC;IAEtB;;;;;;;OAOG;IACH,mBAAmB,CAAC,CAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,mBAAmB,EAAE,WAAW,GAC9C,oBAAoB,GAAG,SAAS,CAAC;IAEpC,MAAM,CAAC,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GAAG,OAAO,CAAC;QACV,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;QACnC,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC5C,CAAC,CAAC;IAEH;;;;;;OAMG;IACH,oBAAoB,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;CAC3D;AAED,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,KAAK,GAAG,KAAK;IACzD,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,aAAa,GACtB,OAAO,CAKT;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAClC,MAAM,GAAG,SAAS,CAMpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,CAaR"}
@@ -1 +1 @@
1
- {"version":3,"file":"speech-provider.js","sourceRoot":"","sources":["../src/speech-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AA4BzD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;CAChB,CAAC;AAuDX,MAAM,UAAU,UAAU,CAAC,KAAgB,EAAE,EAAU;IACrD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAC/C,CAAC;AACJ,CAAC;AAwID,MAAM,UAAU,6BAA6B,CAC3C,QAAuB;IAEvB,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CACjC,CAAC;IACF,OAAO,SAAS,IAAI,IAAI,IAAI,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAuB,EACvB,OAAmC;IAEnC,OAAO,CACL,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QACnE,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC;YAC9D,EAAE,aAAa,CAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,eAAuB,EACvB,SAA4B,EAC5B,SAA6B;IAE7B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,GAAG,eAAe,2CAA2C,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,0BAA0B,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"speech-provider.js","sourceRoot":"","sources":["../src/speech-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AA4BzD,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;CAChB,CAAC;AAuDX,MAAM,UAAU,UAAU,CAAC,KAAgB,EAAE,EAAU;IACrD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAC/C,CAAC;AACJ,CAAC;AAyID,MAAM,UAAU,6BAA6B,CAC3C,QAAuB;IAEvB,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAC9C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CACjC,CAAC;IACF,OAAO,SAAS,IAAI,IAAI,IAAI,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAuB,EACvB,OAAmC;IAEnC,OAAO,CACL,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QACnE,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,OAAO,CAAC;YAC9D,EAAE,aAAa,CAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,eAAuB,EACvB,SAA4B,EAC5B,SAA6B;IAE7B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,GAAG,eAAe,2CAA2C,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,0BAA0B,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -10,4 +10,6 @@ export declare function resolveMaxInputChars(args: {
10
10
  userMaxInputChars: number | undefined;
11
11
  }): MaxInputCharsResolution;
12
12
  export declare function splitTextByMaxChars(text: string, maxChars: number): string[];
13
+ export declare function splitTextByMaxWords(text: string, maxWords: number): string[];
14
+ export declare function splitTextByMaxCharsAtTokens(text: string, maxChars: number): string[];
13
15
  //# sourceMappingURL=text-chunker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-chunker.d.ts","sourceRoot":"","sources":["../src/text-chunker.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC,GAAG,uBAAuB,CA0B1B;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CA4C5E"}
1
+ {"version":3,"file":"text-chunker.d.ts","sourceRoot":"","sources":["../src/text-chunker.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC,GAAG,uBAAuB,CA0B1B;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CA4C5E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAkC5E;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAkCV"}
@@ -1,6 +1,9 @@
1
1
  import { z } from "zod";
2
- import { SENTENCE_BOUNDARY_RE } from "./sentence-boundaries.js";
2
+ import { SENTENCE_BOUNDARY_RE, SENTENCE_TERMINATOR_RE, } from "./sentence-boundaries.js";
3
3
  const WHITESPACE_RE = /\s+/g;
4
+ const VOCAL_TAG_RE = /^\[[^\]]+\]$|^<[^>]+>$/;
5
+ const SPEECH_UNIT_RE = /\[[^\]]+\]|<[^>]+>|[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}]|[^\s[\]<>\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}]+/gu;
6
+ const SPOKEN_UNIT_RE = /[\p{L}\p{N}]/u;
4
7
  const LEADING_WHITESPACE_RE = /\s/;
5
8
  const WHITESPACE_BREAK_PENALTY = 512;
6
9
  const MAX_INPUT_CHARS_SCHEMA = z.number().finite().int().positive();
@@ -64,6 +67,70 @@ export function splitTextByMaxChars(text, maxChars) {
64
67
  }
65
68
  return chunks;
66
69
  }
70
+ export function splitTextByMaxWords(text, maxWords) {
71
+ if (!Number.isInteger(maxWords) || maxWords < 1) {
72
+ throw new Error("maxChunkWords must be a positive integer.");
73
+ }
74
+ const units = collectSpeechUnits(text);
75
+ const chunks = [];
76
+ let start = units[0]?.start ?? 0;
77
+ let end = start;
78
+ let previousSpoken = "";
79
+ let words = 0;
80
+ for (const unit of units) {
81
+ const isWord = !VOCAL_TAG_RE.test(unit.text) && SPOKEN_UNIT_RE.test(unit.text);
82
+ if (isWord &&
83
+ words >= maxWords &&
84
+ (SENTENCE_TERMINATOR_RE.test(previousSpoken) || words >= maxWords * 1.25)) {
85
+ chunks.push(text.slice(start, end).trim());
86
+ start = unit.start;
87
+ words = 0;
88
+ }
89
+ end = unit.end;
90
+ if (!VOCAL_TAG_RE.test(unit.text)) {
91
+ previousSpoken = unit.text;
92
+ if (isWord) {
93
+ words++;
94
+ }
95
+ }
96
+ }
97
+ if (end > start) {
98
+ chunks.push(text.slice(start, end).trim());
99
+ }
100
+ return chunks;
101
+ }
102
+ export function splitTextByMaxCharsAtTokens(text, maxChars) {
103
+ const { maxChars: resolvedMaxChars } = parseWithMessage(SPLIT_TEXT_OPTIONS_SCHEMA, { maxChars }, "splitTextByMaxCharsAtTokens: maxChars must be a positive integer.");
104
+ const units = collectSpeechUnits(text);
105
+ const chunks = [];
106
+ let current = [];
107
+ for (const unit of units) {
108
+ if (unit.text.length > resolvedMaxChars) {
109
+ throw new Error(`A word or vocal tag exceeds maxInputChars=${resolvedMaxChars}.`);
110
+ }
111
+ while (current.length > 0 &&
112
+ unit.end - current[0].start > resolvedMaxChars) {
113
+ const sentenceEnd = current
114
+ .map((candidate) => SENTENCE_TERMINATOR_RE.test(candidate.text))
115
+ .lastIndexOf(true);
116
+ const splitAfter = sentenceEnd >= 0 ? sentenceEnd + 1 : current.length;
117
+ chunks.push(text.slice(current[0].start, current[splitAfter - 1].end).trim());
118
+ current = current.slice(splitAfter);
119
+ }
120
+ current.push(unit);
121
+ }
122
+ if (current.length > 0) {
123
+ chunks.push(text.slice(current[0].start, current.at(-1)?.end).trim());
124
+ }
125
+ return chunks;
126
+ }
127
+ function collectSpeechUnits(text) {
128
+ return [...text.matchAll(SPEECH_UNIT_RE)].map((match) => ({
129
+ text: match[0],
130
+ start: match.index,
131
+ end: match.index + match[0].length,
132
+ }));
133
+ }
67
134
  function parseWithMessage(schema, value, message) {
68
135
  try {
69
136
  return schema.parse(value);