@amaster.ai/pi-video-gen 0.1.8 → 0.1.10

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 (51) hide show
  1. package/README.md +57 -111
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +9 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +217 -40
  7. package/dist/index.js.map +1 -1
  8. package/dist/jobs/store.d.ts.map +1 -1
  9. package/dist/jobs/store.js +5 -7
  10. package/dist/jobs/store.js.map +1 -1
  11. package/dist/prompt.d.ts +28 -0
  12. package/dist/prompt.d.ts.map +1 -0
  13. package/dist/prompt.js +112 -0
  14. package/dist/prompt.js.map +1 -0
  15. package/dist/providers/ark.d.ts +2 -2
  16. package/dist/providers/ark.d.ts.map +1 -1
  17. package/dist/providers/ark.js +47 -4
  18. package/dist/providers/ark.js.map +1 -1
  19. package/dist/providers/dashscope.js +2 -2
  20. package/dist/providers/dashscope.js.map +1 -1
  21. package/dist/providers/kling.js +2 -2
  22. package/dist/providers/kling.js.map +1 -1
  23. package/dist/providers/minimax.js +2 -2
  24. package/dist/providers/minimax.js.map +1 -1
  25. package/dist/providers/models.d.ts.map +1 -1
  26. package/dist/providers/models.js +9 -0
  27. package/dist/providers/models.js.map +1 -1
  28. package/dist/providers/newapi.js +2 -2
  29. package/dist/providers/newapi.js.map +1 -1
  30. package/dist/providers/openrouter.js +2 -2
  31. package/dist/providers/openrouter.js.map +1 -1
  32. package/dist/providers/request.d.ts +11 -1
  33. package/dist/providers/request.d.ts.map +1 -1
  34. package/dist/providers/request.js +56 -0
  35. package/dist/providers/request.js.map +1 -1
  36. package/dist/providers/task.d.ts +4 -0
  37. package/dist/providers/task.d.ts.map +1 -1
  38. package/dist/providers/task.js +10 -2
  39. package/dist/providers/task.js.map +1 -1
  40. package/dist/render.d.ts +6 -4
  41. package/dist/render.d.ts.map +1 -1
  42. package/dist/render.js +53 -11
  43. package/dist/render.js.map +1 -1
  44. package/dist/types.d.ts +49 -0
  45. package/dist/types.d.ts.map +1 -1
  46. package/package.json +5 -5
  47. package/skills/video-gen/SKILL.md +90 -171
  48. package/skills/video-gen/evals.json +65 -0
  49. package/skills/video-gen/references/seedance-personas.json +72626 -0
  50. package/skills/video-gen/references/seedance-public-material-library.md +269 -0
  51. package/skills/video-gen/scripts/search-seedance-personas.mjs +75 -0
@@ -161,8 +161,8 @@ export const openrouterAdapter = {
161
161
  throw new VideoGenError(`The provider returned an unknown task status. Task id kept for support: ${handle.taskId}.`, 'openrouter inspect: unknown status');
162
162
  }
163
163
  },
164
- async downloadTo(_provider, _handle, videoUrl, destPath, fetchImpl, signal) {
165
- return downloadFile({ url: videoUrl, destPath, fetchImpl, signal });
164
+ async downloadTo(provider, _handle, videoUrl, destPath, fetchImpl, signal) {
165
+ return downloadFile({ url: videoUrl, destPath, fetchImpl, provider, signal });
166
166
  },
167
167
  // cancel: not covered by the submitted docs; local stops are polling_stopped.
168
168
  };
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/providers/openrouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../src/providers/openrouter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,14 @@
1
- import type { GenerateVideoParams } from '../types.js';
1
+ import type { GenerateVideoParams, ReferenceAsset, VideoApiStyle, VideoModelCapabilities } from '../types.js';
2
+ /** Validate public JSON and normalize `asset://asset-...` to canonical `asset-...`. */
3
+ export declare function normalizeReferenceAssets(value: unknown, path?: string): ReferenceAsset[];
4
+ /** Pure capability preflight shared by single-clip and multi-shot orchestration. */
5
+ export declare function referenceAssetPreflightError(options: {
6
+ providerStyle: VideoApiStyle;
7
+ modelId: string;
8
+ capabilities: VideoModelCapabilities;
9
+ referenceAssets: ReferenceAsset[];
10
+ localImageReferences: number;
11
+ }): string | undefined;
2
12
  /** Stable identity shared by orchestration and every provider adapter. */
3
13
  export declare function requestFingerprint(remoteModelId: string, params: GenerateVideoParams): string;
4
14
  //# sourceMappingURL=request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/providers/request.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAkB7F"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/providers/request.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,cAAc,EAEd,aAAa,EACb,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAKrB,uFAAuF;AACvF,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,IAAI,SAAoB,GACvB,cAAc,EAAE,CA8BlB;AAED,oFAAoF;AACpF,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,sBAAsB,CAAC;IACrC,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GAAG,MAAM,GAAG,SAAS,CA4BrB;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAmB7F"}
@@ -1,4 +1,59 @@
1
1
  import { createHash } from 'node:crypto';
2
+ import { VideoGenError } from '../errors.js';
3
+ const REFERENCE_ASSET_MODALITIES = new Set(['image', 'video', 'audio']);
4
+ const ASSET_ID = /^asset-[A-Za-z0-9_-]{1,128}$/;
5
+ /** Validate public JSON and normalize `asset://asset-...` to canonical `asset-...`. */
6
+ export function normalizeReferenceAssets(value, path = 'referenceAssets') {
7
+ if (value === undefined)
8
+ return [];
9
+ if (!Array.isArray(value)) {
10
+ throw new VideoGenError(`${path} must be an array.`, 'request: bad reference assets');
11
+ }
12
+ return value.map((raw, index) => {
13
+ const where = `${path}[${index}]`;
14
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
15
+ throw new VideoGenError(`${where} must be an object.`, 'request: bad reference asset');
16
+ }
17
+ const { modality, assetId: rawAssetId } = raw;
18
+ if (typeof modality !== 'string' ||
19
+ !REFERENCE_ASSET_MODALITIES.has(modality)) {
20
+ throw new VideoGenError(`${where}.modality must be image, video, or audio.`, 'request: bad reference asset modality');
21
+ }
22
+ const assetId = typeof rawAssetId === 'string' ? rawAssetId.trim().replace(/^asset:\/\//, '') : '';
23
+ if (!ASSET_ID.test(assetId)) {
24
+ throw new VideoGenError(`${where}.assetId must be an Asset ID like "asset-..." or an URI like "asset://asset-..." from the current account/project.`, 'request: bad reference asset id');
25
+ }
26
+ return { modality: modality, assetId };
27
+ });
28
+ }
29
+ /** Pure capability preflight shared by single-clip and multi-shot orchestration. */
30
+ export function referenceAssetPreflightError(options) {
31
+ const { providerStyle, modelId, capabilities, referenceAssets, localImageReferences } = options;
32
+ const supported = providerStyle === 'ark' ? (capabilities.referenceAssetModalities ?? []) : [];
33
+ if (referenceAssets.length > 0 && supported.length === 0) {
34
+ return `The active ${providerStyle} provider/model (${modelId}) does not support trusted asset references. Remove referenceAssets or switch models.`;
35
+ }
36
+ const unsupported = referenceAssets.find((asset) => !supported.includes(asset.modality));
37
+ if (unsupported) {
38
+ return `The active model (${modelId}) does not support ${unsupported.modality} trusted assets. Supported modalities: ${supported.join(', ')}.`;
39
+ }
40
+ const counts = {
41
+ image: localImageReferences + referenceAssets.filter((asset) => asset.modality === 'image').length,
42
+ video: referenceAssets.filter((asset) => asset.modality === 'video').length,
43
+ audio: referenceAssets.filter((asset) => asset.modality === 'audio').length,
44
+ };
45
+ const limits = {
46
+ image: capabilities.maxReferenceImages,
47
+ video: capabilities.maxReferenceVideos ?? 0,
48
+ audio: capabilities.maxReferenceAudios ?? 0,
49
+ };
50
+ for (const modality of REFERENCE_ASSET_MODALITIES) {
51
+ if (counts[modality] > limits[modality]) {
52
+ return `Too many ${modality} references (${counts[modality]}) — ${modelId} accepts at most ${limits[modality]}.`;
53
+ }
54
+ }
55
+ return undefined;
56
+ }
2
57
  /** Stable identity shared by orchestration and every provider adapter. */
3
58
  export function requestFingerprint(remoteModelId, params) {
4
59
  return createHash('sha256')
@@ -9,6 +64,7 @@ export function requestFingerprint(remoteModelId, params) {
9
64
  firstFramePath: params.firstFramePath,
10
65
  lastFramePath: params.lastFramePath,
11
66
  referenceImagePaths: params.referenceImagePaths,
67
+ referenceAssets: params.referenceAssets,
12
68
  durationSec: params.durationSec,
13
69
  aspectRatio: params.aspectRatio,
14
70
  resolution: params.resolution,
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/providers/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,0EAA0E;AAC1E,MAAM,UAAU,kBAAkB,CAAC,aAAqB,EAAE,MAA2B;IACnF,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CACL,IAAI,CAAC,SAAS,CAAC;QACb,KAAK,EAAE,aAAa;QACpB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;QAC/C,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CACH;SACA,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/providers/request.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,10 @@ export declare function downloadFile(opts: {
34
34
  url: string;
35
35
  destPath: string;
36
36
  fetchImpl: typeof fetch;
37
+ /** The provider this download belongs to — its baseUrl host is trusted for SSRF. */
38
+ provider: {
39
+ baseUrl: string;
40
+ };
37
41
  signal?: AbortSignal | undefined;
38
42
  maxBytes?: number | undefined;
39
43
  timeoutMs?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/providers/task.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnE;;;;;GAKG;AAEH;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI3D;AAwBD,qBAAa,cAAe,SAAQ,aAAa;;CAIhD;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IACnC,KAAK,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACjE,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC,CA8C7D;AAeD,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,GAAG,OAAO,CAAC,aAAa,CAAC,CAsGzB;AAED;;;;GAIG;AACH,qBAAa,WAAW;IAIpB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAJ7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;gBAGnB,YAAY,CAAC,EAAE,MAAM,YAAA,EACrB,SAAS,CAAC,EAAE,MAAM,YAAA;IAG/B,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBnD"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/providers/task.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnE;;;;;GAKG;AAEH;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI3D;AAwBD,qBAAa,cAAe,SAAQ,aAAa;;CAIhD;AAED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IACnC,KAAK,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACjE,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC,CA8C7D;AAeD,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,oFAAoF;IACpF,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,GAAG,OAAO,CAAC,aAAa,CAAC,CAgHzB;AAED;;;;GAIG;AACH,qBAAa,WAAW;IAIpB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAJ7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;gBAGnB,YAAY,CAAC,EAAE,MAAM,YAAA,EACrB,SAAS,CAAC,EAAE,MAAM,YAAA;IAG/B,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBnD"}
@@ -1,8 +1,9 @@
1
1
  import { createWriteStream, existsSync } from 'node:fs';
2
2
  import { lstat, rename, unlink } from 'node:fs/promises';
3
+ import { isIP } from 'node:net';
3
4
  import { Readable, Transform } from 'node:stream';
4
5
  import { pipeline } from 'node:stream/promises';
5
- import { safeFetch } from '@amaster.ai/pi-shared';
6
+ import { hostFromUrl, safeFetch, trustedHostsFromUrls } from '@amaster.ai/pi-shared';
6
7
  import { RemoteTaskFailedError, RetryableProviderError, safeBasename, VideoGenError, } from '../errors.js';
7
8
  /**
8
9
  * Shared machinery for task-style video APIs: poll-with-limits, streaming
@@ -126,9 +127,16 @@ export async function downloadFile(opts) {
126
127
  throw new VideoGenError(`Refusing to write ${safeBasename(opts.destPath)} — it already exists and is not a regular file (symlink?). Remove it and retry.`, 'download: destination not a file');
127
128
  }
128
129
  }
130
+ // The video URL comes from the configured provider. Trust the configured
131
+ // baseUrl host outright (operator intent), plus the returned media host when
132
+ // it is a DNS name — under fake-ip DNS such hosts resolve to 198.18/16 and
133
+ // the proxy dials the real address upstream. An IP-literal media host (a
134
+ // loopback/private address the provider returned) keeps the full guard.
135
+ const mediaHost = hostFromUrl(opts.url);
136
+ const trustedHosts = trustedHostsFromUrls(opts.provider.baseUrl, mediaHost && !isIP(mediaHost.replace(/^\[|\]$/g, '')) ? opts.url : undefined);
129
137
  let res;
130
138
  try {
131
- res = await safeFetch(opts.url, { signal });
139
+ res = await safeFetch(opts.url, { signal }, { trustedHosts });
132
140
  }
133
141
  catch (error) {
134
142
  if (error instanceof Error && /public HTTP|redirect limit/i.test(error.message)) {
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/providers/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/providers/task.ts"],"names":[],"mappings":"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"}
package/dist/render.d.ts CHANGED
@@ -2,7 +2,7 @@ import { errorMessageForUser } from './errors.js';
2
2
  import { concatVideos } from './ffmpeg.js';
3
3
  import { type ActiveJobs } from './jobs/store.js';
4
4
  import { type RateLimiter } from './providers/task.js';
5
- import type { ResolvedModel, VideoGenSettings, VideoProviderAdapter } from './types.js';
5
+ import type { FilmPrompt, ReferenceAsset, ResolvedModel, ShotPrompt, VideoGenSettings, VideoProviderAdapter } from './types.js';
6
6
  /**
7
7
  * Multi-shot render orchestration (`video_render`).
8
8
  *
@@ -19,12 +19,14 @@ import type { ResolvedModel, VideoGenSettings, VideoProviderAdapter } from './ty
19
19
  */
20
20
  export type RenderShotInput = {
21
21
  id: string;
22
- videoPrompt: string;
23
- firstFramePath: string;
22
+ /** Structured per-shot prompt fields — assembled via assemblePrompt before submit. */
23
+ prompt: ShotPrompt;
24
+ firstFramePath?: string | undefined;
24
25
  lastFramePath?: string | undefined;
26
+ referenceAssets?: ReferenceAsset[] | undefined;
25
27
  durationSec?: number | undefined;
26
28
  };
27
- export type RenderInput = {
29
+ export type RenderInput = FilmPrompt & {
28
30
  title?: string | undefined;
29
31
  aspectRatio?: string | undefined;
30
32
  shots: RenderShotInput[];
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,mBAAmB,EAMpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EACL,KAAK,UAAU,EAOhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,EAGV,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAwHF,wBAAsB,SAAS,CAAC,IAAI,EAAE;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACzC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/C,UAAU,CAAC,EAAE,OAAO,YAAY,GAAG,SAAS,CAAC;CAC9C,GAAG,OAAO,CAAC,eAAe,CAAC,CA+c3B;AAeD,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,mBAAmB,EAMpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EACL,KAAK,UAAU,EAOhB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,EACV,UAAU,EAEV,cAAc,EAEd,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,sFAAsF;IACtF,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,eAAe,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAiLF,wBAAsB,SAAS,CAAC,IAAI,EAAE;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACzC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/C,UAAU,CAAC,EAAE,OAAO,YAAY,GAAG,SAAS,CAAC;CAC9C,GAAG,OAAO,CAAC,eAAe,CAAC,CAud3B;AAeD,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
package/dist/render.js CHANGED
@@ -7,7 +7,8 @@ import { AmbiguousSubmitError, errorMessageForUser, RemoteTaskFailedError, Remot
7
7
  import { concatVideos } from './ffmpeg.js';
8
8
  import { readApprovedFrame } from './frame-input.js';
9
9
  import { assertSafeId, loadRenderJob, readJsonFile, saveRenderJob, writeJsonAtomic, } from './jobs/store.js';
10
- import { requestFingerprint } from './providers/request.js';
10
+ import { assemblePrompt, validateFilmPrompt, validateShotPrompt } from './prompt.js';
11
+ import { normalizeReferenceAssets, referenceAssetPreflightError, requestFingerprint, } from './providers/request.js';
11
12
  import { CancelledError, pollTask } from './providers/task.js';
12
13
  let snapshotCounter = 0;
13
14
  function sha256hex(content) {
@@ -29,9 +30,10 @@ function specFingerprint(specRaw, resolved) {
29
30
  }
30
31
  function expectedSnapshotKeys(spec, cwd) {
31
32
  return spec.shots.flatMap((shot) => {
32
- const keys = [
33
- join('shots', shot.id, `first_frame${extname(resolve(cwd, shot.firstFramePath)) || '.png'}`),
34
- ];
33
+ const keys = [];
34
+ if (shot.firstFramePath) {
35
+ keys.push(join('shots', shot.id, `first_frame${extname(resolve(cwd, shot.firstFramePath)) || '.png'}`));
36
+ }
35
37
  if (shot.lastFramePath) {
36
38
  keys.push(join('shots', shot.id, `last_frame${extname(resolve(cwd, shot.lastFramePath)) || '.png'}`));
37
39
  }
@@ -57,22 +59,49 @@ function parseRenderSpec(raw) {
57
59
  if (!spec || typeof spec !== 'object' || !Array.isArray(spec.shots) || spec.shots.length === 0) {
58
60
  throw new VideoGenError('render-input.json must contain a non-empty "shots" array.', 'render: no shots');
59
61
  }
62
+ const charactersError = validateFilmPrompt(spec, 'render-input.json');
63
+ if (charactersError) {
64
+ throw new VideoGenError(charactersError, 'render: bad characters');
65
+ }
66
+ // Type-check, not truthiness: 0/false/"" would skip the capability check but
67
+ // still flow through `??` into the fingerprint and paid request.
68
+ if (spec.aspectRatio !== undefined &&
69
+ (typeof spec.aspectRatio !== 'string' || spec.aspectRatio.trim() === '')) {
70
+ throw new VideoGenError('render-input.json aspectRatio must be a non-empty string (e.g. "16:9").', 'render: bad ratio type');
71
+ }
60
72
  const seen = new Set();
61
73
  spec.shots.forEach((shot, i) => {
62
74
  const where = `shots[${i}]${shot?.id ? ` ("${shot.id}")` : ''}`;
63
75
  if (!shot || typeof shot !== 'object') {
64
76
  throw new VideoGenError(`${where} is not an object.`, 'render: bad shot');
65
77
  }
66
- assertSafeId(String(shot.id ?? ''), 'shot');
78
+ if (typeof shot.id !== 'string' || shot.id.trim() === '') {
79
+ throw new VideoGenError(`${where}.id must be a non-empty string.`, 'render: bad id type');
80
+ }
81
+ assertSafeId(shot.id, 'shot');
67
82
  if (seen.has(shot.id)) {
68
83
  throw new VideoGenError(`Duplicate shot id "${shot.id}" — ids must be unique.`, 'render: dup shot id');
69
84
  }
70
85
  seen.add(shot.id);
71
- if (typeof shot.videoPrompt !== 'string' || shot.videoPrompt.trim() === '') {
72
- throw new VideoGenError(`${where}.videoPrompt is required (motion + optional audio cues).`, 'render: no prompt');
86
+ if (shot.firstFramePath !== undefined &&
87
+ (typeof shot.firstFramePath !== 'string' || shot.firstFramePath.trim() === '')) {
88
+ throw new VideoGenError(`${where}.firstFramePath must be a path string when present.`, 'render: bad first frame type');
89
+ }
90
+ if (shot.lastFramePath !== undefined &&
91
+ (typeof shot.lastFramePath !== 'string' || shot.lastFramePath.trim() === '')) {
92
+ throw new VideoGenError(`${where}.lastFramePath must be a path string when present.`, 'render: bad last frame type');
73
93
  }
74
- if (typeof shot.firstFramePath !== 'string' || shot.firstFramePath.trim() === '') {
75
- throw new VideoGenError(`${where}.firstFramePath is required — generate the frame via image_generate first and point at its returned path.`, 'render: no frame');
94
+ if (shot.lastFramePath && !shot.firstFramePath) {
95
+ throw new VideoGenError(`${where}.lastFramePath requires firstFramePath.`, 'render: last frame without first');
96
+ }
97
+ const referenceAssets = normalizeReferenceAssets(shot.referenceAssets, `${where}.referenceAssets`);
98
+ shot.referenceAssets = referenceAssets.length > 0 ? referenceAssets : undefined;
99
+ if (!shot.firstFramePath && !shot.referenceAssets) {
100
+ throw new VideoGenError(`${where} requires firstFramePath or at least one referenceAsset.`, 'render: missing visual input');
101
+ }
102
+ const promptError = validateShotPrompt(spec, shot.prompt, { hasFirstFrame: Boolean(shot.firstFramePath?.trim()) }, `${where}.prompt`);
103
+ if (promptError) {
104
+ throw new VideoGenError(promptError, 'render: bad prompt');
76
105
  }
77
106
  if (shot.durationSec !== undefined &&
78
107
  (typeof shot.durationSec !== 'number' || !Number.isSafeInteger(shot.durationSec))) {
@@ -142,6 +171,16 @@ export async function runRender(opts) {
142
171
  throw new VideoGenError(`aspectRatio must be one of ${caps.aspectRatios.join(', ')} for ${resolved.entry.id} (got ${spec.aspectRatio}).`, 'render: bad ratio');
143
172
  }
144
173
  for (const shot of spec.shots) {
174
+ const referenceError = referenceAssetPreflightError({
175
+ providerStyle: resolved.provider.style,
176
+ modelId: resolved.entry.id,
177
+ capabilities: caps,
178
+ referenceAssets: shot.referenceAssets ?? [],
179
+ localImageReferences: (shot.firstFramePath ? 1 : 0) + (shot.lastFramePath ? 1 : 0),
180
+ });
181
+ if (referenceError) {
182
+ throw new VideoGenError(`Shot "${shot.id}": ${referenceError}`, 'render: invalid references');
183
+ }
145
184
  const d = shot.durationSec ?? resolved.entry.defaultDurationSec;
146
185
  if (d < caps.durations[0] || d > caps.durations[1]) {
147
186
  throw new VideoGenError(`Shot "${shot.id}" durationSec ${d}s is outside ${caps.durations[0]}-${caps.durations[1]}s for ${resolved.entry.id}.`, 'render: bad duration');
@@ -294,16 +333,19 @@ export async function runRender(opts) {
294
333
  const videoPath = join(realShotsDir, shot.id, 'video.mp4');
295
334
  if (shotState.state === 'done' && existsSync(videoPath))
296
335
  return;
297
- const firstSnap = join(jobDir, 'shots', shot.id, `first_frame${pickExt(manifest, shot.id, 'firstFrame')}`);
336
+ const firstSnap = shot.firstFramePath
337
+ ? join(jobDir, 'shots', shot.id, `first_frame${pickExt(manifest, shot.id, 'firstFrame')}`)
338
+ : undefined;
298
339
  const lastSnap = shot.lastFramePath
299
340
  ? join(jobDir, 'shots', shot.id, `last_frame${pickExt(manifest, shot.id, 'lastFrame')}`)
300
341
  : undefined;
301
342
  const attempt = shotState.attempt ?? 1;
302
343
  const params = {
303
- prompt: shot.videoPrompt,
344
+ prompt: assemblePrompt(spec, shot.prompt),
304
345
  requestId: `${jobId}:${shot.id}:${attempt}`,
305
346
  firstFramePath: firstSnap,
306
347
  lastFramePath: lastSnap,
348
+ referenceAssets: shot.referenceAssets,
307
349
  durationSec: shot.durationSec ?? resolved.entry.defaultDurationSec,
308
350
  aspectRatio: spec.aspectRatio ?? resolved.entry.defaultAspectRatio,
309
351
  resolution: resolved.entry.defaultResolution,
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAEL,YAAY,EACZ,aAAa,EAEb,YAAY,EACZ,aAAa,EACb,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAoB,MAAM,qBAAqB,CAAC;AAkDjF,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB,SAAS,SAAS,CAAC,OAAwB;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,QAAuB;IAC/D,OAAO,SAAS,CACd,IAAI,CAAC,SAAS,CAAC;QACb,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,QAAQ,CAAC,QAAQ;QACxB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK;QACjC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;QAClC,QAAQ,EAAE;YACR,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB;YAC5C,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB;YAC9C,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB;SAC/C;QACD,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;KAC1C,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAiB,EAAE,GAAW;IAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACjC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CACP,IAAI,CACF,OAAO,EACP,IAAI,CAAC,EAAE,EACP,cAAc,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,MAAM,EAAE,CACrE,CACF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CACP,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,aAAa,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAC3F,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,MAAgB,EAAE,QAAkB;IACpD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,uFAAuF;AACvF,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,aAAa,CAAC,sCAAsC,EAAE,uBAAuB,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,IAAI,GAAG,MAAqB,CAAC;IACnC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,aAAa,CACrB,2DAA2D,EAC3D,kBAAkB,CACnB,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACtE,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,IAAI,aAAa,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;IACrE,CAAC;IACD,6EAA6E;IAC7E,iEAAiE;IACjE,IACE,IAAI,CAAC,WAAW,KAAK,SAAS;QAC9B,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EACxE,CAAC;QACD,MAAM,IAAI,aAAa,CACrB,yEAAyE,EACzE,wBAAwB,CACzB,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAChE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,aAAa,CAAC,GAAG,KAAK,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACzD,MAAM,IAAI,aAAa,CAAC,GAAG,KAAK,iCAAiC,EAAE,qBAAqB,CAAC,CAAC;QAC5F,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,aAAa,CACrB,sBAAsB,IAAI,CAAC,EAAE,yBAAyB,EACtD,qBAAqB,CACtB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,IACE,IAAI,CAAC,cAAc,KAAK,SAAS;YACjC,CAAC,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAC9E,CAAC;YACD,MAAM,IAAI,aAAa,CACrB,GAAG,KAAK,qDAAqD,EAC7D,8BAA8B,CAC/B,CAAC;QACJ,CAAC;QACD,IACE,IAAI,CAAC,aAAa,KAAK,SAAS;YAChC,CAAC,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAC5E,CAAC;YACD,MAAM,IAAI,aAAa,CACrB,GAAG,KAAK,oDAAoD,EAC5D,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC/C,MAAM,IAAI,aAAa,CACrB,GAAG,KAAK,yCAAyC,EACjD,kCAAkC,CACnC,CAAC;QACJ,CAAC;QACD,MAAM,eAAe,GAAG,wBAAwB,CAC7C,IAAsC,CAAC,eAAe,EACvD,GAAG,KAAK,kBAAkB,CAC3B,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAClD,MAAM,IAAI,aAAa,CACrB,GAAG,KAAK,0DAA0D,EAClE,8BAA8B,CAC/B,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,kBAAkB,CACpC,IAAI,EACJ,IAAI,CAAC,MAAM,EACX,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,EACvD,GAAG,KAAK,SAAS,CAClB,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;QAC7D,CAAC;QACD,IACE,IAAI,CAAC,WAAW,KAAK,SAAS;YAC9B,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EACjF,CAAC;YACD,MAAM,IAAI,aAAa,CACrB,GAAG,KAAK,oDAAoD,EAC5D,2BAA2B,CAC5B,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,KAAU,EACV,IAAY,EACZ,MAAkC;IAElC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,UAAmB,CAAC;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QAC3F,OAAO,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,KAAK,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,UAAU,KAAK,SAAS;QAAE,MAAM,UAAU,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAa/B;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;IACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAElD,yBAAyB;IACzB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC9D,MAAM,IAAI,aAAa,CACrB,kHAAkH,EAClH,yBAAyB,CAC1B,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEtC,qEAAqE;IACrE,6EAA6E;IAC7E,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QAC5D,MAAM,IAAI,aAAa,CAAC,mCAAmC,EAAE,qBAAqB,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IACH,IAAI,UAAU,KAAK,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,aAAa,CACrB,6GAA6G,EAC7G,+BAA+B,CAChC,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,UAAU,CAAC;IAC1B,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3B,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,mBAAmB,EAAE,CAAC;QAClD,MAAM,IAAI,aAAa,CACrB,gFAAgF,EAChF,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9D,IAAI,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACzD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC,8CAA8C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,aAAa,CACrB,SAAS,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,0CAA0C,QAAQ,CAAC,KAAK,CAAC,EAAE,qKAAqK,EAClQ,yBAAyB,CAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,aAAa,CACrB,8BAA8B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,CAAC,WAAW,IAAI,EAChH,mBAAmB,CACpB,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,4BAA4B,CAAC;YAClD,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACtC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC1B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE;YAC3C,oBAAoB,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACnF,CAAC,CAAC;QACH,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,aAAa,CAAC,SAAS,IAAI,CAAC,EAAE,MAAM,cAAc,EAAE,EAAE,4BAA4B,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAChE,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,aAAa,CACrB,SAAS,IAAI,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,EACrH,sBAAsB,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,qEAAqE;QACrE,yEAAyE;QACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,aAAa,CACrB,yFAAyF,EACzF,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,QAAQ,EAAE,CAAC;YACb,0EAA0E;YAC1E,IAAI,QAAQ,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;gBAC7C,MAAM,IAAI,aAAa,CACrB,kLAAkL,EAClL,oBAAoB,CACrB,CAAC;YACJ,CAAC;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,aAAa,CACrB,4JAA4J,EAC5J,oCAAoC,CACrC,CAAC;YACJ,CAAC;YACD,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,aAAa,CACrB,qHAAqH,EACrH,iCAAiC,CAClC,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,aAAa,CACrB,2BAA2B,OAAO,0DAA0D,EAC5F,0BAA0B,CAC3B,CAAC;gBACJ,CAAC;gBACD,iEAAiE;gBACjE,qEAAqE;gBACrE,iDAAiD;gBACjD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;oBAChD,MAAM,IAAI,aAAa,CACrB,GAAG,OAAO,6EAA6E,EACvF,0BAA0B,CAC3B,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;oBACnB,MAAM,IAAI,aAAa,CACrB,kBAAkB,OAAO,gFAAgF,EACzG,qBAAqB,CACtB,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC,gBAAgB,KAAK,0BAA0B,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,kEAAkE;YAClE,IAAI,CAAC,QAAQ,EAAE,CAAC,mCAAmC,CAAC,CAAC;YACrD,MAAM,WAAW,GAA2B,EAAE,CAAC;YAC/C,MAAM,MAAM,GACV,EAAE,CAAC;YACL,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC5C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;oBACnD,MAAM,IAAI,aAAa,CACrB,SAAS,IAAI,CAAC,EAAE,sEAAsE,EACtF,0BAA0B,CAC3B,CAAC;gBACJ,CAAC;gBACD,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,WAAW,CAAU,EAAE,CAAC;oBACxD,MAAM,UAAU,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;oBACpF,IAAI,CAAC,UAAU;wBAAE,SAAS;oBAC1B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;oBAC3C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;oBAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC;oBACzC,MAAM,OAAO,GAAG,IAAI,CAClB,OAAO,EACP,IAAI,CAAC,EAAE,EACP,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,GAAG,GAAG,EAAE,CAChE,CAAC;oBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBACvC,kEAAkE;oBAClE,iEAAiE;oBACjE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBACzD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;wBAClE,MAAM,IAAI,aAAa,CACrB,qBAAqB,OAAO,iFAAiF,EAC7G,yCAAyC,CAC1C,CAAC;oBACJ,CAAC;oBACD,qDAAqD;oBACrD,mEAAmE;oBACnE,IAAI,OAAO,GAAG,EAAE,CAAC;oBACjB,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;wBACtB,MAAM,SAAS,GAAG,GAAG,QAAQ,QAAQ,OAAO,CAAC,GAAG,IAAI,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC;wBAC7E,IAAI,CAAC;4BACH,MAAM,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;4BACvD,OAAO,GAAG,SAAS,CAAC;4BACpB,MAAM;wBACR,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gCAAE,SAAS;4BACjE,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gCACvD,MAAM,IAAI,aAAa,CACrB,SAAS,IAAI,CAAC,EAAE,KAAK,IAAI,kBAAkB,YAAY,CAAC,UAAU,CAAC,qDAAqD,EACxH,0BAA0B,CAC3B,CAAC;4BACJ,CAAC;4BACD,MAAM,KAAK,CAAC;wBACd,CAAC;oBACH,CAAC;oBACD,MAAM,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAChC,qEAAqE;oBACrE,qEAAqE;oBACrE,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACjD,WAAW,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;oBAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,GAAG;wBAC7B,UAAU,EAAE,SAAS;wBACrB,YAAY,EAAE,OAAO;wBACrB,MAAM,EAAE,IAAI;qBACb,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,uEAAuE;YACvE,qEAAqE;YACrE,sEAAsE;YACtE,0CAA0C;YAC1C,MAAM,SAAS,GAAG,YAAY,CAAU,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;YACrE,yEAAyE;YACzE,wEAAwE;YACxE,uDAAuD;YACvD,MAAM,WAAW,GAAI,SAA8C,EAAE,MAAM,CAAC;YAC5E,MAAM,UAAU,GACd,SAAS,KAAK,SAAS;gBACvB,CAAC,OAAO,SAAS,KAAK,QAAQ;oBAC5B,SAAS,KAAK,IAAI;oBAClB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;oBACxB,CAAC,WAAW,KAAK,SAAS;wBACxB,CAAC,OAAO,WAAW,KAAK,QAAQ;4BAC9B,WAAW,KAAK,IAAI;4BACpB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,IAAI,aAAa,CACrB,wIAAwI,EACxI,8BAA8B,CAC/B,CAAC;YACJ,CAAC;YACD,MAAM,cAAc,GAAG,CAAC,WAAW,IAAI,EAAE,CAA4B,CAAC;YACtE,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE;gBAC3C,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE;gBACxC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;YACH,QAAQ,GAAG;gBACT,KAAK;gBACL,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,eAAe,EAAE,WAAW;gBAC5B,WAAW;gBACX,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAC,CAAC,CAAC;gBACvF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;YACF,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,yCAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,IAAI,YAAY,CAAC;QAC/C,MAAM,UAAU,GAAG,KAAK,EAAE,IAAqB,EAAiB,EAAE;YAChE,MAAM,SAAS,GAAG,QAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YAC3D,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO;YAEhE,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc;gBACnC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,cAAc,OAAO,CAAC,QAAS,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC;gBAC3F,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa;gBACjC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,aAAa,OAAO,CAAC,QAAS,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC;gBACzF,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC;YACvC,MAAM,MAAM,GAAwB;gBAClC,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;gBACzC,SAAS,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE;gBAC3C,cAAc,EAAE,SAAS;gBACzB,aAAa,EAAE,QAAQ;gBACvB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,kBAAkB;gBAClE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,kBAAkB;gBAClE,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB;gBAC5C,aAAa,EAAE,IAAI,CAAC,WAAW;aAChC,CAAC;YACF,IAAI,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAEtE,sEAAsE;YACtE,wEAAwE;YACxE,+CAA+C;YAC/C,IAAI,SAAS,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBACpC,MAAM,IAAI,aAAa,CACrB,SAAS,IAAI,CAAC,EAAE,8HAA8H,KAAK,IAAI,IAAI,CAAC,EAAE,mDAAmD,KAAK,IAAI,IAAI,CAAC,EAAE,6CAA6C,EAC9Q,wBAAwB,CACzB,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,GAAiC,SAAS,CAAC,MAAM,CAAC;YAC5D,IAAI,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC;YACvC,IACE,MAAM;gBACN,SAAS,CAAC,kBAAkB,KAAK,cAAc;gBAC/C,SAAS,CAAC,kBAAkB,KAAK,iBAAiB,EAClD,CAAC;gBACD,MAAM,IAAI,aAAa,CACrB,SAAS,IAAI,CAAC,EAAE,8FAA8F,EAC9G,qCAAqC,CACtC,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,cAAc,GAAG,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C,MAAM,CAAC,SAAS,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,cAAc,EAAE,CAAC;gBAC3D,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC3E,iBAAiB,GAAG,oBAAoB,CAAC;gBACzC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;gBAChD,qEAAqE;gBACrE,kDAAkD;gBAClD,QAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;oBACzB,KAAK,EAAE,WAAW;oBAClB,OAAO,EAAE,cAAc;oBACvB,kBAAkB,EAAE,oBAAoB;iBACzC,CAAC;gBACF,aAAa,CAAC,MAAM,EAAE,QAAS,CAAC,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAC3B,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,QAAQ,EACjB,MAAM,EACN,KAAK,EACL,IAAI,CAAC,MAAM,CACZ,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,QAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;wBACzB,KAAK,EAAE,KAAK,YAAY,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;wBACrE,OAAO,EAAE,cAAc;wBACvB,kBAAkB,EAAE,oBAAoB;wBACxC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;qBAC3B,CAAC;oBACF,aAAa,CAAC,MAAM,EAAE,QAAS,CAAC,CAAC;oBACjC,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,QAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;oBACzB,KAAK,EAAE,WAAW;oBAClB,OAAO,EAAE,cAAc;oBACvB,MAAM;oBACN,kBAAkB,EAAE,oBAAoB;iBACzC,CAAC;gBACF,aAAa,CAAC,MAAM,EAAE,QAAS,CAAC,CAAC;YACnC,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,kBAAkB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC;gBAC/B,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;gBAC5E,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC1B,IAAI,KAAK,YAAY,uBAAuB,EAAE,CAAC;oBAC7C,QAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;wBACzB,KAAK,EAAE,WAAW;wBAClB,OAAO,EAAE,cAAc;wBACvB,MAAM;wBACN,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,IAAI,iBAAiB;wBACrE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;qBAC3B,CAAC;oBACF,aAAa,CAAC,MAAM,EAAE,QAAS,CAAC,CAAC;oBACjC,MAAM,IAAI,aAAa,CACrB,SAAS,IAAI,CAAC,EAAE,iGAAiG,KAAK,IAAI,IAAI,CAAC,EAAE,2DAA2D,EAC5L,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;gBACJ,CAAC;gBACD,IAAI,KAAK,YAAY,qBAAqB,EAAE,CAAC;oBAC3C,QAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;wBACzB,KAAK,EAAE,QAAQ;wBACf,OAAO,EAAE,cAAc;wBACvB,KAAK,EACH,KAAK,YAAY,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;qBACvF,CAAC;oBACF,aAAa,CAAC,MAAM,EAAE,QAAS,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC;YACjD,MAAM,OAAO,CAAC,UAAU,CACtB,QAAQ,CAAC,QAAQ,EACjB,MAAM,EACN,SAAS,CAAC,QAAQ,EAClB,SAAS,EACT,KAAK,EACL,IAAI,CAAC,MAAM,CACZ,CAAC;YACF,QAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;gBACzB,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,cAAc;gBACvB,MAAM;gBACN,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,IAAI,iBAAiB;gBACrE,SAAS;aACV,CAAC;YACF,aAAa,CAAC,MAAM,EAAE,QAAS,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,cAAc,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC5D,IAAI,iBAAiB,GAAG,CAAC,CAAC;gBAC1B,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM;wBAAE,SAAS;oBAC9D,IAAI,SAAS,GAAG,KAAK,CAAC;oBACtB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACnB,IAAI,CAAC;4BACH,SAAS,GAAG,CACV,MAAM,OAAO,CAAC,MAAM,CAClB,QAAQ,CAAC,QAAQ,EACjB,SAAS,CAAC,MAAM,EAChB,KAAK,EACL,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAC5B,CACF,CAAC,SAAS,CAAC;wBACd,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;wBACvD,CAAC;oBACH,CAAC;oBACD,IAAI,SAAS,EAAE,CAAC;wBACd,iBAAiB,EAAE,CAAC;wBACpB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG;4BACvB,KAAK,EAAE,QAAQ;4BACf,OAAO,EAAE,SAAS,CAAC,OAAO;4BAC1B,KAAK,EAAE,oBAAoB;yBAC5B,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;oBACtE,CAAC;gBACH,CAAC;gBACD,aAAa,CAAC,MAAM,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBACjE,MAAM,IAAI,aAAa,CACrB,iBAAiB,GAAG,CAAC;oBACnB,CAAC,CAAC,iCAAiC,iBAAiB,0HAA0H;oBAC9K,CAAC,CAAC,gIAAgI,EACpI,yBAAyB,CAC1B,CAAC;YACJ,CAAC;YACD,aAAa,CAAC,MAAM,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpF,MAAM,KAAK,CAAC;QACd,CAAC;QAED,YAAY;QACZ,QAAQ,CAAC,KAAK,GAAG,eAAe,CAAC;QACjC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,EAAE,CAAC,iBAAiB,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC;gBACX,MAAM;gBACN,UAAU,EAAE,cAAc;gBAC1B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,KAAK,YAAY,cAAc,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;YAC1E,aAAa,CAAC,MAAM,EAAE;gBACpB,GAAG,QAAQ;gBACX,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ;gBAC/C,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;aAC3B,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;QAED,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC;QACxB,QAAQ,CAAC,cAAc,GAAG,cAAc,CAAC;QACzC,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC3E,CAAC;YAAS,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,SAAS,OAAO,CACd,QAA2B,EAC3B,MAAc,EACd,IAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAC3F,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACxD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
package/dist/types.d.ts CHANGED
@@ -11,9 +11,20 @@
11
11
  */
12
12
  /** Wire format, NOT vendor — the same model via official or proxy endpoints differs only in baseUrl. */
13
13
  export type VideoApiStyle = 'ark' | 'kling' | 'dashscope' | 'openrouter' | 'newapi' | 'minimax';
14
+ export type ReferenceAssetModality = 'image' | 'video' | 'audio';
15
+ /** A provider-managed trusted asset selected in the caller's current account/project. */
16
+ export type ReferenceAsset = {
17
+ modality: ReferenceAssetModality;
18
+ /** Canonical id only (`asset-...`); public inputs may also use `asset://asset-...`. */
19
+ assetId: string;
20
+ };
14
21
  export type VideoModelCapabilities = {
15
22
  /** Max reference images a request may carry (0 = text-to-video only). */
16
23
  maxReferenceImages: number;
24
+ /** Max provider-managed reference videos a request may carry. */
25
+ maxReferenceVideos?: number | undefined;
26
+ /** Max provider-managed reference audio clips a request may carry. */
27
+ maxReferenceAudios?: number | undefined;
17
28
  /** Inclusive [min, max] clip duration in seconds. */
18
29
  durations: [number, number];
19
30
  resolutions: string[];
@@ -22,6 +33,8 @@ export type VideoModelCapabilities = {
22
33
  nativeAudio: boolean;
23
34
  /** First+last frame interpolation is actually honored by this endpoint. */
24
35
  supportsFirstLastFrame: boolean;
36
+ /** Provider-managed trusted asset modalities accepted by this model. */
37
+ referenceAssetModalities?: ReferenceAssetModality[] | undefined;
25
38
  };
26
39
  export type BuiltInVideoModel = {
27
40
  id: string;
@@ -112,6 +125,40 @@ export type ResolvedModel = {
112
125
  remoteId: string;
113
126
  provider: ResolvedProvider;
114
127
  };
128
+ /** A film-level character whose description is inlined into shot prompts on demand. */
129
+ export type PromptCharacter = {
130
+ id: string;
131
+ /** Static + dynamic appearance (face, hair, build, outfit). */
132
+ description: string;
133
+ };
134
+ /**
135
+ * Per-shot prompt fields. Content is authored by the caller (skill/LLM);
136
+ * assembly into the provider string is mechanical (see prompt.ts).
137
+ */
138
+ export type ShotPrompt = {
139
+ /** Setting of the shot. Required when no first frame anchors the visuals. */
140
+ scene?: string | undefined;
141
+ /** Camera, framing, composition ("Static camera, medium close-up, …"). */
142
+ visuals: string;
143
+ /** In-frame action/movement. */
144
+ action: string;
145
+ /** Time-varying visuals a static frame cannot carry: transformations, lighting shifts, particles, mood. */
146
+ effects?: string | undefined;
147
+ /** Audio cues, e.g. "[Sound Effect] rain; [Speaker] Alice (soft): line". */
148
+ audio?: string | undefined;
149
+ /** Ids of film-level characters appearing in this shot. */
150
+ visibleCharacters?: string[] | undefined;
151
+ };
152
+ /** Film-level prompt fields shared across shots. */
153
+ export type FilmPrompt = {
154
+ /** Overall look: genre, quality, render texture ("cinematic, 8K, film grain"). */
155
+ style?: string | undefined;
156
+ characters?: PromptCharacter[] | undefined;
157
+ /** Consistency directive ("Face, hair and outfit stay identical, no morphing or drift"). */
158
+ consistency?: string | undefined;
159
+ /** Negative directive ("no text, watermarks, or subtitles"). */
160
+ negative?: string | undefined;
161
+ };
115
162
  export type GenerateVideoParams = {
116
163
  prompt: string;
117
164
  /** Stable orchestration identity for provider idempotency/recovery keys. */
@@ -120,6 +167,8 @@ export type GenerateVideoParams = {
120
167
  lastFramePath?: string | undefined;
121
168
  /** Additional reference images (subject/style), roles mapped per provider. */
122
169
  referenceImagePaths?: string[] | undefined;
170
+ /** Provider-managed trusted assets, kept in caller order for prompt numbering. */
171
+ referenceAssets?: ReferenceAsset[] | undefined;
123
172
  durationSec?: number | undefined;
124
173
  aspectRatio?: string | undefined;
125
174
  resolution?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}