vidspotai-shared 1.0.100 → 1.0.101
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/lib/globals/aiModels/enums.d.ts +1 -0
- package/lib/globals/aiModels/enums.d.ts.map +1 -1
- package/lib/globals/aiModels/enums.js +3 -0
- package/lib/globals/aiModels/extendCapability.d.ts +26 -0
- package/lib/globals/aiModels/extendCapability.d.ts.map +1 -0
- package/lib/globals/aiModels/extendCapability.js +42 -0
- package/lib/globals/aiModels/index.d.ts +1 -0
- package/lib/globals/aiModels/index.d.ts.map +1 -1
- package/lib/globals/aiModels/index.js +1 -0
- package/lib/globals/aiModels/providers/hostedAvatars.js +10 -10
- package/lib/globals/types.d.ts +34 -2
- package/lib/globals/types.d.ts.map +1 -1
- package/lib/globals/types.js +37 -0
- package/lib/models/demoVideoProject.model.d.ts +213 -0
- package/lib/models/demoVideoProject.model.d.ts.map +1 -1
- package/lib/models/index.d.ts +2 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/index.js +2 -0
- package/lib/models/mediaUpload.model.d.ts +25 -0
- package/lib/models/mediaUpload.model.d.ts.map +1 -1
- package/lib/models/productConnection.model.d.ts +57 -0
- package/lib/models/productConnection.model.d.ts.map +1 -0
- package/lib/models/productConnection.model.js +7 -0
- package/lib/models/video.model.d.ts +11 -0
- package/lib/models/video.model.d.ts.map +1 -1
- package/lib/models/videoQaJob.model.d.ts +61 -0
- package/lib/models/videoQaJob.model.d.ts.map +1 -0
- package/lib/models/videoQaJob.model.js +16 -0
- package/lib/schemas/brandKit.schema.d.ts +3 -1
- package/lib/schemas/brandKit.schema.d.ts.map +1 -1
- package/lib/schemas/brandKit.schema.js +9 -0
- package/lib/schemas/brief.schema.d.ts +5 -4
- package/lib/schemas/brief.schema.d.ts.map +1 -1
- package/lib/schemas/brief.schema.js +23 -1
- package/lib/schemas/demoQuestion.schema.d.ts +24 -4
- package/lib/schemas/demoQuestion.schema.d.ts.map +1 -1
- package/lib/schemas/demoQuestion.schema.js +8 -2
- package/lib/schemas/demoSpec.schema.d.ts +40 -6
- package/lib/schemas/demoSpec.schema.d.ts.map +1 -1
- package/lib/schemas/demoSpec.schema.js +46 -1
- package/lib/schemas/project.schema.d.ts +33 -3
- package/lib/schemas/project.schema.d.ts.map +1 -1
- package/lib/schemas/project.schema.js +22 -0
- package/lib/schemas/social.schema.d.ts +1 -1
- package/lib/schemas/videoPlan.schema.d.ts +22 -20
- package/lib/schemas/videoPlan.schema.d.ts.map +1 -1
- package/lib/schemas/videoPlan.schema.js +19 -0
- package/lib/services/agent/editClassifier.d.ts +10 -10
- package/lib/services/agent/eval/types.d.ts +3 -2
- package/lib/services/agent/eval/types.d.ts.map +1 -1
- package/lib/services/agent/executor/core.d.ts.map +1 -1
- package/lib/services/agent/executor/core.js +11 -0
- package/lib/services/agent/planner/Planner.d.ts.map +1 -1
- package/lib/services/agent/planner/Planner.js +5 -0
- package/lib/services/agent/planner/overlayRegen.d.ts.map +1 -1
- package/lib/services/agent/planner/overlayRegen.js +5 -0
- package/lib/services/agent/planner/plannerMessages.d.ts.map +1 -1
- package/lib/services/agent/planner/plannerMessages.js +10 -1
- package/lib/services/agent/planner/scriptFirstPlanner.d.ts.map +1 -1
- package/lib/services/agent/planner/scriptFirstPlanner.js +2 -0
- package/lib/services/agent/regenCore.d.ts.map +1 -1
- package/lib/services/agent/regenCore.js +11 -1
- package/lib/services/agent/runHelpers.d.ts +8 -0
- package/lib/services/agent/runHelpers.d.ts.map +1 -1
- package/lib/services/agent/runHelpers.js +5 -1
- package/lib/services/agent/tools/chapterOutline.tool.d.ts +8 -0
- package/lib/services/agent/tools/chapterOutline.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/chapterOutline.tool.js +21 -8
- package/lib/services/agent/tools/composeScene.tool.d.ts +32 -2
- package/lib/services/agent/tools/composeScene.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/estimateCost.tool.d.ts +11 -1
- package/lib/services/agent/tools/estimateCost.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/extendVideo.tool.d.ts +9 -3
- package/lib/services/agent/tools/extendVideo.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/extendVideo.tool.js +12 -27
- package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts +1 -1
- package/lib/services/agent/tools/generateScript.tool.d.ts +3 -2
- package/lib/services/agent/tools/generateScript.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/generateScript.tool.js +16 -7
- package/lib/services/agent/tools/generateVoiceover.tool.d.ts +1 -1
- package/lib/services/agent/tools/planVideo.tool.d.ts +11 -8
- package/lib/services/agent/tools/planVideo.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/render.tool.d.ts +11 -1
- package/lib/services/agent/tools/render.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/searchStock.tool.d.ts +1 -1
- package/lib/services/agent/tools/searchUserLibrary.tool.d.ts +4 -4
- package/lib/services/aiGen/providers/kling/kling.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/kling/kling.service.js +22 -3
- package/lib/services/aiGen/providers/kling/klingStatus.d.ts +7 -0
- package/lib/services/aiGen/providers/kling/klingStatus.d.ts.map +1 -1
- package/lib/services/aiGen/providers/kling/klingStatus.js +41 -4
- package/lib/services/aiGen/providers/pixverse/pixverse.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/pixverse/pixverse.service.js +25 -0
- package/lib/services/aiGen/providers/types.d.ts +20 -0
- package/lib/services/aiGen/providers/types.d.ts.map +1 -1
- package/lib/services/avatarGen/avatarProviderFactory.d.ts.map +1 -1
- package/lib/services/avatarGen/avatarProviderFactory.js +3 -0
- package/lib/services/avatarGen/index.d.ts +1 -0
- package/lib/services/avatarGen/index.d.ts.map +1 -1
- package/lib/services/avatarGen/index.js +1 -0
- package/lib/services/avatarGen/providers/synthesiaAvatarProvider.d.ts +53 -0
- package/lib/services/avatarGen/providers/synthesiaAvatarProvider.d.ts.map +1 -0
- package/lib/services/avatarGen/providers/synthesiaAvatarProvider.js +176 -0
- package/lib/services/demo/demoAuthor.d.ts +7 -0
- package/lib/services/demo/demoAuthor.d.ts.map +1 -1
- package/lib/services/demo/demoAuthor.js +2 -0
- package/lib/services/demo/demoAuthorPrompt.d.ts +6 -0
- package/lib/services/demo/demoAuthorPrompt.d.ts.map +1 -1
- package/lib/services/demo/demoAuthorPrompt.js +24 -2
- package/lib/services/demo/demoCaptions.d.ts +69 -0
- package/lib/services/demo/demoCaptions.d.ts.map +1 -0
- package/lib/services/demo/demoCaptions.js +152 -0
- package/lib/services/demo/demoMusic.d.ts +8 -1
- package/lib/services/demo/demoMusic.d.ts.map +1 -1
- package/lib/services/demo/demoMusic.js +32 -16
- package/lib/services/demo/demoScriptPrompt.d.ts +2 -1
- package/lib/services/demo/demoScriptPrompt.d.ts.map +1 -1
- package/lib/services/demo/demoScriptPrompt.js +29 -2
- package/lib/services/demo/demoStockAssets.d.ts +29 -0
- package/lib/services/demo/demoStockAssets.d.ts.map +1 -0
- package/lib/services/demo/demoStockAssets.js +107 -0
- package/lib/services/demo/index.d.ts +3 -0
- package/lib/services/demo/index.d.ts.map +1 -1
- package/lib/services/demo/index.js +3 -0
- package/lib/services/demo/productConnection.service.d.ts +78 -0
- package/lib/services/demo/productConnection.service.d.ts.map +1 -0
- package/lib/services/demo/productConnection.service.js +125 -0
- package/lib/services/editor/planToProject.d.ts.map +1 -1
- package/lib/services/editor/planToProject.helpers.d.ts +1 -0
- package/lib/services/editor/planToProject.helpers.d.ts.map +1 -1
- package/lib/services/editor/planToProject.helpers.js +3 -0
- package/lib/services/editor/planToProject.js +39 -0
- package/lib/services/editor/projectToDesign.js +13 -1
- package/lib/services/firestore.service.d.ts +14 -0
- package/lib/services/firestore.service.d.ts.map +1 -1
- package/lib/services/firestore.service.js +16 -0
- package/lib/services/translation/index.d.ts +1 -0
- package/lib/services/translation/index.d.ts.map +1 -1
- package/lib/services/translation/index.js +8 -1
- package/lib/services/translation/outputLanguage.d.ts +75 -0
- package/lib/services/translation/outputLanguage.d.ts.map +1 -0
- package/lib/services/translation/outputLanguage.js +190 -0
- package/lib/services/translation/translation.service.d.ts +13 -2
- package/lib/services/translation/translation.service.d.ts.map +1 -1
- package/lib/services/translation/translation.service.js +66 -5
- package/lib/services/tts/index.d.ts +1 -0
- package/lib/services/tts/index.d.ts.map +1 -1
- package/lib/services/tts/index.js +1 -0
- package/lib/services/tts/providers/elevenlabs.service.d.ts +7 -0
- package/lib/services/tts/providers/elevenlabs.service.d.ts.map +1 -1
- package/lib/services/tts/providers/elevenlabs.service.js +69 -13
- package/lib/services/tts/types.d.ts +29 -0
- package/lib/services/tts/types.d.ts.map +1 -1
- package/lib/services/tts/wordTimings.d.ts +27 -0
- package/lib/services/tts/wordTimings.d.ts.map +1 -0
- package/lib/services/tts/wordTimings.js +57 -0
- package/lib/utils/billableDuration.d.ts +11 -0
- package/lib/utils/billableDuration.d.ts.map +1 -0
- package/lib/utils/billableDuration.js +91 -0
- package/lib/utils/index.d.ts +3 -0
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/index.js +3 -0
- package/lib/utils/mp4Duration.d.ts +38 -0
- package/lib/utils/mp4Duration.d.ts.map +1 -0
- package/lib/utils/mp4Duration.js +164 -0
- package/lib/utils/socialEntitlements.d.ts +51 -0
- package/lib/utils/socialEntitlements.d.ts.map +1 -0
- package/lib/utils/socialEntitlements.js +65 -0
- package/package.json +1 -1
|
@@ -31,6 +31,7 @@ export declare enum EVideoGenModels {
|
|
|
31
31
|
KLING_LIP_SYNC = "kling-lip-sync",
|
|
32
32
|
HEYGEN_AVATAR = "heygen-avatar",
|
|
33
33
|
TAVUS_AVATAR = "tavus-avatar",
|
|
34
|
+
SYNTHESIA_AVATAR = "synthesia-avatar",
|
|
34
35
|
MINIMAX_HAILUO_2_3_FAST = "minimax-hailuo-2.3-fast",
|
|
35
36
|
MINIMAX_HAILUO_2_3 = "minimax-hailuo-2.3",
|
|
36
37
|
MINIMAX_HAILUO_02 = "minimax-hailuo-02",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACzB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,0BAA0B,+BAA+B;IACzD,+BAA+B,oCAAoC;IACnE,0BAA0B,+BAA+B;IACzD,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,UAAU,eAAe;IAIzB,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAE7B,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAE3C,oBAAoB,yBAAyB;IAE7C,cAAc,mBAAmB;IAIjC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACzB,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,0BAA0B,+BAA+B;IACzD,+BAA+B,oCAAoC;IACnE,0BAA0B,+BAA+B;IACzD,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,YAAY,iBAAiB;IAC7B,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,UAAU,eAAe;IAIzB,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAE7B,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAE3C,oBAAoB,yBAAyB;IAE7C,cAAc,mBAAmB;IAIjC,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAG7B,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;IACnD,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,yBAAyB,8BAA8B;IACvD,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAG3C,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;CACxC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CAgDlB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEvF;;;;GAIG;AACH,oBAAY,eAAe;IACzB,iBAAiB,sBAAsB;IACvC,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;CAC1C;AAED,oBAAY,cAAc;IAIxB,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;IAC3C,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IAQzC,wBAAwB,6BAA6B;IACrD,yBAAyB,8BAA8B;IACvD,2BAA2B,gCAAgC;IAC3D,0BAA0B,+BAA+B;IAIzD,uBAAuB,4BAA4B;IACnD,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IACnD,qBAAqB,0BAA0B;CAChD;AAED;;;;GAIG;AACH,oBAAY,aAAa;IACvB,wBAAwB,6BAA6B;CACtD;AAED,MAAM,MAAM,WAAW,GACnB,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,aAAa,CAAC"}
|
|
@@ -44,6 +44,9 @@ var EVideoGenModels;
|
|
|
44
44
|
// avatar + voice + script; the engine does its own TTS + lipsync. ──────────
|
|
45
45
|
EVideoGenModels["HEYGEN_AVATAR"] = "heygen-avatar";
|
|
46
46
|
EVideoGenModels["TAVUS_AVATAR"] = "tavus-avatar";
|
|
47
|
+
// Synthesia — enterprise/compliance hosted avatars (140+ languages). Wired via
|
|
48
|
+
// SynthesiaAvatarProvider; runtime-gated on SYNTHESIA_API_KEY (enterprise plan).
|
|
49
|
+
EVideoGenModels["SYNTHESIA_AVATAR"] = "synthesia-avatar";
|
|
47
50
|
EVideoGenModels["MINIMAX_HAILUO_2_3_FAST"] = "minimax-hailuo-2.3-fast";
|
|
48
51
|
EVideoGenModels["MINIMAX_HAILUO_2_3"] = "minimax-hailuo-2.3";
|
|
49
52
|
EVideoGenModels["MINIMAX_HAILUO_02"] = "minimax-hailuo-02";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { EVideoGenModels } from "./enums";
|
|
2
|
+
/**
|
|
3
|
+
* Models whose provider exposes a native video-extension endpoint
|
|
4
|
+
* (`endpoint: "extend"` + `sourceTaskId`). Extension continues a SPECIFIC prior
|
|
5
|
+
* provider task, so — unlike plain generation — there is NO cross-provider
|
|
6
|
+
* fallback: the source clip physically lives on the originating provider's
|
|
7
|
+
* account. Kling video-extend (`/v1/videos/video-extend`) and Pixverse
|
|
8
|
+
* (`/video/extend/generate`) are the two implemented today.
|
|
9
|
+
*
|
|
10
|
+
* Special-endpoint Kling variants (avatar, omni-video, motion-control,
|
|
11
|
+
* lip-sync) are excluded — the generic video-extend endpoint does not accept
|
|
12
|
+
* their tasks. `kling-v3.0-turbo` is also excluded: it lives on the API 2.0
|
|
13
|
+
* `/tasks` surface, which has no video-extend equivalent.
|
|
14
|
+
*
|
|
15
|
+
* This list previously lived inside `services/agent/tools/extendVideo.tool.ts`,
|
|
16
|
+
* so ONLY the agent consulted it. The HTTP surface (`POST /v1/video/generate`)
|
|
17
|
+
* accepts `endpoint` for any `modelKey`, and every provider except Kling and
|
|
18
|
+
* Pixverse silently ignores it — meaning an extend request against e.g. Veo or
|
|
19
|
+
* Runway quietly produced a brand-new, unrelated clip at full price. It is
|
|
20
|
+
* defined here, in a dependency-free module, so the request schema can reject
|
|
21
|
+
* that up front without importing the agent tool graph.
|
|
22
|
+
*/
|
|
23
|
+
export declare const EXTEND_CAPABLE_MODELS: ReadonlySet<EVideoGenModels>;
|
|
24
|
+
/** Whether a model key can be extended via its provider's extend endpoint. */
|
|
25
|
+
export declare function modelSupportsExtend(modelKey: string): boolean;
|
|
26
|
+
//# sourceMappingURL=extendCapability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extendCapability.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/extendCapability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,eAAe,CAW7D,CAAC;AAEH,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE7D"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EXTEND_CAPABLE_MODELS = void 0;
|
|
4
|
+
exports.modelSupportsExtend = modelSupportsExtend;
|
|
5
|
+
const enums_1 = require("./enums");
|
|
6
|
+
/**
|
|
7
|
+
* Models whose provider exposes a native video-extension endpoint
|
|
8
|
+
* (`endpoint: "extend"` + `sourceTaskId`). Extension continues a SPECIFIC prior
|
|
9
|
+
* provider task, so — unlike plain generation — there is NO cross-provider
|
|
10
|
+
* fallback: the source clip physically lives on the originating provider's
|
|
11
|
+
* account. Kling video-extend (`/v1/videos/video-extend`) and Pixverse
|
|
12
|
+
* (`/video/extend/generate`) are the two implemented today.
|
|
13
|
+
*
|
|
14
|
+
* Special-endpoint Kling variants (avatar, omni-video, motion-control,
|
|
15
|
+
* lip-sync) are excluded — the generic video-extend endpoint does not accept
|
|
16
|
+
* their tasks. `kling-v3.0-turbo` is also excluded: it lives on the API 2.0
|
|
17
|
+
* `/tasks` surface, which has no video-extend equivalent.
|
|
18
|
+
*
|
|
19
|
+
* This list previously lived inside `services/agent/tools/extendVideo.tool.ts`,
|
|
20
|
+
* so ONLY the agent consulted it. The HTTP surface (`POST /v1/video/generate`)
|
|
21
|
+
* accepts `endpoint` for any `modelKey`, and every provider except Kling and
|
|
22
|
+
* Pixverse silently ignores it — meaning an extend request against e.g. Veo or
|
|
23
|
+
* Runway quietly produced a brand-new, unrelated clip at full price. It is
|
|
24
|
+
* defined here, in a dependency-free module, so the request schema can reject
|
|
25
|
+
* that up front without importing the agent tool graph.
|
|
26
|
+
*/
|
|
27
|
+
exports.EXTEND_CAPABLE_MODELS = new Set([
|
|
28
|
+
enums_1.EVideoGenModels.KLING_V2_MASTER,
|
|
29
|
+
enums_1.EVideoGenModels.KLING_V2_1,
|
|
30
|
+
enums_1.EVideoGenModels.KLING_V2_1_MASTER,
|
|
31
|
+
enums_1.EVideoGenModels.KLING_V2_5_TURBO,
|
|
32
|
+
enums_1.EVideoGenModels.KLING_V2_6,
|
|
33
|
+
enums_1.EVideoGenModels.KLING_V3_0,
|
|
34
|
+
enums_1.EVideoGenModels.PIXVERSE_V5,
|
|
35
|
+
enums_1.EVideoGenModels.PIXVERSE_V5_5,
|
|
36
|
+
enums_1.EVideoGenModels.PIXVERSE_V5_6,
|
|
37
|
+
enums_1.EVideoGenModels.PIXVERSE_V6,
|
|
38
|
+
]);
|
|
39
|
+
/** Whether a model key can be extended via its provider's extend endpoint. */
|
|
40
|
+
function modelSupportsExtend(modelKey) {
|
|
41
|
+
return exports.EXTEND_CAPABLE_MODELS.has(modelKey);
|
|
42
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/globals/aiModels/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAcvC,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CAYvB,CAAC;AAEvC,cAAc,eAAe,CAAC;AAC9B,cAAc,+BAA+B,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAMnE,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD"}
|
|
@@ -18,6 +18,7 @@ exports.aiProviderRateLimits = exports.aiModelConfigs = void 0;
|
|
|
18
18
|
exports.getProviderKey = getProviderKey;
|
|
19
19
|
__exportStar(require("./enums"), exports);
|
|
20
20
|
__exportStar(require("./types"), exports);
|
|
21
|
+
__exportStar(require("./extendCapability"), exports);
|
|
21
22
|
const pixverse_1 = require("./providers/pixverse");
|
|
22
23
|
const bytedance_1 = require("./providers/bytedance");
|
|
23
24
|
const google_1 = require("./providers/google");
|
|
@@ -86,15 +86,15 @@ exports.hostedAvatarConfigs = {
|
|
|
86
86
|
maxAutoRequeueAttempts: 5,
|
|
87
87
|
},
|
|
88
88
|
},
|
|
89
|
-
// ── Synthesia (
|
|
90
|
-
// Endpoint
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
//
|
|
94
|
-
//
|
|
95
|
-
//
|
|
96
|
-
//
|
|
97
|
-
//
|
|
89
|
+
// ── Synthesia (enterprise tier — provider WIRED, runtime-gated on key) ────
|
|
90
|
+
// Endpoint: POST /v2/videos (avatar + scriptText + avatarSettings.voice).
|
|
91
|
+
// The SynthesiaAvatarProvider is now registered in avatarProviderFactory, so
|
|
92
|
+
// isAvatarModel("synthesia-avatar") is TRUE and generation flows through the
|
|
93
|
+
// provider-agnostic AvatarJobProcessor like HeyGen/Tavus. Runtime is gated on
|
|
94
|
+
// SYNTHESIA_API_KEY (enterprise plan) — the provider constructor throws until
|
|
95
|
+
// that key is added to the env stores, the intended "wired but not enabled"
|
|
96
|
+
// enterprise state. Catalog (list avatars/voices) stays deferred: Synthesia
|
|
97
|
+
// exposes stock IDs as static reference tables, not a stable list endpoint.
|
|
98
98
|
"synthesia-avatar": {
|
|
99
99
|
modelId: "synthesia-avatar",
|
|
100
100
|
type: ["avatar-video"],
|
|
@@ -115,7 +115,7 @@ exports.hostedAvatarConfigs = {
|
|
|
115
115
|
quality: 5,
|
|
116
116
|
speed: 2,
|
|
117
117
|
bestFor: "Enterprise/compliance-grade avatars across 140+ languages; pick for regulated buyers who need studio presenters and localization at scale.",
|
|
118
|
-
notes: "
|
|
118
|
+
notes: "Hosted engine — provider wired; runtime-gated on SYNTHESIA_API_KEY (enterprise plan). Renders the whole script in one shot (no scene split). Cost UNVERIFIED.",
|
|
119
119
|
},
|
|
120
120
|
avatar: {
|
|
121
121
|
audioDurationMin: 1,
|
package/lib/globals/types.d.ts
CHANGED
|
@@ -141,7 +141,17 @@ export declare enum ERedisQueues {
|
|
|
141
141
|
* generates a landing-page slug per recipient. The per-recipient renders are
|
|
142
142
|
* ordinary avatar jobs handled by the existing AvatarJobProcessor.
|
|
143
143
|
*/
|
|
144
|
-
OUTREACH_PERSONALIZE_JOBS = "outreach-personalize-job-queue"
|
|
144
|
+
OUTREACH_PERSONALIZE_JOBS = "outreach-personalize-job-queue",
|
|
145
|
+
/**
|
|
146
|
+
* Output QA — one job per MCP `check_video_quality` / `repair_video` call.
|
|
147
|
+
* The MCP server owns no ffmpeg (and shouldn't stream video bytes through a
|
|
148
|
+
* small stateless container), so it validates + writes a `videoQaJobs` doc +
|
|
149
|
+
* enqueues here; the Express worker downloads the deliverable, runs the
|
|
150
|
+
* deterministic ffprobe/ffmpeg supervisor (`services/qa/outputQa.ts` — the
|
|
151
|
+
* same engine the demo pipeline uses), applies any permitted allow-listed
|
|
152
|
+
* repairs, and writes the report back. See notes/SAAS_DEMO_GENERATOR_PLAN.md §12.
|
|
153
|
+
*/
|
|
154
|
+
VIDEO_QA_JOBS = "video-qa-job-queue"
|
|
145
155
|
}
|
|
146
156
|
export declare const REDIS_QUEUES: ERedisQueues[];
|
|
147
157
|
/** X8 Social Suite — connected social platforms. Value = stable storage key. */
|
|
@@ -242,6 +252,16 @@ export declare enum EDemoVideoStatus {
|
|
|
242
252
|
* "awaiting_approval". No demo reaper touches this doc, so it can't be reaped.
|
|
243
253
|
*/
|
|
244
254
|
AWAITING_INPUT = "awaitingInput",
|
|
255
|
+
/**
|
|
256
|
+
* Recording real product footage in a headless browser (Tier 1 of the
|
|
257
|
+
* product-footage-capture feature — notes/PRODUCT_FOOTAGE_CAPTURE_PLAN.md).
|
|
258
|
+
* Runs between GATHERING and PLANNING when the user opted into
|
|
259
|
+
* `inputs.recordProductUrl` AND the worker's `DEMO_RECORD_ENABLED` kill-switch
|
|
260
|
+
* is on. Off by default, so most demos skip this stage entirely. Redelivery-
|
|
261
|
+
* resumable: a captured clip persisted to `capturedFootageUrls` is reused, never
|
|
262
|
+
* re-recorded.
|
|
263
|
+
*/
|
|
264
|
+
RECORDING = "recording",
|
|
245
265
|
PLANNING = "planning",
|
|
246
266
|
/**
|
|
247
267
|
* Materializing the spec's `generatedAssets` (AI images/clips the planner
|
|
@@ -253,6 +273,16 @@ export declare enum EDemoVideoStatus {
|
|
|
253
273
|
SCRIPTING = "scripting",
|
|
254
274
|
VOICING = "voicing",
|
|
255
275
|
MUXING = "muxing",
|
|
276
|
+
/**
|
|
277
|
+
* Output QA supervisor — deterministic ffprobe/ffmpeg validation of the muxed
|
|
278
|
+
* deliverable (duration parity, faststart/moov order, audio presence + non-
|
|
279
|
+
* silence, stream/dimension integrity) with a bounded ffmpeg auto-fix pass
|
|
280
|
+
* (re-mux faststart, loudness-normalize) then re-validate. Runs between MUXING
|
|
281
|
+
* and FINALIZING, demo-path only. NON-blocking: QA never fails the job — it
|
|
282
|
+
* records `qaReport` and best-effort repairs, then ships. Gated by the
|
|
283
|
+
* `DEMO_QA_DISABLED` kill-switch (on by default). See notes/SAAS_DEMO_GENERATOR_PLAN.md.
|
|
284
|
+
*/
|
|
285
|
+
QA_REVIEW = "qaReview",
|
|
256
286
|
FINALIZING = "finalizing",
|
|
257
287
|
READY = "ready",
|
|
258
288
|
FAILED = "failed",
|
|
@@ -365,7 +395,9 @@ export declare enum ERROR_CODE {
|
|
|
365
395
|
PROMPT_TOO_SHORT = "PROMPT_TOO_SHORT",
|
|
366
396
|
PROMPT_MISSING = "PROMPT_MISSING",
|
|
367
397
|
SERVICE_UNAVAILABLE = "SERVICE_UNAVAILABLE",
|
|
368
|
-
UNSUPPORTED_PARAMS = "UNSUPPORTED_PARAMS"
|
|
398
|
+
UNSUPPORTED_PARAMS = "UNSUPPORTED_PARAMS",
|
|
399
|
+
SOCIAL_NOT_ENTITLED = "SOCIAL_NOT_ENTITLED",
|
|
400
|
+
SOCIAL_ACCOUNT_LIMIT = "SOCIAL_ACCOUNT_LIMIT"
|
|
369
401
|
}
|
|
370
402
|
export declare enum ELANGUAGE_CODE {
|
|
371
403
|
af = "af",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/globals/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,cAAc,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AAED,oBAAY,eAAe;IACzB,MAAM,WAAW,CAAE,wCAAwC;IAC3D,WAAW,eAAe,CAAE,2DAA2D;IAGvF,SAAS,cAAc,CAAE,8CAA8C;IACvE,MAAM,WAAW,CAAE,+BAA+B;IAClD,mBAAmB,uBAAuB,CAAE,oEAAoE;IAChH,SAAS,cAAc;CACxB;AAED,oBAAY,iBAAiB;IAC3B,WAAW,eAAe,CAAE,qFAAqF;IACjH,SAAS,cAAc,CAAE,2FAA2F;IACpH,OAAO,YAAY,CAAE,kKAAkK;IACvL,MAAM,WAAW,CAAE,kEAAkE;IACrF,SAAS,cAAc,CAAE,sCAAsC;IAC/D;;;;;OAKG;IACH,SAAS,aAAa;IACtB;;;;;;OAMG;IACH,SAAS,cAAc;CACxB;AAMD,oBAAY,YAAY;IACtB,UAAU,oBAAoB;IAC9B,iJAAiJ;IACjJ,eAAe,yBAAyB;IACxC,6FAA6F;IAC7F,WAAW,qBAAqB;IAChC,iFAAiF;IACjF,WAAW,qBAAqB;IAChC,mJAAmJ;IACnJ,UAAU,oBAAoB;IAC9B;;;;;OAKG;IACH,cAAc,wBAAwB;IACtC;;;;OAIG;IACH,gBAAgB,0BAA0B;IAC1C;;;;;;;;OAQG;IACH,eAAe,yBAAyB;IACxC;;;;;;;OAOG;IACH,eAAe,yBAAyB;IACxC;;;;;;;;OAQG;IACH,oBAAoB,8BAA8B;IAClD;;;;;;;;OAQG;IACH,iBAAiB,2BAA2B;IAC5C;;;;;OAKG;IACH,cAAc,wBAAwB;IACtC;;;;;;OAMG;IACH,mBAAmB,6BAA6B;IAChD;;;;OAIG;IACH,mBAAmB,6BAA6B;IAChD;;;;;;;;OAQG;IACH,eAAe,yBAAyB;IACxC;;;;;;OAMG;IACH,yBAAyB,mCAAmC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/globals/types.ts"],"names":[],"mappings":"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"}
|
package/lib/globals/types.js
CHANGED
|
@@ -143,6 +143,16 @@ var ERedisQueues;
|
|
|
143
143
|
* ordinary avatar jobs handled by the existing AvatarJobProcessor.
|
|
144
144
|
*/
|
|
145
145
|
ERedisQueues["OUTREACH_PERSONALIZE_JOBS"] = "outreach-personalize-job-queue";
|
|
146
|
+
/**
|
|
147
|
+
* Output QA — one job per MCP `check_video_quality` / `repair_video` call.
|
|
148
|
+
* The MCP server owns no ffmpeg (and shouldn't stream video bytes through a
|
|
149
|
+
* small stateless container), so it validates + writes a `videoQaJobs` doc +
|
|
150
|
+
* enqueues here; the Express worker downloads the deliverable, runs the
|
|
151
|
+
* deterministic ffprobe/ffmpeg supervisor (`services/qa/outputQa.ts` — the
|
|
152
|
+
* same engine the demo pipeline uses), applies any permitted allow-listed
|
|
153
|
+
* repairs, and writes the report back. See notes/SAAS_DEMO_GENERATOR_PLAN.md §12.
|
|
154
|
+
*/
|
|
155
|
+
ERedisQueues["VIDEO_QA_JOBS"] = "video-qa-job-queue";
|
|
146
156
|
})(ERedisQueues || (exports.ERedisQueues = ERedisQueues = {}));
|
|
147
157
|
exports.REDIS_QUEUES = [
|
|
148
158
|
ERedisQueues.VIDEO_JOBS,
|
|
@@ -161,6 +171,7 @@ exports.REDIS_QUEUES = [
|
|
|
161
171
|
ERedisQueues.SOCIAL_METRICS_JOBS,
|
|
162
172
|
ERedisQueues.DEMO_VIDEO_JOBS,
|
|
163
173
|
ERedisQueues.OUTREACH_PERSONALIZE_JOBS,
|
|
174
|
+
ERedisQueues.VIDEO_QA_JOBS,
|
|
164
175
|
];
|
|
165
176
|
/** X8 Social Suite — connected social platforms. Value = stable storage key. */
|
|
166
177
|
var ESocialProvider;
|
|
@@ -271,6 +282,16 @@ var EDemoVideoStatus;
|
|
|
271
282
|
* "awaiting_approval". No demo reaper touches this doc, so it can't be reaped.
|
|
272
283
|
*/
|
|
273
284
|
EDemoVideoStatus["AWAITING_INPUT"] = "awaitingInput";
|
|
285
|
+
/**
|
|
286
|
+
* Recording real product footage in a headless browser (Tier 1 of the
|
|
287
|
+
* product-footage-capture feature — notes/PRODUCT_FOOTAGE_CAPTURE_PLAN.md).
|
|
288
|
+
* Runs between GATHERING and PLANNING when the user opted into
|
|
289
|
+
* `inputs.recordProductUrl` AND the worker's `DEMO_RECORD_ENABLED` kill-switch
|
|
290
|
+
* is on. Off by default, so most demos skip this stage entirely. Redelivery-
|
|
291
|
+
* resumable: a captured clip persisted to `capturedFootageUrls` is reused, never
|
|
292
|
+
* re-recorded.
|
|
293
|
+
*/
|
|
294
|
+
EDemoVideoStatus["RECORDING"] = "recording";
|
|
274
295
|
EDemoVideoStatus["PLANNING"] = "planning";
|
|
275
296
|
/**
|
|
276
297
|
* Materializing the spec's `generatedAssets` (AI images/clips the planner
|
|
@@ -282,6 +303,16 @@ var EDemoVideoStatus;
|
|
|
282
303
|
EDemoVideoStatus["SCRIPTING"] = "scripting";
|
|
283
304
|
EDemoVideoStatus["VOICING"] = "voicing";
|
|
284
305
|
EDemoVideoStatus["MUXING"] = "muxing";
|
|
306
|
+
/**
|
|
307
|
+
* Output QA supervisor — deterministic ffprobe/ffmpeg validation of the muxed
|
|
308
|
+
* deliverable (duration parity, faststart/moov order, audio presence + non-
|
|
309
|
+
* silence, stream/dimension integrity) with a bounded ffmpeg auto-fix pass
|
|
310
|
+
* (re-mux faststart, loudness-normalize) then re-validate. Runs between MUXING
|
|
311
|
+
* and FINALIZING, demo-path only. NON-blocking: QA never fails the job — it
|
|
312
|
+
* records `qaReport` and best-effort repairs, then ships. Gated by the
|
|
313
|
+
* `DEMO_QA_DISABLED` kill-switch (on by default). See notes/SAAS_DEMO_GENERATOR_PLAN.md.
|
|
314
|
+
*/
|
|
315
|
+
EDemoVideoStatus["QA_REVIEW"] = "qaReview";
|
|
285
316
|
EDemoVideoStatus["FINALIZING"] = "finalizing";
|
|
286
317
|
EDemoVideoStatus["READY"] = "ready";
|
|
287
318
|
EDemoVideoStatus["FAILED"] = "failed";
|
|
@@ -408,6 +439,12 @@ var ERROR_CODE;
|
|
|
408
439
|
// Request asked for a feature the selected model can't do (e.g. last-frame
|
|
409
440
|
// interpolation on a non-FLF model). Rejected at the API before billing.
|
|
410
441
|
ERROR_CODE["UNSUPPORTED_PARAMS"] = "UNSUPPORTED_PARAMS";
|
|
442
|
+
// X8 Social Suite — the user's plan doesn't include the requested Social
|
|
443
|
+
// capability (scheduling / AI growth / inbox / advanced analytics). The
|
|
444
|
+
// frontend maps this to an upgrade CTA (→ /dashboard/pricing).
|
|
445
|
+
ERROR_CODE["SOCIAL_NOT_ENTITLED"] = "SOCIAL_NOT_ENTITLED";
|
|
446
|
+
// X8 Social Suite — the user is at their plan's connected-account limit.
|
|
447
|
+
ERROR_CODE["SOCIAL_ACCOUNT_LIMIT"] = "SOCIAL_ACCOUNT_LIMIT";
|
|
411
448
|
})(ERROR_CODE || (exports.ERROR_CODE = ERROR_CODE = {}));
|
|
412
449
|
var ELANGUAGE_CODE;
|
|
413
450
|
(function (ELANGUAGE_CODE) {
|
|
@@ -34,6 +34,14 @@ export interface IDemoVideoInputs {
|
|
|
34
34
|
websiteUrl?: string;
|
|
35
35
|
/** User-uploaded product screenshots (GCS URLs). The reliable fallback for auth'd SaaS. */
|
|
36
36
|
screenshotUrls?: string[];
|
|
37
|
+
/**
|
|
38
|
+
* Opt-in: record a short screencast of `websiteUrl` in a headless browser and
|
|
39
|
+
* feature it as B-roll (Tier 1 of the product-footage-capture feature —
|
|
40
|
+
* notes/PRODUCT_FOOTAGE_CAPTURE_PLAN.md). Only acts when the worker's
|
|
41
|
+
* `DEMO_RECORD_ENABLED` kill-switch is also on; otherwise ignored. Records the
|
|
42
|
+
* PUBLIC page only — authenticated capture (Tier 2) is a separate connect flow.
|
|
43
|
+
*/
|
|
44
|
+
recordProductUrl?: boolean;
|
|
37
45
|
/** Public GitHub repo URL (v1) — read for brand tokens + feature extraction. OAuth depth is v2. */
|
|
38
46
|
githubRepoUrl?: string;
|
|
39
47
|
/**
|
|
@@ -138,6 +146,29 @@ export interface IDemoPendingClarification {
|
|
|
138
146
|
/** Epoch ms when we paused. */
|
|
139
147
|
createdAt: number;
|
|
140
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* A worker pause waiting for the user to (re)connect their product sign-in so the
|
|
151
|
+
* RECORDING stage can replay it and capture the authenticated UI (Tier 2
|
|
152
|
+
* product-footage-capture). Set when an authed replay hits a login wall (expired
|
|
153
|
+
* or missing session) with status AWAITING_INPUT. The user reconnects via the
|
|
154
|
+
* live sign-in session (which re-captures the storageState), then a resume clears
|
|
155
|
+
* this and re-enqueues. Sibling of {@link IDemoPendingClarification} — same pause
|
|
156
|
+
* seam, different `kind`.
|
|
157
|
+
*/
|
|
158
|
+
export interface IDemoPendingSignin {
|
|
159
|
+
/** Discriminator — a sign-in reconnect pause. */
|
|
160
|
+
kind: "signin";
|
|
161
|
+
/** Origin host of the product whose session expired / is missing. */
|
|
162
|
+
host: string;
|
|
163
|
+
/** The product URL to reconnect + record. */
|
|
164
|
+
productUrl: string;
|
|
165
|
+
/** Deep-link the frontend Connect modal can open (set by the frontend surface). */
|
|
166
|
+
connectUrl?: string;
|
|
167
|
+
/** The stage the worker paused BEFORE, so resume re-enters at the right place. */
|
|
168
|
+
resumeStage: EDemoVideoStatus;
|
|
169
|
+
/** Epoch ms when we paused. */
|
|
170
|
+
createdAt: number;
|
|
171
|
+
}
|
|
141
172
|
/** One timeline-synced narration segment, authored from the rendered DemoSpec timeline (plan §6). */
|
|
142
173
|
export interface IDemoVideoScriptSegment {
|
|
143
174
|
/** Scene this narration belongs to (matches DemoScene.id). */
|
|
@@ -149,6 +180,48 @@ export interface IDemoVideoScriptSegment {
|
|
|
149
180
|
/** Spoken duration, ms (post-TTS, speed-matched to the scene). */
|
|
150
181
|
durationMs: number;
|
|
151
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* One word of narration, timed on the VIDEO timeline (not relative to its own
|
|
185
|
+
* segment). Absolute times are what the renderer and the `.srt` both need, and
|
|
186
|
+
* keeping one clock avoids an off-by-a-segment class of bug.
|
|
187
|
+
*/
|
|
188
|
+
export interface IDemoCaptionWord {
|
|
189
|
+
word: string;
|
|
190
|
+
startMs: number;
|
|
191
|
+
endMs: number;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* One on-screen caption line. A narration SEGMENT is per-scene and can run 30+
|
|
195
|
+
* words; a CUE is what a viewer can actually read at once, so one segment
|
|
196
|
+
* usually yields several cues (see `buildCaptionTrack`).
|
|
197
|
+
*/
|
|
198
|
+
export interface IDemoCaptionCue {
|
|
199
|
+
/** Scene this cue's narration belongs to (matches DemoScene.id). */
|
|
200
|
+
sceneId: string;
|
|
201
|
+
/** The full line, as displayed. */
|
|
202
|
+
text: string;
|
|
203
|
+
startMs: number;
|
|
204
|
+
endMs: number;
|
|
205
|
+
/**
|
|
206
|
+
* Per-word timings for the karaoke/word-pop presets. Empty when the TTS
|
|
207
|
+
* provider returned no alignment — the renderer then spaces words evenly
|
|
208
|
+
* across the cue, so a cue is never dropped for want of timings.
|
|
209
|
+
*/
|
|
210
|
+
words: IDemoCaptionWord[];
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Burned-in caption track for a demo video, derived from the ACTUAL synthesized
|
|
214
|
+
* speech (ElevenLabs character alignment), not from a words-per-second estimate.
|
|
215
|
+
*
|
|
216
|
+
* Pipeline-owned and deliberately NOT part of `DemoSpec`: the spec doubles as the
|
|
217
|
+
* planner LLM's structured-output schema, and word timings are something only the
|
|
218
|
+
* voicing stage can know. Persisted at `demoVideoProjects.captionTrack`.
|
|
219
|
+
*/
|
|
220
|
+
export interface IDemoCaptionTrack {
|
|
221
|
+
cues: IDemoCaptionCue[];
|
|
222
|
+
/** True when timings came from real provider alignment rather than estimation. */
|
|
223
|
+
fromAlignment: boolean;
|
|
224
|
+
}
|
|
152
225
|
/** Per-stage wall-clock timing (feedback_track_stage_timings). Persisted so we can spot stuck-vs-slow. */
|
|
153
226
|
export interface IDemoVideoStageTiming {
|
|
154
227
|
stage: EDemoVideoStatus;
|
|
@@ -156,6 +229,108 @@ export interface IDemoVideoStageTiming {
|
|
|
156
229
|
startedAt: number;
|
|
157
230
|
/** Wall-clock duration of the stage, ms (set when it ends). */
|
|
158
231
|
ms?: number;
|
|
232
|
+
/**
|
|
233
|
+
* Human-readable narration of what this stage actually saw and did — e.g.
|
|
234
|
+
* "Planned 9 scenes · 82s · problem-solution" or "Checks passed · repaired
|
|
235
|
+
* audio loudness" (plan §12 / Phase 4, AG-NARRATE). Written by the worker when
|
|
236
|
+
* the stage resolves, from the stage's REAL result (deterministic, no LLM), and
|
|
237
|
+
* capped short enough to render in a timeline row. Absent for stages with
|
|
238
|
+
* nothing worth narrating, and on projects generated before Phase 4.
|
|
239
|
+
*/
|
|
240
|
+
note?: string;
|
|
241
|
+
}
|
|
242
|
+
/** Verdict for a single Output-QA check. `warn` ships; `fail` records a caveat. */
|
|
243
|
+
export type EDemoQaStatus = "pass" | "warn" | "fail";
|
|
244
|
+
/**
|
|
245
|
+
* One deterministic technical check the Output-QA supervisor ran against the
|
|
246
|
+
* muxed deliverable (plan §12 / Phase 1). Mirrors, in code, the ffprobe/ffmpeg
|
|
247
|
+
* checks a human runs by hand: duration parity, faststart/moov order, audio
|
|
248
|
+
* presence + non-silence, stream/dimension integrity.
|
|
249
|
+
*/
|
|
250
|
+
export interface IDemoQaCheck {
|
|
251
|
+
/** Stable machine id, e.g. `duration-parity`, `faststart`, `audio-non-silence`. */
|
|
252
|
+
id: string;
|
|
253
|
+
/** Human-readable label for the UI/logs. */
|
|
254
|
+
label: string;
|
|
255
|
+
status: EDemoQaStatus;
|
|
256
|
+
/** What was observed vs expected (e.g. "actual 81.30s vs expected 81.50s (Δ200ms)"). */
|
|
257
|
+
detail: string;
|
|
258
|
+
}
|
|
259
|
+
/** What the perceptual supervisor recommends doing with the reviewed cut. */
|
|
260
|
+
export type EDemoQaRecommendation = "ship" | "ship-with-caveats" | "revise";
|
|
261
|
+
/** One perceptual (watched-it-back) finding from the Gemini critic (Phase 2). */
|
|
262
|
+
export interface IDemoQaPerceptualFinding {
|
|
263
|
+
severity: EDemoQaStatus;
|
|
264
|
+
/** Rubric axis, e.g. `hookStrength`, `voiceoverPacing`, `brandTextLegibility`. */
|
|
265
|
+
dimension: string;
|
|
266
|
+
message: string;
|
|
267
|
+
/** 0-based scene index the finding maps to, when the critic could localize it. */
|
|
268
|
+
sceneIndexHint?: number;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Perceptual half of the Output-QA supervisor (plan §12 / Phase 2): the Gemini
|
|
272
|
+
* "watch it back and judge it" pass that grades what ffprobe can't — hook, VO
|
|
273
|
+
* clarity/pacing, brand-text legibility, cut rhythm, CTA, overall shippability —
|
|
274
|
+
* plus the AG-45 gate's recommendation. Present only when the perceptual critic
|
|
275
|
+
* ran (flag `DEMO_PERCEPTUAL_QA_ENABLED` + a Gemini key). Non-blocking: a low
|
|
276
|
+
* score is a recommendation, not a hard failure.
|
|
277
|
+
*/
|
|
278
|
+
export interface IDemoQaPerceptual {
|
|
279
|
+
/** Production-readiness 0–10 (Gemini's weighted score). */
|
|
280
|
+
score: number;
|
|
281
|
+
/** Would a paying customer accept this as-is? */
|
|
282
|
+
shippable: boolean;
|
|
283
|
+
/** 2–4 sentence human summary. */
|
|
284
|
+
summary: string;
|
|
285
|
+
findings: IDemoQaPerceptualFinding[];
|
|
286
|
+
/** What the supervisor recommends: ship / ship-with-caveats / revise. */
|
|
287
|
+
recommendation: EDemoQaRecommendation;
|
|
288
|
+
/** Raw AG-45 gate action (`ship`/`remix`/`regen-scenes`/`replan`…) for telemetry. */
|
|
289
|
+
gateAction: string;
|
|
290
|
+
/** Human-readable why, from the gate. */
|
|
291
|
+
reason: string;
|
|
292
|
+
/** Caveats to surface when recommendation = ship-with-caveats. */
|
|
293
|
+
caveats?: string[];
|
|
294
|
+
/** Whether an auto-revise was actually triggered off this review. */
|
|
295
|
+
autoRevised?: boolean;
|
|
296
|
+
/** Epoch ms the perceptual pass finished. */
|
|
297
|
+
ranAt: number;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Structured result of the Output-QA supervisor stage (QA_REVIEW). Persisted on
|
|
301
|
+
* the project for observability + the Phase-3 "where is the issue" UI. QA is
|
|
302
|
+
* NON-blocking: `shippable` may be false (a caveat) but the video still ships.
|
|
303
|
+
*/
|
|
304
|
+
export interface IDemoQaReport {
|
|
305
|
+
/** True when no check ended `fail` (warns are tolerated). */
|
|
306
|
+
ok: boolean;
|
|
307
|
+
/** True when the output is fit to ship (no unrecoverable `fail`). */
|
|
308
|
+
shippable: boolean;
|
|
309
|
+
checks: IDemoQaCheck[];
|
|
310
|
+
/** Machine ids of the ffmpeg auto-fixes actually applied (e.g. `remux-faststart`, `loudnorm`). */
|
|
311
|
+
fixesApplied: string[];
|
|
312
|
+
/** Raw probe snapshot for debugging (durations in ms, audio loudness in dB, dims). */
|
|
313
|
+
probe: {
|
|
314
|
+
videoDurationMs?: number;
|
|
315
|
+
audioDurationMs?: number;
|
|
316
|
+
expectedDurationMs?: number;
|
|
317
|
+
width?: number;
|
|
318
|
+
height?: number;
|
|
319
|
+
fps?: number;
|
|
320
|
+
hasAudio?: boolean;
|
|
321
|
+
audioMeanDb?: number;
|
|
322
|
+
audioMaxDb?: number;
|
|
323
|
+
faststart?: boolean;
|
|
324
|
+
};
|
|
325
|
+
/** Number of validate→fix→re-validate iterations run (0 = passed first look). */
|
|
326
|
+
iterations: number;
|
|
327
|
+
/** Epoch ms the QA pass finished. */
|
|
328
|
+
ranAt: number;
|
|
329
|
+
/**
|
|
330
|
+
* Perceptual review of the deliverable (Phase 2). Present only when the Gemini
|
|
331
|
+
* critic ran (flag-gated + needs a key). Absent = deterministic QA only.
|
|
332
|
+
*/
|
|
333
|
+
perceptual?: IDemoQaPerceptual;
|
|
159
334
|
}
|
|
160
335
|
export interface IDemoVideoProjectModel {
|
|
161
336
|
userId: string;
|
|
@@ -170,6 +345,15 @@ export interface IDemoVideoProjectModel {
|
|
|
170
345
|
* "captured from your site" vs "you uploaded".
|
|
171
346
|
*/
|
|
172
347
|
capturedScreenshotUrls?: string[];
|
|
348
|
+
/**
|
|
349
|
+
* Product footage the worker auto-RECORDED from `inputs.websiteUrl` during the
|
|
350
|
+
* RECORDING stage (Tier 1 product-footage-capture). Stored as featured media
|
|
351
|
+
* assets (`kind: "video"`) so the gather stage re-injects them into the
|
|
352
|
+
* planner's `mediaAssets` on every pass — a redelivered/resumed job reuses the
|
|
353
|
+
* clip instead of re-launching the browser + re-encoding. Absent unless the
|
|
354
|
+
* user opted into `recordProductUrl` and a capture succeeded.
|
|
355
|
+
*/
|
|
356
|
+
capturedFootageUrls?: IDemoMediaAsset[];
|
|
173
357
|
/** The planned, re-renderable DemoSpec. Present once PLANNING completes. */
|
|
174
358
|
demoSpec?: DemoSpec;
|
|
175
359
|
/**
|
|
@@ -198,6 +382,13 @@ export interface IDemoVideoProjectModel {
|
|
|
198
382
|
* steady state. See [[DemoQuestion]].
|
|
199
383
|
*/
|
|
200
384
|
pendingClarification?: IDemoPendingClarification;
|
|
385
|
+
/**
|
|
386
|
+
* Set while the worker is PAUSED (status AWAITING_INPUT) waiting for the user
|
|
387
|
+
* to (re)connect their product sign-in for authenticated recording (Tier 2).
|
|
388
|
+
* Distinct from `pendingClarification` (`kind` discriminator). Absent in steady
|
|
389
|
+
* state; cleared on resume. See {@link IDemoPendingSignin}.
|
|
390
|
+
*/
|
|
391
|
+
pendingSignin?: IDemoPendingSignin;
|
|
201
392
|
/**
|
|
202
393
|
* Ids of clarifying questions this project has ALREADY paused on. The worker's
|
|
203
394
|
* deterministic asset asks (missing logo / screenshots) consult this so a
|
|
@@ -216,6 +407,15 @@ export interface IDemoVideoProjectModel {
|
|
|
216
407
|
script?: IDemoVideoScriptSegment[];
|
|
217
408
|
/** Muxed-in narration track (pre-mux audio asset). */
|
|
218
409
|
voiceoverUrl?: string;
|
|
410
|
+
/**
|
|
411
|
+
* Word-timed captions derived from the synthesized narration, burned into the
|
|
412
|
+
* render (G3). Present once VOICING ran with captions enabled for this aspect /
|
|
413
|
+
* audioIntent. Absent on music-led cuts, on the `DEMO_CAPTIONS_DISABLED`
|
|
414
|
+
* kill-switch, and on projects rendered before G3 landed.
|
|
415
|
+
*/
|
|
416
|
+
captionTrack?: IDemoCaptionTrack;
|
|
417
|
+
/** `.srt` sidecar for YouTube/LinkedIn uploads, generated from `captionTrack`. */
|
|
418
|
+
captionsSrtUrl?: string;
|
|
219
419
|
/**
|
|
220
420
|
* Background-music bed mixed under the narration (ducked). Selected from the
|
|
221
421
|
* curated catalog by DemoSpec style. Persisted for observability + redelivery
|
|
@@ -230,6 +430,19 @@ export interface IDemoVideoProjectModel {
|
|
|
230
430
|
aspect?: DemoSpec["aspect"];
|
|
231
431
|
/** Per-stage timings for observability (persisted into the doc, not a side trace.json). */
|
|
232
432
|
stageTimings?: IDemoVideoStageTiming[];
|
|
433
|
+
/**
|
|
434
|
+
* Result of the Output-QA supervisor stage (QA_REVIEW). Present once QA ran.
|
|
435
|
+
* Non-blocking: a `shippable: false` report still ships the video but records
|
|
436
|
+
* the caveats for the UI. Absent when the `DEMO_QA_DISABLED` kill-switch is set.
|
|
437
|
+
*/
|
|
438
|
+
qaReport?: IDemoQaReport;
|
|
439
|
+
/**
|
|
440
|
+
* How many times the perceptual supervisor has auto-triggered a spec-revise +
|
|
441
|
+
* re-render on this project (Phase 2, gated by `DEMO_QA_AUTOFIX_ENABLED`).
|
|
442
|
+
* Bounded to 1 so a persistently-low critic score can't loop the pipeline (or
|
|
443
|
+
* its cost) forever. Incremented in the same write that sets `pendingRevision`.
|
|
444
|
+
*/
|
|
445
|
+
qaAutoReviseCount?: number;
|
|
233
446
|
estimatedCredits?: number;
|
|
234
447
|
totalCreditsUsed?: number;
|
|
235
448
|
errorMessage?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demoVideoProject.model.d.ts","sourceRoot":"","sources":["../../src/models/demoVideoProject.model.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"demoVideoProject.model.d.ts","sourceRoot":"","sources":["../../src/models/demoVideoProject.model.ts"],"names":[],"mappings":"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"}
|