@clipwright/core 0.13.0 → 0.15.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 +84 -0
- package/dist/actors.d.ts +17 -0
- package/dist/actors.js +25 -0
- package/dist/actors.js.map +1 -1
- package/dist/contract-dispositions.d.ts +14 -6
- package/dist/contract-dispositions.js +11 -6
- package/dist/contract-dispositions.js.map +1 -1
- package/dist/run-static-warnings.js +4 -1
- package/dist/run-static-warnings.js.map +1 -1
- package/dist/skills.d.ts +16 -0
- package/dist/skills.js +33 -12
- package/dist/skills.js.map +1 -1
- package/dist/voice-admission.d.ts +4 -0
- package/dist/voice-catalog.d.ts +96 -0
- package/dist/voice-catalog.js +25 -0
- package/dist/voice-catalog.js.map +1 -1
- package/dist/voice-listing.d.ts +114 -0
- package/dist/voice-listing.js +64 -0
- package/dist/voice-listing.js.map +1 -0
- package/dist/voices.d.ts +12 -31
- package/dist/voices.js +20 -36
- package/dist/voices.js.map +1 -1
- package/package.json +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,90 @@ on the client side. Entries marked *Server-side* changed the API itself: every
|
|
|
10
10
|
client version sees them from the day the API was deployed, not from the package
|
|
11
11
|
release they are listed under.
|
|
12
12
|
|
|
13
|
+
Entries marked *Dashboard:* changed the web app (the dashboard or a public page of the site)
|
|
14
|
+
and no package. This file is also the public changelog at /changelog, so they are listed here:
|
|
15
|
+
a customer reading it should not miss what appeared in the product. Like *Server-side* entries,
|
|
16
|
+
they are live from the day the web app was deployed, not from the package release they are
|
|
17
|
+
listed under.
|
|
18
|
+
|
|
19
|
+
## [0.15.0] - 2026-09-14
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- *Server-side:* in `GET /v1/voices`, a catalog voice carries `preview_url` and
|
|
24
|
+
`preview_expires_at` once its sample is recorded: a short clip of that voice on
|
|
25
|
+
`eleven_v3`, in the voice's own language. The link is signed by us and
|
|
26
|
+
expires like a preset's. A voice without a recorded sample for its current
|
|
27
|
+
model and sample text still has neither field, and the list never links to
|
|
28
|
+
the vendor. The sample texts outside English and Russian are machine
|
|
29
|
+
translations that no native speaker has checked. (clipwright#164)
|
|
30
|
+
- *Server-side:* without `voice` or `voice_id`, the voice follows the actor's
|
|
31
|
+
gender: a woman from `actor_id` speaks `sarah`, a man speaks `george`. The
|
|
32
|
+
default actor still speaks `george`, and an explicit voice always wins.
|
|
33
|
+
(clipwright#183)
|
|
34
|
+
- *Server-side:* a request with `image` and no voice gets a warning that the
|
|
35
|
+
male `george` voice is used, naming `voice` and `actor_gender` as the fix.
|
|
36
|
+
`GET /v1/runs/{id}` derives it from the stored input, so runs started before
|
|
37
|
+
this change show it too. A request with `actor_gender` next to `voice` or
|
|
38
|
+
`voice_id` gets a warning that the hint changed nothing. (clipwright#183)
|
|
39
|
+
- *Server-side:* the contract version moved to `2026-09-14`. (clipwright#183)
|
|
40
|
+
- *Dashboard:* `/actors` says that an actor without a chosen voice speaks the
|
|
41
|
+
default voice of their gender. (clipwright#183)
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
|
|
45
|
+
- `actor_gender` (`female` or `male`) in the `make_ugc` input: next to `image`
|
|
46
|
+
it picks the default voice of that gender. It is refused with `actor_id` and
|
|
47
|
+
without `image`, and the remote fetch killswitch turns it off together with
|
|
48
|
+
`image`. The REST API accepts it from the day the API is deployed; the MCP
|
|
49
|
+
tool schema, the SDK types and the CLI flag `--actor-gender` arrive with this
|
|
50
|
+
release. (clipwright#183)
|
|
51
|
+
|
|
52
|
+
- *Dashboard:* `/actors` shows the actor library as a gallery: every published portrait with
|
|
53
|
+
its `actor_id` to copy, next to gender, approximate age, description and version. A person
|
|
54
|
+
can pick a face without calling `GET /v1/actors` first. (clipwright#148)
|
|
55
|
+
- *Dashboard:* `/videos` lists the finished videos of the account. Each one is a still frame
|
|
56
|
+
taken from the delivered file, with the length of the clip and the day it finished, and a
|
|
57
|
+
tile with a frame plays the video. Runs that are still going or that failed stay on the
|
|
58
|
+
Balance page. (clipwright#138)
|
|
59
|
+
- *Dashboard:* `/changelog` renders this file as a public page, so the release notes are
|
|
60
|
+
readable without installing a package. (clipwright#102)
|
|
61
|
+
|
|
62
|
+
## [0.14.0] - 2026-09-13
|
|
63
|
+
|
|
64
|
+
### Changed
|
|
65
|
+
|
|
66
|
+
- **Breaking:** *Server-side:* `GET /v1/voices` lists the catalog voices after
|
|
67
|
+
the five presets, by language and then by rank; a voice retired from the
|
|
68
|
+
catalog is not listed. Every entry gains `kind` (`preset` or `catalog`) and
|
|
69
|
+
`supported_models`, the contract models that know the voice's language. A
|
|
70
|
+
catalog voice also carries `verified_models` and whichever of `locale`,
|
|
71
|
+
`accent`, `gender`, `age` and `use_case` the catalog has. The response gains
|
|
72
|
+
`models`: each contract model with its `char_limit` and `languages`. Only a
|
|
73
|
+
preset carries `preview_url`; a catalog voice has no sample yet. Clients
|
|
74
|
+
0.11.0 and 0.12.0 cannot read this response and fail in `listVoices()`,
|
|
75
|
+
`list_voices` and `clipwright voices`: upgrade to 0.13.0 or later. The
|
|
76
|
+
contract version moved to `2026-09-13.2`. (clipwright#164)
|
|
77
|
+
- *Server-side:* `GET /v1/voices` takes the filters `language`, `gender`, `age`,
|
|
78
|
+
`use_case` and `model`. `model` keeps the voices whose language the model
|
|
79
|
+
knows. A voice without a label matches no value of that filter. An unknown
|
|
80
|
+
value gets 400 `invalid_request` that names the allowed values, and an
|
|
81
|
+
unknown query key gets 400 `unknown_field`; neither returns an empty list.
|
|
82
|
+
(clipwright#164)
|
|
83
|
+
- `listVoices()` takes the same filters as an object, MCP `list_voices` as
|
|
84
|
+
arguments, and `clipwright voices` as `--language`, `--gender`, `--age`,
|
|
85
|
+
`--use-case` and `--model`. `clipwright voices` prints age and use case next
|
|
86
|
+
to language and gender, and cuts a description longer than 100 characters.
|
|
87
|
+
(clipwright#164)
|
|
88
|
+
|
|
89
|
+
### Added
|
|
90
|
+
|
|
91
|
+
- `@clipwright/core` exports `voicesQuery`, `voicesQueryShape`, `VoicesQuery`
|
|
92
|
+
and `VOICES_QUERY_FIELDS`. `unknownFields` takes an optional list of accepted
|
|
93
|
+
keys, and `UnknownFieldHit.suggestion` is typed `string`. The subpath
|
|
94
|
+
`@clipwright/core/voice-listing` exports `listVoices`, `serverVoicesQuery`
|
|
95
|
+
and `serverVoicesQueryFor`. (clipwright#164)
|
|
96
|
+
|
|
13
97
|
## [0.13.0] - 2026-09-13
|
|
14
98
|
|
|
15
99
|
### Changed
|
package/dist/actors.d.ts
CHANGED
|
@@ -26,6 +26,23 @@ export declare function actorForInput(input: {
|
|
|
26
26
|
gender: Gender;
|
|
27
27
|
version: number;
|
|
28
28
|
} | undefined): ActorDescription | null;
|
|
29
|
+
export interface VoiceGenderInput {
|
|
30
|
+
image?: string | undefined;
|
|
31
|
+
actor_id?: string | undefined;
|
|
32
|
+
actor_gender?: Gender | undefined;
|
|
33
|
+
voice?: string | undefined;
|
|
34
|
+
voice_id?: string | undefined;
|
|
35
|
+
}
|
|
36
|
+
/** Пол для голоса по умолчанию: `actor_id` → пин; `image` → `actor_gender`; иначе дефолтный актёр. */
|
|
37
|
+
/** Только из пина того же актёра, не из каталога: личных актёров там нет (docs/18, Д52). */
|
|
38
|
+
export declare function voiceGenderFor(input: VoiceGenderInput, pin?: {
|
|
39
|
+
actor_id: string;
|
|
40
|
+
gender: Gender;
|
|
41
|
+
} | undefined): Gender | undefined;
|
|
42
|
+
export declare const IMAGE_DEFAULT_VOICE_WARNING: string;
|
|
43
|
+
export declare function actorGenderIgnoredWarning(field: "voice" | "voice_id"): string;
|
|
44
|
+
/** Читает только поля входа, без пина: путь рана зовёт его из сохранённого входа. */
|
|
45
|
+
export declare function buildActorGenderWarnings(input: VoiceGenderInput): string[];
|
|
29
46
|
export declare const actorSelection: z.ZodObject<{
|
|
30
47
|
actor_id: z.ZodString;
|
|
31
48
|
version: z.ZodNumber;
|
package/dist/actors.js
CHANGED
|
@@ -1,5 +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
4
|
export const ACTORS_PATH = "/v1/actors";
|
|
4
5
|
// Default portrait dimensions and gender were measured on 2026-09-09 (#64, D50).
|
|
5
6
|
export const DEFAULT_ACTOR_SOURCE = { width: 432, height: 768, origin: "default" };
|
|
@@ -14,6 +15,30 @@ export function actorForInput(input, selected) {
|
|
|
14
15
|
}
|
|
15
16
|
return input.image === undefined ? DEFAULT_ACTOR : null;
|
|
16
17
|
}
|
|
18
|
+
/** Пол для голоса по умолчанию: `actor_id` → пин; `image` → `actor_gender`; иначе дефолтный актёр. */
|
|
19
|
+
/** Только из пина того же актёра, не из каталога: личных актёров там нет (docs/18, Д52). */
|
|
20
|
+
export function voiceGenderFor(input, pin) {
|
|
21
|
+
if (input.actor_id !== undefined) {
|
|
22
|
+
if (pin?.actor_id !== input.actor_id) {
|
|
23
|
+
throw new Error("actor identity must be resolved before choosing its voice");
|
|
24
|
+
}
|
|
25
|
+
return pin.gender;
|
|
26
|
+
}
|
|
27
|
+
return input.image === undefined ? DEFAULT_ACTOR_GENDER : input.actor_gender;
|
|
28
|
+
}
|
|
29
|
+
export const IMAGE_DEFAULT_VOICE_WARNING = `no voice was chosen for the face in image: the default ${VOICE_PRESETS[DEFAULT_VOICE_PRESET].gender} ` +
|
|
30
|
+
`voice "${DEFAULT_VOICE_PRESET}" is used; pass voice (from list_voices) or actor_gender to match the face`;
|
|
31
|
+
export function actorGenderIgnoredWarning(field) {
|
|
32
|
+
return `actor_gender did not change the voice: the explicit ${field} is used as requested`;
|
|
33
|
+
}
|
|
34
|
+
/** Читает только поля входа, без пина: путь рана зовёт его из сохранённого входа. */
|
|
35
|
+
export function buildActorGenderWarnings(input) {
|
|
36
|
+
const explicit = input.voice_id !== undefined ? "voice_id" : input.voice !== undefined ? "voice" : undefined;
|
|
37
|
+
if (input.actor_gender !== undefined) {
|
|
38
|
+
return explicit === undefined ? [] : [actorGenderIgnoredWarning(explicit)];
|
|
39
|
+
}
|
|
40
|
+
return input.image !== undefined && explicit === undefined ? [IMAGE_DEFAULT_VOICE_WARNING] : [];
|
|
41
|
+
}
|
|
17
42
|
export const actorSelection = z.object({
|
|
18
43
|
actor_id: actorId,
|
|
19
44
|
version: z.number().int().positive(),
|
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;
|
|
1
|
+
{"version":3,"file":"actors.js","sourceRoot":"","sources":["../src/actors.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { makeUgcInputShape } from "./skills.js";
|
|
|
8
8
|
* обязано её двигать; до этого пересмотра версии не было вообще, поэтому первое
|
|
9
9
|
* её значение совпадает с месяцем самого пересмотра.
|
|
10
10
|
*/
|
|
11
|
-
export declare const CONTRACT_VERSION = "2026-09-
|
|
11
|
+
export declare const CONTRACT_VERSION = "2026-09-14";
|
|
12
12
|
export declare const CONTRACT_VERSION_HEADER = "X-Clipwright-Contract";
|
|
13
13
|
/**
|
|
14
14
|
* Решение по одному полю входа.
|
|
@@ -104,6 +104,10 @@ export declare const FIELD_DISPOSITIONS: {
|
|
|
104
104
|
readonly kind: "implemented";
|
|
105
105
|
readonly provenBy: "egress";
|
|
106
106
|
};
|
|
107
|
+
readonly actor_gender: {
|
|
108
|
+
readonly kind: "implemented";
|
|
109
|
+
readonly provenBy: "egress";
|
|
110
|
+
};
|
|
107
111
|
readonly segments: {
|
|
108
112
|
readonly kind: "rejected";
|
|
109
113
|
readonly message: "segmented clips are not available yet: pass `script` with the full spoken text instead";
|
|
@@ -157,7 +161,7 @@ export declare function resolveDispositions(flags: ContractFlags): Record<Contra
|
|
|
157
161
|
* Отличается от `FIELD_DISPOSITIONS` ровно на применённые флаги: базовая
|
|
158
162
|
* таблица говорит, что код УМЕЕТ, эта — что он предлагает прямо сейчас.
|
|
159
163
|
*/
|
|
160
|
-
export declare const EFFECTIVE_DISPOSITIONS: Record<"actor_id" | "aspect_ratio" | "background" | "broll_url" | "caption_style" | "captions" | "character" | "disclosure_overlay" | "image" | "look" | "name" | "person" | "resolution" | "script" | "segments" | "tts_model" | "voice" | "voice_id" | "webhook_url", Disposition>;
|
|
164
|
+
export declare const EFFECTIVE_DISPOSITIONS: Record<"actor_gender" | "actor_id" | "aspect_ratio" | "background" | "broll_url" | "caption_style" | "captions" | "character" | "disclosure_overlay" | "image" | "look" | "name" | "person" | "resolution" | "script" | "segments" | "tts_model" | "voice" | "voice_id" | "webhook_url", Disposition>;
|
|
161
165
|
type RejectedField = {
|
|
162
166
|
[K in ContractField]: (typeof FIELD_DISPOSITIONS)[K]["kind"] extends "rejected" ? K : never;
|
|
163
167
|
}[ContractField];
|
|
@@ -237,6 +241,10 @@ export declare const offeredUgcInput: z.ZodObject<{
|
|
|
237
241
|
person: z.ZodOptional<z.ZodString>;
|
|
238
242
|
actor_id: z.ZodOptional<z.ZodString>;
|
|
239
243
|
image: z.ZodOptional<z.ZodString>;
|
|
244
|
+
actor_gender: z.ZodOptional<z.ZodEnum<{
|
|
245
|
+
female: "female";
|
|
246
|
+
male: "male";
|
|
247
|
+
}>>;
|
|
240
248
|
name: z.ZodOptional<z.ZodString>;
|
|
241
249
|
captions: z.ZodDefault<z.ZodBoolean>;
|
|
242
250
|
caption_style: z.ZodDefault<z.ZodEnum<{
|
|
@@ -288,13 +296,13 @@ export declare function rejectedFields(input: Readonly<Record<string, unknown>>)
|
|
|
288
296
|
/** Ключ тела вне контракта и поле, на которое он похож, если такое есть. */
|
|
289
297
|
export interface UnknownFieldHit {
|
|
290
298
|
field: string;
|
|
291
|
-
suggestion?:
|
|
299
|
+
suggestion?: string | undefined;
|
|
292
300
|
}
|
|
293
301
|
/** Поля, которые предлагаются клиенту: отклонённые в перечень не входят. */
|
|
294
302
|
export declare const ACCEPTED_UGC_FIELDS: string[];
|
|
295
|
-
/** Ключи
|
|
296
|
-
/** попадают — их называет `rejectedFields` своей причиной (clipwright#166). */
|
|
297
|
-
export declare function unknownFields(raw: unknown): UnknownFieldHit[];
|
|
303
|
+
/** Ключи вне перечня `fields` (по умолчанию — контракт). Отклонённые поля контракта */
|
|
304
|
+
/** сюда не попадают — их называет `rejectedFields` своей причиной (clipwright#166). */
|
|
305
|
+
export declare function unknownFields(raw: unknown, fields?: readonly string[]): UnknownFieldHit[];
|
|
298
306
|
/**
|
|
299
307
|
* Warnings реестра для входа рана (правило проекта №3).
|
|
300
308
|
*
|
|
@@ -8,7 +8,7 @@ import { makeUgcInputShape } from "./skills.js";
|
|
|
8
8
|
* обязано её двигать; до этого пересмотра версии не было вообще, поэтому первое
|
|
9
9
|
* её значение совпадает с месяцем самого пересмотра.
|
|
10
10
|
*/
|
|
11
|
-
export const CONTRACT_VERSION = "2026-09-
|
|
11
|
+
export const CONTRACT_VERSION = "2026-09-14";
|
|
12
12
|
export const CONTRACT_VERSION_HEADER = "X-Clipwright-Contract";
|
|
13
13
|
/**
|
|
14
14
|
* Таблица решений. `as const satisfies Record<…>` даёт СРАЗУ ДВА свойства:
|
|
@@ -61,6 +61,7 @@ export const FIELD_DISPOSITIONS = {
|
|
|
61
61
|
// выключенном флаге `resolveDispositions` переводит её в `rejected` (см. ниже).
|
|
62
62
|
image: { kind: "implemented", provenBy: "egress" },
|
|
63
63
|
actor_id: { kind: "implemented", provenBy: "egress" },
|
|
64
|
+
actor_gender: { kind: "implemented", provenBy: "egress" },
|
|
64
65
|
// Отклоняются: принять поле, зная, что оно не работает, план запрещает сам
|
|
65
66
|
// себе.
|
|
66
67
|
//
|
|
@@ -156,6 +157,10 @@ export function resolveDispositions(flags) {
|
|
|
156
157
|
actor_id: flags.remoteFetch ? FIELD_DISPOSITIONS.actor_id : {
|
|
157
158
|
kind: "rejected", message: "actor_id is temporarily disabled (remote media fetch is off); omit it to use the default actor",
|
|
158
159
|
},
|
|
160
|
+
// Подсказка о лице из `image` без самого `image` не имеет смысла: гасится вместе с ним.
|
|
161
|
+
actor_gender: flags.remoteFetch ? FIELD_DISPOSITIONS.actor_gender : {
|
|
162
|
+
kind: "rejected", message: "actor_gender is temporarily disabled together with image (remote media fetch is off); omit both to use the default actor",
|
|
163
|
+
},
|
|
159
164
|
// Тот же приём, что у `image` (US-524): базовая строка объявляет, что поле
|
|
160
165
|
// РАБОТАЕТ, а выключенный флаг переводит её в отказ. Обещать выбор фона,
|
|
161
166
|
// когда стадия композиции выключена, значило бы принять поле, которое
|
|
@@ -286,17 +291,17 @@ export function rejectedFields(input) {
|
|
|
286
291
|
const normalizedFieldName = (name) => name.toLowerCase().replace(/[^a-z0-9]/g, "");
|
|
287
292
|
/** Поля, которые предлагаются клиенту: отклонённые в перечень не входят. */
|
|
288
293
|
export const ACCEPTED_UGC_FIELDS = Object.keys(offeredUgcInputShape);
|
|
289
|
-
/** Ключи
|
|
290
|
-
/** попадают — их называет `rejectedFields` своей причиной (clipwright#166). */
|
|
291
|
-
export function unknownFields(raw) {
|
|
294
|
+
/** Ключи вне перечня `fields` (по умолчанию — контракт). Отклонённые поля контракта */
|
|
295
|
+
/** сюда не попадают — их называет `rejectedFields` своей причиной (clipwright#166). */
|
|
296
|
+
export function unknownFields(raw, fields = CONTRACT_FIELDS) {
|
|
292
297
|
if (raw === null || typeof raw !== "object" || Array.isArray(raw))
|
|
293
298
|
return [];
|
|
294
|
-
const known = new Set(
|
|
299
|
+
const known = new Set(fields);
|
|
295
300
|
return Object.keys(raw)
|
|
296
301
|
.filter((key) => !known.has(key))
|
|
297
302
|
.map((field) => ({
|
|
298
303
|
field,
|
|
299
|
-
suggestion:
|
|
304
|
+
suggestion: fields.find((candidate) => normalizedFieldName(candidate) === normalizedFieldName(field)),
|
|
300
305
|
}));
|
|
301
306
|
}
|
|
302
307
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-dispositions.js","sourceRoot":"","sources":["../src/contract-dispositions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,uFAAuF;AACvF,uEAAuE;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAC7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AA4B/D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACnD,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACrD,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAEtD,qEAAqE;IACrE,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EACL,8IAA8I;QAChJ,YAAY,EAAE,SAAS;KACxB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,yDAAyD;QAClE,YAAY,EAAE,SAAS;KACxB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,yDAAyD;QAClE,YAAY,EAAE,sBAAsB;KACrC;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,iEAAiE;QAC1E,YAAY,EAAE,sBAAsB;KACrC;IACD,aAAa,EAAE;QACb,IAAI,EAAE,QAAQ;QACd,OAAO,EACL,qFAAqF;QACvF,YAAY,EAAE,sBAAsB;KACrC;IAED,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,UAAU,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACvD,YAAY,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAEzD,qEAAqE;IACrE,yEAAyE;IACzE,gFAAgF;IAChF,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;IAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"contract-dispositions.js","sourceRoot":"","sources":["../src/contract-dispositions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { resolvedScript, storedUgcInput } from "./skills.js";
|
|
2
2
|
import { dispositionWarnings } from "./contract-dispositions.js";
|
|
3
3
|
import { buildSpeechModelWarnings, buildVoiceWarnings, TTS_MODELS } from "./voices.js";
|
|
4
|
+
import { buildActorGenderWarnings } from "./actors.js";
|
|
4
5
|
import { resolveAspectRatio } from "./aspect.js";
|
|
5
6
|
import { parseRunPreflight, sourceNotProbedWarning, VOICE_CATALOG_INCOMPLETE_WARNING, } from "./run-preflight.js";
|
|
6
7
|
// Писатели хранят невыводимое, читатель выводит статику. Рационал — docs/18, Д41.
|
|
@@ -58,7 +59,9 @@ export function derivedRunWarnings(storedInput, preflight) {
|
|
|
58
59
|
...dispositionWarnings(input),
|
|
59
60
|
...aspectFactWarnings(preflight.aspect, input),
|
|
60
61
|
...buildVoiceWarnings({ voice: input.voice, script: resolvedScript(input) }),
|
|
61
|
-
...
|
|
62
|
+
...buildActorGenderWarnings(input),
|
|
63
|
+
// Пола пина в сохранённом входе нет; модели пресетов по полу сегодня не расходятся.
|
|
64
|
+
...buildSpeechModelWarnings({ ...input, script: resolvedScript(input) }, input.actor_gender),
|
|
62
65
|
...voiceFactWarnings(preflight.voice),
|
|
63
66
|
];
|
|
64
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-static-warnings.js","sourceRoot":"","sources":["../src/run-static-warnings.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"run-static-warnings.js","sourceRoot":"","sources":["../src/run-static-warnings.ts"],"names":[],"mappings":"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"}
|
package/dist/skills.d.ts
CHANGED
|
@@ -97,6 +97,10 @@ export declare const makeUgcInputShape: {
|
|
|
97
97
|
readonly person: z.ZodOptional<z.ZodString>;
|
|
98
98
|
readonly actor_id: z.ZodOptional<z.ZodString>;
|
|
99
99
|
readonly image: z.ZodOptional<z.ZodString>;
|
|
100
|
+
readonly actor_gender: z.ZodOptional<z.ZodEnum<{
|
|
101
|
+
female: "female";
|
|
102
|
+
male: "male";
|
|
103
|
+
}>>;
|
|
100
104
|
readonly character: z.ZodOptional<z.ZodString>;
|
|
101
105
|
readonly name: z.ZodOptional<z.ZodString>;
|
|
102
106
|
readonly broll_url: z.ZodOptional<z.ZodString>;
|
|
@@ -178,6 +182,10 @@ export declare const makeUgcInput: z.ZodObject<{
|
|
|
178
182
|
person: z.ZodOptional<z.ZodString>;
|
|
179
183
|
actor_id: z.ZodOptional<z.ZodString>;
|
|
180
184
|
image: z.ZodOptional<z.ZodString>;
|
|
185
|
+
actor_gender: z.ZodOptional<z.ZodEnum<{
|
|
186
|
+
female: "female";
|
|
187
|
+
male: "male";
|
|
188
|
+
}>>;
|
|
181
189
|
character: z.ZodOptional<z.ZodString>;
|
|
182
190
|
name: z.ZodOptional<z.ZodString>;
|
|
183
191
|
broll_url: z.ZodOptional<z.ZodString>;
|
|
@@ -232,6 +240,10 @@ export declare function serverUgcInputWith(voiceRefusal: (voice: string) => stri
|
|
|
232
240
|
person: z.ZodOptional<z.ZodString>;
|
|
233
241
|
actor_id: z.ZodOptional<z.ZodString>;
|
|
234
242
|
image: z.ZodOptional<z.ZodString>;
|
|
243
|
+
actor_gender: z.ZodOptional<z.ZodEnum<{
|
|
244
|
+
female: "female";
|
|
245
|
+
male: "male";
|
|
246
|
+
}>>;
|
|
235
247
|
character: z.ZodOptional<z.ZodString>;
|
|
236
248
|
name: z.ZodOptional<z.ZodString>;
|
|
237
249
|
broll_url: z.ZodOptional<z.ZodString>;
|
|
@@ -286,6 +298,10 @@ export declare const storedUgcInput: z.ZodObject<{
|
|
|
286
298
|
person: z.ZodOptional<z.ZodString>;
|
|
287
299
|
actor_id: z.ZodOptional<z.ZodString>;
|
|
288
300
|
image: z.ZodOptional<z.ZodString>;
|
|
301
|
+
actor_gender: z.ZodOptional<z.ZodEnum<{
|
|
302
|
+
female: "female";
|
|
303
|
+
male: "male";
|
|
304
|
+
}>>;
|
|
289
305
|
character: z.ZodOptional<z.ZodString>;
|
|
290
306
|
name: z.ZodOptional<z.ZodString>;
|
|
291
307
|
broll_url: z.ZodOptional<z.ZodString>;
|
package/dist/skills.js
CHANGED
|
@@ -107,7 +107,10 @@ export const makeUgcInputShape = {
|
|
|
107
107
|
STRESS_MARKING_DESCRIPTION),
|
|
108
108
|
segments: z.array(ugcSegment).min(1).max(MAX_SEGMENTS).optional(),
|
|
109
109
|
person: z.string().min(1).max(500).optional(),
|
|
110
|
-
actor_id: actorId
|
|
110
|
+
actor_id: actorId
|
|
111
|
+
.optional()
|
|
112
|
+
.describe("Saved Clipwright actor ID from list_actors. Choose actor_id, image, or person; do not combine them. " +
|
|
113
|
+
"Without voice or voice_id the voice follows the actor's gender. Do not combine with actor_gender."),
|
|
111
114
|
// ТОЛЬКО https-URL. Вариант `data:` снят (US-524): HeyGen принимает
|
|
112
115
|
// исключительно `{type:"url"}`, а заливка data-URI в R2 с presigned-выдачей
|
|
113
116
|
// вскрыла бы инвариант Этапа 4 «R2-URL вендору не передаются». Отказ на входе
|
|
@@ -120,7 +123,15 @@ export const makeUgcInputShape = {
|
|
|
120
123
|
.optional()
|
|
121
124
|
.describe("Public https url of the actor's photo (PNG, JPEG or WebP, up to 10 MB). A file on disk goes " +
|
|
122
125
|
"through upload_image (POST /v1/uploads) first — pass the url it returns. Private or loopback " +
|
|
123
|
-
"hosts, http and unreachable sources are refused before any charge."
|
|
126
|
+
"hosts, http and unreachable sources are refused before any charge. We do not detect the " +
|
|
127
|
+
"face's gender: pass actor_gender or voice, or the default male voice is used with a warning."),
|
|
128
|
+
// Без .default(): молчание отличимо от подсказки, и на молчании приходит warning (clipwright#183).
|
|
129
|
+
actor_gender: z
|
|
130
|
+
.enum(["female", "male"])
|
|
131
|
+
.optional()
|
|
132
|
+
.describe("Gender of the face in image: female | male. Only with image: picks the default voice of that " +
|
|
133
|
+
"gender (female: sarah, male: george). Refused with actor_id (its gender is known) and without " +
|
|
134
|
+
"image. An explicit voice or voice_id wins and the response warns that actor_gender changed nothing."),
|
|
124
135
|
character: z.string().regex(/^char_[a-zA-Z0-9]+$/).optional(),
|
|
125
136
|
name: z.string().max(100).optional(),
|
|
126
137
|
broll_url: z.string().url().max(MAX_URL_LENGTH).optional(),
|
|
@@ -154,7 +165,9 @@ export const makeUgcInputShape = {
|
|
|
154
165
|
.optional()
|
|
155
166
|
.describe(`Voice name from list_voices. Curated presets: ${VOICE_PRESET_NAMES.join(" | ")} ` +
|
|
156
167
|
"(owner_ru_clone is the Russian cloned voice). The API refuses a name list_voices does not " +
|
|
157
|
-
"return, before any charge. Omitted means the voice
|
|
168
|
+
"return, before any charge. Omitted means the default voice for the actor's gender: the " +
|
|
169
|
+
"gender of actor_id, actor_gender with image, or george for the default actor and for image " +
|
|
170
|
+
"without actor_gender. " +
|
|
158
171
|
"Mutually exclusive with voice_id."),
|
|
159
172
|
voice_id: z
|
|
160
173
|
.string()
|
|
@@ -214,14 +227,25 @@ export const makeUgcInput = z
|
|
|
214
227
|
})
|
|
215
228
|
// Потолок символов — по модели: v3 короче v2 вдвое; отказ здесь, до резерва и вендора (#101).
|
|
216
229
|
// Модель незнакомого клиенту голоса знает только сервер, и потолок он проверит сам (#164).
|
|
217
|
-
.refine(
|
|
230
|
+
.refine(
|
|
231
|
+
// Пол `actor_id` клиенту неизвестен: у сегодняшних пресетов модель от пола не зависит.
|
|
232
|
+
(v) => modelUnknownToClient(v) ||
|
|
233
|
+
ttsScriptLimitError(spokenTextOf(v), resolveTtsModel(v, v.actor_gender)) === undefined, {
|
|
218
234
|
path: ["script"],
|
|
219
235
|
error: (issue) => {
|
|
220
236
|
const input = issue.input;
|
|
221
|
-
return ttsScriptLimitError(spokenTextOf(input), resolveTtsModel(input));
|
|
237
|
+
return ttsScriptLimitError(spokenTextOf(input), resolveTtsModel(input, input.actor_gender));
|
|
222
238
|
},
|
|
223
239
|
})
|
|
224
240
|
.refine((v) => [v.actor_id, v.person, v.image].filter(Boolean).length <= 1, { message: "pass at most one of actor_id | person | image; use list_actors to select a saved actor" })
|
|
241
|
+
.refine((v) => v.actor_gender === undefined || v.actor_id === undefined, {
|
|
242
|
+
path: ["actor_gender"],
|
|
243
|
+
message: "actor_gender cannot be combined with actor_id: the saved actor's gender is already known; omit actor_gender",
|
|
244
|
+
})
|
|
245
|
+
.refine((v) => v.actor_gender === undefined || v.actor_id !== undefined || v.image !== undefined, {
|
|
246
|
+
path: ["actor_gender"],
|
|
247
|
+
message: "actor_gender requires image: it describes the face in your photo; omit it, or pass image",
|
|
248
|
+
})
|
|
225
249
|
// ПРАВИЛА СЕГМЕНТОВ (US-526). Каждое — ОТДЕЛЬНЫЙ .refine, а не одна проверка
|
|
226
250
|
// с общим текстом: сообщение обязано называть нарушенное правило, иначе агент
|
|
227
251
|
// получает «invalid input» и чинит вход перебором. Порядок правил — от того,
|
|
@@ -246,11 +270,8 @@ export const makeUgcInput = z
|
|
|
246
270
|
v.segments.every((s) => s.kind !== "actor" || s.media_url === undefined), { message: "actor segment must not carry `media_url`: use a media segment for footage" })
|
|
247
271
|
.refine((v) => v.segments === undefined ||
|
|
248
272
|
v.segments.every((s) => s.kind !== "media" || s.media_url !== undefined), { message: "media segment requires `media_url`: there is no footage to show otherwise" })
|
|
249
|
-
// Голос
|
|
250
|
-
//
|
|
251
|
-
// makeUgcInput, а НЕ в makeUgcInputShape: .refine превращает схему в
|
|
252
|
-
// ZodEffects, у которого нет .shape (ловушка A12), а shape порождает
|
|
253
|
-
// tools/list. Оба опущены → резолвер подставит дефолт (клон владельца).
|
|
273
|
+
// Голос — ровно одним способом; здесь, а не в shape: .refine снимает .shape (ловушка A12).
|
|
274
|
+
// Оба опущены → резолвер берёт голос по полу актёра (`resolveVoiceSelection`).
|
|
254
275
|
.refine((v) => !(v.voice !== undefined && v.voice_id !== undefined), { message: "pass at most one of voice | voice_id" })
|
|
255
276
|
// Length includes whitespace; a nonempty string can still have no speech.
|
|
256
277
|
.refine((v) => v.segments !== undefined || countWords(v.script ?? "") >= 1, {
|
|
@@ -270,11 +291,11 @@ export function serverUgcInputWith(voiceRefusal) {
|
|
|
270
291
|
// Потолок, пропущенный клиентом: модель допущенного голоса каталога сервер знает (#164).
|
|
271
292
|
.refine((v) => !modelUnknownToClient(v) ||
|
|
272
293
|
voiceRefusal(v.voice) !== undefined ||
|
|
273
|
-
ttsScriptLimitError(spokenTextOf(v), resolveTtsModel(v)) === undefined, {
|
|
294
|
+
ttsScriptLimitError(spokenTextOf(v), resolveTtsModel(v, v.actor_gender)) === undefined, {
|
|
274
295
|
path: ["script"],
|
|
275
296
|
error: (issue) => {
|
|
276
297
|
const input = issue.input;
|
|
277
|
-
return ttsScriptLimitError(spokenTextOf(input), resolveTtsModel(input));
|
|
298
|
+
return ttsScriptLimitError(spokenTextOf(input), resolveTtsModel(input, input.actor_gender));
|
|
278
299
|
},
|
|
279
300
|
});
|
|
280
301
|
}
|
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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"}
|
|
@@ -14,6 +14,10 @@ export declare const serverUgcInput: import("zod").ZodObject<{
|
|
|
14
14
|
person: import("zod").ZodOptional<import("zod").ZodString>;
|
|
15
15
|
actor_id: import("zod").ZodOptional<import("zod").ZodString>;
|
|
16
16
|
image: import("zod").ZodOptional<import("zod").ZodString>;
|
|
17
|
+
actor_gender: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
18
|
+
female: "female";
|
|
19
|
+
male: "male";
|
|
20
|
+
}>>;
|
|
17
21
|
character: import("zod").ZodOptional<import("zod").ZodString>;
|
|
18
22
|
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
19
23
|
broll_url: import("zod").ZodOptional<import("zod").ZodString>;
|
package/dist/voice-catalog.d.ts
CHANGED
|
@@ -171,5 +171,101 @@ export declare const ttsModelLanguagesFile: z.ZodObject<{
|
|
|
171
171
|
}, z.core.$strict>>;
|
|
172
172
|
}, z.core.$strict>;
|
|
173
173
|
export type TtsModelLanguagesFile = z.infer<typeof ttsModelLanguagesFile>;
|
|
174
|
+
/** Фильтры `/v1/voices`: разбор запроса, `inputSchema` MCP и параметры SDK. Метки */
|
|
175
|
+
/** `age` и `use_case` берутся из данных каталога, поэтому их допустимый набор знает сервер. */
|
|
176
|
+
export declare const voicesQueryShape: {
|
|
177
|
+
language: z.ZodOptional<z.ZodEnum<{
|
|
178
|
+
bg: "bg";
|
|
179
|
+
cs: "cs";
|
|
180
|
+
da: "da";
|
|
181
|
+
de: "de";
|
|
182
|
+
el: "el";
|
|
183
|
+
en: "en";
|
|
184
|
+
es: "es";
|
|
185
|
+
fi: "fi";
|
|
186
|
+
fil: "fil";
|
|
187
|
+
fr: "fr";
|
|
188
|
+
hi: "hi";
|
|
189
|
+
hr: "hr";
|
|
190
|
+
hu: "hu";
|
|
191
|
+
id: "id";
|
|
192
|
+
it: "it";
|
|
193
|
+
ja: "ja";
|
|
194
|
+
ko: "ko";
|
|
195
|
+
ms: "ms";
|
|
196
|
+
nl: "nl";
|
|
197
|
+
no: "no";
|
|
198
|
+
pl: "pl";
|
|
199
|
+
pt: "pt";
|
|
200
|
+
ro: "ro";
|
|
201
|
+
ru: "ru";
|
|
202
|
+
sk: "sk";
|
|
203
|
+
sv: "sv";
|
|
204
|
+
ta: "ta";
|
|
205
|
+
tr: "tr";
|
|
206
|
+
uk: "uk";
|
|
207
|
+
vi: "vi";
|
|
208
|
+
zh: "zh";
|
|
209
|
+
}>>;
|
|
210
|
+
gender: z.ZodOptional<z.ZodEnum<{
|
|
211
|
+
female: "female";
|
|
212
|
+
male: "male";
|
|
213
|
+
}>>;
|
|
214
|
+
age: z.ZodOptional<z.ZodString>;
|
|
215
|
+
use_case: z.ZodOptional<z.ZodString>;
|
|
216
|
+
model: z.ZodOptional<z.ZodEnum<{
|
|
217
|
+
eleven_flash_v2_5: "eleven_flash_v2_5";
|
|
218
|
+
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
219
|
+
eleven_v3: "eleven_v3";
|
|
220
|
+
}>>;
|
|
221
|
+
};
|
|
222
|
+
export declare const voicesQuery: z.ZodObject<{
|
|
223
|
+
language: z.ZodOptional<z.ZodEnum<{
|
|
224
|
+
bg: "bg";
|
|
225
|
+
cs: "cs";
|
|
226
|
+
da: "da";
|
|
227
|
+
de: "de";
|
|
228
|
+
el: "el";
|
|
229
|
+
en: "en";
|
|
230
|
+
es: "es";
|
|
231
|
+
fi: "fi";
|
|
232
|
+
fil: "fil";
|
|
233
|
+
fr: "fr";
|
|
234
|
+
hi: "hi";
|
|
235
|
+
hr: "hr";
|
|
236
|
+
hu: "hu";
|
|
237
|
+
id: "id";
|
|
238
|
+
it: "it";
|
|
239
|
+
ja: "ja";
|
|
240
|
+
ko: "ko";
|
|
241
|
+
ms: "ms";
|
|
242
|
+
nl: "nl";
|
|
243
|
+
no: "no";
|
|
244
|
+
pl: "pl";
|
|
245
|
+
pt: "pt";
|
|
246
|
+
ro: "ro";
|
|
247
|
+
ru: "ru";
|
|
248
|
+
sk: "sk";
|
|
249
|
+
sv: "sv";
|
|
250
|
+
ta: "ta";
|
|
251
|
+
tr: "tr";
|
|
252
|
+
uk: "uk";
|
|
253
|
+
vi: "vi";
|
|
254
|
+
zh: "zh";
|
|
255
|
+
}>>;
|
|
256
|
+
gender: z.ZodOptional<z.ZodEnum<{
|
|
257
|
+
female: "female";
|
|
258
|
+
male: "male";
|
|
259
|
+
}>>;
|
|
260
|
+
age: z.ZodOptional<z.ZodString>;
|
|
261
|
+
use_case: z.ZodOptional<z.ZodString>;
|
|
262
|
+
model: z.ZodOptional<z.ZodEnum<{
|
|
263
|
+
eleven_flash_v2_5: "eleven_flash_v2_5";
|
|
264
|
+
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
265
|
+
eleven_v3: "eleven_v3";
|
|
266
|
+
}>>;
|
|
267
|
+
}, z.core.$strip>;
|
|
268
|
+
export type VoicesQuery = z.infer<typeof voicesQuery>;
|
|
269
|
+
export declare const VOICES_QUERY_FIELDS: (keyof VoicesQuery)[];
|
|
174
270
|
/** Нормализация метки на чтении: `middle-aged` → `middle_aged`, пустая → нет метки. */
|
|
175
271
|
export declare function normalizeVoiceLabel(raw: string | null | undefined): string | undefined;
|
package/dist/voice-catalog.js
CHANGED
|
@@ -40,6 +40,31 @@ export const voiceCatalogFile = z.strictObject({
|
|
|
40
40
|
export const ttsModelLanguagesFile = z.strictObject({
|
|
41
41
|
models: z.array(z.strictObject({ id: z.enum(TTS_MODELS), languages: z.array(z.string().min(1)) })),
|
|
42
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);
|
|
43
68
|
/** Нормализация метки на чтении: `middle-aged` → `middle_aged`, пустая → нет метки. */
|
|
44
69
|
export function normalizeVoiceLabel(raw) {
|
|
45
70
|
const value = raw?.trim().toLowerCase().replaceAll("-", "_");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-catalog.js","sourceRoot":"","sources":["../src/voice-catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"voice-catalog.js","sourceRoot":"","sources":["../src/voice-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
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
|
+
export { TTS_MODEL_LANGUAGES, VOICE_CATALOG } from "./voice-catalog-data.js";
|
|
5
|
+
/** Запрос `/v1/voices` на сервере: незнакомая метка — отказ со списком допустимых, а не пустой список. */
|
|
6
|
+
export declare function serverVoicesQueryFor(voices?: readonly CatalogFileVoice[]): z.ZodObject<{
|
|
7
|
+
language: z.ZodOptional<z.ZodEnum<{
|
|
8
|
+
bg: "bg";
|
|
9
|
+
cs: "cs";
|
|
10
|
+
da: "da";
|
|
11
|
+
de: "de";
|
|
12
|
+
el: "el";
|
|
13
|
+
en: "en";
|
|
14
|
+
es: "es";
|
|
15
|
+
fi: "fi";
|
|
16
|
+
fil: "fil";
|
|
17
|
+
fr: "fr";
|
|
18
|
+
hi: "hi";
|
|
19
|
+
hr: "hr";
|
|
20
|
+
hu: "hu";
|
|
21
|
+
id: "id";
|
|
22
|
+
it: "it";
|
|
23
|
+
ja: "ja";
|
|
24
|
+
ko: "ko";
|
|
25
|
+
ms: "ms";
|
|
26
|
+
nl: "nl";
|
|
27
|
+
no: "no";
|
|
28
|
+
pl: "pl";
|
|
29
|
+
pt: "pt";
|
|
30
|
+
ro: "ro";
|
|
31
|
+
ru: "ru";
|
|
32
|
+
sk: "sk";
|
|
33
|
+
sv: "sv";
|
|
34
|
+
ta: "ta";
|
|
35
|
+
tr: "tr";
|
|
36
|
+
uk: "uk";
|
|
37
|
+
vi: "vi";
|
|
38
|
+
zh: "zh";
|
|
39
|
+
}>>;
|
|
40
|
+
gender: z.ZodOptional<z.ZodEnum<{
|
|
41
|
+
female: "female";
|
|
42
|
+
male: "male";
|
|
43
|
+
}>>;
|
|
44
|
+
model: z.ZodOptional<z.ZodEnum<{
|
|
45
|
+
eleven_flash_v2_5: "eleven_flash_v2_5";
|
|
46
|
+
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
47
|
+
eleven_v3: "eleven_v3";
|
|
48
|
+
}>>;
|
|
49
|
+
age: z.ZodOptional<z.ZodEnum<{
|
|
50
|
+
[x: string]: string;
|
|
51
|
+
}>>;
|
|
52
|
+
use_case: z.ZodOptional<z.ZodEnum<{
|
|
53
|
+
[x: string]: string;
|
|
54
|
+
}>>;
|
|
55
|
+
}, z.core.$strip>;
|
|
56
|
+
export declare const serverVoicesQuery: z.ZodObject<{
|
|
57
|
+
language: z.ZodOptional<z.ZodEnum<{
|
|
58
|
+
bg: "bg";
|
|
59
|
+
cs: "cs";
|
|
60
|
+
da: "da";
|
|
61
|
+
de: "de";
|
|
62
|
+
el: "el";
|
|
63
|
+
en: "en";
|
|
64
|
+
es: "es";
|
|
65
|
+
fi: "fi";
|
|
66
|
+
fil: "fil";
|
|
67
|
+
fr: "fr";
|
|
68
|
+
hi: "hi";
|
|
69
|
+
hr: "hr";
|
|
70
|
+
hu: "hu";
|
|
71
|
+
id: "id";
|
|
72
|
+
it: "it";
|
|
73
|
+
ja: "ja";
|
|
74
|
+
ko: "ko";
|
|
75
|
+
ms: "ms";
|
|
76
|
+
nl: "nl";
|
|
77
|
+
no: "no";
|
|
78
|
+
pl: "pl";
|
|
79
|
+
pt: "pt";
|
|
80
|
+
ro: "ro";
|
|
81
|
+
ru: "ru";
|
|
82
|
+
sk: "sk";
|
|
83
|
+
sv: "sv";
|
|
84
|
+
ta: "ta";
|
|
85
|
+
tr: "tr";
|
|
86
|
+
uk: "uk";
|
|
87
|
+
vi: "vi";
|
|
88
|
+
zh: "zh";
|
|
89
|
+
}>>;
|
|
90
|
+
gender: z.ZodOptional<z.ZodEnum<{
|
|
91
|
+
female: "female";
|
|
92
|
+
male: "male";
|
|
93
|
+
}>>;
|
|
94
|
+
model: z.ZodOptional<z.ZodEnum<{
|
|
95
|
+
eleven_flash_v2_5: "eleven_flash_v2_5";
|
|
96
|
+
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
97
|
+
eleven_v3: "eleven_v3";
|
|
98
|
+
}>>;
|
|
99
|
+
age: z.ZodOptional<z.ZodEnum<{
|
|
100
|
+
[x: string]: string;
|
|
101
|
+
}>>;
|
|
102
|
+
use_case: z.ZodOptional<z.ZodEnum<{
|
|
103
|
+
[x: string]: string;
|
|
104
|
+
}>>;
|
|
105
|
+
}, z.core.$strip>;
|
|
106
|
+
/** Пресеты, затем живые голоса каталога по языку и рангу; поле, которого у голоса нет, не совпадает ни с чем. */
|
|
107
|
+
export declare function listVoices(query: VoicesQuery, catalog?: VoiceCatalogFile, modelLanguages?: TtsModelLanguagesFile): {
|
|
108
|
+
voices: VoiceCatalogEntry[];
|
|
109
|
+
models: {
|
|
110
|
+
id: string;
|
|
111
|
+
char_limit: number;
|
|
112
|
+
languages: string[];
|
|
113
|
+
}[];
|
|
114
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
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
|
+
// Те же данные сверяет с вендором еженедельная проба воркера.
|
|
7
|
+
export { TTS_MODEL_LANGUAGES, VOICE_CATALOG } from "./voice-catalog-data.js";
|
|
8
|
+
const isLive = (voice) => voice.retired_at === undefined;
|
|
9
|
+
function labelValues(voices, raw) {
|
|
10
|
+
const values = voices.filter(isLive).map((voice) => normalizeVoiceLabel(raw(voice)));
|
|
11
|
+
return [...new Set(values.filter((value) => value !== undefined))].sort();
|
|
12
|
+
}
|
|
13
|
+
/** Запрос `/v1/voices` на сервере: незнакомая метка — отказ со списком допустимых, а не пустой список. */
|
|
14
|
+
export function serverVoicesQueryFor(voices = VOICE_CATALOG.voices) {
|
|
15
|
+
return z.object({
|
|
16
|
+
...voicesQueryShape,
|
|
17
|
+
age: z.enum(labelValues(voices, (voice) => voice.age_raw)).optional(),
|
|
18
|
+
use_case: z.enum(labelValues(voices, (voice) => voice.use_case_raw)).optional(),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export const serverVoicesQuery = serverVoicesQueryFor();
|
|
22
|
+
const presentText = (raw) => raw?.trim() || undefined;
|
|
23
|
+
/** Пресеты, затем живые голоса каталога по языку и рангу; поле, которого у голоса нет, не совпадает ни с чем. */
|
|
24
|
+
export function listVoices(query, catalog = VOICE_CATALOG, modelLanguages = TTS_MODEL_LANGUAGES) {
|
|
25
|
+
const languagesOf = (id) => modelLanguages.models.find((model) => model.id === id)?.languages ?? [];
|
|
26
|
+
const supportedModels = (language) => TTS_MODELS.filter((id) => languagesOf(id).includes(language));
|
|
27
|
+
const presets = Object.entries(VOICE_PRESETS).map(([name, preset]) => ({
|
|
28
|
+
name,
|
|
29
|
+
kind: "preset",
|
|
30
|
+
...preset,
|
|
31
|
+
supported_models: supportedModels(preset.language),
|
|
32
|
+
}));
|
|
33
|
+
const languageRank = (voice) => CATALOG_LANGUAGES.indexOf(voice.language);
|
|
34
|
+
const catalogVoices = catalog.voices
|
|
35
|
+
.filter(isLive)
|
|
36
|
+
.sort((a, b) => languageRank(a) - languageRank(b) || a.rank - b.rank || (a.slug < b.slug ? -1 : 1))
|
|
37
|
+
.map((voice) => ({
|
|
38
|
+
name: voice.slug,
|
|
39
|
+
kind: "catalog",
|
|
40
|
+
language: voice.language,
|
|
41
|
+
locale: presentText(voice.locale),
|
|
42
|
+
accent: presentText(voice.accent),
|
|
43
|
+
gender: normalizeVoiceLabel(voice.gender_raw),
|
|
44
|
+
age: normalizeVoiceLabel(voice.age_raw),
|
|
45
|
+
use_case: normalizeVoiceLabel(voice.use_case_raw),
|
|
46
|
+
description: presentText(voice.description) ?? voice.name,
|
|
47
|
+
model: resolveTtsModel({ voice: voice.slug }),
|
|
48
|
+
supported_models: supportedModels(voice.language),
|
|
49
|
+
verified_models: voice.verified_models,
|
|
50
|
+
}));
|
|
51
|
+
const matches = (entry) => VOICES_QUERY_FIELDS.every((field) => {
|
|
52
|
+
const wanted = query[field];
|
|
53
|
+
if (wanted === undefined)
|
|
54
|
+
return true;
|
|
55
|
+
if (field === "model")
|
|
56
|
+
return entry.supported_models?.includes(wanted) === true;
|
|
57
|
+
return entry[field] === wanted;
|
|
58
|
+
});
|
|
59
|
+
return {
|
|
60
|
+
voices: [...presets, ...catalogVoices].filter(matches),
|
|
61
|
+
models: TTS_MODELS.map((id) => ({ id, char_limit: TTS_MODEL_CHAR_CAP[id], languages: languagesOf(id) })),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=voice-listing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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
|
@@ -133,17 +133,14 @@ export declare const voicesResponse: z.ZodObject<{
|
|
|
133
133
|
}, z.core.$strip>>>;
|
|
134
134
|
}, z.core.$strip>;
|
|
135
135
|
export type VoicesResponse = z.infer<typeof voicesResponse>;
|
|
136
|
-
/**
|
|
137
|
-
|
|
138
|
-
* британский повествовательный голос, семантически совпадает с образом.
|
|
139
|
-
* Изначально дефолтом ставился клон владельца, но на английских скриптах он
|
|
140
|
-
* давал русский акцент (on-ear владельца 2026-07-20) — сменён на нейтральный
|
|
141
|
-
* английский. Клон остаётся доступным пресетом `owner_ru_clone` для русских
|
|
142
|
-
* скриптов. Подстановка дефолта — забота резолвера, а не схемы (схема хранит
|
|
143
|
-
* `.optional()` без `.default()`, чтобы отличать явный выбор от умолчания —
|
|
144
|
-
* нужно для warnings US-517).
|
|
145
|
-
*/
|
|
136
|
+
/** Голос, когда пол актёра неизвестен; подставляет резолвер, а не схема (US-517). */
|
|
137
|
+
/** История выбора дефолта — docs/16. */
|
|
146
138
|
export declare const DEFAULT_VOICE_PRESET: "george";
|
|
139
|
+
/** Голос по умолчанию следует полу актёра (clipwright#183, docs/18, Д52). */
|
|
140
|
+
export declare const DEFAULT_VOICE_BY_GENDER: {
|
|
141
|
+
readonly female: "sarah";
|
|
142
|
+
readonly male: "george";
|
|
143
|
+
};
|
|
147
144
|
/**
|
|
148
145
|
* Форма сырого `voice_id` вендора. НАМЕРЕННО терпимая (16–32 алфанумерик):
|
|
149
146
|
* ElevenLabs не документирует формат id, наблюдаемые id — 20 символов, но
|
|
@@ -168,27 +165,19 @@ export type VoiceSelection = {
|
|
|
168
165
|
kind: "raw";
|
|
169
166
|
voiceId: string;
|
|
170
167
|
};
|
|
171
|
-
/**
|
|
172
|
-
|
|
173
|
-
*
|
|
174
|
-
* Взаимоисключение `voice`/`voice_id` уже гарантировано `.refine` в
|
|
175
|
-
* `makeUgcInput` (skills.ts), поэтому здесь — только приоритет и подстановка
|
|
176
|
-
* дефолта, без повторной валидации. Приоритет: сырой `voice_id` (явный escape
|
|
177
|
-
* hatch) > `voice` (имя пресета) > дефолт (клон владельца). Дефолт живёт тут, а
|
|
178
|
-
* не в схеме, потому что схема хранит `.optional()` без `.default()`, чтобы
|
|
179
|
-
* отличать явный выбор от умолчания (warnings US-517).
|
|
180
|
-
*/
|
|
168
|
+
/** Приоритет: сырой `voice_id` > `voice` > голос по полу актёра > `DEFAULT_VOICE_PRESET`. */
|
|
169
|
+
/** Пол даёт `voiceGenderFor` (actors.ts); взаимоисключение полей держит `makeUgcInput`. */
|
|
181
170
|
export declare function resolveVoiceSelection(input: {
|
|
182
171
|
voice?: string | undefined;
|
|
183
172
|
voice_id?: string | undefined;
|
|
184
|
-
}): VoiceSelection;
|
|
173
|
+
}, gender?: Gender | undefined): VoiceSelection;
|
|
185
174
|
/** Модель: явное `tts_model` → модель пресета → дефолт (сырой `voice_id` пресета не имеет). */
|
|
186
175
|
/** Голос каталога говорит на дефолте, как пресеты (решение владельца #164). */
|
|
187
176
|
export declare function resolveTtsModel(input: {
|
|
188
177
|
voice?: string | undefined;
|
|
189
178
|
voice_id?: string | undefined;
|
|
190
179
|
tts_model?: TtsModelId | undefined;
|
|
191
|
-
}): TtsModelId;
|
|
180
|
+
}, gender?: Gender | undefined): TtsModelId;
|
|
192
181
|
/**
|
|
193
182
|
* Семейство письменности скрипта — грубый детектор для языкового warning'а
|
|
194
183
|
* (US-517). Считает ТОЛЬКО буквенные символы: кириллица (U+0400–U+04FF) против
|
|
@@ -226,14 +215,6 @@ export declare const RAW_VOICE_ID_VALIDATION_WARNING = "raw voice_id is verified
|
|
|
226
215
|
* заменяется. Поэтому правило старшинства здесь не применяется — но зафиксировано,
|
|
227
216
|
* чтобы будущая подмена не была ошибочно заглушена условием (iii).
|
|
228
217
|
*
|
|
229
|
-
* ПОЧЕМУ НЕТ ГЕНДЕР-WARNING, И ДОВОД ТЕПЕРЬ ДРУГОЙ. Прежний ссылался на
|
|
230
|
-
* отсутствие источника правды о поле АВАТАРА; источник измерен и записан
|
|
231
|
-
* (`default-actor.ts`), поэтому довод снят как устаревший. Warning'а всё равно
|
|
232
|
-
* нет по причине сильнее: пол актёра отдаётся ДАННЫМИ в поле `actor` ответа
|
|
233
|
-
* `quote`, объявлять несоблюдённым нечего (голос исполняется как запрошен), а
|
|
234
|
-
* предупреждение на каждом женском голосе клиент снять не может — docs/18, Д50.
|
|
235
|
-
* Ни один кодовый путь ниже не порождает строки со словом gender по построению.
|
|
236
|
-
*
|
|
237
218
|
* ПОЧЕМУ тест не подавляет обязательный warning про подмену №3 (принцип DR-2):
|
|
238
219
|
* обязанность №3 крепится к НЕИСПОЛНЕННОМУ явному запросу (клиент попросил 1080p,
|
|
239
220
|
* дали 720p) — это подмена, у неё старшинство над (iii). Здесь же голос либо
|
|
@@ -251,4 +232,4 @@ export declare function buildSpeechModelWarnings(input: {
|
|
|
251
232
|
voice_id?: string | undefined;
|
|
252
233
|
tts_model?: TtsModelId | undefined;
|
|
253
234
|
script: string;
|
|
254
|
-
}): string[];
|
|
235
|
+
}, gender?: Gender | undefined): string[];
|
package/dist/voices.js
CHANGED
|
@@ -155,17 +155,17 @@ export const voicesResponse = z.object({
|
|
|
155
155
|
voices: z.array(voiceCatalogEntry),
|
|
156
156
|
models: z.array(voiceModelEntry).optional(),
|
|
157
157
|
});
|
|
158
|
-
/**
|
|
159
|
-
|
|
160
|
-
* британский повествовательный голос, семантически совпадает с образом.
|
|
161
|
-
* Изначально дефолтом ставился клон владельца, но на английских скриптах он
|
|
162
|
-
* давал русский акцент (on-ear владельца 2026-07-20) — сменён на нейтральный
|
|
163
|
-
* английский. Клон остаётся доступным пресетом `owner_ru_clone` для русских
|
|
164
|
-
* скриптов. Подстановка дефолта — забота резолвера, а не схемы (схема хранит
|
|
165
|
-
* `.optional()` без `.default()`, чтобы отличать явный выбор от умолчания —
|
|
166
|
-
* нужно для warnings US-517).
|
|
167
|
-
*/
|
|
158
|
+
/** Голос, когда пол актёра неизвестен; подставляет резолвер, а не схема (US-517). */
|
|
159
|
+
/** История выбора дефолта — docs/16. */
|
|
168
160
|
export const DEFAULT_VOICE_PRESET = "george";
|
|
161
|
+
/** Голос по умолчанию следует полу актёра (clipwright#183, docs/18, Д52). */
|
|
162
|
+
export const DEFAULT_VOICE_BY_GENDER = {
|
|
163
|
+
female: "sarah",
|
|
164
|
+
male: "george",
|
|
165
|
+
};
|
|
166
|
+
function defaultVoiceFor(gender) {
|
|
167
|
+
return gender === undefined ? DEFAULT_VOICE_PRESET : DEFAULT_VOICE_BY_GENDER[gender];
|
|
168
|
+
}
|
|
169
169
|
/**
|
|
170
170
|
* Форма сырого `voice_id` вендора. НАМЕРЕННО терпимая (16–32 алфанумерик):
|
|
171
171
|
* ElevenLabs не документирует формат id, наблюдаемые id — 20 символов, но
|
|
@@ -174,17 +174,9 @@ export const DEFAULT_VOICE_PRESET = "george";
|
|
|
174
174
|
* существования id делает бесплатный префлайт в воркере (US-515).
|
|
175
175
|
*/
|
|
176
176
|
export const VOICE_ID_PATTERN = /^[A-Za-z0-9]{16,32}$/;
|
|
177
|
-
/**
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
* Взаимоисключение `voice`/`voice_id` уже гарантировано `.refine` в
|
|
181
|
-
* `makeUgcInput` (skills.ts), поэтому здесь — только приоритет и подстановка
|
|
182
|
-
* дефолта, без повторной валидации. Приоритет: сырой `voice_id` (явный escape
|
|
183
|
-
* hatch) > `voice` (имя пресета) > дефолт (клон владельца). Дефолт живёт тут, а
|
|
184
|
-
* не в схеме, потому что схема хранит `.optional()` без `.default()`, чтобы
|
|
185
|
-
* отличать явный выбор от умолчания (warnings US-517).
|
|
186
|
-
*/
|
|
187
|
-
export function resolveVoiceSelection(input) {
|
|
177
|
+
/** Приоритет: сырой `voice_id` > `voice` > голос по полу актёра > `DEFAULT_VOICE_PRESET`. */
|
|
178
|
+
/** Пол даёт `voiceGenderFor` (actors.ts); взаимоисключение полей держит `makeUgcInput`. */
|
|
179
|
+
export function resolveVoiceSelection(input, gender) {
|
|
188
180
|
if (input.voice_id !== undefined) {
|
|
189
181
|
return { kind: "raw", voiceId: input.voice_id };
|
|
190
182
|
}
|
|
@@ -194,16 +186,16 @@ export function resolveVoiceSelection(input) {
|
|
|
194
186
|
return { kind: "catalog", slug: input.voice };
|
|
195
187
|
return { kind: "preset", preset: input.voice };
|
|
196
188
|
}
|
|
197
|
-
return { kind: "preset", preset:
|
|
189
|
+
return { kind: "preset", preset: defaultVoiceFor(gender) };
|
|
198
190
|
}
|
|
199
191
|
/** Модель: явное `tts_model` → модель пресета → дефолт (сырой `voice_id` пресета не имеет). */
|
|
200
192
|
/** Голос каталога говорит на дефолте, как пресеты (решение владельца #164). */
|
|
201
|
-
export function resolveTtsModel(input) {
|
|
193
|
+
export function resolveTtsModel(input, gender) {
|
|
202
194
|
if (input.tts_model !== undefined)
|
|
203
195
|
return input.tts_model;
|
|
204
196
|
if (input.voice_id !== undefined)
|
|
205
197
|
return DEFAULT_TTS_MODEL;
|
|
206
|
-
const voice = input.voice ??
|
|
198
|
+
const voice = input.voice ?? defaultVoiceFor(gender);
|
|
207
199
|
return isVoicePresetName(voice) ? VOICE_PRESETS[voice].model : DEFAULT_TTS_MODEL;
|
|
208
200
|
}
|
|
209
201
|
/**
|
|
@@ -276,14 +268,6 @@ export const RAW_VOICE_ID_VALIDATION_WARNING = "raw voice_id is verified against
|
|
|
276
268
|
* заменяется. Поэтому правило старшинства здесь не применяется — но зафиксировано,
|
|
277
269
|
* чтобы будущая подмена не была ошибочно заглушена условием (iii).
|
|
278
270
|
*
|
|
279
|
-
* ПОЧЕМУ НЕТ ГЕНДЕР-WARNING, И ДОВОД ТЕПЕРЬ ДРУГОЙ. Прежний ссылался на
|
|
280
|
-
* отсутствие источника правды о поле АВАТАРА; источник измерен и записан
|
|
281
|
-
* (`default-actor.ts`), поэтому довод снят как устаревший. Warning'а всё равно
|
|
282
|
-
* нет по причине сильнее: пол актёра отдаётся ДАННЫМИ в поле `actor` ответа
|
|
283
|
-
* `quote`, объявлять несоблюдённым нечего (голос исполняется как запрошен), а
|
|
284
|
-
* предупреждение на каждом женском голосе клиент снять не может — docs/18, Д50.
|
|
285
|
-
* Ни один кодовый путь ниже не порождает строки со словом gender по построению.
|
|
286
|
-
*
|
|
287
271
|
* ПОЧЕМУ тест не подавляет обязательный warning про подмену №3 (принцип DR-2):
|
|
288
272
|
* обязанность №3 крепится к НЕИСПОЛНЕННОМУ явному запросу (клиент попросил 1080p,
|
|
289
273
|
* дали 720p) — это подмена, у неё старшинство над (iii). Здесь же голос либо
|
|
@@ -296,8 +280,8 @@ export function buildVoiceWarnings(input) {
|
|
|
296
280
|
if (input.voice_id !== undefined) {
|
|
297
281
|
return [RAW_VOICE_ID_VALIDATION_WARNING];
|
|
298
282
|
}
|
|
299
|
-
// Условие (iii): голос
|
|
300
|
-
//
|
|
283
|
+
// Условие (iii): голос не задан явно → языковых warning'ов нет никогда (анти-шум US-517).
|
|
284
|
+
// Голос по полу актёра обсуждает `buildActorGenderWarnings` (actors.ts).
|
|
301
285
|
if (input.voice === undefined) {
|
|
302
286
|
return [];
|
|
303
287
|
}
|
|
@@ -335,8 +319,8 @@ export function buildVoiceWarnings(input) {
|
|
|
335
319
|
];
|
|
336
320
|
}
|
|
337
321
|
/** Модель, не читающая ударения, на тексте, где они важны. На умолчании (v3) молчит всегда. */
|
|
338
|
-
export function buildSpeechModelWarnings(input) {
|
|
339
|
-
const model = resolveTtsModel(input);
|
|
322
|
+
export function buildSpeechModelWarnings(input, gender) {
|
|
323
|
+
const model = resolveTtsModel(input, gender);
|
|
340
324
|
if (STRESS_MARK_MODELS.has(model))
|
|
341
325
|
return [];
|
|
342
326
|
// Знак после латиницы — акцент французского или испанского текста (NFD), не ударение.
|
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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clipwright/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.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.",
|
|
@@ -28,6 +28,10 @@
|
|
|
28
28
|
"./voice-admission": {
|
|
29
29
|
"types": "./dist/voice-admission.d.ts",
|
|
30
30
|
"default": "./dist/voice-admission.js"
|
|
31
|
+
},
|
|
32
|
+
"./voice-listing": {
|
|
33
|
+
"types": "./dist/voice-listing.d.ts",
|
|
34
|
+
"default": "./dist/voice-listing.js"
|
|
31
35
|
}
|
|
32
36
|
},
|
|
33
37
|
"dependencies": {
|