@clipwright/core 0.23.0 → 0.24.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.
- package/CHANGELOG.md +39 -0
- package/dist/actors.d.ts +3 -0
- package/dist/actors.js +10 -2
- package/dist/actors.js.map +1 -1
- package/dist/contract-dispositions.d.ts +1 -0
- package/dist/faceless-short-61.js +2 -2
- package/dist/faceless-short-61.js.map +1 -1
- package/dist/skills.d.ts +17 -0
- package/dist/skills.js +55 -6
- package/dist/skills.js.map +1 -1
- package/dist/voice-admission.d.ts +2 -1
- package/dist/voice-admission.js +7 -3
- package/dist/voice-admission.js.map +1 -1
- package/dist/voice-catalog-data.d.ts +1 -1
- package/dist/voice-catalog.d.ts +4 -0
- package/dist/voice-catalog.js +6 -4
- package/dist/voice-catalog.js.map +1 -1
- package/dist/voice-listing.d.ts +6 -1
- package/dist/voice-listing.js +18 -5
- package/dist/voice-listing.js.map +1 -1
- package/dist/voices.d.ts +155 -6
- package/dist/voices.js +105 -14
- package/dist/voices.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -16,6 +16,45 @@ a customer reading it should not miss what appeared in the product. Like *Server
|
|
|
16
16
|
they are live from the day the web app was deployed, not from the package release they are
|
|
17
17
|
listed under.
|
|
18
18
|
|
|
19
|
+
## [0.24.0] - 2026-10-03
|
|
20
|
+
|
|
21
|
+
A second speech model, `gemini-3.8-flash-tts`, with thirty voices of its own and a sample of each in English and
|
|
22
|
+
Russian. Nothing changes unless you name the model or one of its voices. The CLI and the MCP server accept the new
|
|
23
|
+
`tts_model` value from this release on.
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- `tts_model` accepts `gemini-3.8-flash-tts`, a speech model of a second vendor. Nothing changes unless you name it:
|
|
28
|
+
every default stays as it was, and Russian speech without `tts_model` still uses `eleven_v4`. The model speaks only
|
|
29
|
+
its own voices: without `voice`, `kore` for a female actor and `charon` otherwise. It reads Russian stress marks,
|
|
30
|
+
and it gets the text with `<break time="…" />` tags cut, which the response names in a warning. Its script limit is
|
|
31
|
+
5,000 characters. The price per finished second is the same as on every other model. (clipwright#453)
|
|
32
|
+
- `voice` accepts the thirty voices of `gemini-3.8-flash-tts` by name: `kore`, `puck`, `zephyr` and the rest, as
|
|
33
|
+
`list_voices` returns them. Naming one selects that model without `tts_model`, and the quote names the model.
|
|
34
|
+
`clipwright voices` prints the model on the line of such a voice. (clipwright#453)
|
|
35
|
+
- *Server-side:* `list_voices` returns those thirty voices after the presets as entries of kind `model_voice`. Each
|
|
36
|
+
names one model in `model` and `supported_models`, has no `language`, and carries `gender` only where it is known:
|
|
37
|
+
`kore` is female and `charon` is male. The filters `model=gemini-3.8-flash-tts`, `language=ru` and `language=en`
|
|
38
|
+
find them; any other language does not. (clipwright#453)
|
|
39
|
+
- *Server-side:* each of those thirty voices carries `preview_url`, a short sample spoken by that voice on its model.
|
|
40
|
+
The sample is in English; a request filtered by `language=ru` gets the Russian one. `clipwright voices` prints the
|
|
41
|
+
link under the voice, as it does for every other voice with a sample. (clipwright#453)
|
|
42
|
+
- *Server-side:* with `gemini-3.8-flash-tts` the API refuses a preset or catalog `voice`, `voice_id`, `captions=true`,
|
|
43
|
+
`segments` and `inserts` before any charge: the model does not speak the preset and catalog voices and returns no
|
|
44
|
+
word timings. It refuses the same when a voice names the model instead of `tts_model`, and it refuses one of the
|
|
45
|
+
model's voices next to any other `tts_model`. Each refusal names what to pass instead. `list_voices` lists the
|
|
46
|
+
model in `models[]` with the languages `en` and `ru`; no preset or catalog voice names it in `supported_models`.
|
|
47
|
+
(clipwright#453)
|
|
48
|
+
- *Server-side:* a warning about stress marks on `eleven_flash_v2_5` or `eleven_turbo_v2_5` names only the models
|
|
49
|
+
that speak the voice of the run: with an explicit `voice` or `voice_id` these are `eleven_v3` and `eleven_v4`.
|
|
50
|
+
(clipwright#453)
|
|
51
|
+
- *Server-side:* the quote and the reserve for a Russian script on `gemini-3.8-flash-tts` assume 2.2 words per second,
|
|
52
|
+
the pace measured on its two default voices: 153 Russian words are quoted at 70 seconds and 2,100 credits. A script
|
|
53
|
+
in Latin letters on this model is quoted at 2.6 words per second, as on every other model. The charge follows the
|
|
54
|
+
measured duration. (clipwright#453)
|
|
55
|
+
- *Dashboard:* the Privacy Policy, the Cookie Policy and the AI disclosure page name the speech provider of a run
|
|
56
|
+
that chooses this model. (clipwright#453)
|
|
57
|
+
|
|
19
58
|
## [0.23.0] - 2026-10-02
|
|
20
59
|
|
|
21
60
|
Russian speech moves to `eleven_v4`: the server names it by default, and the client texts say which voices speak it.
|
package/dist/actors.d.ts
CHANGED
|
@@ -38,6 +38,7 @@ export interface VoiceGenderInput {
|
|
|
38
38
|
actor_gender?: Gender | undefined;
|
|
39
39
|
voice?: string | undefined;
|
|
40
40
|
voice_id?: string | undefined;
|
|
41
|
+
tts_model?: string | undefined;
|
|
41
42
|
}
|
|
42
43
|
/** Gender for the default voice: `actor_id` → pin; `image` → `actor_gender`; else the default actor. */
|
|
43
44
|
/** Only from the same actor's pin, not the catalog: personal actors are not in it. */
|
|
@@ -46,6 +47,8 @@ export declare function voiceGenderFor(input: VoiceGenderInput, pin?: {
|
|
|
46
47
|
gender: Gender;
|
|
47
48
|
} | undefined): Gender | undefined;
|
|
48
49
|
export declare const IMAGE_DEFAULT_VOICE_WARNING: string;
|
|
50
|
+
/** The same warning for the run's model: a model with its own voices names its default and where its voices are listed. */
|
|
51
|
+
export declare function imageDefaultVoiceWarning(ttsModel: string | undefined): string;
|
|
49
52
|
export declare function actorGenderIgnoredWarning(field: "voice" | "voice_id"): string;
|
|
50
53
|
export declare function voiceActorGenderWarning(voice: string, voiceGender: Gender, actorGender: Gender): string;
|
|
51
54
|
/** An explicit voice is used as requested, but a mismatch with the actor's gender is */
|
package/dist/actors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { actorId, ASPECT_RATIOS } from "./skills.js";
|
|
3
|
-
import { DEFAULT_VOICE_PRESET, VOICE_PRESETS } from "./voices.js";
|
|
3
|
+
import { defaultVoiceOf, DEFAULT_VOICE_PRESET, speaksOwnVoices, VOICE_PRESETS } from "./voices.js";
|
|
4
4
|
export const ACTORS_PATH = "/v1/actors";
|
|
5
5
|
/** An account's personal actor: the quote is free, the run is paid. The API routes repeat */
|
|
6
6
|
/** these paths as literals, and a test keeps them equal. */
|
|
@@ -36,6 +36,14 @@ export function voiceGenderFor(input, pin) {
|
|
|
36
36
|
}
|
|
37
37
|
export const IMAGE_DEFAULT_VOICE_WARNING = `no voice was chosen for the face in image: the default ${VOICE_PRESETS[DEFAULT_VOICE_PRESET].gender} ` +
|
|
38
38
|
`voice "${DEFAULT_VOICE_PRESET}" is used; pass voice (from list_voices) or actor_gender to match the face`;
|
|
39
|
+
/** The same warning for the run's model: a model with its own voices names its default and where its voices are listed. */
|
|
40
|
+
export function imageDefaultVoiceWarning(ttsModel) {
|
|
41
|
+
if (!speaksOwnVoices(ttsModel))
|
|
42
|
+
return IMAGE_DEFAULT_VOICE_WARNING;
|
|
43
|
+
const voice = defaultVoiceOf(ttsModel, undefined);
|
|
44
|
+
return (`no voice was chosen for the face in image: the default ${voice.gender} voice "${voice.name}" of ${ttsModel} ` +
|
|
45
|
+
`is used; pass voice (from list_voices with model=${ttsModel}) or actor_gender to match the face`);
|
|
46
|
+
}
|
|
39
47
|
export function actorGenderIgnoredWarning(field) {
|
|
40
48
|
return `actor_gender did not change the voice: the explicit ${field} is used as requested`;
|
|
41
49
|
}
|
|
@@ -67,7 +75,7 @@ export function buildActorGenderWarnings(input) {
|
|
|
67
75
|
if (input.actor_gender !== undefined) {
|
|
68
76
|
return explicit === undefined ? [] : [actorGenderIgnoredWarning(explicit)];
|
|
69
77
|
}
|
|
70
|
-
return input.image !== undefined && explicit === undefined ? [
|
|
78
|
+
return input.image !== undefined && explicit === undefined ? [imageDefaultVoiceWarning(input.tts_model)] : [];
|
|
71
79
|
}
|
|
72
80
|
export const actorSelection = z.object({
|
|
73
81
|
actor_id: actorId,
|
package/dist/actors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actors.js","sourceRoot":"","sources":["../src/actors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"actors.js","sourceRoot":"","sources":["../src/actors.ts"],"names":[],"mappings":"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"}
|
|
@@ -246,6 +246,7 @@ export declare const offeredUgcInput: z.ZodObject<{
|
|
|
246
246
|
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
247
247
|
eleven_v3: "eleven_v3";
|
|
248
248
|
eleven_v4: "eleven_v4";
|
|
249
|
+
"gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
|
|
249
250
|
}>>;
|
|
250
251
|
disclosure_overlay: z.ZodOptional<z.ZodBoolean>;
|
|
251
252
|
background: z.ZodOptional<z.ZodEnum<{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { brollPolicy } from "./broll-policy.js";
|
|
3
3
|
import { CANVAS_FPS } from "./media-timebase.js";
|
|
4
|
-
import { speechTextFor, TTS_MODEL_CHAR_CAP
|
|
4
|
+
import { ELEVENLABS_TTS_MODELS, speechTextFor, TTS_MODEL_CHAR_CAP } from "./voices.js";
|
|
5
5
|
export const SHORT61_BOUNDARIES = [
|
|
6
6
|
0, 93, 162, 309, 412, 472, 562, 643, 753, 822, 902, 948,
|
|
7
7
|
1010, 1081, 1192, 1243, 1316, 1344, 1373, 1410, 1447, 1484, 1522,
|
|
@@ -41,7 +41,7 @@ const plan = z.strictObject({
|
|
|
41
41
|
resolution: z.literal("1080p"),
|
|
42
42
|
brollPolicy,
|
|
43
43
|
script: z.string().trim().min(1),
|
|
44
|
-
voice: z.strictObject({ model: z.enum(
|
|
44
|
+
voice: z.strictObject({ model: z.enum(ELEVENLABS_TTS_MODELS), voiceId: id }),
|
|
45
45
|
styleAssetId: id,
|
|
46
46
|
characterAssetId: id,
|
|
47
47
|
imageAssets: z.array(imageAsset),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"faceless-short-61.js","sourceRoot":"","sources":["../src/faceless-short-61.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"faceless-short-61.js","sourceRoot":"","sources":["../src/faceless-short-61.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.d.ts
CHANGED
|
@@ -175,6 +175,7 @@ export declare const makeUgcInputShape: {
|
|
|
175
175
|
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
176
176
|
eleven_v3: "eleven_v3";
|
|
177
177
|
eleven_v4: "eleven_v4";
|
|
178
|
+
"gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
|
|
178
179
|
}>>;
|
|
179
180
|
readonly webhook_url: z.ZodOptional<z.ZodString>;
|
|
180
181
|
/** Visible "made with AI" overlay, OPT-IN: disclosure rests on contract fields and file */
|
|
@@ -281,6 +282,7 @@ export declare const makeUgcInput: z.ZodObject<{
|
|
|
281
282
|
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
282
283
|
eleven_v3: "eleven_v3";
|
|
283
284
|
eleven_v4: "eleven_v4";
|
|
285
|
+
"gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
|
|
284
286
|
}>>;
|
|
285
287
|
webhook_url: z.ZodOptional<z.ZodString>;
|
|
286
288
|
disclosure_overlay: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -290,6 +292,20 @@ export declare const makeUgcInput: z.ZodObject<{
|
|
|
290
292
|
white: "white";
|
|
291
293
|
}>>;
|
|
292
294
|
}, z.core.$strip>;
|
|
295
|
+
export interface SpeechModelRefusal {
|
|
296
|
+
field: "voice" | "voice_id" | "captions" | "segments" | "inserts";
|
|
297
|
+
message: string;
|
|
298
|
+
}
|
|
299
|
+
/** What a model with its own voices and no word timings refuses, each line naming what to pass instead. */
|
|
300
|
+
/** One list for the input schema and for the worker's check before its first paid step. */
|
|
301
|
+
export declare function speechModelRefusals(input: {
|
|
302
|
+
tts_model?: string | undefined;
|
|
303
|
+
voice?: string | undefined;
|
|
304
|
+
voice_id?: string | undefined;
|
|
305
|
+
captions?: boolean | undefined;
|
|
306
|
+
segments?: unknown;
|
|
307
|
+
inserts?: unknown;
|
|
308
|
+
}): SpeechModelRefusal[];
|
|
293
309
|
/** API input: the server's `voiceRefusal` checks the voice name. The catalog is not imported */
|
|
294
310
|
/** here, since clients read this barrel; the server uses `@clipwright/core/voice-admission`. */
|
|
295
311
|
export declare function serverUgcInputWith(voiceRefusal: (voice: string) => string | undefined): z.ZodObject<{
|
|
@@ -380,6 +396,7 @@ export declare function serverUgcInputWith(voiceRefusal: (voice: string) => stri
|
|
|
380
396
|
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
381
397
|
eleven_v3: "eleven_v3";
|
|
382
398
|
eleven_v4: "eleven_v4";
|
|
399
|
+
"gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
|
|
383
400
|
}>>;
|
|
384
401
|
webhook_url: z.ZodOptional<z.ZodString>;
|
|
385
402
|
disclosure_overlay: z.ZodOptional<z.ZodBoolean>;
|
package/dist/skills.js
CHANGED
|
@@ -3,7 +3,7 @@ import { longFormQuoteSchema } from "./long-form-pricing.js";
|
|
|
3
3
|
import { RESOLVED_TIMELINE_MAX_SLOTS } from "./long-form-profile.js";
|
|
4
4
|
import { brollPolicy } from "./broll-policy.js";
|
|
5
5
|
import { countWords } from "./pacing.js";
|
|
6
|
-
import { cutToNothingError, DEFAULT_TTS_MODEL, resolveTtsModel, RUSSIAN_TTS_MODEL, MAX_SCRIPT_CHARS, SCRIPT_LENGTH_DESCRIPTION, STRESS_MARKING_DESCRIPTION, ttsScriptLimitError, TTS_MODELS, isVoicePresetName, VOICE_ID_PATTERN, VOICE_NAME_PATTERN, VOICE_PRESET_NAMES, } from "./voices.js";
|
|
6
|
+
import { cutToNothingError, DEFAULT_TTS_MODEL, GOOGLE_TTS_MODEL, isModelVoiceName, MODEL_DEFAULT_VOICE_BY_GENDER, MODEL_VOICE_MODEL, resolveTtsModel, RUSSIAN_TTS_MODEL, MAX_SCRIPT_CHARS, SCRIPT_LENGTH_DESCRIPTION, speaksOwnVoices, STRESS_MARKING_DESCRIPTION, ttsScriptLimitError, TTS_MODELS, isVoicePresetName, VOICE_ID_PATTERN, VOICE_NAME_PATTERN, VOICE_PRESET_NAMES, } from "./voices.js";
|
|
7
7
|
export const CAPTION_STYLES = ["hormozi", "tiktok", "minimal"];
|
|
8
8
|
export const LOOKS = ["natural", "commercial", "raw_iphone"];
|
|
9
9
|
/** Public formats = formats MEASURED live, not the vendor docs: declaring more would */
|
|
@@ -155,7 +155,8 @@ export const makeUgcInputShape = {
|
|
|
155
155
|
.enum(["female", "male"])
|
|
156
156
|
.optional()
|
|
157
157
|
.describe("Gender of the face in image: female | male. Only with image: picks the default voice of that " +
|
|
158
|
-
|
|
158
|
+
`gender (female: sarah, male: george; on ${GOOGLE_TTS_MODEL}: ${MODEL_DEFAULT_VOICE_BY_GENDER.female} and ` +
|
|
159
|
+
`${MODEL_DEFAULT_VOICE_BY_GENDER.male}). Refused with actor_id (its gender is known) and without ` +
|
|
159
160
|
"image. An explicit voice or voice_id wins and the response warns that actor_gender changed nothing."),
|
|
160
161
|
character: z.string().regex(/^char_[a-zA-Z0-9]+$/).optional(),
|
|
161
162
|
name: z.string().max(100).optional(),
|
|
@@ -189,24 +190,33 @@ export const makeUgcInputShape = {
|
|
|
189
190
|
"return, before any charge. Omitted means the default voice for the actor's gender: the " +
|
|
190
191
|
"gender of actor_id, actor_gender with image, or george for the default actor and for image " +
|
|
191
192
|
"without actor_gender. " +
|
|
193
|
+
`${MODEL_VOICE_MODEL} speaks only its own voices (kind model_voice in list_voices, such as ` +
|
|
194
|
+
`${MODEL_DEFAULT_VOICE_BY_GENDER.female}): naming one selects that model, and a voice is refused with a ` +
|
|
195
|
+
"tts_model that does not speak it, before any charge. " +
|
|
192
196
|
"Mutually exclusive with voice_id."),
|
|
193
197
|
voice_id: z
|
|
194
198
|
.string({ error: "voice_id must be a vendor voice id, as a string" })
|
|
195
199
|
.regex(VOICE_ID_PATTERN, "voice_id is not a vendor voice id: 16 to 32 letters and digits")
|
|
196
200
|
.optional()
|
|
197
201
|
.describe("Raw vendor voice id (16–32 letters and digits) for a voice outside the catalog. Checked " +
|
|
198
|
-
|
|
202
|
+
`lazily: an unknown id fails the run, not the request. Refused with tts_model=${GOOGLE_TTS_MODEL}. ` +
|
|
203
|
+
"Mutually exclusive with voice."),
|
|
199
204
|
tts_model: z
|
|
200
205
|
.enum(TTS_MODELS)
|
|
201
206
|
.optional()
|
|
202
207
|
.describe(`Speech model: ${TTS_MODELS.join(" | ")}. Omitted means the model of the chosen voice ` +
|
|
203
208
|
`(list_voices shows it): ${RUSSIAN_TTS_MODEL} for the Russian presets and for catalog voices named ru_*, ` +
|
|
209
|
+
`${MODEL_VOICE_MODEL} for its own voices, ` +
|
|
204
210
|
`${DEFAULT_TTS_MODEL} for every other preset and catalog voice. A raw voice_id speaks ${RUSSIAN_TTS_MODEL} ` +
|
|
205
211
|
`when the script is mostly Cyrillic and ${DEFAULT_TTS_MODEL} otherwise. An explicit tts_model always wins. ` +
|
|
206
|
-
|
|
212
|
+
`eleven_v4, eleven_v3 and ${GOOGLE_TTS_MODEL} read stress marks ` +
|
|
207
213
|
"(a capital vowel inside a Russian word, \"потОм\", becomes one; see script); " +
|
|
208
214
|
"eleven_flash_v2_5 and eleven_turbo_v2_5 are cheaper alternatives for languages other than " +
|
|
209
|
-
|
|
215
|
+
`Russian. ${GOOGLE_TTS_MODEL} speaks only its own voices (list_voices with model=${GOOGLE_TTS_MODEL}; without ` +
|
|
216
|
+
`voice, ${MODEL_DEFAULT_VOICE_BY_GENDER.female} for a female actor and ${MODEL_DEFAULT_VOICE_BY_GENDER.male} otherwise) ` +
|
|
217
|
+
"and returns no word timings: a preset or catalog voice, voice_id, captions=true, " +
|
|
218
|
+
"segments and inserts are refused with it before any charge. Audio tags in square brackets are an " +
|
|
219
|
+
"eleven_v3 and eleven_v4 convention and are not measured on it. " + SCRIPT_LENGTH_DESCRIPTION),
|
|
210
220
|
webhook_url: z.string().url().max(MAX_URL_LENGTH).optional(),
|
|
211
221
|
/** Visible "made with AI" overlay, OPT-IN: disclosure rests on contract fields and file */
|
|
212
222
|
/** metadata. Burning it in needs composition (gated by `CLIPWRIGHT_COMPOSE`). */
|
|
@@ -229,6 +239,11 @@ export const makeUgcInput = z
|
|
|
229
239
|
})
|
|
230
240
|
.refine(v => v.inserts === undefined || (v.script !== undefined && v.segments === undefined), {
|
|
231
241
|
path: ["inserts"], message: "inserts requires script and cannot be combined with segments",
|
|
242
|
+
})
|
|
243
|
+
.superRefine((v, context) => {
|
|
244
|
+
for (const refusal of speechModelRefusals(v)) {
|
|
245
|
+
context.addIssue({ code: z.ZodIssueCode.custom, path: [refusal.field], message: refusal.message });
|
|
246
|
+
}
|
|
232
247
|
})
|
|
233
248
|
// The character cap depends on the model; refused here, before any reserve or vendor call.
|
|
234
249
|
// Only the server knows the model of a voice unknown to the client, and checks it there.
|
|
@@ -279,7 +294,41 @@ function speechTextRefusal(input) {
|
|
|
279
294
|
return ttsScriptLimitError(text, model) ?? spokenUnitsOf(input).map((unit) => cutToNothingError(unit, model)).find(Boolean);
|
|
280
295
|
}
|
|
281
296
|
function modelUnknownToClient(v) {
|
|
282
|
-
return v.tts_model === undefined && v.voice !== undefined && !isVoicePresetName(v.voice);
|
|
297
|
+
return v.tts_model === undefined && v.voice !== undefined && !isVoicePresetName(v.voice) && !isModelVoiceName(v.voice);
|
|
298
|
+
}
|
|
299
|
+
/** What a model with its own voices and no word timings refuses, each line naming what to pass instead. */
|
|
300
|
+
/** One list for the input schema and for the worker's check before its first paid step. */
|
|
301
|
+
export function speechModelRefusals(input) {
|
|
302
|
+
// The model the voice name selects, by the function quote and the worker call; a script never decides it.
|
|
303
|
+
const model = input.tts_model ?? resolveTtsModel({ voice: input.voice, script: "" });
|
|
304
|
+
const ownVoice = input.voice !== undefined && isModelVoiceName(input.voice);
|
|
305
|
+
if (!speaksOwnVoices(model)) {
|
|
306
|
+
if (!ownVoice)
|
|
307
|
+
return [];
|
|
308
|
+
return [{
|
|
309
|
+
field: "voice",
|
|
310
|
+
message: `voice "${input.voice}" is a voice of ${MODEL_VOICE_MODEL} and is not spoken by ${model}: omit tts_model to speak it ` +
|
|
311
|
+
`with ${MODEL_VOICE_MODEL}, or choose a voice from list_voices with model=${model}`,
|
|
312
|
+
}];
|
|
313
|
+
}
|
|
314
|
+
const ownVoices = `from list_voices with model=${model}`;
|
|
315
|
+
const defaultVoice = "to get the model's default voice for the actor's gender";
|
|
316
|
+
// With tts_model named too, a voice of another model alone would be refused against that tts_model.
|
|
317
|
+
const dropModel = input.tts_model === undefined ? "" : " and omit tts_model";
|
|
318
|
+
const otherModel = ownVoice ? `or choose a voice of another speech model from list_voices${dropModel}` : "or choose another tts_model";
|
|
319
|
+
const candidates = [
|
|
320
|
+
["voice", input.voice !== undefined && !ownVoice,
|
|
321
|
+
`voice "${input.voice}" is not spoken by ${model}: choose one of its voices ${ownVoices}, omit voice ${defaultVoice}, ${otherModel}`],
|
|
322
|
+
["voice_id", input.voice_id !== undefined,
|
|
323
|
+
`voice_id is not accepted with ${model}: pass voice with a name ${ownVoices}, omit voice_id ${defaultVoice}, ${otherModel}`],
|
|
324
|
+
["captions", input.captions === true,
|
|
325
|
+
`captions are not available with ${model}: it returns no word timings; pass captions=false`],
|
|
326
|
+
["segments", input.segments !== undefined,
|
|
327
|
+
`segments are not available with ${model}: pass script for a single take, ${otherModel}`],
|
|
328
|
+
["inserts", input.inserts !== undefined,
|
|
329
|
+
`inserts are not available with ${model}: it returns no word timings to anchor them; omit inserts, ${otherModel}`],
|
|
330
|
+
];
|
|
331
|
+
return candidates.filter(([, refused]) => refused).map(([field, , message]) => ({ field, message }));
|
|
283
332
|
}
|
|
284
333
|
/** API input: the server's `voiceRefusal` checks the voice name. The catalog is not imported */
|
|
285
334
|
/** here, since clients read this barrel; the server uses `@clipwright/core/voice-admission`. */
|
package/dist/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Gender } from "./default-actor.js";
|
|
2
2
|
import { type CatalogFileVoice } from "./voice-catalog.js";
|
|
3
3
|
import { type TtsModelId } from "./voices.js";
|
|
4
|
-
/** Why the API refuses a voice name; `undefined` for a preset or a live catalog voice. */
|
|
4
|
+
/** Why the API refuses a voice name; `undefined` for a preset, a model's own voice or a live catalog voice. */
|
|
5
5
|
export declare function catalogVoiceRefusal(voice: string, voices?: readonly CatalogFileVoice[]): string | undefined;
|
|
6
6
|
export declare const serverUgcInput: import("zod").ZodObject<{
|
|
7
7
|
script: import("zod").ZodOptional<import("zod").ZodString>;
|
|
@@ -91,6 +91,7 @@ export declare const serverUgcInput: import("zod").ZodObject<{
|
|
|
91
91
|
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
92
92
|
eleven_v3: "eleven_v3";
|
|
93
93
|
eleven_v4: "eleven_v4";
|
|
94
|
+
"gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
|
|
94
95
|
}>>;
|
|
95
96
|
webhook_url: import("zod").ZodOptional<import("zod").ZodString>;
|
|
96
97
|
disclosure_overlay: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
package/dist/voice-admission.js
CHANGED
|
@@ -2,11 +2,11 @@ import { serverUgcInputWith } from "./skills.js";
|
|
|
2
2
|
import { normalizeVoiceLabel } from "./voice-catalog.js";
|
|
3
3
|
import { VOICE_CATALOG } from "./voice-catalog-data.js";
|
|
4
4
|
import { vendorVerifiedModels } from "./voice-listing.js";
|
|
5
|
-
import { isVoicePresetName, resolveTtsModel, VOICE_PRESETS } from "./voices.js";
|
|
5
|
+
import { isModelVoiceName, isVoicePresetName, MODEL_VOICES, resolveTtsModel, VOICE_PRESETS, } from "./voices.js";
|
|
6
6
|
// A subpath, not the barrel: the catalog weighs hundreds of kilobytes and SDK clients do not need it.
|
|
7
|
-
/** Why the API refuses a voice name; `undefined` for a preset or a live catalog voice. */
|
|
7
|
+
/** Why the API refuses a voice name; `undefined` for a preset, a model's own voice or a live catalog voice. */
|
|
8
8
|
export function catalogVoiceRefusal(voice, voices = VOICE_CATALOG.voices) {
|
|
9
|
-
if (isVoicePresetName(voice))
|
|
9
|
+
if (isVoicePresetName(voice) || isModelVoiceName(voice))
|
|
10
10
|
return undefined;
|
|
11
11
|
const entry = voices.find((item) => item.slug === voice);
|
|
12
12
|
if (entry === undefined) {
|
|
@@ -24,6 +24,10 @@ export const serverUgcInput = serverUgcInputWith((voice) => catalogVoiceRefusal(
|
|
|
24
24
|
export function voiceGenderOf(voice, voices = VOICE_CATALOG.voices) {
|
|
25
25
|
if (isVoicePresetName(voice))
|
|
26
26
|
return VOICE_PRESETS[voice].gender;
|
|
27
|
+
if (isModelVoiceName(voice)) {
|
|
28
|
+
const own = MODEL_VOICES[voice];
|
|
29
|
+
return own.gender;
|
|
30
|
+
}
|
|
27
31
|
const entry = voices.find((item) => item.slug === voice && item.retired_at === undefined);
|
|
28
32
|
const label = normalizeVoiceLabel(entry?.gender_raw);
|
|
29
33
|
return label === "female" || label === "male" ? label : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-admission.js","sourceRoot":"","sources":["../src/voice-admission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAyB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"voice-admission.js","sourceRoot":"","sources":["../src/voice-admission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAyB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,aAAa,GAGd,MAAM,aAAa,CAAC;AAErB,sGAAsG;AAEtG,+GAA+G;AAC/G,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,MAAM,GAAgC,aAAa,CAAC,MAAM;IAE1D,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,kBAAkB,KAAK,0DAA0D,CAAC;IAC3F,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CACL,UAAU,KAAK,qCAAqC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;YACpF,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AAExF,yFAAyF;AACzF,mEAAmE;AACnE,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,MAAM,GAAgC,aAAa,CAAC,MAAM;IAE1D,IAAI,iBAAiB,CAAC,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACjE,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAe,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACrD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,sFAAsF;AACtF,qBAAqB;AACrB,MAAM,UAAU,8BAA8B,CAC5C,KAAwH,EACxH,MAA2B,EAC3B,MAAM,GAAgC,aAAa,CAAC,MAAM;IAE1D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;IACzB,IAAI,IAAI,KAAK,SAAS,IAAI,iBAAiB,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;IAC5F,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAEnC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7D,IAAI,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErD,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO;QACL,UAAU,IAAI,qDAAqD,KAAK,EAAE;YACxE,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,QAAQ,GAAG,4BAA4B,KAAK,WAAW;KACrG,CAAC;AACJ,CAAC"}
|
|
@@ -17,7 +17,7 @@ export declare const VOICE_CATALOG: {
|
|
|
17
17
|
name: string;
|
|
18
18
|
description: string | null;
|
|
19
19
|
category: string | null;
|
|
20
|
-
verified_models: ("eleven_flash_v2_5" | "eleven_turbo_v2_5" | "eleven_v3" | "eleven_v4")[];
|
|
20
|
+
verified_models: ("eleven_flash_v2_5" | "eleven_turbo_v2_5" | "eleven_v3" | "eleven_v4" | "gemini-3.8-flash-tts")[];
|
|
21
21
|
notice_period_days: number;
|
|
22
22
|
featured: boolean;
|
|
23
23
|
rank: number;
|
package/dist/voice-catalog.d.ts
CHANGED
|
@@ -55,6 +55,7 @@ export declare const catalogFileVoice: z.ZodObject<{
|
|
|
55
55
|
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
56
56
|
eleven_v3: "eleven_v3";
|
|
57
57
|
eleven_v4: "eleven_v4";
|
|
58
|
+
"gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
|
|
58
59
|
}>>;
|
|
59
60
|
notice_period_days: z.ZodNumber;
|
|
60
61
|
featured: z.ZodBoolean;
|
|
@@ -153,6 +154,7 @@ export declare const voiceCatalogFile: z.ZodObject<{
|
|
|
153
154
|
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
154
155
|
eleven_v3: "eleven_v3";
|
|
155
156
|
eleven_v4: "eleven_v4";
|
|
157
|
+
"gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
|
|
156
158
|
}>>;
|
|
157
159
|
notice_period_days: z.ZodNumber;
|
|
158
160
|
featured: z.ZodBoolean;
|
|
@@ -221,6 +223,7 @@ export declare const voicesQueryShape: {
|
|
|
221
223
|
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
222
224
|
eleven_v3: "eleven_v3";
|
|
223
225
|
eleven_v4: "eleven_v4";
|
|
226
|
+
"gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
|
|
224
227
|
}>>;
|
|
225
228
|
};
|
|
226
229
|
export declare const voicesQuery: z.ZodObject<{
|
|
@@ -268,6 +271,7 @@ export declare const voicesQuery: z.ZodObject<{
|
|
|
268
271
|
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
269
272
|
eleven_v3: "eleven_v3";
|
|
270
273
|
eleven_v4: "eleven_v4";
|
|
274
|
+
"gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
|
|
271
275
|
}>>;
|
|
272
276
|
}, z.core.$strip>;
|
|
273
277
|
export type VoicesQuery = z.infer<typeof voicesQuery>;
|
package/dist/voice-catalog.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { TTS_MODELS, VOICE_NAME_PATTERN } from "./voices.js";
|
|
2
|
+
import { ELEVENLABS_TTS_MODELS, TTS_MODELS, VOICE_NAME_PATTERN } from "./voices.js";
|
|
3
3
|
/** Voice catalog languages: the ONLY list; everything else is derived from it. */
|
|
4
4
|
export const CATALOG_LANGUAGES = [
|
|
5
5
|
"bg", "cs", "da", "de", "el", "en", "es", "fi", "fil", "fr", "hi", "hr", "hu", "id", "it", "ja",
|
|
@@ -38,7 +38,7 @@ export const voiceCatalogFile = z.strictObject({
|
|
|
38
38
|
voices: z.array(catalogFileVoice),
|
|
39
39
|
});
|
|
40
40
|
export const ttsModelLanguagesFile = z.strictObject({
|
|
41
|
-
models: z.array(z.strictObject({ id: z.enum(
|
|
41
|
+
models: z.array(z.strictObject({ id: z.enum(ELEVENLABS_TTS_MODELS), languages: z.array(z.string().min(1)) })),
|
|
42
42
|
});
|
|
43
43
|
/** `/v1/voices` filters: request parsing, the MCP `inputSchema` and SDK parameters. `age` and */
|
|
44
44
|
/** `use_case` labels come from catalog data, so the server knows their allowed set. */
|
|
@@ -46,7 +46,8 @@ export const voicesQueryShape = {
|
|
|
46
46
|
language: z
|
|
47
47
|
.enum(CATALOG_LANGUAGES)
|
|
48
48
|
.optional()
|
|
49
|
-
.describe("Native language of the voice. A filter, not a limit: any voice speaks any supported language"
|
|
49
|
+
.describe("Native language of the voice. A filter, not a limit: any voice speaks any supported language. " +
|
|
50
|
+
"A voice with no language of its own (kind model_voice) matches the languages measured on its model"),
|
|
50
51
|
gender: z.enum(CATALOG_GENDERS).optional().describe("Gender label of the voice"),
|
|
51
52
|
age: z
|
|
52
53
|
.string()
|
|
@@ -61,7 +62,8 @@ export const voicesQueryShape = {
|
|
|
61
62
|
model: z
|
|
62
63
|
.enum(TTS_MODELS)
|
|
63
64
|
.optional()
|
|
64
|
-
.describe("Only voices
|
|
65
|
+
.describe("Only voices this speech model speaks: presets and catalog voices whose language it supports, " +
|
|
66
|
+
"or the model's own voices (kind model_voice)"),
|
|
65
67
|
};
|
|
66
68
|
export const voicesQuery = z.object(voicesQueryShape);
|
|
67
69
|
export const VOICES_QUERY_FIELDS = Object.keys(voicesQueryShape);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-catalog.js","sourceRoot":"","sources":["../src/voice-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"voice-catalog.js","sourceRoot":"","sources":["../src/voice-catalog.ts"],"names":[],"mappings":"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"}
|
package/dist/voice-listing.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import { z } from "zod";
|
|
|
2
2
|
import { type CatalogFileVoice, type TtsModelLanguagesFile, type VoiceCatalogFile, type VoicesQuery } from "./voice-catalog.js";
|
|
3
3
|
import { TTS_MODELS, type VoiceCatalogEntry } from "./voices.js";
|
|
4
4
|
export { TTS_MODEL_LANGUAGES, VOICE_CATALOG } from "./voice-catalog-data.js";
|
|
5
|
+
/** Languages of a model outside the generated snapshot: the ones we measured, not the vendor's list. */
|
|
6
|
+
export declare const MEASURED_MODEL_LANGUAGES: Readonly<Record<string, readonly string[]>>;
|
|
5
7
|
/** Models for which the vendor verifies ANY library voice at all. Derived from the */
|
|
6
8
|
/** catalog, not listed. */
|
|
7
9
|
export declare function vendorVerifiedModels(voices?: readonly CatalogFileVoice[]): readonly (typeof TTS_MODELS)[number][];
|
|
@@ -49,6 +51,7 @@ export declare function serverVoicesQueryFor(voices?: readonly CatalogFileVoice[
|
|
|
49
51
|
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
50
52
|
eleven_v3: "eleven_v3";
|
|
51
53
|
eleven_v4: "eleven_v4";
|
|
54
|
+
"gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
|
|
52
55
|
}>>;
|
|
53
56
|
age: z.ZodOptional<z.ZodEnum<{
|
|
54
57
|
[x: string]: string;
|
|
@@ -100,6 +103,7 @@ export declare const serverVoicesQuery: z.ZodObject<{
|
|
|
100
103
|
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
101
104
|
eleven_v3: "eleven_v3";
|
|
102
105
|
eleven_v4: "eleven_v4";
|
|
106
|
+
"gemini-3.8-flash-tts": "gemini-3.8-flash-tts";
|
|
103
107
|
}>>;
|
|
104
108
|
age: z.ZodOptional<z.ZodEnum<{
|
|
105
109
|
[x: string]: string;
|
|
@@ -108,7 +112,8 @@ export declare const serverVoicesQuery: z.ZodObject<{
|
|
|
108
112
|
[x: string]: string;
|
|
109
113
|
}>>;
|
|
110
114
|
}, z.core.$strip>;
|
|
111
|
-
/** Presets, then live catalog voices by language and rank
|
|
115
|
+
/** Presets, a model's own voices, then live catalog voices by language and rank. A field the voice */
|
|
116
|
+
/** lacks matches nothing, except `language`: a voice without one matches the languages of its model. */
|
|
112
117
|
export declare function listVoices(query: VoicesQuery, catalog?: VoiceCatalogFile, modelLanguages?: TtsModelLanguagesFile): {
|
|
113
118
|
voices: VoiceCatalogEntry[];
|
|
114
119
|
models: {
|
package/dist/voice-listing.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { CATALOG_LANGUAGES, normalizeVoiceLabel, VOICES_QUERY_FIELDS, voicesQueryShape, } from "./voice-catalog.js";
|
|
3
3
|
import { TTS_MODEL_LANGUAGES, VOICE_CATALOG } from "./voice-catalog-data.js";
|
|
4
|
-
import { resolveTtsModel, TTS_MODEL_CHAR_CAP, TTS_MODELS, VOICE_PRESETS, } from "./voices.js";
|
|
4
|
+
import { ELEVENLABS_TTS_MODELS, GOOGLE_TTS_MODEL, MODEL_VOICE_NAMES, MODEL_VOICES, resolveTtsModel, TTS_MODEL_CHAR_CAP, TTS_MODELS, VOICE_PRESETS, } from "./voices.js";
|
|
5
5
|
// A subpath, not the barrel: the list reads the catalog, which SDK clients do not need.
|
|
6
6
|
// A weekly worker probe checks the same data against the vendor.
|
|
7
7
|
export { TTS_MODEL_LANGUAGES, VOICE_CATALOG } from "./voice-catalog-data.js";
|
|
8
8
|
const isLive = (voice) => voice.retired_at === undefined;
|
|
9
|
+
/** Languages of a model outside the generated snapshot: the ones we measured, not the vendor's list. */
|
|
10
|
+
export const MEASURED_MODEL_LANGUAGES = {
|
|
11
|
+
[GOOGLE_TTS_MODEL]: ["en", "ru"],
|
|
12
|
+
};
|
|
9
13
|
/** Models for which the vendor verifies ANY library voice at all. Derived from the */
|
|
10
14
|
/** catalog, not listed. */
|
|
11
15
|
export function vendorVerifiedModels(voices = VOICE_CATALOG.voices) {
|
|
@@ -25,16 +29,23 @@ export function serverVoicesQueryFor(voices = VOICE_CATALOG.voices) {
|
|
|
25
29
|
}
|
|
26
30
|
export const serverVoicesQuery = serverVoicesQueryFor();
|
|
27
31
|
const presentText = (raw) => raw?.trim() || undefined;
|
|
28
|
-
/** Presets, then live catalog voices by language and rank
|
|
32
|
+
/** Presets, a model's own voices, then live catalog voices by language and rank. A field the voice */
|
|
33
|
+
/** lacks matches nothing, except `language`: a voice without one matches the languages of its model. */
|
|
29
34
|
export function listVoices(query, catalog = VOICE_CATALOG, modelLanguages = TTS_MODEL_LANGUAGES) {
|
|
30
|
-
const languagesOf = (id) => modelLanguages.models.find((model) => model.id === id)?.languages ?? [];
|
|
31
|
-
|
|
35
|
+
const languagesOf = (id) => modelLanguages.models.find((model) => model.id === id)?.languages ?? [...(MEASURED_MODEL_LANGUAGES[id] ?? [])];
|
|
36
|
+
// Presets and catalog voices are ElevenLabs voices: a model of another vendor never supports them.
|
|
37
|
+
const supportedModels = (language) => ELEVENLABS_TTS_MODELS.filter((id) => languagesOf(id).includes(language));
|
|
32
38
|
const presets = Object.entries(VOICE_PRESETS).map(([name, preset]) => ({
|
|
33
39
|
name,
|
|
34
40
|
kind: "preset",
|
|
35
41
|
...preset,
|
|
36
42
|
supported_models: supportedModels(preset.language),
|
|
37
43
|
}));
|
|
44
|
+
// No `language`: the vendor reads it off the text. The model is the one a run with this voice speaks.
|
|
45
|
+
const modelVoices = MODEL_VOICE_NAMES.map((name) => {
|
|
46
|
+
const model = resolveTtsModel({ voice: name, script: "" });
|
|
47
|
+
return { name, kind: "model_voice", ...MODEL_VOICES[name], model, supported_models: [model] };
|
|
48
|
+
});
|
|
38
49
|
const languageRank = (voice) => CATALOG_LANGUAGES.indexOf(voice.language);
|
|
39
50
|
const catalogVoices = catalog.voices
|
|
40
51
|
.filter(isLive)
|
|
@@ -60,10 +71,12 @@ export function listVoices(query, catalog = VOICE_CATALOG, modelLanguages = TTS_
|
|
|
60
71
|
return true;
|
|
61
72
|
if (field === "model")
|
|
62
73
|
return entry.supported_models?.includes(wanted) === true;
|
|
74
|
+
if (field === "language" && entry.language === undefined)
|
|
75
|
+
return languagesOf(entry.model).includes(wanted);
|
|
63
76
|
return entry[field] === wanted;
|
|
64
77
|
});
|
|
65
78
|
return {
|
|
66
|
-
voices: [...presets, ...catalogVoices].filter(matches),
|
|
79
|
+
voices: [...presets, ...modelVoices, ...catalogVoices].filter(matches),
|
|
67
80
|
models: TTS_MODELS.map((id) => ({
|
|
68
81
|
id,
|
|
69
82
|
char_limit: TTS_MODEL_CHAR_CAP[id],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-listing.js","sourceRoot":"","sources":["../src/voice-listing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GAKjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,aAAa,GAEd,MAAM,aAAa,CAAC;AAErB,wFAAwF;AACxF,iEAAiE;AACjE,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7E,MAAM,MAAM,GAAG,CAAC,KAAuB,EAAW,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC;AAEpF,sFAAsF;AACtF,2BAA2B;AAC3B,MAAM,UAAU,oBAAoB,CAClC,MAAM,GAAgC,aAAa,CAAC,MAAM;IAE1D,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACjC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAC/E,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAmC,EAAE,GAA+C;IACvG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAA2B,CAAC;AACrG,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,oBAAoB,CAAC,MAAM,GAAgC,aAAa,CAAC,MAAM;IAC7F,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,gBAAgB;QACnB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;QACrE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;KAChF,CAAC,CAAC;AACL,CAAC;AACD,MAAM,CAAC,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;AAExD,MAAM,WAAW,GAAG,CAAC,GAAkB,EAAsB,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;AAEzF,
|
|
1
|
+
{"version":3,"file":"voice-listing.js","sourceRoot":"","sources":["../src/voice-listing.ts"],"names":[],"mappings":"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"}
|
package/dist/voices.d.ts
CHANGED
|
@@ -1,16 +1,41 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { Gender } from "./default-actor.js";
|
|
3
|
-
/**
|
|
3
|
+
/** Speech models the contract lets callers name. `multilingual_v2` was dropped: */
|
|
4
4
|
/** it honored none of the stress-marking methods we measured. */
|
|
5
|
-
export declare const TTS_MODELS: readonly ["eleven_v3", "eleven_flash_v2_5", "eleven_turbo_v2_5", "eleven_v4"];
|
|
5
|
+
export declare const TTS_MODELS: readonly ["eleven_v3", "eleven_flash_v2_5", "eleven_turbo_v2_5", "eleven_v4", "gemini-3.8-flash-tts"];
|
|
6
6
|
export type TtsModelId = (typeof TTS_MODELS)[number];
|
|
7
7
|
export declare const DEFAULT_TTS_MODEL: TtsModelId;
|
|
8
8
|
/** What Russian speech goes to when the client names no model; `resolveTtsModel` decides what is Russian. */
|
|
9
9
|
export declare const RUSSIAN_TTS_MODEL = "eleven_v4";
|
|
10
|
+
/** The model spoken by Google's adapter; contract texts name it through this constant. */
|
|
11
|
+
export declare const GOOGLE_TTS_MODEL = "gemini-3.8-flash-tts";
|
|
12
|
+
/** Whose adapter speaks each model. A model without a row does not compile. */
|
|
13
|
+
export type SpeechBackendName = "elevenlabs" | "google";
|
|
14
|
+
export declare const TTS_MODEL_BACKEND: {
|
|
15
|
+
readonly eleven_v3: "elevenlabs";
|
|
16
|
+
readonly eleven_flash_v2_5: "elevenlabs";
|
|
17
|
+
readonly eleven_turbo_v2_5: "elevenlabs";
|
|
18
|
+
readonly eleven_v4: "elevenlabs";
|
|
19
|
+
readonly "gemini-3.8-flash-tts": "google";
|
|
20
|
+
};
|
|
21
|
+
/** The models of one vendor: its voices, its listing and its catalog files know only these. */
|
|
22
|
+
export type ElevenLabsModelId = {
|
|
23
|
+
[Model in TtsModelId]: (typeof TTS_MODEL_BACKEND)[Model] extends "elevenlabs" ? Model : never;
|
|
24
|
+
}[TtsModelId];
|
|
25
|
+
export declare const ELEVENLABS_TTS_MODELS: ElevenLabsModelId[];
|
|
26
|
+
/** Whose adapter speaks a model named by a string; `undefined` for a model the contract does not have. */
|
|
27
|
+
export declare function speechBackendOf(modelId: string): SpeechBackendName | undefined;
|
|
10
28
|
/** v3: the vendor's cap. 2.5: the vendor allows 40,000; 10,000 is our run-length cap. */
|
|
11
29
|
/** v4: the vendor declares 10,000; 5,000 is ours, above the longest measured call. */
|
|
12
30
|
export declare const TTS_MODEL_CHAR_CAP: Readonly<Record<TtsModelId, number>>;
|
|
13
|
-
/**
|
|
31
|
+
/** What each model does with the text sent to it. The three sets below are read from this table. */
|
|
32
|
+
interface SpeechTextTraits {
|
|
33
|
+
readsStressMarks: boolean;
|
|
34
|
+
pausesOnBreakTags: boolean;
|
|
35
|
+
hasSpeedSetting: boolean;
|
|
36
|
+
}
|
|
37
|
+
export declare const TTS_MODEL_TEXT_TRAITS: Readonly<Record<TtsModelId, SpeechTextTraits>>;
|
|
38
|
+
/** Models that read the U+0301 stress mark; flash misreads the same mark three times as often. */
|
|
14
39
|
export declare const STRESS_MARK: string;
|
|
15
40
|
export declare const STRESS_MARK_MODELS: ReadonlySet<TtsModelId>;
|
|
16
41
|
/** Models that accept a speed setting and ignore it: a request to them carries none. */
|
|
@@ -145,6 +170,125 @@ export declare const DEFAULT_VOICE_BY_GENDER: {
|
|
|
145
170
|
readonly female: "sarah";
|
|
146
171
|
readonly male: "george";
|
|
147
172
|
};
|
|
173
|
+
/** A voice a model owns. `gender` only where we know it: the vendor's page names none. */
|
|
174
|
+
export interface ModelVoice {
|
|
175
|
+
/** The vendor's own one-word descriptor, as its page prints it. */
|
|
176
|
+
description: string;
|
|
177
|
+
gender?: Gender;
|
|
178
|
+
}
|
|
179
|
+
/** The voices of `MODEL_VOICE_MODEL` by OUR names, in the vendor page's order (docs/16). */
|
|
180
|
+
/** The worker adapter maps them to the vendor's names. */
|
|
181
|
+
export declare const MODEL_VOICES: {
|
|
182
|
+
readonly zephyr: {
|
|
183
|
+
readonly description: "Bright";
|
|
184
|
+
};
|
|
185
|
+
readonly puck: {
|
|
186
|
+
readonly description: "Upbeat";
|
|
187
|
+
};
|
|
188
|
+
readonly charon: {
|
|
189
|
+
readonly description: "Informative";
|
|
190
|
+
readonly gender: "male";
|
|
191
|
+
};
|
|
192
|
+
readonly kore: {
|
|
193
|
+
readonly description: "Firm";
|
|
194
|
+
readonly gender: "female";
|
|
195
|
+
};
|
|
196
|
+
readonly fenrir: {
|
|
197
|
+
readonly description: "Excitable";
|
|
198
|
+
};
|
|
199
|
+
readonly leda: {
|
|
200
|
+
readonly description: "Youthful";
|
|
201
|
+
};
|
|
202
|
+
readonly orus: {
|
|
203
|
+
readonly description: "Firm";
|
|
204
|
+
};
|
|
205
|
+
readonly aoede: {
|
|
206
|
+
readonly description: "Breezy";
|
|
207
|
+
};
|
|
208
|
+
readonly callirrhoe: {
|
|
209
|
+
readonly description: "Easy-going";
|
|
210
|
+
};
|
|
211
|
+
readonly autonoe: {
|
|
212
|
+
readonly description: "Bright";
|
|
213
|
+
};
|
|
214
|
+
readonly enceladus: {
|
|
215
|
+
readonly description: "Breathy";
|
|
216
|
+
};
|
|
217
|
+
readonly iapetus: {
|
|
218
|
+
readonly description: "Clear";
|
|
219
|
+
};
|
|
220
|
+
readonly umbriel: {
|
|
221
|
+
readonly description: "Easy-going";
|
|
222
|
+
};
|
|
223
|
+
readonly algieba: {
|
|
224
|
+
readonly description: "Smooth";
|
|
225
|
+
};
|
|
226
|
+
readonly despina: {
|
|
227
|
+
readonly description: "Smooth";
|
|
228
|
+
};
|
|
229
|
+
readonly erinome: {
|
|
230
|
+
readonly description: "Clear";
|
|
231
|
+
};
|
|
232
|
+
readonly algenib: {
|
|
233
|
+
readonly description: "Gravelly";
|
|
234
|
+
};
|
|
235
|
+
readonly rasalgethi: {
|
|
236
|
+
readonly description: "Informative";
|
|
237
|
+
};
|
|
238
|
+
readonly laomedeia: {
|
|
239
|
+
readonly description: "Upbeat";
|
|
240
|
+
};
|
|
241
|
+
readonly achernar: {
|
|
242
|
+
readonly description: "Soft";
|
|
243
|
+
};
|
|
244
|
+
readonly alnilam: {
|
|
245
|
+
readonly description: "Firm";
|
|
246
|
+
};
|
|
247
|
+
readonly schedar: {
|
|
248
|
+
readonly description: "Even";
|
|
249
|
+
};
|
|
250
|
+
readonly gacrux: {
|
|
251
|
+
readonly description: "Mature";
|
|
252
|
+
};
|
|
253
|
+
readonly pulcherrima: {
|
|
254
|
+
readonly description: "Forward";
|
|
255
|
+
};
|
|
256
|
+
readonly achird: {
|
|
257
|
+
readonly description: "Friendly";
|
|
258
|
+
};
|
|
259
|
+
readonly zubenelgenubi: {
|
|
260
|
+
readonly description: "Casual";
|
|
261
|
+
};
|
|
262
|
+
readonly vindemiatrix: {
|
|
263
|
+
readonly description: "Gentle";
|
|
264
|
+
};
|
|
265
|
+
readonly sadachbia: {
|
|
266
|
+
readonly description: "Lively";
|
|
267
|
+
};
|
|
268
|
+
readonly sadaltager: {
|
|
269
|
+
readonly description: "Knowledgeable";
|
|
270
|
+
};
|
|
271
|
+
readonly sulafat: {
|
|
272
|
+
readonly description: "Warm";
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
export type ModelVoiceName = keyof typeof MODEL_VOICES;
|
|
276
|
+
export declare const MODEL_VOICE_NAMES: [ModelVoiceName, ...ModelVoiceName[]];
|
|
277
|
+
/** The one model that speaks `MODEL_VOICES`: naming one of them selects it. */
|
|
278
|
+
export declare const MODEL_VOICE_MODEL = "gemini-3.8-flash-tts";
|
|
279
|
+
export declare function isModelVoiceName(name: string): name is ModelVoiceName;
|
|
280
|
+
/** The default voice of a model that speaks only its own voices; an unknown gender speaks the male one. */
|
|
281
|
+
export declare const MODEL_DEFAULT_VOICE_BY_GENDER: {
|
|
282
|
+
readonly female: "kore";
|
|
283
|
+
readonly male: "charon";
|
|
284
|
+
};
|
|
285
|
+
/** The model of `MODEL_VOICES` speaks only those: presets, catalog voices and raw ids do not carry over. */
|
|
286
|
+
export declare function speaksOwnVoices(modelId: string | undefined): boolean;
|
|
287
|
+
/** The voice a run speaks when it names none, with the gender that voice has. */
|
|
288
|
+
export declare function defaultVoiceOf(modelId: string | undefined, gender: Gender | undefined): {
|
|
289
|
+
name: string;
|
|
290
|
+
gender: Gender;
|
|
291
|
+
};
|
|
148
292
|
/** Shape of a raw vendor `voice_id`, deliberately loose (16–32 alphanumerics): the format is */
|
|
149
293
|
/** undocumented. A coarse input filter only; the worker's free preflight checks existence. */
|
|
150
294
|
export declare const VOICE_ID_PATTERN: RegExp;
|
|
@@ -159,15 +303,19 @@ export type VoiceSelection = {
|
|
|
159
303
|
} | {
|
|
160
304
|
kind: "raw";
|
|
161
305
|
voiceId: string;
|
|
306
|
+
} | {
|
|
307
|
+
kind: "model_voice";
|
|
308
|
+
voice: ModelVoiceName;
|
|
162
309
|
};
|
|
163
310
|
/** Priority: raw `voice_id` > `voice` > voice by actor gender > `DEFAULT_VOICE_PRESET`. */
|
|
164
|
-
/** Gender comes from `voiceGenderFor` (actors.ts); `
|
|
311
|
+
/** Gender comes from `voiceGenderFor` (actors.ts); `tts_model` is the run's model, which owns the default voice. */
|
|
165
312
|
export declare function resolveVoiceSelection(input: {
|
|
166
313
|
voice?: string | undefined;
|
|
167
314
|
voice_id?: string | undefined;
|
|
315
|
+
tts_model?: string | undefined;
|
|
168
316
|
}, gender?: Gender | undefined): VoiceSelection;
|
|
169
|
-
/** Model: explicit `tts_model` → the
|
|
170
|
-
/** a
|
|
317
|
+
/** Model: explicit `tts_model` → a raw `voice_id` by the script family → the model of a model's own */
|
|
318
|
+
/** voice → the preset's model → a catalog voice by its slug language. `script` is the run's whole text. */
|
|
171
319
|
export declare function resolveTtsModel(input: {
|
|
172
320
|
voice?: string | undefined;
|
|
173
321
|
voice_id?: string | undefined;
|
|
@@ -201,3 +349,4 @@ export declare function buildSpeechModelWarnings(input: {
|
|
|
201
349
|
tts_model?: TtsModelId | undefined;
|
|
202
350
|
script: string;
|
|
203
351
|
}, gender?: Gender | undefined): string[];
|
|
352
|
+
export {};
|
package/dist/voices.js
CHANGED
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
/**
|
|
2
|
+
/** Speech models the contract lets callers name. `multilingual_v2` was dropped: */
|
|
3
3
|
/** it honored none of the stress-marking methods we measured. */
|
|
4
|
-
export const TTS_MODELS = ["eleven_v3", "eleven_flash_v2_5", "eleven_turbo_v2_5", "eleven_v4"];
|
|
4
|
+
export const TTS_MODELS = ["eleven_v3", "eleven_flash_v2_5", "eleven_turbo_v2_5", "eleven_v4", "gemini-3.8-flash-tts"];
|
|
5
5
|
export const DEFAULT_TTS_MODEL = "eleven_v3";
|
|
6
6
|
/** What Russian speech goes to when the client names no model; `resolveTtsModel` decides what is Russian. */
|
|
7
7
|
export const RUSSIAN_TTS_MODEL = "eleven_v4";
|
|
8
|
+
/** The model spoken by Google's adapter; contract texts name it through this constant. */
|
|
9
|
+
export const GOOGLE_TTS_MODEL = "gemini-3.8-flash-tts";
|
|
10
|
+
export const TTS_MODEL_BACKEND = {
|
|
11
|
+
eleven_v3: "elevenlabs",
|
|
12
|
+
eleven_flash_v2_5: "elevenlabs",
|
|
13
|
+
eleven_turbo_v2_5: "elevenlabs",
|
|
14
|
+
eleven_v4: "elevenlabs",
|
|
15
|
+
"gemini-3.8-flash-tts": "google",
|
|
16
|
+
};
|
|
17
|
+
export const ELEVENLABS_TTS_MODELS = TTS_MODELS.filter((model) => TTS_MODEL_BACKEND[model] === "elevenlabs");
|
|
18
|
+
/** Whose adapter speaks a model named by a string; `undefined` for a model the contract does not have. */
|
|
19
|
+
export function speechBackendOf(modelId) {
|
|
20
|
+
const model = TTS_MODELS.find((known) => known === modelId);
|
|
21
|
+
return model === undefined ? undefined : TTS_MODEL_BACKEND[model];
|
|
22
|
+
}
|
|
8
23
|
/** v3: the vendor's cap. 2.5: the vendor allows 40,000; 10,000 is our run-length cap. */
|
|
9
24
|
/** v4: the vendor declares 10,000; 5,000 is ours, above the longest measured call. */
|
|
10
25
|
export const TTS_MODEL_CHAR_CAP = {
|
|
@@ -12,15 +27,25 @@ export const TTS_MODEL_CHAR_CAP = {
|
|
|
12
27
|
eleven_flash_v2_5: 10_000,
|
|
13
28
|
eleven_turbo_v2_5: 10_000,
|
|
14
29
|
eleven_v4: 5_000,
|
|
30
|
+
"gemini-3.8-flash-tts": 5_000,
|
|
31
|
+
};
|
|
32
|
+
export const TTS_MODEL_TEXT_TRAITS = {
|
|
33
|
+
eleven_v3: { readsStressMarks: true, pausesOnBreakTags: true, hasSpeedSetting: true },
|
|
34
|
+
eleven_flash_v2_5: { readsStressMarks: false, pausesOnBreakTags: true, hasSpeedSetting: true },
|
|
35
|
+
eleven_turbo_v2_5: { readsStressMarks: false, pausesOnBreakTags: true, hasSpeedSetting: true },
|
|
36
|
+
eleven_v4: { readsStressMarks: true, pausesOnBreakTags: false, hasSpeedSetting: false },
|
|
37
|
+
"gemini-3.8-flash-tts": { readsStressMarks: true, pausesOnBreakTags: false, hasSpeedSetting: false },
|
|
15
38
|
};
|
|
16
|
-
|
|
39
|
+
const modelsWhere = (holds) => new Set(TTS_MODELS.filter((model) => holds(TTS_MODEL_TEXT_TRAITS[model])));
|
|
40
|
+
/** Models that read the U+0301 stress mark; flash misreads the same mark three times as often. */
|
|
17
41
|
export const STRESS_MARK = String.fromCharCode(0x0301);
|
|
18
|
-
export const STRESS_MARK_MODELS =
|
|
19
|
-
const
|
|
42
|
+
export const STRESS_MARK_MODELS = modelsWhere((traits) => traits.readsStressMarks);
|
|
43
|
+
const listed = (names) => names.join(", ").replace(/, ([^,]+)$/, " and $1");
|
|
44
|
+
const STRESS_MARK_READERS = listed([...STRESS_MARK_MODELS]);
|
|
20
45
|
/** Models that accept a speed setting and ignore it: a request to them carries none. */
|
|
21
|
-
export const FIXED_PACE_MODELS =
|
|
46
|
+
export const FIXED_PACE_MODELS = modelsWhere((traits) => !traits.hasSpeedSetting);
|
|
22
47
|
/** Models that give no pause for a break tag: the tag is cut from the text sent to them. */
|
|
23
|
-
export const NO_BREAK_TAG_MODELS =
|
|
48
|
+
export const NO_BREAK_TAG_MODELS = modelsWhere((traits) => !traits.pausesOnBreakTags);
|
|
24
49
|
/** The one break form the pipeline knows; the cut here and the alignment parser share it. */
|
|
25
50
|
export const BREAK_TAG_SOURCE = String.raw `<break time="\d+(?:\.\d+)?(?:ms|s)"\s*\/>`;
|
|
26
51
|
const BREAK_TAG = new RegExp(BREAK_TAG_SOURCE);
|
|
@@ -98,7 +123,7 @@ export function speechTextFor(text, modelId) {
|
|
|
98
123
|
const spoken = NO_BREAK_TAG_MODELS.has(modelId) ? withoutBreakTags(text) : text;
|
|
99
124
|
return STRESS_MARK_MODELS.has(modelId) ? stressMarksFromCapitals(spoken) : spoken;
|
|
100
125
|
}
|
|
101
|
-
const BREAK_TAG_CUT_MODELS =
|
|
126
|
+
const BREAK_TAG_CUT_MODELS = listed([...NO_BREAK_TAG_MODELS]);
|
|
102
127
|
export const MAX_SCRIPT_CHARS = Math.max(...Object.values(TTS_MODEL_CHAR_CAP));
|
|
103
128
|
export const SCRIPT_LENGTH_DESCRIPTION = `Script limits by speech model: ${TTS_MODELS.map((model) => `${model}: ${TTS_MODEL_CHAR_CAP[model]} characters`).join("; ")}. ` +
|
|
104
129
|
"Count includes spaces, audio tags and stress marks; emoji may count as two characters. " +
|
|
@@ -120,8 +145,9 @@ export function ttsScriptLimitError(text, modelId) {
|
|
|
120
145
|
const length = speechTextFor(text, model).length;
|
|
121
146
|
if (length > limit) {
|
|
122
147
|
const cheaperCap = TTS_MODEL_CHAR_CAP.eleven_flash_v2_5;
|
|
148
|
+
const otherVoices = speaksOwnVoices(model) ? ` and do not speak the voices of ${model}` : "";
|
|
123
149
|
const remedy = limit < cheaperCap && text.length <= cheaperCap
|
|
124
|
-
? `; eleven_flash_v2_5 and eleven_turbo_v2_5 allow ${cheaperCap} but do not read Russian stress`
|
|
150
|
+
? `; eleven_flash_v2_5 and eleven_turbo_v2_5 allow ${cheaperCap} but do not read Russian stress${otherVoices}`
|
|
125
151
|
: "";
|
|
126
152
|
const counted = NO_BREAK_TAG_MODELS.has(model)
|
|
127
153
|
? "including spaces, audio tags and stress marks, break tags cut"
|
|
@@ -222,27 +248,87 @@ export const DEFAULT_VOICE_BY_GENDER = {
|
|
|
222
248
|
function defaultVoiceFor(gender) {
|
|
223
249
|
return gender === undefined ? DEFAULT_VOICE_PRESET : DEFAULT_VOICE_BY_GENDER[gender];
|
|
224
250
|
}
|
|
251
|
+
/** The voices of `MODEL_VOICE_MODEL` by OUR names, in the vendor page's order (docs/16). */
|
|
252
|
+
/** The worker adapter maps them to the vendor's names. */
|
|
253
|
+
export const MODEL_VOICES = {
|
|
254
|
+
zephyr: { description: "Bright" },
|
|
255
|
+
puck: { description: "Upbeat" },
|
|
256
|
+
charon: { description: "Informative", gender: "male" },
|
|
257
|
+
kore: { description: "Firm", gender: "female" },
|
|
258
|
+
fenrir: { description: "Excitable" },
|
|
259
|
+
leda: { description: "Youthful" },
|
|
260
|
+
orus: { description: "Firm" },
|
|
261
|
+
aoede: { description: "Breezy" },
|
|
262
|
+
callirrhoe: { description: "Easy-going" },
|
|
263
|
+
autonoe: { description: "Bright" },
|
|
264
|
+
enceladus: { description: "Breathy" },
|
|
265
|
+
iapetus: { description: "Clear" },
|
|
266
|
+
umbriel: { description: "Easy-going" },
|
|
267
|
+
algieba: { description: "Smooth" },
|
|
268
|
+
despina: { description: "Smooth" },
|
|
269
|
+
erinome: { description: "Clear" },
|
|
270
|
+
algenib: { description: "Gravelly" },
|
|
271
|
+
rasalgethi: { description: "Informative" },
|
|
272
|
+
laomedeia: { description: "Upbeat" },
|
|
273
|
+
achernar: { description: "Soft" },
|
|
274
|
+
alnilam: { description: "Firm" },
|
|
275
|
+
schedar: { description: "Even" },
|
|
276
|
+
gacrux: { description: "Mature" },
|
|
277
|
+
pulcherrima: { description: "Forward" },
|
|
278
|
+
achird: { description: "Friendly" },
|
|
279
|
+
zubenelgenubi: { description: "Casual" },
|
|
280
|
+
vindemiatrix: { description: "Gentle" },
|
|
281
|
+
sadachbia: { description: "Lively" },
|
|
282
|
+
sadaltager: { description: "Knowledgeable" },
|
|
283
|
+
sulafat: { description: "Warm" },
|
|
284
|
+
};
|
|
285
|
+
export const MODEL_VOICE_NAMES = Object.keys(MODEL_VOICES);
|
|
286
|
+
/** The one model that speaks `MODEL_VOICES`: naming one of them selects it. */
|
|
287
|
+
export const MODEL_VOICE_MODEL = GOOGLE_TTS_MODEL;
|
|
288
|
+
export function isModelVoiceName(name) {
|
|
289
|
+
return Object.hasOwn(MODEL_VOICES, name);
|
|
290
|
+
}
|
|
291
|
+
/** The default voice of a model that speaks only its own voices; an unknown gender speaks the male one. */
|
|
292
|
+
export const MODEL_DEFAULT_VOICE_BY_GENDER = {
|
|
293
|
+
female: "kore",
|
|
294
|
+
male: "charon",
|
|
295
|
+
};
|
|
296
|
+
/** The model of `MODEL_VOICES` speaks only those: presets, catalog voices and raw ids do not carry over. */
|
|
297
|
+
export function speaksOwnVoices(modelId) {
|
|
298
|
+
return modelId === MODEL_VOICE_MODEL;
|
|
299
|
+
}
|
|
300
|
+
/** The voice a run speaks when it names none, with the gender that voice has. */
|
|
301
|
+
export function defaultVoiceOf(modelId, gender) {
|
|
302
|
+
const voiceGender = gender ?? VOICE_PRESETS[DEFAULT_VOICE_PRESET].gender;
|
|
303
|
+
const name = speaksOwnVoices(modelId) ? MODEL_DEFAULT_VOICE_BY_GENDER[voiceGender] : defaultVoiceFor(gender);
|
|
304
|
+
return { name, gender: voiceGender };
|
|
305
|
+
}
|
|
225
306
|
/** Shape of a raw vendor `voice_id`, deliberately loose (16–32 alphanumerics): the format is */
|
|
226
307
|
/** undocumented. A coarse input filter only; the worker's free preflight checks existence. */
|
|
227
308
|
export const VOICE_ID_PATTERN = /^[A-Za-z0-9]{16,32}$/;
|
|
228
309
|
/** Priority: raw `voice_id` > `voice` > voice by actor gender > `DEFAULT_VOICE_PRESET`. */
|
|
229
|
-
/** Gender comes from `voiceGenderFor` (actors.ts); `
|
|
310
|
+
/** Gender comes from `voiceGenderFor` (actors.ts); `tts_model` is the run's model, which owns the default voice. */
|
|
230
311
|
export function resolveVoiceSelection(input, gender) {
|
|
231
312
|
if (input.voice_id !== undefined) {
|
|
232
313
|
return { kind: "raw", voiceId: input.voice_id };
|
|
233
314
|
}
|
|
234
315
|
if (input.voice !== undefined) {
|
|
316
|
+
if (isModelVoiceName(input.voice))
|
|
317
|
+
return { kind: "model_voice", voice: input.voice };
|
|
235
318
|
// Not a preset, so a catalog slug: only the worker sidecar knows its id; a miss there refuses.
|
|
236
319
|
if (!isVoicePresetName(input.voice))
|
|
237
320
|
return { kind: "catalog", slug: input.voice };
|
|
238
321
|
return { kind: "preset", preset: input.voice };
|
|
239
322
|
}
|
|
323
|
+
if (speaksOwnVoices(input.tts_model)) {
|
|
324
|
+
return { kind: "model_voice", voice: MODEL_DEFAULT_VOICE_BY_GENDER[gender ?? VOICE_PRESETS[DEFAULT_VOICE_PRESET].gender] };
|
|
325
|
+
}
|
|
240
326
|
return { kind: "preset", preset: defaultVoiceFor(gender) };
|
|
241
327
|
}
|
|
242
328
|
/** A catalog slug is `language_gender_name`: the prefix is the voice's language. */
|
|
243
329
|
const RUSSIAN_CATALOG_SLUG_PREFIX = "ru_";
|
|
244
|
-
/** Model: explicit `tts_model` → the
|
|
245
|
-
/** a
|
|
330
|
+
/** Model: explicit `tts_model` → a raw `voice_id` by the script family → the model of a model's own */
|
|
331
|
+
/** voice → the preset's model → a catalog voice by its slug language. `script` is the run's whole text. */
|
|
246
332
|
export function resolveTtsModel(input, gender) {
|
|
247
333
|
if (input.tts_model !== undefined)
|
|
248
334
|
return input.tts_model;
|
|
@@ -250,6 +336,8 @@ export function resolveTtsModel(input, gender) {
|
|
|
250
336
|
return detectScriptFamily(input.script) === "cyrillic" ? RUSSIAN_TTS_MODEL : DEFAULT_TTS_MODEL;
|
|
251
337
|
}
|
|
252
338
|
const voice = input.voice ?? defaultVoiceFor(gender);
|
|
339
|
+
if (isModelVoiceName(voice))
|
|
340
|
+
return MODEL_VOICE_MODEL;
|
|
253
341
|
if (isVoicePresetName(voice))
|
|
254
342
|
return VOICE_PRESETS[voice].model;
|
|
255
343
|
return voice.startsWith(RUSSIAN_CATALOG_SLUG_PREFIX) ? RUSSIAN_TTS_MODEL : DEFAULT_TTS_MODEL;
|
|
@@ -349,13 +437,16 @@ export function buildSpeechModelWarnings(input, gender) {
|
|
|
349
437
|
: [];
|
|
350
438
|
if (STRESS_MARK_MODELS.has(model))
|
|
351
439
|
return breaks;
|
|
440
|
+
// An explicit voice stays with its vendor: a reader of another vendor would refuse it.
|
|
441
|
+
const keepsVoice = input.voice !== undefined || input.voice_id !== undefined;
|
|
442
|
+
const readers = listed([...STRESS_MARK_MODELS].filter((reader) => !keepsVoice || TTS_MODEL_BACKEND[reader] === TTS_MODEL_BACKEND[model]));
|
|
352
443
|
// A mark after a Latin letter is a French or Spanish accent (NFD), not stress.
|
|
353
444
|
const marked = CYRILLIC_STRESS_MARK.test(input.script) || stressMarksFromCapitals(input.script) !== input.script;
|
|
354
445
|
if (marked) {
|
|
355
446
|
return [
|
|
356
447
|
...breaks,
|
|
357
448
|
`stress marks in the script (capital vowels or U+0301) are not read by ${model}: they are sent ` +
|
|
358
|
-
`unchanged, and a U+0301 can break the word it sits in; ${
|
|
449
|
+
`unchanged, and a U+0301 can break the word it sits in; ${readers} read them`,
|
|
359
450
|
];
|
|
360
451
|
}
|
|
361
452
|
const letters = scriptLetterCounts(input.script);
|
|
@@ -363,7 +454,7 @@ export function buildSpeechModelWarnings(input, gender) {
|
|
|
363
454
|
return [
|
|
364
455
|
...breaks,
|
|
365
456
|
`Cyrillic script on ${model}: for Russian it places stress less reliably than eleven_v3 ` +
|
|
366
|
-
`and does not read stress marks; ${
|
|
457
|
+
`and does not read stress marks; ${readers} read them`,
|
|
367
458
|
];
|
|
368
459
|
}
|
|
369
460
|
return breaks;
|
package/dist/voices.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voices.js","sourceRoot":"","sources":["../src/voices.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"voices.js","sourceRoot":"","sources":["../src/voices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,mFAAmF;AACnF,iEAAiE;AACjE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,sBAAsB,CAAU,CAAC;AAEhI,MAAM,CAAC,MAAM,iBAAiB,GAAe,WAAW,CAAC;AACzD,6GAA6G;AAC7G,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAgC,CAAC;AAElE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAA2C,CAAC;AAI5E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,YAAY;IACvB,iBAAiB,EAAE,YAAY;IAC/B,iBAAiB,EAAE,YAAY;IAC/B,SAAS,EAAE,YAAY;IACvB,sBAAsB,EAAE,QAAQ;CACwB,CAAC;AAM3D,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC,MAAM,CACpD,CAAC,KAAK,EAA8B,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,YAAY,CACjF,CAAC;AAEF,0GAA0G;AAC1G,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;IAC5D,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC;AAED,yFAAyF;AACzF,sFAAsF;AACtF,MAAM,CAAC,MAAM,kBAAkB,GAAyC;IACtE,SAAS,EAAE,KAAK;IAChB,iBAAiB,EAAE,MAAM;IACzB,iBAAiB,EAAE,MAAM;IACzB,SAAS,EAAE,KAAK;IAChB,sBAAsB,EAAE,KAAK;CAC9B,CAAC;AAQF,MAAM,CAAC,MAAM,qBAAqB,GAAmD;IACnF,SAAS,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;IACrF,iBAAiB,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;IAC9F,iBAAiB,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE;IAC9F,SAAS,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;IACvF,sBAAsB,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE;CACrG,CAAC;AACF,MAAM,WAAW,GAAG,CAAC,KAA4C,EAA2B,EAAE,CAC5F,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7E,kGAAkG;AAClG,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,kBAAkB,GAA4B,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC5G,MAAM,MAAM,GAAG,CAAC,KAAwB,EAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AACvG,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC;AAE5D,wFAAwF;AACxF,MAAM,CAAC,MAAM,iBAAiB,GAAwB,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAEvG,4FAA4F;AAC5F,MAAM,CAAC,MAAM,mBAAmB,GAA4B,WAAW,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE/G,6FAA6F;AAC7F,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA,2CAA2C,CAAC;AACtF,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC/C,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AACxD,MAAM,OAAO,GAAG,CAAC,EAAsB,EAAW,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC;AAE/E,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,OAAO,WAAW,IAAI,EAAE,GAAG,CAAC,CAAC;AAC9D,MAAM,oBAAoB,GAAG,IAAI,MAAM,CAAC,QAAQ,WAAW,EAAE,CAAC,CAAC;AAC/D,MAAM,kBAAkB,GAAG,OAAO,CAAC;AACnC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AACnC,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAE3C,0FAA0F;AAC1F,8EAA8E;AAC9E,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,WAAW;QAAE,KAAK,IAAI,CAAC,CAAC;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,SAAS;QAC3C,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,CAAC,CAAC;QACnE,KAAK,GAAG,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+FAA+F;AAC/F,uCAAuC;AACvC,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;QAC1C,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACvB,MAAM,IAAI,GAAG,KAAK,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;QAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,0FAA0F;AAC1F,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,OAAO,KAAK,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;QAC5D,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAAE,GAAG,IAAI,CAAC,CAAC;QACpC,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;QACrC,IAAI,GAAG,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,8FAA8F;AAC9F,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC;QACR,MAAM,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,OAAO,CAAC;QACpC,OAAO,GAAG,GAAG,CAAC;IAChB,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAe;IAC5D,OAAQ,mBAA2C,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3F,CAAC;AAED,8FAA8F;AAC9F,8FAA8F;AAC9F,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAmB;IAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACpF,CAAC;AAED,MAAM,oBAAoB,GAAG,MAAM,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,yBAAyB,GACpC,kCAAkC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;IAC/H,yFAAyF;IACzF,4CAA4C,oBAAoB,8BAA8B;IAC9F,gFAAgF,CAAC;AAEnF,MAAM,CAAC,MAAM,0BAA0B,GACrC,uGAAuG;IACvG,OAAO,mBAAmB,mFAAmF;IAC7G,kGAAkG;IAClG,yGAAyG;IACzG,8DAA8D;IAC9D,0FAA0F;IAC1F,sFAAsF,CAAC;AAEzF,8FAA8F;AAC9F,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,OAAe;IAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,6BAA6B,OAAO,EAAE,CAAC;IAC1D,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC;IACjD,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,kBAAkB,CAAC,iBAAiB,CAAC;QACxD,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,MAAM,MAAM,GACV,KAAK,GAAG,UAAU,IAAI,IAAI,CAAC,MAAM,IAAI,UAAU;YAC7C,CAAC,CAAC,mDAAmD,UAAU,kCAAkC,WAAW,EAAE;YAC9G,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5C,CAAC,CAAC,+DAA+D;YACjE,CAAC,CAAC,yCAAyC,CAAC;QAC9C,OAAO,cAAc,MAAM,gBAAgB,KAAK,mBAAmB,KAAK,gBAAgB,OAAO,4BAA4B,MAAM,EAAE,CAAC;IACtI,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAmB;IACjE,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IACvF,OAAO,gCAAgC,OAAO,sEAAsE,CAAC;AACvH,CAAC;AAgBD,0FAA0F;AAC1F,4CAA4C;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,cAAc,EAAE;QACd,QAAQ,EAAE,IAAI;QACd,mEAAmE;QACnE,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,8EAA8E;QAC3F,KAAK,EAAE,iBAAiB;KACzB;IACD,+FAA+F;IAC/F,KAAK,EAAE;QACL,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,sCAAsC;QACnD,KAAK,EAAE,WAAW;KACnB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,sDAAsD;QACnE,KAAK,EAAE,WAAW;KACnB;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,gDAAgD;QAC7D,KAAK,EAAE,WAAW;KACnB;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,2CAA2C;QACxD,KAAK,EAAE,iBAAiB;KACzB;CAC6C,CAAC;AAEjD,qFAAqF;AACrF,6BAA6B;AAC7B,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAG1D,CAAC;AAIF,sGAAsG;AACtG,MAAM,CAAC,MAAM,kBAAkB,GAAG,kCAAkC,CAAC;AAErE,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC;AAED,2FAA2F;AAC3F,2FAA2F;AAC3F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,+EAA+E;IAC/E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C,4EAA4E;IAC5E,WAAW,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC/B,kBAAkB,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACvC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,oFAAoF;IACpF,uFAAuF;IACvF,sBAAsB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAGH,8FAA8F;AAC9F,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAiB,CAAC;AAEtD,oDAAoD;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,QAAQ;CACoC,CAAC;AAErD,SAAS,eAAe,CAAC,MAA0B;IACjD,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;AACvF,CAAC;AASD,4FAA4F;AAC5F,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;IACjC,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;IAC/B,MAAM,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE;IACtD,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC/C,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE;IACpC,IAAI,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;IACjC,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;IAC7B,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;IAChC,UAAU,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;IACzC,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;IAClC,SAAS,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;IACrC,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;IACjC,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE;IACtC,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;IAClC,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;IAClC,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;IACjC,OAAO,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;IACpC,UAAU,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE;IAC1C,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;IACpC,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;IACjC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;IAChC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;IAChC,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;IACjC,WAAW,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE;IACvC,MAAM,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;IACnC,aAAa,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;IACxC,YAAY,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;IACvC,SAAS,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;IACpC,UAAU,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE;IAC5C,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;CACa,CAAC;AAEhD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAA0C,CAAC;AAEpG,+EAA+E;AAC/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAElD,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,2GAA2G;AAC3G,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,QAAQ;CACmC,CAAC;AAEpD,4GAA4G;AAC5G,MAAM,UAAU,eAAe,CAAC,OAA2B;IACzD,OAAO,OAAO,KAAK,iBAAiB,CAAC;AACvC,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,OAA2B,EAAE,MAA0B;IACpF,MAAM,WAAW,GAAG,MAAM,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC;IACzE,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC7G,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACvC,CAAC;AAED,gGAAgG;AAChG,8FAA8F;AAC9F,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAUvD,2FAA2F;AAC3F,oHAAoH;AACpH,MAAM,UAAU,qBAAqB,CACnC,KAIC,EACD,MAA2B;IAE3B,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IAClD,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QACtF,+FAA+F;QAC/F,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QACnF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,6BAA6B,CAAC,MAAM,IAAI,aAAa,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7H,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,oFAAoF;AACpF,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAE1C,uGAAuG;AACvG,2GAA2G;AAC3G,MAAM,UAAU,eAAe,CAC7B,KAKC,EACD,MAA2B;IAE3B,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,SAAS,CAAC;IAC1D,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACjG,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,iBAAiB,CAAC;IACtD,IAAI,iBAAiB,CAAC,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;IAChE,OAAO,KAAK,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AAC/F,CAAC;AAED,gGAAgG;AAChG,wEAAwE;AACxE,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,yFAAyF;AACzF,gCAAgC;AAChC,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAI/C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;YAC3B,QAAQ,IAAI,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YAChE,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAc;IAEd,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC/B,qDAAqD;IACrD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,GAAG,KAAK,IAAI,0BAA0B,EAAE,CAAC;QACnD,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,GAAG,KAAK,IAAI,0BAA0B,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,6FAA6F;AAC7F,2EAA2E;AAC3E,MAAM,yBAAyB,GAAyC;IACtE,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,OAAO;CACZ,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,+BAA+B,GAC1C,+EAA+E,CAAC;AAElF,kGAAkG;AAClG,iGAAiG;AACjG,MAAM,UAAU,kBAAkB,CAAC,KAMlC;IACC,6EAA6E;IAC7E,gDAAgD;IAChD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC3C,CAAC;IAED,0EAA0E;IAC1E,qDAAqD;IACrD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kFAAkF;IAClF,gDAAgD;IAChD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAgB,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEvD,8EAA8E;IAC9E,+CAA+C;IAC/C,MAAM,WAAW,GAAG,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,4EAA4E;IAC5E,8BAA8B;IAC9B,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QAC/D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,iFAAiF;IACjF,wCAAwC;IACxC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,UAAU,KAAK,CAAC,KAAK,gBAAgB,MAAM,CAAC,QAAQ,4BAA4B;gBAC9E,MAAM,WAAW,oBAAoB,MAAM,CAAC,YAAY,CAAC,IAAI,YAAY,aAAa;gBACtF,0BAA0B,MAAM,CAAC,QAAQ,QAAQ;SACpD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,KAAK,CAAC,KAAK,gBAAgB,MAAM,CAAC,QAAQ,0BAA0B,YAAY,4BAA4B,MAAM,CAAC,QAAQ,QAAQ;KAC9I,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,6BAA6B;AAC7B,MAAM,UAAU,wBAAwB,CACtC,KAKC,EACD,MAA2B;IAE3B,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;QAClD,CAAC,CAAC,CAAC,4CAA4C,KAAK,oEAAoE,CAAC;QACzH,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACjD,uFAAuF;IACvF,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;IAC7E,MAAM,OAAO,GAAG,MAAM,CACpB,CAAC,GAAG,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAClH,CAAC;IACF,+EAA+E;IAC/E,MAAM,MAAM,GACV,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC;IACpG,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,GAAG,MAAM;YACT,yEAAyE,KAAK,kBAAkB;gBAC9F,0DAA0D,OAAO,YAAY;SAChF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACrG,OAAO;YACL,GAAG,MAAM;YACT,sBAAsB,KAAK,8DAA8D;gBACvF,mCAAmC,OAAO,YAAY;SACzD,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|