vidspotai-shared 1.0.52 → 1.0.54
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/providers/alibaba.d.ts +4 -0
- package/lib/globals/aiModels/providers/alibaba.d.ts.map +1 -0
- package/lib/globals/aiModels/providers/alibaba.js +183 -0
- package/lib/globals/aiModels/providers/elevenlabs.d.ts +13 -0
- package/lib/globals/aiModels/providers/elevenlabs.d.ts.map +1 -0
- package/lib/globals/aiModels/providers/elevenlabs.js +25 -0
- package/lib/globals/aiModels/providers/pixverseTemplates.d.ts +36 -0
- package/lib/globals/aiModels/providers/pixverseTemplates.d.ts.map +1 -0
- package/lib/globals/aiModels/providers/pixverseTemplates.js +42 -0
- package/lib/globals/aiModels/tierHelpers.d.ts +27 -0
- package/lib/globals/aiModels/tierHelpers.d.ts.map +1 -0
- package/lib/globals/aiModels/tierHelpers.js +73 -0
- package/lib/globals/ttsModels/providers/minimax.d.ts +8 -0
- package/lib/globals/ttsModels/providers/minimax.d.ts.map +1 -0
- package/lib/globals/ttsModels/providers/minimax.js +18 -0
- package/lib/globals/ttsModels/providers/openai.d.ts +8 -0
- package/lib/globals/ttsModels/providers/openai.d.ts.map +1 -0
- package/lib/globals/ttsModels/providers/openai.js +18 -0
- package/lib/models/agent.model.d.ts +117 -0
- package/lib/models/agent.model.d.ts.map +1 -0
- package/lib/models/agent.model.js +13 -0
- package/lib/models/analytics.model.d.ts +39 -0
- package/lib/models/analytics.model.d.ts.map +1 -0
- package/lib/models/analytics.model.js +2 -0
- package/lib/models/cachedAsset.model.d.ts +18 -0
- package/lib/models/cachedAsset.model.d.ts.map +1 -0
- package/lib/models/cachedAsset.model.js +2 -0
- package/lib/models/cachedRawAsset.model.d.ts +20 -0
- package/lib/models/cachedRawAsset.model.d.ts.map +1 -0
- package/lib/models/cachedRawAsset.model.js +2 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/index.js +1 -0
- package/lib/models/video.model.d.ts +1 -0
- package/lib/models/video.model.d.ts.map +1 -1
- package/lib/schemas/agentPersona.schema.d.ts +10 -0
- package/lib/schemas/agentPersona.schema.d.ts.map +1 -0
- package/lib/schemas/agentPersona.schema.js +11 -0
- package/lib/schemas/brandKit.schema.d.ts +101 -0
- package/lib/schemas/brandKit.schema.d.ts.map +1 -0
- package/lib/schemas/brandKit.schema.js +46 -0
- package/lib/schemas/brief.schema.d.ts +216 -0
- package/lib/schemas/brief.schema.d.ts.map +1 -0
- package/lib/schemas/brief.schema.js +118 -0
- package/lib/schemas/index.d.ts +6 -0
- package/lib/schemas/index.d.ts.map +1 -0
- package/lib/schemas/index.js +21 -0
- package/lib/schemas/project.schema.d.ts +1005 -0
- package/lib/schemas/project.schema.d.ts.map +1 -0
- package/lib/schemas/project.schema.js +238 -0
- package/lib/schemas/videoPlan.schema.d.ts +145 -0
- package/lib/schemas/videoPlan.schema.d.ts.map +1 -0
- package/lib/schemas/videoPlan.schema.js +109 -0
- package/lib/services/agent/beatSnap.d.ts +10 -0
- package/lib/services/agent/beatSnap.d.ts.map +1 -0
- package/lib/services/agent/beatSnap.js +128 -0
- package/lib/services/agent/costPreflight.d.ts +22 -0
- package/lib/services/agent/costPreflight.d.ts.map +1 -0
- package/lib/services/agent/costPreflight.js +75 -0
- package/lib/services/agent/critic.d.ts +103 -0
- package/lib/services/agent/critic.d.ts.map +1 -0
- package/lib/services/agent/critic.js +132 -0
- package/lib/services/agent/eval/index.d.ts +5 -0
- package/lib/services/agent/eval/index.d.ts.map +1 -0
- package/lib/services/agent/eval/index.js +20 -0
- package/lib/services/agent/eval/judge.d.ts +14 -0
- package/lib/services/agent/eval/judge.d.ts.map +1 -0
- package/lib/services/agent/eval/judge.js +95 -0
- package/lib/services/agent/eval/recorder.d.ts +17 -0
- package/lib/services/agent/eval/recorder.d.ts.map +1 -0
- package/lib/services/agent/eval/recorder.js +65 -0
- package/lib/services/agent/eval/seedBriefs.d.ts +16 -0
- package/lib/services/agent/eval/seedBriefs.d.ts.map +1 -0
- package/lib/services/agent/eval/seedBriefs.js +1188 -0
- package/lib/services/agent/eval/types.d.ts +196 -0
- package/lib/services/agent/eval/types.d.ts.map +1 -0
- package/lib/services/agent/eval/types.js +65 -0
- package/lib/services/agent/executor.d.ts +50 -0
- package/lib/services/agent/executor.d.ts.map +1 -0
- package/lib/services/agent/executor.js +188 -0
- package/lib/services/agent/index.d.ts +15 -0
- package/lib/services/agent/index.d.ts.map +1 -0
- package/lib/services/agent/index.js +30 -0
- package/lib/services/agent/llmCaller.d.ts +77 -0
- package/lib/services/agent/llmCaller.d.ts.map +1 -0
- package/lib/services/agent/llmCaller.js +16 -0
- package/lib/services/agent/llmCallerGateway.d.ts +39 -0
- package/lib/services/agent/llmCallerGateway.d.ts.map +1 -0
- package/lib/services/agent/llmCallerGateway.js +246 -0
- package/lib/services/agent/llmCallerRegistry.d.ts +4 -0
- package/lib/services/agent/llmCallerRegistry.d.ts.map +1 -0
- package/lib/services/agent/llmCallerRegistry.js +19 -0
- package/lib/services/agent/modelRouter.d.ts +41 -0
- package/lib/services/agent/modelRouter.d.ts.map +1 -0
- package/lib/services/agent/modelRouter.js +57 -0
- package/lib/services/agent/musicSelect.d.ts +23 -0
- package/lib/services/agent/musicSelect.d.ts.map +1 -0
- package/lib/services/agent/musicSelect.js +65 -0
- package/lib/services/agent/personas.d.ts +60 -0
- package/lib/services/agent/personas.d.ts.map +1 -0
- package/lib/services/agent/personas.js +156 -0
- package/lib/services/agent/planner.d.ts +56 -0
- package/lib/services/agent/planner.d.ts.map +1 -0
- package/lib/services/agent/planner.js +237 -0
- package/lib/services/agent/toolRegistry.d.ts +64 -0
- package/lib/services/agent/toolRegistry.d.ts.map +1 -0
- package/lib/services/agent/toolRegistry.js +78 -0
- package/lib/services/agent/tools/analyzeReference.tool.d.ts +36 -0
- package/lib/services/agent/tools/analyzeReference.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/analyzeReference.tool.js +44 -0
- package/lib/services/agent/tools/animateImage.tool.d.ts +23 -0
- package/lib/services/agent/tools/animateImage.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/animateImage.tool.js +58 -0
- package/lib/services/agent/tools/animateImageWithMotionBrush.tool.d.ts +30 -0
- package/lib/services/agent/tools/animateImageWithMotionBrush.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/animateImageWithMotionBrush.tool.js +90 -0
- package/lib/services/agent/tools/composeScene.tool.d.ts +948 -0
- package/lib/services/agent/tools/composeScene.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/composeScene.tool.js +90 -0
- package/lib/services/agent/tools/estimateCost.tool.d.ts +342 -0
- package/lib/services/agent/tools/estimateCost.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/estimateCost.tool.js +62 -0
- package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts +32 -0
- package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/generateAvatarVideo.tool.js +112 -0
- package/lib/services/agent/tools/generateImage.tool.d.ts +28 -0
- package/lib/services/agent/tools/generateImage.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/generateImage.tool.js +97 -0
- package/lib/services/agent/tools/generateVideo.tool.d.ts +30 -0
- package/lib/services/agent/tools/generateVideo.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/generateVideo.tool.js +84 -0
- package/lib/services/agent/tools/generateVoiceover.tool.d.ts +18 -0
- package/lib/services/agent/tools/generateVoiceover.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/generateVoiceover.tool.js +72 -0
- package/lib/services/agent/tools/index.d.ts +19 -0
- package/lib/services/agent/tools/index.d.ts.map +1 -0
- package/lib/services/agent/tools/index.js +34 -0
- package/lib/services/agent/tools/planVideo.tool.d.ts +191 -0
- package/lib/services/agent/tools/planVideo.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/planVideo.tool.js +46 -0
- package/lib/services/agent/tools/render.tool.d.ts +357 -0
- package/lib/services/agent/tools/render.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/render.tool.js +48 -0
- package/lib/services/agent/tools/searchMusic.tool.d.ts +49 -0
- package/lib/services/agent/tools/searchMusic.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/searchMusic.tool.js +74 -0
- package/lib/services/agent/tools/searchStock.tool.d.ts +37 -0
- package/lib/services/agent/tools/searchStock.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/searchStock.tool.js +101 -0
- package/lib/services/agent/tools/searchUserLibrary.tool.d.ts +59 -0
- package/lib/services/agent/tools/searchUserLibrary.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/searchUserLibrary.tool.js +58 -0
- package/lib/services/aiGen/canonicalAdapters/cameraControl.types.d.ts +31 -0
- package/lib/services/aiGen/canonicalAdapters/cameraControl.types.d.ts.map +1 -0
- package/lib/services/aiGen/canonicalAdapters/cameraControl.types.js +2 -0
- package/lib/services/aiGen/canonicalAdapters/index.d.ts +3 -0
- package/lib/services/aiGen/canonicalAdapters/index.d.ts.map +1 -0
- package/lib/services/aiGen/canonicalAdapters/index.js +18 -0
- package/lib/services/aiGen/canonicalAdapters/multiShot.types.d.ts +23 -0
- package/lib/services/aiGen/canonicalAdapters/multiShot.types.d.ts.map +1 -0
- package/lib/services/aiGen/canonicalAdapters/multiShot.types.js +12 -0
- package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.d.ts +18 -0
- package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.d.ts.map +1 -0
- package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.js +100 -0
- package/lib/services/aiGen/providers/fal/falImage.service.d.ts +9 -0
- package/lib/services/aiGen/providers/fal/falImage.service.d.ts.map +1 -0
- package/lib/services/aiGen/providers/fal/falImage.service.js +102 -0
- package/lib/services/aiGen/providers/fal/index.d.ts +2 -0
- package/lib/services/aiGen/providers/fal/index.d.ts.map +1 -0
- package/lib/services/aiGen/providers/fal/index.js +17 -0
- package/lib/services/aiGen/providers/kling/cameraAdapter.d.ts +4 -0
- package/lib/services/aiGen/providers/kling/cameraAdapter.d.ts.map +1 -0
- package/lib/services/aiGen/providers/kling/cameraAdapter.js +53 -0
- package/lib/services/aiGen/providers/pexels/index.d.ts +2 -0
- package/lib/services/aiGen/providers/pexels/index.d.ts.map +1 -0
- package/lib/services/aiGen/providers/pexels/index.js +17 -0
- package/lib/services/aiGen/providers/pexels/pexels.service.d.ts +11 -0
- package/lib/services/aiGen/providers/pexels/pexels.service.d.ts.map +1 -0
- package/lib/services/aiGen/providers/pexels/pexels.service.js +118 -0
- package/lib/services/aiGen/providers/runway/cameraAdapter.d.ts +3 -0
- package/lib/services/aiGen/providers/runway/cameraAdapter.d.ts.map +1 -0
- package/lib/services/aiGen/providers/runway/cameraAdapter.js +46 -0
- package/lib/services/analytics.service.d.ts +33 -0
- package/lib/services/analytics.service.d.ts.map +1 -0
- package/lib/services/analytics.service.js +96 -0
- package/lib/services/asr/assemblyai.service.d.ts +72 -0
- package/lib/services/asr/assemblyai.service.d.ts.map +1 -0
- package/lib/services/asr/assemblyai.service.js +89 -0
- package/lib/services/asr/index.d.ts +2 -0
- package/lib/services/asr/index.d.ts.map +1 -0
- package/lib/services/asr/index.js +17 -0
- package/lib/services/assetCache.service.d.ts +54 -0
- package/lib/services/assetCache.service.d.ts.map +1 -0
- package/lib/services/assetCache.service.js +96 -0
- package/lib/services/audioAnalysis/index.d.ts +2 -0
- package/lib/services/audioAnalysis/index.d.ts.map +1 -0
- package/lib/services/audioAnalysis/index.js +17 -0
- package/lib/services/audioAnalysis/onsetDetection.service.d.ts +50 -0
- package/lib/services/audioAnalysis/onsetDetection.service.d.ts.map +1 -0
- package/lib/services/audioAnalysis/onsetDetection.service.js +136 -0
- package/lib/services/editor/designToProject.d.ts +60 -0
- package/lib/services/editor/designToProject.d.ts.map +1 -0
- package/lib/services/editor/designToProject.js +194 -0
- package/lib/services/gcp/gcp.service.js +2 -2
- package/lib/services/gcp/gsheet.service.js +2 -2
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/index.js +1 -0
- package/lib/services/musicGen/index.d.ts +6 -0
- package/lib/services/musicGen/index.d.ts.map +1 -0
- package/lib/services/musicGen/index.js +26 -0
- package/lib/services/musicGen/musicSearchFactory.service.d.ts +14 -0
- package/lib/services/musicGen/musicSearchFactory.service.d.ts.map +1 -0
- package/lib/services/musicGen/musicSearchFactory.service.js +59 -0
- package/lib/services/musicGen/providers/curated.service.d.ts +22 -0
- package/lib/services/musicGen/providers/curated.service.d.ts.map +1 -0
- package/lib/services/musicGen/providers/curated.service.js +171 -0
- package/lib/services/musicGen/providers/jamendo.service.d.ts +8 -0
- package/lib/services/musicGen/providers/jamendo.service.d.ts.map +1 -0
- package/lib/services/musicGen/providers/jamendo.service.js +93 -0
- package/lib/services/musicGen/providers/mubert.service.d.ts +9 -0
- package/lib/services/musicGen/providers/mubert.service.d.ts.map +1 -0
- package/lib/services/musicGen/providers/mubert.service.js +113 -0
- package/lib/services/musicGen/types.d.ts +42 -0
- package/lib/services/musicGen/types.d.ts.map +1 -0
- package/lib/services/musicGen/types.js +10 -0
- package/lib/services/tts/providers/minimax.service.d.ts +14 -0
- package/lib/services/tts/providers/minimax.service.d.ts.map +1 -0
- package/lib/services/tts/providers/minimax.service.js +78 -0
- package/lib/services/tts/providers/openai.service.d.ts +14 -0
- package/lib/services/tts/providers/openai.service.d.ts.map +1 -0
- package/lib/services/tts/providers/openai.service.js +71 -0
- package/package.json +2 -2
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { FieldValue } from "firebase-admin/firestore";
|
|
2
|
+
/**
|
|
3
|
+
* Daily rollup keyed by `${YYYY-MM-DD}_${modelKey}`.
|
|
4
|
+
* Written via FieldValue.increment from job finalization so that the
|
|
5
|
+
* admin dashboard never has to scan `videoJobs` for per-model stats.
|
|
6
|
+
*/
|
|
7
|
+
export interface IAnalyticsDailyModel {
|
|
8
|
+
date: string;
|
|
9
|
+
modelKey: string;
|
|
10
|
+
jobsCompleted: number;
|
|
11
|
+
jobsFailed: number;
|
|
12
|
+
jobsPartial: number;
|
|
13
|
+
scenesCompleted: number;
|
|
14
|
+
scenesFailed: number;
|
|
15
|
+
scenesTimedOut: number;
|
|
16
|
+
totalCreditsUsed: number;
|
|
17
|
+
totalDurationSeconds: number;
|
|
18
|
+
jobLatencyMsSum: number;
|
|
19
|
+
jobLatencyMsCount: number;
|
|
20
|
+
/** Try-example / sample short-circuit count. Tracked separately so the
|
|
21
|
+
* jobs* fields stay real-generation-only. May be absent on historical docs. */
|
|
22
|
+
samplesCompleted?: number;
|
|
23
|
+
updatedAt: FieldValue;
|
|
24
|
+
}
|
|
25
|
+
/** Cross-model daily rollup for summary cards. */
|
|
26
|
+
export interface IAnalyticsDailyGlobalModel {
|
|
27
|
+
date: string;
|
|
28
|
+
jobsCompleted: number;
|
|
29
|
+
jobsFailed: number;
|
|
30
|
+
jobsPartial: number;
|
|
31
|
+
scenesCompleted: number;
|
|
32
|
+
scenesFailed: number;
|
|
33
|
+
totalCreditsUsed: number;
|
|
34
|
+
jobLatencyMsSum: number;
|
|
35
|
+
jobLatencyMsCount: number;
|
|
36
|
+
samplesCompleted?: number;
|
|
37
|
+
updatedAt: FieldValue;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=analytics.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.model.d.ts","sourceRoot":"","sources":["../../src/models/analytics.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B;mFAC+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,kDAAkD;AAClD,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,UAAU,CAAC;CACvB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistent shape of an entry in the assetCache Firestore collection.
|
|
3
|
+
* Mirrors the runtime CachedAsset returned by AssetCacheService.
|
|
4
|
+
*/
|
|
5
|
+
export interface ICachedAssetModel {
|
|
6
|
+
key: string;
|
|
7
|
+
provider: string;
|
|
8
|
+
kind: "image" | "video" | "audio" | "stock-image" | "stock-video";
|
|
9
|
+
url: string;
|
|
10
|
+
width?: number;
|
|
11
|
+
height?: number;
|
|
12
|
+
durationMs?: number;
|
|
13
|
+
originalCreditsSpent?: number;
|
|
14
|
+
createdAt: string;
|
|
15
|
+
lastAccessedAt: string;
|
|
16
|
+
hitCount: number;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=cachedAsset.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cachedAsset.model.d.ts","sourceRoot":"","sources":["../../src/models/cachedAsset.model.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,aAAa,GAAG,aAAa,CAAC;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistent shape of an entry in the assetCacheRaw Firestore collection.
|
|
3
|
+
*
|
|
4
|
+
* Sibling to ICachedAssetModel — that one stores final asset URLs (image,
|
|
5
|
+
* video, audio); this one stores arbitrary JSON payloads (search responses,
|
|
6
|
+
* VO base64 bytes) keyed by content hash. Kept in a separate collection so
|
|
7
|
+
* the per-asset URL index stays narrow and queryable.
|
|
8
|
+
*/
|
|
9
|
+
export interface ICachedRawAssetModel {
|
|
10
|
+
key: string;
|
|
11
|
+
kind: "stock-search" | "voiceover";
|
|
12
|
+
/** Caller-shaped JSON. Must stay under the Firestore 1MB doc limit. */
|
|
13
|
+
payload: unknown;
|
|
14
|
+
/** Optional TTL — if set and now > expiresAt, lookup returns null. */
|
|
15
|
+
expiresAt?: string;
|
|
16
|
+
createdAt: string;
|
|
17
|
+
lastAccessedAt: string;
|
|
18
|
+
hitCount: number;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=cachedRawAsset.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cachedRawAsset.model.d.ts","sourceRoot":"","sources":["../../src/models/cachedRawAsset.model.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,cAAc,GAAG,WAAW,CAAC;IACnC,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
package/lib/models/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
|
package/lib/models/index.js
CHANGED
|
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./video.model"), exports);
|
|
18
18
|
__exportStar(require("./user.model"), exports);
|
|
19
19
|
__exportStar(require("./script.model"), exports);
|
|
20
|
+
__exportStar(require("./analytics.model"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.model.d.ts","sourceRoot":"","sources":["../../src/models/video.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CAOpB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,UAAU,CAAC;KACxB,CAAA;IAGD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,WAAW,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"video.model.d.ts","sourceRoot":"","sources":["../../src/models/video.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CAOpB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,eAAe,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,UAAU,CAAC;KACxB,CAAA;IAGD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,WAAW,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAI9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;IACtB,aAAa,CAAC,EAAE,UAAU,CAAC;CAC5B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const AgentPersonaSchema: z.ZodEnum<{
|
|
3
|
+
"ugc-ad": "ugc-ad";
|
|
4
|
+
"faceless-yt": "faceless-yt";
|
|
5
|
+
"product-demo": "product-demo";
|
|
6
|
+
"talking-head": "talking-head";
|
|
7
|
+
"social-recap": "social-recap";
|
|
8
|
+
}>;
|
|
9
|
+
export type AgentPersona = z.infer<typeof AgentPersonaSchema>;
|
|
10
|
+
//# sourceMappingURL=agentPersona.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentPersona.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/agentPersona.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;;;;EAM7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentPersonaSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.AgentPersonaSchema = zod_1.z.enum([
|
|
6
|
+
"ugc-ad",
|
|
7
|
+
"faceless-yt",
|
|
8
|
+
"product-demo",
|
|
9
|
+
"talking-head",
|
|
10
|
+
"social-recap",
|
|
11
|
+
]);
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* BrandKit — per-user (eventually per-workspace) brand profile that is automatically
|
|
4
|
+
* injected into every VideoBrief the agent constructs. Set once, applied everywhere.
|
|
5
|
+
* The single biggest accuracy lever for serial creators.
|
|
6
|
+
*/
|
|
7
|
+
export declare const BrandColorsSchema: z.ZodObject<{
|
|
8
|
+
primary: z.ZodOptional<z.ZodString>;
|
|
9
|
+
secondary: z.ZodOptional<z.ZodString>;
|
|
10
|
+
accent: z.ZodOptional<z.ZodString>;
|
|
11
|
+
palette: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export declare const BrandFontsSchema: z.ZodObject<{
|
|
14
|
+
heading: z.ZodOptional<z.ZodString>;
|
|
15
|
+
body: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
export declare const BrandIdentitySchema: z.ZodObject<{
|
|
18
|
+
brandName: z.ZodOptional<z.ZodString>;
|
|
19
|
+
wordmark: z.ZodOptional<z.ZodString>;
|
|
20
|
+
logoUrl: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
export declare const BrandReferenceSchema: z.ZodObject<{
|
|
23
|
+
url: z.ZodString;
|
|
24
|
+
label: z.ZodOptional<z.ZodString>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
export declare const BrandKitSchema: z.ZodObject<{
|
|
27
|
+
userId: z.ZodString;
|
|
28
|
+
identity: z.ZodDefault<z.ZodObject<{
|
|
29
|
+
brandName: z.ZodOptional<z.ZodString>;
|
|
30
|
+
wordmark: z.ZodOptional<z.ZodString>;
|
|
31
|
+
logoUrl: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, z.core.$strip>>;
|
|
33
|
+
colors: z.ZodDefault<z.ZodObject<{
|
|
34
|
+
primary: z.ZodOptional<z.ZodString>;
|
|
35
|
+
secondary: z.ZodOptional<z.ZodString>;
|
|
36
|
+
accent: z.ZodOptional<z.ZodString>;
|
|
37
|
+
palette: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
38
|
+
}, z.core.$strip>>;
|
|
39
|
+
fonts: z.ZodDefault<z.ZodObject<{
|
|
40
|
+
heading: z.ZodOptional<z.ZodString>;
|
|
41
|
+
body: z.ZodOptional<z.ZodString>;
|
|
42
|
+
}, z.core.$strip>>;
|
|
43
|
+
voice: z.ZodOptional<z.ZodObject<{
|
|
44
|
+
gender: z.ZodOptional<z.ZodEnum<{
|
|
45
|
+
female: "female";
|
|
46
|
+
male: "male";
|
|
47
|
+
neutral: "neutral";
|
|
48
|
+
}>>;
|
|
49
|
+
ageRange: z.ZodOptional<z.ZodEnum<{
|
|
50
|
+
child: "child";
|
|
51
|
+
teen: "teen";
|
|
52
|
+
"young-adult": "young-adult";
|
|
53
|
+
adult: "adult";
|
|
54
|
+
senior: "senior";
|
|
55
|
+
}>>;
|
|
56
|
+
accent: z.ZodOptional<z.ZodString>;
|
|
57
|
+
language: z.ZodDefault<z.ZodString>;
|
|
58
|
+
voiceId: z.ZodOptional<z.ZodString>;
|
|
59
|
+
}, z.core.$strip>>;
|
|
60
|
+
music: z.ZodOptional<z.ZodObject<{
|
|
61
|
+
moods: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
62
|
+
energetic: "energetic";
|
|
63
|
+
calm: "calm";
|
|
64
|
+
cinematic: "cinematic";
|
|
65
|
+
uplifting: "uplifting";
|
|
66
|
+
tense: "tense";
|
|
67
|
+
dreamy: "dreamy";
|
|
68
|
+
dark: "dark";
|
|
69
|
+
playful: "playful";
|
|
70
|
+
}>>>;
|
|
71
|
+
bpmMin: z.ZodOptional<z.ZodNumber>;
|
|
72
|
+
bpmMax: z.ZodOptional<z.ZodNumber>;
|
|
73
|
+
}, z.core.$strip>>;
|
|
74
|
+
claims: z.ZodDefault<z.ZodObject<{
|
|
75
|
+
allow: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
76
|
+
block: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
77
|
+
}, z.core.$strip>>;
|
|
78
|
+
defaultTier: z.ZodDefault<z.ZodEnum<{
|
|
79
|
+
T0: "T0";
|
|
80
|
+
T1: "T1";
|
|
81
|
+
T2: "T2";
|
|
82
|
+
T3: "T3";
|
|
83
|
+
}>>;
|
|
84
|
+
defaultAspect: z.ZodDefault<z.ZodEnum<{
|
|
85
|
+
"9:16": "9:16";
|
|
86
|
+
"16:9": "16:9";
|
|
87
|
+
"1:1": "1:1";
|
|
88
|
+
"4:5": "4:5";
|
|
89
|
+
}>>;
|
|
90
|
+
references: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
91
|
+
url: z.ZodString;
|
|
92
|
+
label: z.ZodOptional<z.ZodString>;
|
|
93
|
+
}, z.core.$strip>>>;
|
|
94
|
+
createdAt: z.ZodString;
|
|
95
|
+
updatedAt: z.ZodString;
|
|
96
|
+
}, z.core.$strip>;
|
|
97
|
+
export type BrandKit = z.infer<typeof BrandKitSchema>;
|
|
98
|
+
export type BrandColors = z.infer<typeof BrandColorsSchema>;
|
|
99
|
+
export type BrandFonts = z.infer<typeof BrandFontsSchema>;
|
|
100
|
+
export type BrandIdentity = z.infer<typeof BrandIdentitySchema>;
|
|
101
|
+
//# sourceMappingURL=brandKit.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brandKit.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/brandKit.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;GAIG;AAEH,eAAO,MAAM,iBAAiB;;;;;iBAM5B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkBzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BrandKitSchema = exports.BrandReferenceSchema = exports.BrandIdentitySchema = exports.BrandFontsSchema = exports.BrandColorsSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const project_schema_1 = require("./project.schema");
|
|
6
|
+
const brief_schema_1 = require("./brief.schema");
|
|
7
|
+
/**
|
|
8
|
+
* BrandKit — per-user (eventually per-workspace) brand profile that is automatically
|
|
9
|
+
* injected into every VideoBrief the agent constructs. Set once, applied everywhere.
|
|
10
|
+
* The single biggest accuracy lever for serial creators.
|
|
11
|
+
*/
|
|
12
|
+
exports.BrandColorsSchema = zod_1.z.object({
|
|
13
|
+
primary: zod_1.z.string().optional(),
|
|
14
|
+
secondary: zod_1.z.string().optional(),
|
|
15
|
+
accent: zod_1.z.string().optional(),
|
|
16
|
+
/** Optional extracted palette from logo. */
|
|
17
|
+
palette: zod_1.z.array(zod_1.z.string()).default([]),
|
|
18
|
+
});
|
|
19
|
+
exports.BrandFontsSchema = zod_1.z.object({
|
|
20
|
+
heading: zod_1.z.string().optional(),
|
|
21
|
+
body: zod_1.z.string().optional(),
|
|
22
|
+
});
|
|
23
|
+
exports.BrandIdentitySchema = zod_1.z.object({
|
|
24
|
+
brandName: zod_1.z.string().optional(),
|
|
25
|
+
wordmark: zod_1.z.string().optional(),
|
|
26
|
+
logoUrl: zod_1.z.string().url().optional(),
|
|
27
|
+
});
|
|
28
|
+
exports.BrandReferenceSchema = zod_1.z.object({
|
|
29
|
+
url: zod_1.z.string().url(),
|
|
30
|
+
label: zod_1.z.string().optional(),
|
|
31
|
+
});
|
|
32
|
+
exports.BrandKitSchema = zod_1.z.object({
|
|
33
|
+
userId: zod_1.z.string(),
|
|
34
|
+
identity: exports.BrandIdentitySchema.default({}),
|
|
35
|
+
colors: exports.BrandColorsSchema.default({ palette: [] }),
|
|
36
|
+
fonts: exports.BrandFontsSchema.default({}),
|
|
37
|
+
voice: brief_schema_1.VoiceProfileSchema.optional(),
|
|
38
|
+
music: brief_schema_1.MusicProfileSchema.optional(),
|
|
39
|
+
claims: brief_schema_1.ClaimsSchema.default({ allow: [], block: [] }),
|
|
40
|
+
defaultTier: project_schema_1.TierSchema.default("T1"),
|
|
41
|
+
defaultAspect: project_schema_1.AspectSchema.default("9:16"),
|
|
42
|
+
/** Up to 3 reference videos the agent treats as default style anchors. */
|
|
43
|
+
references: zod_1.z.array(exports.BrandReferenceSchema).max(3).default([]),
|
|
44
|
+
createdAt: zod_1.z.string().datetime(),
|
|
45
|
+
updatedAt: zod_1.z.string().datetime(),
|
|
46
|
+
});
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* VideoBrief — the structured spec the agent fills from a user's natural-language
|
|
4
|
+
* request. It is the single source of truth for downstream tools (planner, executor,
|
|
5
|
+
* critic). Agents are stateless across turns; the Brief carries state.
|
|
6
|
+
*
|
|
7
|
+
* Two-stage intent capture produces this:
|
|
8
|
+
* 1. Implicit inference pass: LLM fills confident defaults from the prompt + niche.
|
|
9
|
+
* 2. Targeted gap pass: chip-style clarifying questions for low-confidence axes only.
|
|
10
|
+
*
|
|
11
|
+
* Fields are mostly optional because partial briefs are valid early in the conversation;
|
|
12
|
+
* the planner re-validates that required-for-planning fields are present at plan time.
|
|
13
|
+
*/
|
|
14
|
+
export declare const VideoNicheSchema: z.ZodEnum<{
|
|
15
|
+
"ugc-ad": "ugc-ad";
|
|
16
|
+
"faceless-yt": "faceless-yt";
|
|
17
|
+
"product-demo": "product-demo";
|
|
18
|
+
"talking-head": "talking-head";
|
|
19
|
+
"social-recap": "social-recap";
|
|
20
|
+
"real-estate": "real-estate";
|
|
21
|
+
recipe: "recipe";
|
|
22
|
+
travel: "travel";
|
|
23
|
+
fitness: "fitness";
|
|
24
|
+
"podcast-clip": "podcast-clip";
|
|
25
|
+
education: "education";
|
|
26
|
+
news: "news";
|
|
27
|
+
other: "other";
|
|
28
|
+
}>;
|
|
29
|
+
export declare const ToneSchema: z.ZodEnum<{
|
|
30
|
+
energetic: "energetic";
|
|
31
|
+
calm: "calm";
|
|
32
|
+
cinematic: "cinematic";
|
|
33
|
+
playful: "playful";
|
|
34
|
+
casual: "casual";
|
|
35
|
+
professional: "professional";
|
|
36
|
+
edgy: "edgy";
|
|
37
|
+
warm: "warm";
|
|
38
|
+
informational: "informational";
|
|
39
|
+
}>;
|
|
40
|
+
export declare const HookStyleSchema: z.ZodEnum<{
|
|
41
|
+
question: "question";
|
|
42
|
+
"bold-claim": "bold-claim";
|
|
43
|
+
"pattern-interrupt": "pattern-interrupt";
|
|
44
|
+
story: "story";
|
|
45
|
+
stat: "stat";
|
|
46
|
+
demo: "demo";
|
|
47
|
+
"voiceover-only": "voiceover-only";
|
|
48
|
+
}>;
|
|
49
|
+
export declare const PacingSchema: z.ZodEnum<{
|
|
50
|
+
medium: "medium";
|
|
51
|
+
fast: "fast";
|
|
52
|
+
slow: "slow";
|
|
53
|
+
"very-fast": "very-fast";
|
|
54
|
+
}>;
|
|
55
|
+
export declare const VoiceProfileSchema: z.ZodObject<{
|
|
56
|
+
gender: z.ZodOptional<z.ZodEnum<{
|
|
57
|
+
female: "female";
|
|
58
|
+
male: "male";
|
|
59
|
+
neutral: "neutral";
|
|
60
|
+
}>>;
|
|
61
|
+
ageRange: z.ZodOptional<z.ZodEnum<{
|
|
62
|
+
child: "child";
|
|
63
|
+
teen: "teen";
|
|
64
|
+
"young-adult": "young-adult";
|
|
65
|
+
adult: "adult";
|
|
66
|
+
senior: "senior";
|
|
67
|
+
}>>;
|
|
68
|
+
accent: z.ZodOptional<z.ZodString>;
|
|
69
|
+
language: z.ZodDefault<z.ZodString>;
|
|
70
|
+
voiceId: z.ZodOptional<z.ZodString>;
|
|
71
|
+
}, z.core.$strip>;
|
|
72
|
+
export declare const MusicProfileSchema: z.ZodObject<{
|
|
73
|
+
moods: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
74
|
+
energetic: "energetic";
|
|
75
|
+
calm: "calm";
|
|
76
|
+
cinematic: "cinematic";
|
|
77
|
+
uplifting: "uplifting";
|
|
78
|
+
tense: "tense";
|
|
79
|
+
dreamy: "dreamy";
|
|
80
|
+
dark: "dark";
|
|
81
|
+
playful: "playful";
|
|
82
|
+
}>>>;
|
|
83
|
+
bpmMin: z.ZodOptional<z.ZodNumber>;
|
|
84
|
+
bpmMax: z.ZodOptional<z.ZodNumber>;
|
|
85
|
+
}, z.core.$strip>;
|
|
86
|
+
export declare const ClaimsSchema: z.ZodObject<{
|
|
87
|
+
allow: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
88
|
+
block: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
89
|
+
}, z.core.$strip>;
|
|
90
|
+
export declare const ReferenceLinkSchema: z.ZodObject<{
|
|
91
|
+
url: z.ZodString;
|
|
92
|
+
analyzed: z.ZodOptional<z.ZodObject<{
|
|
93
|
+
durationMs: z.ZodNumber;
|
|
94
|
+
sceneCount: z.ZodNumber;
|
|
95
|
+
hookMs: z.ZodNumber;
|
|
96
|
+
cutsPerSecond: z.ZodNumber;
|
|
97
|
+
bpm: z.ZodOptional<z.ZodNumber>;
|
|
98
|
+
transcriptExcerpt: z.ZodOptional<z.ZodString>;
|
|
99
|
+
}, z.core.$strip>>;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
export declare const VideoBriefSchema: z.ZodObject<{
|
|
102
|
+
rawPrompt: z.ZodString;
|
|
103
|
+
goal: z.ZodOptional<z.ZodString>;
|
|
104
|
+
niche: z.ZodOptional<z.ZodEnum<{
|
|
105
|
+
"ugc-ad": "ugc-ad";
|
|
106
|
+
"faceless-yt": "faceless-yt";
|
|
107
|
+
"product-demo": "product-demo";
|
|
108
|
+
"talking-head": "talking-head";
|
|
109
|
+
"social-recap": "social-recap";
|
|
110
|
+
"real-estate": "real-estate";
|
|
111
|
+
recipe: "recipe";
|
|
112
|
+
travel: "travel";
|
|
113
|
+
fitness: "fitness";
|
|
114
|
+
"podcast-clip": "podcast-clip";
|
|
115
|
+
education: "education";
|
|
116
|
+
news: "news";
|
|
117
|
+
other: "other";
|
|
118
|
+
}>>;
|
|
119
|
+
audience: z.ZodOptional<z.ZodString>;
|
|
120
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
121
|
+
energetic: "energetic";
|
|
122
|
+
calm: "calm";
|
|
123
|
+
cinematic: "cinematic";
|
|
124
|
+
playful: "playful";
|
|
125
|
+
casual: "casual";
|
|
126
|
+
professional: "professional";
|
|
127
|
+
edgy: "edgy";
|
|
128
|
+
warm: "warm";
|
|
129
|
+
informational: "informational";
|
|
130
|
+
}>>;
|
|
131
|
+
hookStyle: z.ZodOptional<z.ZodEnum<{
|
|
132
|
+
question: "question";
|
|
133
|
+
"bold-claim": "bold-claim";
|
|
134
|
+
"pattern-interrupt": "pattern-interrupt";
|
|
135
|
+
story: "story";
|
|
136
|
+
stat: "stat";
|
|
137
|
+
demo: "demo";
|
|
138
|
+
"voiceover-only": "voiceover-only";
|
|
139
|
+
}>>;
|
|
140
|
+
pacing: z.ZodOptional<z.ZodEnum<{
|
|
141
|
+
medium: "medium";
|
|
142
|
+
fast: "fast";
|
|
143
|
+
slow: "slow";
|
|
144
|
+
"very-fast": "very-fast";
|
|
145
|
+
}>>;
|
|
146
|
+
durationSec: z.ZodOptional<z.ZodNumber>;
|
|
147
|
+
aspect: z.ZodOptional<z.ZodEnum<{
|
|
148
|
+
"9:16": "9:16";
|
|
149
|
+
"16:9": "16:9";
|
|
150
|
+
"1:1": "1:1";
|
|
151
|
+
"4:5": "4:5";
|
|
152
|
+
}>>;
|
|
153
|
+
voice: z.ZodOptional<z.ZodObject<{
|
|
154
|
+
gender: z.ZodOptional<z.ZodEnum<{
|
|
155
|
+
female: "female";
|
|
156
|
+
male: "male";
|
|
157
|
+
neutral: "neutral";
|
|
158
|
+
}>>;
|
|
159
|
+
ageRange: z.ZodOptional<z.ZodEnum<{
|
|
160
|
+
child: "child";
|
|
161
|
+
teen: "teen";
|
|
162
|
+
"young-adult": "young-adult";
|
|
163
|
+
adult: "adult";
|
|
164
|
+
senior: "senior";
|
|
165
|
+
}>>;
|
|
166
|
+
accent: z.ZodOptional<z.ZodString>;
|
|
167
|
+
language: z.ZodDefault<z.ZodString>;
|
|
168
|
+
voiceId: z.ZodOptional<z.ZodString>;
|
|
169
|
+
}, z.core.$strip>>;
|
|
170
|
+
music: z.ZodOptional<z.ZodObject<{
|
|
171
|
+
moods: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
172
|
+
energetic: "energetic";
|
|
173
|
+
calm: "calm";
|
|
174
|
+
cinematic: "cinematic";
|
|
175
|
+
uplifting: "uplifting";
|
|
176
|
+
tense: "tense";
|
|
177
|
+
dreamy: "dreamy";
|
|
178
|
+
dark: "dark";
|
|
179
|
+
playful: "playful";
|
|
180
|
+
}>>>;
|
|
181
|
+
bpmMin: z.ZodOptional<z.ZodNumber>;
|
|
182
|
+
bpmMax: z.ZodOptional<z.ZodNumber>;
|
|
183
|
+
}, z.core.$strip>>;
|
|
184
|
+
cta: z.ZodOptional<z.ZodString>;
|
|
185
|
+
claims: z.ZodDefault<z.ZodObject<{
|
|
186
|
+
allow: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
187
|
+
block: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
188
|
+
}, z.core.$strip>>;
|
|
189
|
+
references: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
190
|
+
url: z.ZodString;
|
|
191
|
+
analyzed: z.ZodOptional<z.ZodObject<{
|
|
192
|
+
durationMs: z.ZodNumber;
|
|
193
|
+
sceneCount: z.ZodNumber;
|
|
194
|
+
hookMs: z.ZodNumber;
|
|
195
|
+
cutsPerSecond: z.ZodNumber;
|
|
196
|
+
bpm: z.ZodOptional<z.ZodNumber>;
|
|
197
|
+
transcriptExcerpt: z.ZodOptional<z.ZodString>;
|
|
198
|
+
}, z.core.$strip>>;
|
|
199
|
+
}, z.core.$strip>>>;
|
|
200
|
+
tierBudget: z.ZodDefault<z.ZodEnum<{
|
|
201
|
+
T0: "T0";
|
|
202
|
+
T1: "T1";
|
|
203
|
+
T2: "T2";
|
|
204
|
+
T3: "T3";
|
|
205
|
+
}>>;
|
|
206
|
+
confidence: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
207
|
+
}, z.core.$strip>;
|
|
208
|
+
export type VideoBrief = z.infer<typeof VideoBriefSchema>;
|
|
209
|
+
export type VoiceProfile = z.infer<typeof VoiceProfileSchema>;
|
|
210
|
+
export type MusicProfile = z.infer<typeof MusicProfileSchema>;
|
|
211
|
+
export type ReferenceLink = z.infer<typeof ReferenceLinkSchema>;
|
|
212
|
+
export type VideoNiche = z.infer<typeof VideoNicheSchema>;
|
|
213
|
+
export type Tone = z.infer<typeof ToneSchema>;
|
|
214
|
+
export type HookStyle = z.infer<typeof HookStyleSchema>;
|
|
215
|
+
export type Pacing = z.infer<typeof PacingSchema>;
|
|
216
|
+
//# sourceMappingURL=brief.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brief.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/brief.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;EAc3B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;EAUrB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;EAQ1B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;EAAkD,CAAC;AAE5E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;iBAO7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;iBAiB7B,CAAC;AAEH,eAAO,MAAM,YAAY;;;iBAKvB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAa9B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4B3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VideoBriefSchema = exports.ReferenceLinkSchema = exports.ClaimsSchema = exports.MusicProfileSchema = exports.VoiceProfileSchema = exports.PacingSchema = exports.HookStyleSchema = exports.ToneSchema = exports.VideoNicheSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const project_schema_1 = require("./project.schema");
|
|
6
|
+
/**
|
|
7
|
+
* VideoBrief — the structured spec the agent fills from a user's natural-language
|
|
8
|
+
* request. It is the single source of truth for downstream tools (planner, executor,
|
|
9
|
+
* critic). Agents are stateless across turns; the Brief carries state.
|
|
10
|
+
*
|
|
11
|
+
* Two-stage intent capture produces this:
|
|
12
|
+
* 1. Implicit inference pass: LLM fills confident defaults from the prompt + niche.
|
|
13
|
+
* 2. Targeted gap pass: chip-style clarifying questions for low-confidence axes only.
|
|
14
|
+
*
|
|
15
|
+
* Fields are mostly optional because partial briefs are valid early in the conversation;
|
|
16
|
+
* the planner re-validates that required-for-planning fields are present at plan time.
|
|
17
|
+
*/
|
|
18
|
+
exports.VideoNicheSchema = zod_1.z.enum([
|
|
19
|
+
"ugc-ad",
|
|
20
|
+
"faceless-yt",
|
|
21
|
+
"product-demo",
|
|
22
|
+
"talking-head",
|
|
23
|
+
"social-recap",
|
|
24
|
+
"real-estate",
|
|
25
|
+
"recipe",
|
|
26
|
+
"travel",
|
|
27
|
+
"fitness",
|
|
28
|
+
"podcast-clip",
|
|
29
|
+
"education",
|
|
30
|
+
"news",
|
|
31
|
+
"other",
|
|
32
|
+
]);
|
|
33
|
+
exports.ToneSchema = zod_1.z.enum([
|
|
34
|
+
"energetic",
|
|
35
|
+
"calm",
|
|
36
|
+
"cinematic",
|
|
37
|
+
"casual",
|
|
38
|
+
"professional",
|
|
39
|
+
"playful",
|
|
40
|
+
"edgy",
|
|
41
|
+
"warm",
|
|
42
|
+
"informational",
|
|
43
|
+
]);
|
|
44
|
+
exports.HookStyleSchema = zod_1.z.enum([
|
|
45
|
+
"question",
|
|
46
|
+
"bold-claim",
|
|
47
|
+
"pattern-interrupt",
|
|
48
|
+
"story",
|
|
49
|
+
"stat",
|
|
50
|
+
"demo",
|
|
51
|
+
"voiceover-only",
|
|
52
|
+
]);
|
|
53
|
+
exports.PacingSchema = zod_1.z.enum(["slow", "medium", "fast", "very-fast"]);
|
|
54
|
+
exports.VoiceProfileSchema = zod_1.z.object({
|
|
55
|
+
gender: zod_1.z.enum(["female", "male", "neutral"]).optional(),
|
|
56
|
+
ageRange: zod_1.z.enum(["child", "teen", "young-adult", "adult", "senior"]).optional(),
|
|
57
|
+
accent: zod_1.z.string().optional(),
|
|
58
|
+
language: zod_1.z.string().default("en"),
|
|
59
|
+
/** Reference to a TTS voice id once selected. */
|
|
60
|
+
voiceId: zod_1.z.string().optional(),
|
|
61
|
+
});
|
|
62
|
+
exports.MusicProfileSchema = zod_1.z.object({
|
|
63
|
+
moods: zod_1.z
|
|
64
|
+
.array(zod_1.z.enum([
|
|
65
|
+
"energetic",
|
|
66
|
+
"calm",
|
|
67
|
+
"cinematic",
|
|
68
|
+
"uplifting",
|
|
69
|
+
"tense",
|
|
70
|
+
"dreamy",
|
|
71
|
+
"dark",
|
|
72
|
+
"playful",
|
|
73
|
+
]))
|
|
74
|
+
.default([]),
|
|
75
|
+
bpmMin: zod_1.z.number().int().positive().optional(),
|
|
76
|
+
bpmMax: zod_1.z.number().int().positive().optional(),
|
|
77
|
+
});
|
|
78
|
+
exports.ClaimsSchema = zod_1.z.object({
|
|
79
|
+
/** Phrases the agent should preferentially use (brand voice). */
|
|
80
|
+
allow: zod_1.z.array(zod_1.z.string()).default([]),
|
|
81
|
+
/** Phrases the agent must never produce (legal / compliance). */
|
|
82
|
+
block: zod_1.z.array(zod_1.z.string()).default([]),
|
|
83
|
+
});
|
|
84
|
+
exports.ReferenceLinkSchema = zod_1.z.object({
|
|
85
|
+
url: zod_1.z.string().url(),
|
|
86
|
+
/** Set after analyze_reference runs. */
|
|
87
|
+
analyzed: zod_1.z
|
|
88
|
+
.object({
|
|
89
|
+
durationMs: zod_1.z.number(),
|
|
90
|
+
sceneCount: zod_1.z.number().int(),
|
|
91
|
+
hookMs: zod_1.z.number(),
|
|
92
|
+
cutsPerSecond: zod_1.z.number(),
|
|
93
|
+
bpm: zod_1.z.number().optional(),
|
|
94
|
+
transcriptExcerpt: zod_1.z.string().optional(),
|
|
95
|
+
})
|
|
96
|
+
.optional(),
|
|
97
|
+
});
|
|
98
|
+
exports.VideoBriefSchema = zod_1.z.object({
|
|
99
|
+
/** Free-text user request, kept verbatim. */
|
|
100
|
+
rawPrompt: zod_1.z.string(),
|
|
101
|
+
goal: zod_1.z.string().optional(),
|
|
102
|
+
niche: exports.VideoNicheSchema.optional(),
|
|
103
|
+
audience: zod_1.z.string().optional(),
|
|
104
|
+
tone: exports.ToneSchema.optional(),
|
|
105
|
+
hookStyle: exports.HookStyleSchema.optional(),
|
|
106
|
+
pacing: exports.PacingSchema.optional(),
|
|
107
|
+
durationSec: zod_1.z.number().positive().optional(),
|
|
108
|
+
aspect: project_schema_1.AspectSchema.optional(),
|
|
109
|
+
voice: exports.VoiceProfileSchema.optional(),
|
|
110
|
+
music: exports.MusicProfileSchema.optional(),
|
|
111
|
+
cta: zod_1.z.string().optional(),
|
|
112
|
+
claims: exports.ClaimsSchema.default({ allow: [], block: [] }),
|
|
113
|
+
references: zod_1.z.array(exports.ReferenceLinkSchema).default([]),
|
|
114
|
+
/** Tier budget envelope; the planner respects this when assigning per-scene tiers. */
|
|
115
|
+
tierBudget: project_schema_1.TierSchema.default("T1"),
|
|
116
|
+
/** Per-axis confidence (0-1) emitted by the inference pass. Used to decide what to ask. */
|
|
117
|
+
confidence: zod_1.z.record(zod_1.z.string(), zod_1.z.number().min(0).max(1)).default({}),
|
|
118
|
+
});
|