@clipwright/core 0.33.0 → 0.34.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.
Files changed (119) hide show
  1. package/CHANGELOG.md +144 -0
  2. package/dist/api-failure.js +2 -1
  3. package/dist/api-failure.js.map +1 -1
  4. package/dist/asset-identity.d.ts +6 -0
  5. package/dist/asset-identity.js +7 -0
  6. package/dist/asset-identity.js.map +1 -0
  7. package/dist/assets.d.ts +386 -7
  8. package/dist/assets.js +114 -21
  9. package/dist/assets.js.map +1 -1
  10. package/dist/caption-language.d.ts +2 -0
  11. package/dist/caption-language.js +17 -0
  12. package/dist/caption-language.js.map +1 -0
  13. package/dist/contract-dispositions.d.ts +1133 -8
  14. package/dist/contract-dispositions.js +51 -11
  15. package/dist/contract-dispositions.js.map +1 -1
  16. package/dist/contracts/v1/workflow-brief.d.ts +1670 -2
  17. package/dist/contracts/v1/workflow-catalog.d.ts +1670 -2
  18. package/dist/contracts/v1/workflow-client.d.ts +835 -1
  19. package/dist/contracts/v1/workflow-execution.d.ts +2 -0
  20. package/dist/contracts/v1/workflow-plan.d.ts +2533 -31
  21. package/dist/endpoints.js +2 -0
  22. package/dist/endpoints.js.map +1 -1
  23. package/dist/errors.d.ts +1 -1
  24. package/dist/errors.js +1 -0
  25. package/dist/errors.js.map +1 -1
  26. package/dist/generations.d.ts +32 -6
  27. package/dist/generations.js +83 -27
  28. package/dist/generations.js.map +1 -1
  29. package/dist/index.d.ts +4 -0
  30. package/dist/index.js +4 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/public-endpoints.d.ts +2 -0
  33. package/dist/public-endpoints.js +2 -0
  34. package/dist/public-endpoints.js.map +1 -1
  35. package/dist/resolved-timeline.d.ts +153 -0
  36. package/dist/resolved-timeline.js +46 -0
  37. package/dist/resolved-timeline.js.map +1 -1
  38. package/dist/run-static-warnings.js +5 -2
  39. package/dist/run-static-warnings.js.map +1 -1
  40. package/dist/semantic-inserts.d.ts +7 -0
  41. package/dist/semantic-inserts.js +19 -9
  42. package/dist/semantic-inserts.js.map +1 -1
  43. package/dist/skills.d.ts +4112 -77
  44. package/dist/skills.js +261 -16
  45. package/dist/skills.js.map +1 -1
  46. package/dist/templates/callout.d.ts +34 -0
  47. package/dist/templates/callout.js +51 -0
  48. package/dist/templates/callout.js.map +1 -0
  49. package/dist/templates/checklist.d.ts +42 -0
  50. package/dist/templates/checklist.js +47 -0
  51. package/dist/templates/checklist.js.map +1 -0
  52. package/dist/templates/compare.d.ts +26 -0
  53. package/dist/templates/compare.js +35 -0
  54. package/dist/templates/compare.js.map +1 -0
  55. package/dist/templates/end-card.d.ts +16 -0
  56. package/dist/templates/end-card.js +25 -0
  57. package/dist/templates/end-card.js.map +1 -0
  58. package/dist/templates/index.d.ts +164 -0
  59. package/dist/templates/index.js +382 -0
  60. package/dist/templates/index.js.map +1 -0
  61. package/dist/templates/lower-third.d.ts +18 -0
  62. package/dist/templates/lower-third.js +26 -0
  63. package/dist/templates/lower-third.js.map +1 -0
  64. package/dist/templates/notification.d.ts +30 -0
  65. package/dist/templates/notification.js +32 -0
  66. package/dist/templates/notification.js.map +1 -0
  67. package/dist/templates/phone-call.d.ts +24 -0
  68. package/dist/templates/phone-call.js +36 -0
  69. package/dist/templates/phone-call.js.map +1 -0
  70. package/dist/templates/progress.d.ts +22 -0
  71. package/dist/templates/progress.js +42 -0
  72. package/dist/templates/progress.js.map +1 -0
  73. package/dist/templates/quote.d.ts +21 -0
  74. package/dist/templates/quote.js +29 -0
  75. package/dist/templates/quote.js.map +1 -0
  76. package/dist/templates/rating.d.ts +22 -0
  77. package/dist/templates/rating.js +29 -0
  78. package/dist/templates/rating.js.map +1 -0
  79. package/dist/templates/size.d.ts +13 -0
  80. package/dist/templates/size.js +10 -0
  81. package/dist/templates/size.js.map +1 -0
  82. package/dist/templates/slot.d.ts +10 -0
  83. package/dist/templates/slot.js +5 -0
  84. package/dist/templates/slot.js.map +1 -0
  85. package/dist/templates/sounds.d.ts +351 -0
  86. package/dist/templates/sounds.js +67 -0
  87. package/dist/templates/sounds.js.map +1 -0
  88. package/dist/templates/stat.d.ts +20 -0
  89. package/dist/templates/stat.js +33 -0
  90. package/dist/templates/stat.js.map +1 -0
  91. package/dist/templates/tag.d.ts +23 -0
  92. package/dist/templates/tag.js +31 -0
  93. package/dist/templates/tag.js.map +1 -0
  94. package/dist/templates/theme.d.ts +29 -0
  95. package/dist/templates/theme.js +47 -0
  96. package/dist/templates/theme.js.map +1 -0
  97. package/dist/templates/title-card.d.ts +21 -0
  98. package/dist/templates/title-card.js +30 -0
  99. package/dist/templates/title-card.js.map +1 -0
  100. package/dist/tts-backend.d.ts +9 -0
  101. package/dist/tts-backend.js +21 -0
  102. package/dist/tts-backend.js.map +1 -1
  103. package/dist/ugc-layers.d.ts +84 -0
  104. package/dist/ugc-layers.js +137 -0
  105. package/dist/ugc-layers.js.map +1 -0
  106. package/dist/ugc-video-media.d.ts +12 -0
  107. package/dist/ugc-video-media.js +39 -0
  108. package/dist/ugc-video-media.js.map +1 -0
  109. package/dist/voice-admission.d.ts +835 -1
  110. package/dist/workflows/methods/faceless-explainer.d.ts +329 -2
  111. package/dist/workflows/methods/kinetic-launch.d.ts +329 -2
  112. package/dist/workflows/methods/product-image-story.d.ts +329 -2
  113. package/dist/workflows/methods/shared.d.ts +329 -2
  114. package/dist/workflows/methods/ugc-faq-answer.d.ts +329 -2
  115. package/dist/workflows/methods/ugc-product-intro.d.ts +329 -2
  116. package/dist/workflows/methods/website-proof-demo.d.ts +329 -2
  117. package/dist/workflows/validate.js +14 -9
  118. package/dist/workflows/validate.js.map +1 -1
  119. package/package.json +2 -2
package/dist/assets.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { z } from "zod";
2
+ import { ASSET_KINDS, ASSET_MEDIA_TYPES, assetId } from "./asset-identity.js";
2
3
  import { runId } from "./runs.js";
3
- import { UPLOAD_MEDIA_TYPES, uploadId } from "./uploads.js";
4
- /** Account assets (clipwright#724 F2): pictures kept until the customer deletes them, under a cap per account. */
4
+ import { UPLOAD_MAX_BYTES, UPLOAD_MEDIA_TYPES, uploadId } from "./uploads.js";
5
+ /** Account assets (clipwright#724 F2): pictures and clips kept until the customer deletes them, under a cap per account. */
5
6
  export const ASSETS_PATH = "/v1/assets";
6
- /** Raw bytes of one picture, for the cabinet; role, name and the rights confirmation travel in the query. */
7
+ /** Raw bytes of one picture or clip, for the cabinet; role, name and the rights confirmation travel in the query. */
7
8
  export const ASSET_BYTES_PATH = "/v1/assets/bytes";
8
9
  export const ASSET_ITEM_PATH = "/v1/assets/:id";
9
10
  export const ASSET_ACCOUNT_MAX_COUNT = 2000;
@@ -19,23 +20,53 @@ export const ASSET_URL_TTL_SECONDS = 3600;
19
20
  export const ASSET_DELETE_GRACE_DAYS = 7;
20
21
  export const ASSET_NAME_MAX_CHARS = 80;
21
22
  export const ASSET_LIST_MAX_LIMIT = 100;
23
+ /** A customer clip (owner, 2026-10-20): up to 100 MiB and 120 s, a non-fragmented MP4 in h264 or hevc. */
24
+ export const ASSET_VIDEO_MAX_BYTES = 100 * 1024 * 1024;
25
+ export const ASSET_VIDEO_MAX_SECONDS = 120;
26
+ export const ASSET_VIDEO_CODECS = ["h264", "hevc"];
27
+ /** A clip sent as the body of `POST /v1/assets/bytes`: the API holds the body in memory before staging it. */
28
+ export const ASSET_BYTES_ROUTE_VIDEO_MAX_BYTES = 32 * 1024 * 1024;
29
+ /** How long a clip in processing may take before reads call it failed: a 90 s download inside a 5 minute task. */
30
+ export const ASSET_PROCESSING_SECONDS = 600;
31
+ export const ASSET_VIDEO_DOWNLOAD_DEADLINE_MS = 90_000;
32
+ export const ASSET_INGEST_TASK_MAX_DURATION_SECONDS = 300;
33
+ export const ASSET_PUT_MEDIA_TYPES = ["image/png", "image/jpeg", "video/mp4"];
34
+ /** The worker task that downloads or reads a staged file, checks it and publishes the asset. */
35
+ export const INGEST_ASSET_MEDIA_TASK = "ingest-asset-media";
36
+ /** The cabinet's preview of an asset (S4a): a WebP at `assets/<account>/<id>/preview.webp`, long side at most 512, no upscale. */
37
+ export const ASSET_PREVIEW_TASK = "make-asset-preview";
38
+ export const ASSET_PREVIEW_MAX_SIDE = 512;
39
+ export const ASSET_PREVIEW_QUALITY = 75;
40
+ export const ASSET_PREVIEW_SWEEP_BATCH = 200;
41
+ /** Past this many attempts a row leaves the queue as `gave_up`: an OOM or a hung R2 never loops for ever. */
42
+ export const ASSET_PREVIEW_MAX_ATTEMPTS = 6;
43
+ /** How long creating an asset waits to queue its preview; past it the hourly sweep picks the row up. */
44
+ export const ASSET_PREVIEW_ENQUEUE_TIMEOUT_MS = 2000;
45
+ /** Terminal codes only; a passing failure throws, and the next attempt or the sweep repeats it. */
46
+ export const ASSET_PREVIEW_ERRORS = ["decode_failed", "size_mismatch", "empty_output", "gave_up"];
22
47
  export const ASSET_ROLES = ["character", "location", "style", "prop", "other"];
23
- export const ASSET_KINDS = ["image", "video"];
24
- /** WebP is kept only as a generation's own output: its dimensions are not read from customer bytes. */
25
- export const ASSET_MEDIA_TYPES = ["image/png", "image/jpeg", "image/webp", "video/mp4"];
48
+ export { ASSET_KINDS, ASSET_MEDIA_TYPES, assetId };
26
49
  export const ASSET_SOURCE_TYPES = ["generation", "upload", "url", "base64", "bytes", "put"];
27
- export const assetId = z.string().regex(/^ast_[a-f0-9]{32}$/);
28
50
  // biome-ignore lint/suspicious/noControlCharactersInRegex: the class names exactly the characters a name may not hold.
29
51
  const CONTROL_CHARACTERS = /[\u0000-\u001f\u007f-\u009f]/;
30
52
  export const assetName = z.string().trim().min(1).max(ASSET_NAME_MAX_CHARS)
31
53
  .refine((name) => !CONTROL_CHARACTERS.test(name), "a name holds no control characters");
32
- /** Where the asset's bytes come from: an own image generation, an own upload, a public https url, or inline base64. */
54
+ const sha256Hex = z.string().regex(/^[a-f0-9]{64}$/);
55
+ /** A file the client PUTs itself: its type, exact size and sha256, checked against the bytes before the asset exists. */
56
+ export const assetPutSource = z.strictObject({
57
+ media_type: z.enum(ASSET_PUT_MEDIA_TYPES),
58
+ bytes: z.number().int().positive().max(ASSET_VIDEO_MAX_BYTES),
59
+ sha256: sha256Hex,
60
+ }).refine((put) => put.media_type === "video/mp4" || put.bytes <= UPLOAD_MAX_BYTES, `a picture is at most ${UPLOAD_MAX_BYTES} bytes`);
61
+ /** Where the asset's bytes come from: an own generation, an own upload, a public https url (`kind: "video"` for a clip), */
62
+ /** inline base64, or a presigned PUT. */
33
63
  export const assetSource = z.union([
34
64
  z.strictObject({ run_id: runId }),
35
65
  z.strictObject({ upload_id: uploadId }),
36
- z.strictObject({ url: z.string().url().startsWith("https://").max(2048) }),
66
+ z.strictObject({ url: z.string().url().startsWith("https://").max(2048), kind: z.enum(ASSET_KINDS).optional() }),
37
67
  z.strictObject({ base64: z.string().min(1).max(ASSET_BASE64_MAX_CHARS).regex(/^[A-Za-z0-9+/]+={0,2}$/),
38
68
  media_type: z.enum(UPLOAD_MEDIA_TYPES) }),
69
+ z.strictObject({ put: assetPutSource }),
39
70
  ]);
40
71
  /** `rights_confirmed` is required for the customer's own material and states once, at creation, that it may be used. */
41
72
  export const createAssetRequest = z.strictObject({
@@ -62,6 +93,7 @@ export const assetListQuery = z.strictObject({
62
93
  });
63
94
  export const asset = z.strictObject({
64
95
  asset_id: assetId,
96
+ state: z.literal("ready"),
65
97
  kind: z.enum(ASSET_KINDS),
66
98
  role: z.enum(ASSET_ROLES),
67
99
  name: z.string().min(1),
@@ -71,30 +103,82 @@ export const asset = z.strictObject({
71
103
  height: z.number().int().positive(),
72
104
  duration_frames: z.number().int().positive().nullable(),
73
105
  fps: z.number().int().positive().nullable(),
74
- content_digest: z.string().regex(/^[a-f0-9]{64}$/),
106
+ codec: z.string().min(1).nullable(),
107
+ pix_fmt: z.string().min(1).nullable(),
108
+ content_digest: sha256Hex,
75
109
  source_type: z.enum(ASSET_SOURCE_TYPES),
76
110
  url: z.string().url().startsWith("https://"),
77
111
  expires_at: z.string().datetime(),
78
112
  created_at: z.string().datetime(),
79
113
  updated_at: z.string().datetime(),
80
114
  });
115
+ /** Where a PUT goes: signed for 15 minutes with exactly these two headers, and finished within a day. */
116
+ export const assetPutUpload = z.strictObject({
117
+ put_url: z.string().url().startsWith("https://"),
118
+ put_headers: z.strictObject({ "content-type": z.enum(ASSET_PUT_MEDIA_TYPES), "content-length": z.string().regex(/^\d+$/) }),
119
+ expires_at: z.string().datetime(),
120
+ finish_by: z.string().datetime(),
121
+ });
122
+ /** An asset before it exists: waiting for its PUT, being checked by the worker, or refused with the reason. */
123
+ export const ASSET_PENDING_STATES = ["awaiting_upload", "processing", "failed"];
124
+ export const pendingAsset = z.strictObject({
125
+ asset_id: assetId,
126
+ state: z.enum(ASSET_PENDING_STATES),
127
+ kind: z.enum(ASSET_KINDS),
128
+ role: z.enum(ASSET_ROLES),
129
+ name: z.string().min(1),
130
+ source_type: z.enum(ASSET_SOURCE_TYPES),
131
+ error: z.strictObject({ code: z.string().min(1), message: z.string().min(1) }).nullable(),
132
+ processing_deadline: z.string().datetime().nullable(),
133
+ created_at: z.string().datetime(),
134
+ /** Only in the answer that created the asset, or its repeat. */
135
+ upload: assetPutUpload.optional(),
136
+ });
137
+ export const assetItem = z.union([asset, pendingAsset]);
138
+ /** Why a pending asset failed, as `error.code`; these never come as an HTTP error of their own. */
139
+ export const ASSET_INGEST_FAILURE_CODES = [
140
+ "upload_expired", "upload_size_mismatch", "upload_digest_mismatch", "unsupported_media_type", "invalid_image", "invalid_video",
141
+ "payload_too_large", "url_fetch_refused", "url_fetch_failed", "asset_cap_exceeded", "asset_ingest_cap_exceeded",
142
+ "url_import_disabled", "ingest_timed_out", "ingest_enqueue_failed", "ingest_failed",
143
+ ];
144
+ /** What the API hands the worker: which pending asset, and whether its bytes are at a url or already staged. */
145
+ export const ingestAssetMediaPayload = z.strictObject({
146
+ assetId,
147
+ accountId: z.string().regex(/^[A-Za-z0-9_-]{1,64}$/),
148
+ source: z.enum(["url", "staging"]),
149
+ });
150
+ /** The preview task takes the id only; it reads the account from the row. */
151
+ export const assetPreviewPayload = z.strictObject({ assetId });
152
+ /** One run per asset across every caller: created with `scope: "global"`, since a raw string inside a task is per run. */
153
+ export const assetPreviewIdempotencyKey = (id) => `asset-preview:${id}`;
154
+ export const assetPreviewKey = (accountId, id) => `assets/${accountId}/${id}/preview.webp`;
81
155
  export const assetUsage = z.strictObject({
82
156
  count: z.number().int().nonnegative(),
83
157
  bytes: z.number().int().nonnegative(),
84
158
  max_count: z.number().int().positive(),
85
159
  max_bytes: z.number().int().positive(),
86
160
  });
161
+ /** `pending` holds the account's assets still in progress and those refused within the day; the first page only. */
87
162
  export const assetList = z.strictObject({
88
163
  assets: z.array(asset),
164
+ pending: z.array(pendingAsset),
89
165
  next_cursor: z.string().nullable(),
90
166
  usage: assetUsage,
91
167
  contract_version: z.string().min(1),
92
168
  });
93
169
  // What installed clients parse: open strings for the enums, and unknown keys are kept.
94
170
  export const assetRead = asset.extend({
95
- kind: z.string().min(1), role: z.string().min(1), media_type: z.string().min(1), source_type: z.string().min(1),
171
+ state: z.literal("ready"), kind: z.string().min(1), role: z.string().min(1), media_type: z.string().min(1), source_type: z.string().min(1),
172
+ }).loose();
173
+ export const pendingAssetRead = pendingAsset.extend({
174
+ state: z.string().min(1), kind: z.string().min(1), role: z.string().min(1), source_type: z.string().min(1),
175
+ error: z.object({ code: z.string().min(1), message: z.string() }).loose().nullable(),
176
+ upload: assetPutUpload.extend({ put_headers: z.record(z.string(), z.string()) }).loose().optional(),
177
+ }).loose();
178
+ export const assetItemRead = z.union([assetRead, pendingAssetRead]);
179
+ export const assetListRead = assetList.extend({
180
+ assets: z.array(assetRead), pending: z.array(pendingAssetRead).optional(), usage: assetUsage.loose(),
96
181
  }).loose();
97
- export const assetListRead = assetList.extend({ assets: z.array(assetRead), usage: assetUsage.loose() }).loose();
98
182
  /** The asset's own object: a new id per asset, so a copy never overwrites another asset. */
99
183
  export function assetKey(accountId, id, sha256, mediaType) {
100
184
  const extension = { "image/png": "png", "image/jpeg": "jpg", "image/webp": "webp", "video/mp4": "mp4" }[mediaType];
@@ -102,18 +186,27 @@ export function assetKey(accountId, id, sha256, mediaType) {
102
186
  }
103
187
  export const ASSET_TOOL_TERMS = "Assets are free: creating, storing and using one spends no credits. An account keeps up to " +
104
188
  `${ASSET_ACCOUNT_MAX_COUNT} assets and 20 GB, and makes up to ${ASSET_INGEST_DAILY_CAP} new ones per day.`;
105
- export const CREATE_ASSET_DESCRIPTION = "Save a picture as an asset of this account, kept until you delete it: a character, location, style, prop or " +
106
- "other, with a name. source is {run_id} of a succeeded generate_image run of this account, {upload_id} of an " +
107
- "upload from upload_image or create_upload, a public https {url} the server downloads, or {base64, media_type} " +
108
- `of a PNG or JPEG up to ${ASSET_BASE64_MAX_BYTES} bytes; on a server running on your machine also {path} ` +
109
- "of a local PNG or JPEG. For your own material (upload_id, url, base64, path) pass rights_confirmed: true, " +
110
- "which states once that you may use the people and works in it. Use the asset_id as {asset_id} in references, " +
111
- "first_frame or last_frame of quote_image, generate_image, quote_video and generate_video. " + ASSET_TOOL_TERMS;
189
+ export const CREATE_ASSET_DESCRIPTION = "Save a picture or a clip as an asset of this account, kept until you delete it: a character, location, style, prop " +
190
+ "or other, with a name. source is {run_id} of a succeeded generate_image or generate_video run of this account, " +
191
+ "{upload_id} of an upload from upload_image or create_upload, a public https {url} the server downloads (add " +
192
+ `kind: "video" for an MP4), {base64, media_type} of a PNG or JPEG up to ${ASSET_BASE64_MAX_BYTES} bytes, or ` +
193
+ "{put: {media_type, bytes, sha256}} to PUT a local file yourself: the answer carries upload.put_url and put_headers; " +
194
+ "run `curl -X PUT -H 'content-type: <media_type>' --data-binary @<file> '<put_url>'` within 15 minutes, then call " +
195
+ "get_asset. On a server running on your machine also {path} of a local PNG, JPEG or MP4. A clip is an MP4 in h264 " +
196
+ `or hevc, up to ${ASSET_VIDEO_MAX_SECONDS} seconds and 100 MB; a url clip or a PUT is checked in the background, ` +
197
+ "so the answer says state: \"processing\" (or \"awaiting_upload\") and get_asset says ready or failed within " +
198
+ "minutes. For your own material (upload_id, url, base64, put, path) pass rights_confirmed: true, which states once " +
199
+ "that you may use the people and works in it. Use a picture's asset_id as {asset_id} in references, first_frame or " +
200
+ "last_frame of quote_image, generate_image, quote_video and generate_video; clips are kept for assembly and are " +
201
+ "no generation reference yet. " + ASSET_TOOL_TERMS;
112
202
  export const LIST_ASSETS_DESCRIPTION = "List the assets of this account, newest first, each with a freshly signed url, its role, name, size and " +
113
- "content_digest; filter by role and kind, and pass next_cursor as cursor for the next page. usage says how much " +
203
+ "content_digest; filter by role and kind, and pass next_cursor as cursor for the next page. pending lists assets " +
204
+ "still awaiting their upload or processing, and those that failed today with the reason. usage says how much " +
114
205
  `of the ${ASSET_ACCOUNT_MAX_COUNT} assets and 20 GB is used. Free.`;
115
206
  export const GET_ASSET_DESCRIPTION = "Read one asset by asset_id with a freshly signed url (valid for an hour), its role, name, media_type, bytes, " +
116
- "width, height and content_digest. A deleted asset answers asset_not_found. Free.";
207
+ "width, height, content_digest and, for a clip, duration_frames, fps, codec and pix_fmt. An asset still in " +
208
+ "progress answers state awaiting_upload (PUT the file, then read again) or processing (read again in a few " +
209
+ "seconds); a refused one answers state failed with error.code. A deleted asset answers asset_not_found. Free.";
117
210
  export const UPDATE_ASSET_DESCRIPTION = "Rename an asset or change its role; the picture itself does not change. Free.";
118
211
  export const DELETE_ASSET_DESCRIPTION = "Delete an asset by asset_id. It leaves the list at once and a new generation can no longer use it; its file is " +
119
212
  `removed from our storage by a daily cleanup once ${ASSET_DELETE_GRACE_DAYS} days have passed. Runs already made with it ` +
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** The caption language as the font table reads it, from the letters the script is written in (in core for template text, #778 S3). */
2
+ export declare function captionLanguageOf(script: string): string;
@@ -0,0 +1,17 @@
1
+ /** The caption language as the font table reads it, from the letters the script is written in (in core for template text, #778 S3). */
2
+ export function captionLanguageOf(script) {
3
+ const count = (pattern) => script.match(pattern)?.length ?? 0;
4
+ const scripts = [
5
+ ["ru", count(/\p{Script=Cyrillic}/gu)], ["el", count(/\p{Script=Greek}/gu)], ["ja", count(/[\p{Script=Hiragana}\p{Script=Katakana}]/gu)],
6
+ ["zh", count(/\p{Script=Han}/gu)], ["ko", count(/\p{Script=Hangul}/gu)], ["ar", count(/\p{Script=Arabic}/gu)],
7
+ ["hi", count(/\p{Script=Devanagari}/gu)], ["ta", count(/\p{Script=Tamil}/gu)], ["latin", count(/\p{Script=Latin}/gu)],
8
+ ];
9
+ const [top] = scripts.sort((a, b) => b[1] - a[1]);
10
+ if (top[0] !== "latin" && top[1] > 0)
11
+ return top[0];
12
+ if (/[ăâđêôơưạ-ỹ]/iu.test(script))
13
+ return "vi";
14
+ // A Latin letter outside ASCII needs latin-ext; Polish stands for every such language in the table.
15
+ return /[^a-z]/iu.test(script.replace(/[^\p{Script=Latin}]/gu, "")) ? "pl" : "en";
16
+ }
17
+ //# sourceMappingURL=caption-language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caption-language.js","sourceRoot":"","sources":["../src/caption-language.ts"],"names":[],"mappings":"AAAA,uIAAuI;AACvI,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,KAAK,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IACtE,MAAM,OAAO,GAA4B;QACvC,CAAC,IAAI,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACxI,CAAC,IAAI,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC7G,CAAC,IAAI,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACtH,CAAC;IACF,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,IAAI,GAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,GAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAAE,OAAO,GAAI,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,oGAAoG;IACpG,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACpF,CAAC"}