@clipwright/core 0.12.0 → 0.14.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.
@@ -0,0 +1,73 @@
1
+ import { z } from "zod";
2
+ import { TTS_MODELS, VOICE_NAME_PATTERN } from "./voices.js";
3
+ /** Языки каталога голосов — ЕДИНСТВЕННЫЙ список (#164); остальное выводится из него. */
4
+ export const CATALOG_LANGUAGES = [
5
+ "bg", "cs", "da", "de", "el", "en", "es", "fi", "fil", "fr", "hi", "hr", "hu", "id", "it", "ja",
6
+ "ko", "ms", "nl", "no", "pl", "pt", "ro", "ru", "sk", "sv", "ta", "tr", "uk", "vi", "zh",
7
+ ];
8
+ export const CATALOG_GENDERS = ["female", "male"];
9
+ export const CATALOG_VOICES_PER_GENDER = 5;
10
+ /** Метка вендора как есть: `null` и `""` различимы до чтения (docs/16). */
11
+ const rawLabel = z.string().nullable();
12
+ /** Запись сгенерированного файла; не путать с `voiceCatalogEntry` — ответом `/v1/voices`. */
13
+ export const catalogFileVoice = z.strictObject({
14
+ slug: z.string().regex(VOICE_NAME_PATTERN),
15
+ language: z.enum(CATALOG_LANGUAGES),
16
+ locale: rawLabel,
17
+ accent: rawLabel,
18
+ gender_raw: rawLabel,
19
+ age_raw: rawLabel,
20
+ use_case_raw: rawLabel,
21
+ descriptive_raw: rawLabel,
22
+ name: z.string().min(1),
23
+ description: rawLabel,
24
+ category: rawLabel,
25
+ verified_models: z.array(z.enum(TTS_MODELS)),
26
+ notice_period_days: z.number().int(),
27
+ featured: z.boolean(),
28
+ rank: z.number().int().positive(),
29
+ retired_at: z.iso.datetime().optional(),
30
+ refreshed_at: z.iso.datetime(),
31
+ });
32
+ export const catalogShortfall = z.strictObject({
33
+ female: z.number().int().positive().optional(),
34
+ male: z.number().int().positive().optional(),
35
+ });
36
+ export const voiceCatalogFile = z.strictObject({
37
+ shortfall: z.partialRecord(z.enum(CATALOG_LANGUAGES), catalogShortfall),
38
+ voices: z.array(catalogFileVoice),
39
+ });
40
+ export const ttsModelLanguagesFile = z.strictObject({
41
+ models: z.array(z.strictObject({ id: z.enum(TTS_MODELS), languages: z.array(z.string().min(1)) })),
42
+ });
43
+ /** Фильтры `/v1/voices`: разбор запроса, `inputSchema` MCP и параметры SDK. Метки */
44
+ /** `age` и `use_case` берутся из данных каталога, поэтому их допустимый набор знает сервер. */
45
+ export const voicesQueryShape = {
46
+ language: z
47
+ .enum(CATALOG_LANGUAGES)
48
+ .optional()
49
+ .describe("Native language of the voice. A filter, not a limit: any voice speaks any supported language"),
50
+ gender: z.enum(CATALOG_GENDERS).optional().describe("Gender label of the voice"),
51
+ age: z
52
+ .string()
53
+ .min(1)
54
+ .optional()
55
+ .describe("Age label as list_voices prints it (young, middle_aged, old); an unknown value is refused with the allowed list"),
56
+ use_case: z
57
+ .string()
58
+ .min(1)
59
+ .optional()
60
+ .describe("Use case label as list_voices prints it (narrative_story, social_media, …); an unknown value is refused with the allowed list"),
61
+ model: z
62
+ .enum(TTS_MODELS)
63
+ .optional()
64
+ .describe("Only voices whose language this speech model supports"),
65
+ };
66
+ export const voicesQuery = z.object(voicesQueryShape);
67
+ export const VOICES_QUERY_FIELDS = Object.keys(voicesQueryShape);
68
+ /** Нормализация метки на чтении: `middle-aged` → `middle_aged`, пустая → нет метки. */
69
+ export function normalizeVoiceLabel(raw) {
70
+ const value = raw?.trim().toLowerCase().replaceAll("-", "_");
71
+ return value === undefined || value === "" ? undefined : value;
72
+ }
73
+ //# sourceMappingURL=voice-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-catalog.js","sourceRoot":"","sources":["../src/voice-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ import { z } from "zod";
2
+ import { type CatalogFileVoice, type TtsModelLanguagesFile, type VoiceCatalogFile, type VoicesQuery } from "./voice-catalog.js";
3
+ import { type VoiceCatalogEntry } from "./voices.js";
4
+ /** Запрос `/v1/voices` на сервере: незнакомая метка — отказ со списком допустимых, а не пустой список. */
5
+ export declare function serverVoicesQueryFor(voices?: readonly CatalogFileVoice[]): z.ZodObject<{
6
+ language: z.ZodOptional<z.ZodEnum<{
7
+ bg: "bg";
8
+ cs: "cs";
9
+ da: "da";
10
+ de: "de";
11
+ el: "el";
12
+ en: "en";
13
+ es: "es";
14
+ fi: "fi";
15
+ fil: "fil";
16
+ fr: "fr";
17
+ hi: "hi";
18
+ hr: "hr";
19
+ hu: "hu";
20
+ id: "id";
21
+ it: "it";
22
+ ja: "ja";
23
+ ko: "ko";
24
+ ms: "ms";
25
+ nl: "nl";
26
+ no: "no";
27
+ pl: "pl";
28
+ pt: "pt";
29
+ ro: "ro";
30
+ ru: "ru";
31
+ sk: "sk";
32
+ sv: "sv";
33
+ ta: "ta";
34
+ tr: "tr";
35
+ uk: "uk";
36
+ vi: "vi";
37
+ zh: "zh";
38
+ }>>;
39
+ gender: z.ZodOptional<z.ZodEnum<{
40
+ female: "female";
41
+ male: "male";
42
+ }>>;
43
+ model: z.ZodOptional<z.ZodEnum<{
44
+ eleven_flash_v2_5: "eleven_flash_v2_5";
45
+ eleven_turbo_v2_5: "eleven_turbo_v2_5";
46
+ eleven_v3: "eleven_v3";
47
+ }>>;
48
+ age: z.ZodOptional<z.ZodEnum<{
49
+ [x: string]: string;
50
+ }>>;
51
+ use_case: z.ZodOptional<z.ZodEnum<{
52
+ [x: string]: string;
53
+ }>>;
54
+ }, z.core.$strip>;
55
+ export declare const serverVoicesQuery: z.ZodObject<{
56
+ language: z.ZodOptional<z.ZodEnum<{
57
+ bg: "bg";
58
+ cs: "cs";
59
+ da: "da";
60
+ de: "de";
61
+ el: "el";
62
+ en: "en";
63
+ es: "es";
64
+ fi: "fi";
65
+ fil: "fil";
66
+ fr: "fr";
67
+ hi: "hi";
68
+ hr: "hr";
69
+ hu: "hu";
70
+ id: "id";
71
+ it: "it";
72
+ ja: "ja";
73
+ ko: "ko";
74
+ ms: "ms";
75
+ nl: "nl";
76
+ no: "no";
77
+ pl: "pl";
78
+ pt: "pt";
79
+ ro: "ro";
80
+ ru: "ru";
81
+ sk: "sk";
82
+ sv: "sv";
83
+ ta: "ta";
84
+ tr: "tr";
85
+ uk: "uk";
86
+ vi: "vi";
87
+ zh: "zh";
88
+ }>>;
89
+ gender: z.ZodOptional<z.ZodEnum<{
90
+ female: "female";
91
+ male: "male";
92
+ }>>;
93
+ model: z.ZodOptional<z.ZodEnum<{
94
+ eleven_flash_v2_5: "eleven_flash_v2_5";
95
+ eleven_turbo_v2_5: "eleven_turbo_v2_5";
96
+ eleven_v3: "eleven_v3";
97
+ }>>;
98
+ age: z.ZodOptional<z.ZodEnum<{
99
+ [x: string]: string;
100
+ }>>;
101
+ use_case: z.ZodOptional<z.ZodEnum<{
102
+ [x: string]: string;
103
+ }>>;
104
+ }, z.core.$strip>;
105
+ /** Пресеты, затем живые голоса каталога по языку и рангу; поле, которого у голоса нет, не совпадает ни с чем. */
106
+ export declare function listVoices(query: VoicesQuery, catalog?: VoiceCatalogFile, modelLanguages?: TtsModelLanguagesFile): {
107
+ voices: VoiceCatalogEntry[];
108
+ models: {
109
+ id: string;
110
+ char_limit: number;
111
+ languages: string[];
112
+ }[];
113
+ };
@@ -0,0 +1,62 @@
1
+ import { z } from "zod";
2
+ import { CATALOG_LANGUAGES, normalizeVoiceLabel, VOICES_QUERY_FIELDS, voicesQueryShape, } from "./voice-catalog.js";
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";
5
+ // Подпуть, а не баррел: список читает каталог, а клиентам SDK он не нужен (docs/16).
6
+ const isLive = (voice) => voice.retired_at === undefined;
7
+ function labelValues(voices, raw) {
8
+ const values = voices.filter(isLive).map((voice) => normalizeVoiceLabel(raw(voice)));
9
+ return [...new Set(values.filter((value) => value !== undefined))].sort();
10
+ }
11
+ /** Запрос `/v1/voices` на сервере: незнакомая метка — отказ со списком допустимых, а не пустой список. */
12
+ export function serverVoicesQueryFor(voices = VOICE_CATALOG.voices) {
13
+ return z.object({
14
+ ...voicesQueryShape,
15
+ age: z.enum(labelValues(voices, (voice) => voice.age_raw)).optional(),
16
+ use_case: z.enum(labelValues(voices, (voice) => voice.use_case_raw)).optional(),
17
+ });
18
+ }
19
+ export const serverVoicesQuery = serverVoicesQueryFor();
20
+ const presentText = (raw) => raw?.trim() || undefined;
21
+ /** Пресеты, затем живые голоса каталога по языку и рангу; поле, которого у голоса нет, не совпадает ни с чем. */
22
+ export function listVoices(query, catalog = VOICE_CATALOG, modelLanguages = TTS_MODEL_LANGUAGES) {
23
+ const languagesOf = (id) => modelLanguages.models.find((model) => model.id === id)?.languages ?? [];
24
+ const supportedModels = (language) => TTS_MODELS.filter((id) => languagesOf(id).includes(language));
25
+ const presets = Object.entries(VOICE_PRESETS).map(([name, preset]) => ({
26
+ name,
27
+ kind: "preset",
28
+ ...preset,
29
+ supported_models: supportedModels(preset.language),
30
+ }));
31
+ const languageRank = (voice) => CATALOG_LANGUAGES.indexOf(voice.language);
32
+ const catalogVoices = catalog.voices
33
+ .filter(isLive)
34
+ .sort((a, b) => languageRank(a) - languageRank(b) || a.rank - b.rank || (a.slug < b.slug ? -1 : 1))
35
+ .map((voice) => ({
36
+ name: voice.slug,
37
+ kind: "catalog",
38
+ language: voice.language,
39
+ locale: presentText(voice.locale),
40
+ accent: presentText(voice.accent),
41
+ gender: normalizeVoiceLabel(voice.gender_raw),
42
+ age: normalizeVoiceLabel(voice.age_raw),
43
+ use_case: normalizeVoiceLabel(voice.use_case_raw),
44
+ description: presentText(voice.description) ?? voice.name,
45
+ model: resolveTtsModel({ voice: voice.slug }),
46
+ supported_models: supportedModels(voice.language),
47
+ verified_models: voice.verified_models,
48
+ }));
49
+ const matches = (entry) => VOICES_QUERY_FIELDS.every((field) => {
50
+ const wanted = query[field];
51
+ if (wanted === undefined)
52
+ return true;
53
+ if (field === "model")
54
+ return entry.supported_models?.includes(wanted) === true;
55
+ return entry[field] === wanted;
56
+ });
57
+ return {
58
+ voices: [...presets, ...catalogVoices].filter(matches),
59
+ models: TTS_MODELS.map((id) => ({ id, char_limit: TTS_MODEL_CHAR_CAP[id], languages: languagesOf(id) })),
60
+ };
61
+ }
62
+ //# sourceMappingURL=voice-listing.js.map
@@ -0,0 +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,qFAAqF;AAErF,MAAM,MAAM,GAAG,CAAC,KAAuB,EAAW,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC;AAEpF,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,0GAA0G;AAC1G,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,iHAAiH;AACjH,MAAM,UAAU,UAAU,CACxB,KAAkB,EAClB,OAAO,GAAqB,aAAa,EACzC,cAAc,GAA0B,mBAAmB;IAE3D,MAAM,WAAW,GAAG,CAAC,EAAU,EAAY,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;IACtH,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5G,MAAM,OAAO,GAAwB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1F,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,GAAG,MAAM;QACT,gBAAgB,EAAE,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;KACnD,CAAC,CAAC,CAAC;IACJ,MAAM,YAAY,GAAG,CAAC,KAAuB,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5F,MAAM,aAAa,GAAwB,OAAO,CAAC,MAAM;SACtD,MAAM,CAAC,MAAM,CAAC;SACd,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAClG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7C,GAAG,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC;QACvC,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC;QACjD,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI;QACzD,KAAK,EAAE,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7C,gBAAgB,EAAE,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC;QACjD,eAAe,EAAE,KAAK,CAAC,eAAe;KACvC,CAAC,CAAC,CAAC;IAEN,MAAM,OAAO,GAAG,CAAC,KAAwB,EAAW,EAAE,CACpD,mBAAmB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACtC,IAAI,KAAK,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;QAChF,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;IACjC,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QACtD,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,kBAAkB,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACzG,CAAC;AACJ,CAAC"}
package/dist/voices.d.ts CHANGED
@@ -74,54 +74,63 @@ export declare const VOICE_PRESETS: {
74
74
  */
75
75
  export declare const VOICE_PRESET_NAMES: [keyof typeof VOICE_PRESETS, ...(keyof typeof VOICE_PRESETS)[]];
76
76
  export type VoicePresetName = keyof typeof VOICE_PRESETS;
77
+ /** Форма имени голоса, а не список: каталог растёт на сервере без выпуска клиентов (#164). */
78
+ export declare const VOICE_NAME_PATTERN: RegExp;
79
+ export declare function isVoicePresetName(name: string): name is VoicePresetName;
77
80
  /** Ответ `/v1/voices` — схема, а не догадка обеих сторон. Сервер отдаёт разобранное */
78
81
  /** ею тело, SDK разбирает им же: `Array.isArray` пропускал массив чего угодно. */
79
82
  export declare const voiceCatalogEntry: z.ZodObject<{
80
- name: z.ZodEnum<{
81
- daria_ru_female: "daria_ru_female";
82
- eric: "eric";
83
- george: "george";
84
- owner_ru_clone: "owner_ru_clone";
85
- sarah: "sarah";
86
- }>;
87
- language: z.ZodString;
88
- gender: z.ZodOptional<z.ZodEnum<{
89
- female: "female";
90
- male: "male";
91
- }>>;
83
+ name: z.ZodString;
84
+ kind: z.ZodOptional<z.ZodString>;
85
+ language: z.ZodOptional<z.ZodString>;
86
+ locale: z.ZodOptional<z.ZodString>;
87
+ accent: z.ZodOptional<z.ZodString>;
88
+ gender: z.ZodOptional<z.ZodString>;
89
+ age: z.ZodOptional<z.ZodString>;
90
+ use_case: z.ZodOptional<z.ZodString>;
92
91
  description: z.ZodString;
93
92
  model: z.ZodEnum<{
94
93
  eleven_flash_v2_5: "eleven_flash_v2_5";
95
94
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
96
95
  eleven_v3: "eleven_v3";
97
96
  }>;
97
+ supported_models: z.ZodOptional<z.ZodArray<z.ZodString>>;
98
+ verified_models: z.ZodOptional<z.ZodArray<z.ZodString>>;
98
99
  preview_url: z.ZodOptional<z.ZodURL>;
99
100
  preview_expires_at: z.ZodOptional<z.ZodISODateTime>;
100
101
  }, z.core.$strip>;
101
102
  export type VoiceCatalogEntry = z.infer<typeof voiceCatalogEntry>;
103
+ export declare const voiceModelEntry: z.ZodObject<{
104
+ id: z.ZodString;
105
+ char_limit: z.ZodNumber;
106
+ languages: z.ZodArray<z.ZodString>;
107
+ }, z.core.$strip>;
102
108
  export declare const voicesResponse: z.ZodObject<{
103
109
  voices: z.ZodArray<z.ZodObject<{
104
- name: z.ZodEnum<{
105
- daria_ru_female: "daria_ru_female";
106
- eric: "eric";
107
- george: "george";
108
- owner_ru_clone: "owner_ru_clone";
109
- sarah: "sarah";
110
- }>;
111
- language: z.ZodString;
112
- gender: z.ZodOptional<z.ZodEnum<{
113
- female: "female";
114
- male: "male";
115
- }>>;
110
+ name: z.ZodString;
111
+ kind: z.ZodOptional<z.ZodString>;
112
+ language: z.ZodOptional<z.ZodString>;
113
+ locale: z.ZodOptional<z.ZodString>;
114
+ accent: z.ZodOptional<z.ZodString>;
115
+ gender: z.ZodOptional<z.ZodString>;
116
+ age: z.ZodOptional<z.ZodString>;
117
+ use_case: z.ZodOptional<z.ZodString>;
116
118
  description: z.ZodString;
117
119
  model: z.ZodEnum<{
118
120
  eleven_flash_v2_5: "eleven_flash_v2_5";
119
121
  eleven_turbo_v2_5: "eleven_turbo_v2_5";
120
122
  eleven_v3: "eleven_v3";
121
123
  }>;
124
+ supported_models: z.ZodOptional<z.ZodArray<z.ZodString>>;
125
+ verified_models: z.ZodOptional<z.ZodArray<z.ZodString>>;
122
126
  preview_url: z.ZodOptional<z.ZodURL>;
123
127
  preview_expires_at: z.ZodOptional<z.ZodISODateTime>;
124
128
  }, z.core.$strip>>;
129
+ models: z.ZodOptional<z.ZodArray<z.ZodObject<{
130
+ id: z.ZodString;
131
+ char_limit: z.ZodNumber;
132
+ languages: z.ZodArray<z.ZodString>;
133
+ }, z.core.$strip>>>;
125
134
  }, z.core.$strip>;
126
135
  export type VoicesResponse = z.infer<typeof voicesResponse>;
127
136
  /**
@@ -152,6 +161,9 @@ export declare const VOICE_ID_PATTERN: RegExp;
152
161
  export type VoiceSelection = {
153
162
  kind: "preset";
154
163
  preset: VoicePresetName;
164
+ } | {
165
+ kind: "catalog";
166
+ slug: string;
155
167
  } | {
156
168
  kind: "raw";
157
169
  voiceId: string;
@@ -167,12 +179,13 @@ export type VoiceSelection = {
167
179
  * отличать явный выбор от умолчания (warnings US-517).
168
180
  */
169
181
  export declare function resolveVoiceSelection(input: {
170
- voice?: VoicePresetName | undefined;
182
+ voice?: string | undefined;
171
183
  voice_id?: string | undefined;
172
184
  }): VoiceSelection;
173
185
  /** Модель: явное `tts_model` → модель пресета → дефолт (сырой `voice_id` пресета не имеет). */
186
+ /** Голос каталога говорит на дефолте, как пресеты (решение владельца #164). */
174
187
  export declare function resolveTtsModel(input: {
175
- voice?: VoicePresetName | undefined;
188
+ voice?: string | undefined;
176
189
  voice_id?: string | undefined;
177
190
  tts_model?: TtsModelId | undefined;
178
191
  }): TtsModelId;
@@ -228,13 +241,13 @@ export declare const RAW_VOICE_ID_VALIDATION_WARNING = "raw voice_id is verified
228
241
  * успешной не бывает, глушить нечего.
229
242
  */
230
243
  export declare function buildVoiceWarnings(input: {
231
- voice?: VoicePresetName | undefined;
244
+ voice?: string | undefined;
232
245
  voice_id?: string | undefined;
233
246
  script: string;
234
247
  }): string[];
235
248
  /** Модель, не читающая ударения, на тексте, где они важны. На умолчании (v3) молчит всегда. */
236
249
  export declare function buildSpeechModelWarnings(input: {
237
- voice?: VoicePresetName | undefined;
250
+ voice?: string | undefined;
238
251
  voice_id?: string | undefined;
239
252
  tts_model?: TtsModelId | undefined;
240
253
  script: string;
package/dist/voices.js CHANGED
@@ -121,19 +121,40 @@ export const VOICE_PRESETS = {
121
121
  * список имён и метадата не разъехались (правило проекта №2 — не дублировать).
122
122
  */
123
123
  export const VOICE_PRESET_NAMES = Object.keys(VOICE_PRESETS);
124
+ /** Форма имени голоса, а не список: каталог растёт на сервере без выпуска клиентов (#164). */
125
+ export const VOICE_NAME_PATTERN = /^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/;
126
+ export function isVoicePresetName(name) {
127
+ return Object.hasOwn(VOICE_PRESETS, name);
128
+ }
124
129
  /** Ответ `/v1/voices` — схема, а не догадка обеих сторон. Сервер отдаёт разобранное */
125
130
  /** ею тело, SDK разбирает им же: `Array.isArray` пропускал массив чего угодно. */
126
131
  export const voiceCatalogEntry = z.object({
127
- name: z.enum(VOICE_PRESET_NAMES),
128
- language: z.string().min(1),
129
- gender: z.enum(["female", "male"]).optional(),
132
+ // Строки, а не enum: незнакомое клиенту имя или метка не роняют `listVoices` (#164).
133
+ name: z.string().min(1),
134
+ kind: z.string().optional(),
135
+ language: z.string().min(1).optional(),
136
+ locale: z.string().optional(),
137
+ accent: z.string().optional(),
138
+ gender: z.string().optional(),
139
+ age: z.string().optional(),
140
+ use_case: z.string().optional(),
130
141
  description: z.string().min(1),
131
142
  model: z.enum(TTS_MODELS),
143
+ supported_models: z.array(z.string()).optional(),
144
+ verified_models: z.array(z.string()).optional(),
132
145
  // Подпись временная; отсутствие пары значит «образца у голоса нет» (docs/16).
133
146
  preview_url: z.url().optional(),
134
147
  preview_expires_at: z.iso.datetime().optional(),
135
148
  });
136
- export const voicesResponse = z.object({ voices: z.array(voiceCatalogEntry) });
149
+ export const voiceModelEntry = z.object({
150
+ id: z.string().min(1),
151
+ char_limit: z.number().int().positive(),
152
+ languages: z.array(z.string()),
153
+ });
154
+ export const voicesResponse = z.object({
155
+ voices: z.array(voiceCatalogEntry),
156
+ models: z.array(voiceModelEntry).optional(),
157
+ });
137
158
  /**
138
159
  * Дефолт под текущий аватар (look-01 «warm storyteller»): `george` —
139
160
  * британский повествовательный голос, семантически совпадает с образом.
@@ -168,16 +189,22 @@ export function resolveVoiceSelection(input) {
168
189
  return { kind: "raw", voiceId: input.voice_id };
169
190
  }
170
191
  if (input.voice !== undefined) {
192
+ // Не пресет — слаг каталога: его id знает только сайдкар воркера, промах там — отказ (#164).
193
+ if (!isVoicePresetName(input.voice))
194
+ return { kind: "catalog", slug: input.voice };
171
195
  return { kind: "preset", preset: input.voice };
172
196
  }
173
197
  return { kind: "preset", preset: DEFAULT_VOICE_PRESET };
174
198
  }
175
199
  /** Модель: явное `tts_model` → модель пресета → дефолт (сырой `voice_id` пресета не имеет). */
200
+ /** Голос каталога говорит на дефолте, как пресеты (решение владельца #164). */
176
201
  export function resolveTtsModel(input) {
177
202
  if (input.tts_model !== undefined)
178
203
  return input.tts_model;
179
- const selection = resolveVoiceSelection(input);
180
- return selection.kind === "preset" ? VOICE_PRESETS[selection.preset].model : DEFAULT_TTS_MODEL;
204
+ if (input.voice_id !== undefined)
205
+ return DEFAULT_TTS_MODEL;
206
+ const voice = input.voice ?? DEFAULT_VOICE_PRESET;
207
+ return isVoicePresetName(voice) ? VOICE_PRESETS[voice].model : DEFAULT_TTS_MODEL;
181
208
  }
182
209
  /**
183
210
  * Семейство письменности скрипта — грубый детектор для языкового warning'а
@@ -276,10 +303,10 @@ export function buildVoiceWarnings(input) {
276
303
  }
277
304
  // Defensive: до вызова zod уже сузил voice до валидного имени enum, но чистая
278
305
  // функция не полагается на это. Неизвестное имя → нет пресета → нет данных → [].
279
- const preset = VOICE_PRESETS[input.voice];
280
- if (preset === undefined) {
306
+ if (!isVoicePresetName(input.voice)) {
281
307
  return [];
282
308
  }
309
+ const preset = VOICE_PRESETS[input.voice];
283
310
  // Условие (ii): сравнивать можно только при ПРИСУТСТВУЮЩЕМ пригодном лейбле.
284
311
  // Язык вне размеченного набора (ru/en) — «нет данных» → молчим, не выдумываем.
285
312
  const voiceFamily = LANGUAGE_TO_SCRIPT_FAMILY[preset.language];
@@ -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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clipwright/core",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "description": "Zod schemas and the shared request/response contract of the Clipwright UGC video API",
5
5
  "license": "MIT",
6
6
  "author": "Dimantika Sp. z o.o.",
@@ -24,6 +24,14 @@
24
24
  "./idempotency": {
25
25
  "types": "./dist/idempotency.d.ts",
26
26
  "default": "./dist/idempotency.js"
27
+ },
28
+ "./voice-admission": {
29
+ "types": "./dist/voice-admission.d.ts",
30
+ "default": "./dist/voice-admission.js"
31
+ },
32
+ "./voice-listing": {
33
+ "types": "./dist/voice-listing.d.ts",
34
+ "default": "./dist/voice-listing.js"
27
35
  }
28
36
  },
29
37
  "dependencies": {