vidspotai-shared 1.0.53 → 1.0.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/lib/globals/aiModels/providers/alibaba.d.ts +4 -0
  2. package/lib/globals/aiModels/providers/alibaba.d.ts.map +1 -0
  3. package/lib/globals/aiModels/providers/alibaba.js +183 -0
  4. package/lib/globals/aiModels/providers/elevenlabs.d.ts +13 -0
  5. package/lib/globals/aiModels/providers/elevenlabs.d.ts.map +1 -0
  6. package/lib/globals/aiModels/providers/elevenlabs.js +25 -0
  7. package/lib/globals/aiModels/providers/pixverseTemplates.d.ts +36 -0
  8. package/lib/globals/aiModels/providers/pixverseTemplates.d.ts.map +1 -0
  9. package/lib/globals/aiModels/providers/pixverseTemplates.js +42 -0
  10. package/lib/globals/aiModels/tierHelpers.d.ts +27 -0
  11. package/lib/globals/aiModels/tierHelpers.d.ts.map +1 -0
  12. package/lib/globals/aiModels/tierHelpers.js +73 -0
  13. package/lib/globals/ttsModels/providers/minimax.d.ts +8 -0
  14. package/lib/globals/ttsModels/providers/minimax.d.ts.map +1 -0
  15. package/lib/globals/ttsModels/providers/minimax.js +18 -0
  16. package/lib/globals/ttsModels/providers/openai.d.ts +8 -0
  17. package/lib/globals/ttsModels/providers/openai.d.ts.map +1 -0
  18. package/lib/globals/ttsModels/providers/openai.js +18 -0
  19. package/lib/globals/types.d.ts +2 -1
  20. package/lib/globals/types.d.ts.map +1 -1
  21. package/lib/globals/types.js +1 -0
  22. package/lib/models/agent.model.d.ts +117 -0
  23. package/lib/models/agent.model.d.ts.map +1 -0
  24. package/lib/models/agent.model.js +13 -0
  25. package/lib/models/analytics.model.d.ts +4 -0
  26. package/lib/models/analytics.model.d.ts.map +1 -1
  27. package/lib/models/cachedAsset.model.d.ts +18 -0
  28. package/lib/models/cachedAsset.model.d.ts.map +1 -0
  29. package/lib/models/cachedAsset.model.js +2 -0
  30. package/lib/models/cachedRawAsset.model.d.ts +20 -0
  31. package/lib/models/cachedRawAsset.model.d.ts.map +1 -0
  32. package/lib/models/cachedRawAsset.model.js +2 -0
  33. package/lib/models/video.model.d.ts +1 -0
  34. package/lib/models/video.model.d.ts.map +1 -1
  35. package/lib/schemas/agentPersona.schema.d.ts +10 -0
  36. package/lib/schemas/agentPersona.schema.d.ts.map +1 -0
  37. package/lib/schemas/agentPersona.schema.js +11 -0
  38. package/lib/schemas/brandKit.schema.d.ts +101 -0
  39. package/lib/schemas/brandKit.schema.d.ts.map +1 -0
  40. package/lib/schemas/brandKit.schema.js +46 -0
  41. package/lib/schemas/brief.schema.d.ts +216 -0
  42. package/lib/schemas/brief.schema.d.ts.map +1 -0
  43. package/lib/schemas/brief.schema.js +118 -0
  44. package/lib/schemas/index.d.ts +6 -0
  45. package/lib/schemas/index.d.ts.map +1 -0
  46. package/lib/schemas/index.js +21 -0
  47. package/lib/schemas/project.schema.d.ts +1005 -0
  48. package/lib/schemas/project.schema.d.ts.map +1 -0
  49. package/lib/schemas/project.schema.js +238 -0
  50. package/lib/schemas/videoPlan.schema.d.ts +145 -0
  51. package/lib/schemas/videoPlan.schema.d.ts.map +1 -0
  52. package/lib/schemas/videoPlan.schema.js +109 -0
  53. package/lib/services/agent/beatSnap.d.ts +10 -0
  54. package/lib/services/agent/beatSnap.d.ts.map +1 -0
  55. package/lib/services/agent/beatSnap.js +128 -0
  56. package/lib/services/agent/costPreflight.d.ts +22 -0
  57. package/lib/services/agent/costPreflight.d.ts.map +1 -0
  58. package/lib/services/agent/costPreflight.js +75 -0
  59. package/lib/services/agent/critic.d.ts +103 -0
  60. package/lib/services/agent/critic.d.ts.map +1 -0
  61. package/lib/services/agent/critic.js +132 -0
  62. package/lib/services/agent/eval/index.d.ts +5 -0
  63. package/lib/services/agent/eval/index.d.ts.map +1 -0
  64. package/lib/services/agent/eval/index.js +20 -0
  65. package/lib/services/agent/eval/judge.d.ts +14 -0
  66. package/lib/services/agent/eval/judge.d.ts.map +1 -0
  67. package/lib/services/agent/eval/judge.js +95 -0
  68. package/lib/services/agent/eval/recorder.d.ts +17 -0
  69. package/lib/services/agent/eval/recorder.d.ts.map +1 -0
  70. package/lib/services/agent/eval/recorder.js +65 -0
  71. package/lib/services/agent/eval/seedBriefs.d.ts +16 -0
  72. package/lib/services/agent/eval/seedBriefs.d.ts.map +1 -0
  73. package/lib/services/agent/eval/seedBriefs.js +1188 -0
  74. package/lib/services/agent/eval/types.d.ts +196 -0
  75. package/lib/services/agent/eval/types.d.ts.map +1 -0
  76. package/lib/services/agent/eval/types.js +65 -0
  77. package/lib/services/agent/executor.d.ts +50 -0
  78. package/lib/services/agent/executor.d.ts.map +1 -0
  79. package/lib/services/agent/executor.js +188 -0
  80. package/lib/services/agent/index.d.ts +15 -0
  81. package/lib/services/agent/index.d.ts.map +1 -0
  82. package/lib/services/agent/index.js +30 -0
  83. package/lib/services/agent/llmCaller.d.ts +77 -0
  84. package/lib/services/agent/llmCaller.d.ts.map +1 -0
  85. package/lib/services/agent/llmCaller.js +16 -0
  86. package/lib/services/agent/llmCallerGateway.d.ts +39 -0
  87. package/lib/services/agent/llmCallerGateway.d.ts.map +1 -0
  88. package/lib/services/agent/llmCallerGateway.js +246 -0
  89. package/lib/services/agent/llmCallerRegistry.d.ts +4 -0
  90. package/lib/services/agent/llmCallerRegistry.d.ts.map +1 -0
  91. package/lib/services/agent/llmCallerRegistry.js +19 -0
  92. package/lib/services/agent/modelRouter.d.ts +41 -0
  93. package/lib/services/agent/modelRouter.d.ts.map +1 -0
  94. package/lib/services/agent/modelRouter.js +57 -0
  95. package/lib/services/agent/musicSelect.d.ts +23 -0
  96. package/lib/services/agent/musicSelect.d.ts.map +1 -0
  97. package/lib/services/agent/musicSelect.js +65 -0
  98. package/lib/services/agent/personas.d.ts +60 -0
  99. package/lib/services/agent/personas.d.ts.map +1 -0
  100. package/lib/services/agent/personas.js +156 -0
  101. package/lib/services/agent/planner.d.ts +56 -0
  102. package/lib/services/agent/planner.d.ts.map +1 -0
  103. package/lib/services/agent/planner.js +237 -0
  104. package/lib/services/agent/toolRegistry.d.ts +64 -0
  105. package/lib/services/agent/toolRegistry.d.ts.map +1 -0
  106. package/lib/services/agent/toolRegistry.js +78 -0
  107. package/lib/services/agent/tools/analyzeReference.tool.d.ts +36 -0
  108. package/lib/services/agent/tools/analyzeReference.tool.d.ts.map +1 -0
  109. package/lib/services/agent/tools/analyzeReference.tool.js +44 -0
  110. package/lib/services/agent/tools/animateImage.tool.d.ts +23 -0
  111. package/lib/services/agent/tools/animateImage.tool.d.ts.map +1 -0
  112. package/lib/services/agent/tools/animateImage.tool.js +58 -0
  113. package/lib/services/agent/tools/animateImageWithMotionBrush.tool.d.ts +30 -0
  114. package/lib/services/agent/tools/animateImageWithMotionBrush.tool.d.ts.map +1 -0
  115. package/lib/services/agent/tools/animateImageWithMotionBrush.tool.js +90 -0
  116. package/lib/services/agent/tools/composeScene.tool.d.ts +948 -0
  117. package/lib/services/agent/tools/composeScene.tool.d.ts.map +1 -0
  118. package/lib/services/agent/tools/composeScene.tool.js +90 -0
  119. package/lib/services/agent/tools/estimateCost.tool.d.ts +342 -0
  120. package/lib/services/agent/tools/estimateCost.tool.d.ts.map +1 -0
  121. package/lib/services/agent/tools/estimateCost.tool.js +62 -0
  122. package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts +32 -0
  123. package/lib/services/agent/tools/generateAvatarVideo.tool.d.ts.map +1 -0
  124. package/lib/services/agent/tools/generateAvatarVideo.tool.js +112 -0
  125. package/lib/services/agent/tools/generateImage.tool.d.ts +28 -0
  126. package/lib/services/agent/tools/generateImage.tool.d.ts.map +1 -0
  127. package/lib/services/agent/tools/generateImage.tool.js +97 -0
  128. package/lib/services/agent/tools/generateVideo.tool.d.ts +30 -0
  129. package/lib/services/agent/tools/generateVideo.tool.d.ts.map +1 -0
  130. package/lib/services/agent/tools/generateVideo.tool.js +84 -0
  131. package/lib/services/agent/tools/generateVoiceover.tool.d.ts +18 -0
  132. package/lib/services/agent/tools/generateVoiceover.tool.d.ts.map +1 -0
  133. package/lib/services/agent/tools/generateVoiceover.tool.js +72 -0
  134. package/lib/services/agent/tools/index.d.ts +19 -0
  135. package/lib/services/agent/tools/index.d.ts.map +1 -0
  136. package/lib/services/agent/tools/index.js +34 -0
  137. package/lib/services/agent/tools/planVideo.tool.d.ts +191 -0
  138. package/lib/services/agent/tools/planVideo.tool.d.ts.map +1 -0
  139. package/lib/services/agent/tools/planVideo.tool.js +46 -0
  140. package/lib/services/agent/tools/render.tool.d.ts +357 -0
  141. package/lib/services/agent/tools/render.tool.d.ts.map +1 -0
  142. package/lib/services/agent/tools/render.tool.js +48 -0
  143. package/lib/services/agent/tools/searchMusic.tool.d.ts +49 -0
  144. package/lib/services/agent/tools/searchMusic.tool.d.ts.map +1 -0
  145. package/lib/services/agent/tools/searchMusic.tool.js +74 -0
  146. package/lib/services/agent/tools/searchStock.tool.d.ts +37 -0
  147. package/lib/services/agent/tools/searchStock.tool.d.ts.map +1 -0
  148. package/lib/services/agent/tools/searchStock.tool.js +101 -0
  149. package/lib/services/agent/tools/searchUserLibrary.tool.d.ts +59 -0
  150. package/lib/services/agent/tools/searchUserLibrary.tool.d.ts.map +1 -0
  151. package/lib/services/agent/tools/searchUserLibrary.tool.js +58 -0
  152. package/lib/services/aiGen/canonicalAdapters/cameraControl.types.d.ts +31 -0
  153. package/lib/services/aiGen/canonicalAdapters/cameraControl.types.d.ts.map +1 -0
  154. package/lib/services/aiGen/canonicalAdapters/cameraControl.types.js +2 -0
  155. package/lib/services/aiGen/canonicalAdapters/index.d.ts +3 -0
  156. package/lib/services/aiGen/canonicalAdapters/index.d.ts.map +1 -0
  157. package/lib/services/aiGen/canonicalAdapters/index.js +18 -0
  158. package/lib/services/aiGen/canonicalAdapters/multiShot.types.d.ts +23 -0
  159. package/lib/services/aiGen/canonicalAdapters/multiShot.types.d.ts.map +1 -0
  160. package/lib/services/aiGen/canonicalAdapters/multiShot.types.js +12 -0
  161. package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.d.ts +18 -0
  162. package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.d.ts.map +1 -0
  163. package/lib/services/aiGen/providers/elevenlabs/elevenlabs.service.js +100 -0
  164. package/lib/services/aiGen/providers/fal/falImage.service.d.ts +9 -0
  165. package/lib/services/aiGen/providers/fal/falImage.service.d.ts.map +1 -0
  166. package/lib/services/aiGen/providers/fal/falImage.service.js +102 -0
  167. package/lib/services/aiGen/providers/fal/index.d.ts +2 -0
  168. package/lib/services/aiGen/providers/fal/index.d.ts.map +1 -0
  169. package/lib/services/aiGen/providers/fal/index.js +17 -0
  170. package/lib/services/aiGen/providers/kling/cameraAdapter.d.ts +4 -0
  171. package/lib/services/aiGen/providers/kling/cameraAdapter.d.ts.map +1 -0
  172. package/lib/services/aiGen/providers/kling/cameraAdapter.js +53 -0
  173. package/lib/services/aiGen/providers/pexels/index.d.ts +2 -0
  174. package/lib/services/aiGen/providers/pexels/index.d.ts.map +1 -0
  175. package/lib/services/aiGen/providers/pexels/index.js +17 -0
  176. package/lib/services/aiGen/providers/pexels/pexels.service.d.ts +11 -0
  177. package/lib/services/aiGen/providers/pexels/pexels.service.d.ts.map +1 -0
  178. package/lib/services/aiGen/providers/pexels/pexels.service.js +118 -0
  179. package/lib/services/aiGen/providers/runway/cameraAdapter.d.ts +3 -0
  180. package/lib/services/aiGen/providers/runway/cameraAdapter.d.ts.map +1 -0
  181. package/lib/services/aiGen/providers/runway/cameraAdapter.js +46 -0
  182. package/lib/services/analytics.service.d.ts +10 -0
  183. package/lib/services/analytics.service.d.ts.map +1 -1
  184. package/lib/services/analytics.service.js +27 -0
  185. package/lib/services/asr/assemblyai.service.d.ts +72 -0
  186. package/lib/services/asr/assemblyai.service.d.ts.map +1 -0
  187. package/lib/services/asr/assemblyai.service.js +89 -0
  188. package/lib/services/asr/index.d.ts +2 -0
  189. package/lib/services/asr/index.d.ts.map +1 -0
  190. package/lib/services/asr/index.js +17 -0
  191. package/lib/services/assetCache.service.d.ts +54 -0
  192. package/lib/services/assetCache.service.d.ts.map +1 -0
  193. package/lib/services/assetCache.service.js +96 -0
  194. package/lib/services/audioAnalysis/index.d.ts +2 -0
  195. package/lib/services/audioAnalysis/index.d.ts.map +1 -0
  196. package/lib/services/audioAnalysis/index.js +17 -0
  197. package/lib/services/audioAnalysis/onsetDetection.service.d.ts +50 -0
  198. package/lib/services/audioAnalysis/onsetDetection.service.d.ts.map +1 -0
  199. package/lib/services/audioAnalysis/onsetDetection.service.js +136 -0
  200. package/lib/services/editor/designToProject.d.ts +60 -0
  201. package/lib/services/editor/designToProject.d.ts.map +1 -0
  202. package/lib/services/editor/designToProject.js +194 -0
  203. package/lib/services/musicGen/index.d.ts +6 -0
  204. package/lib/services/musicGen/index.d.ts.map +1 -0
  205. package/lib/services/musicGen/index.js +26 -0
  206. package/lib/services/musicGen/musicSearchFactory.service.d.ts +14 -0
  207. package/lib/services/musicGen/musicSearchFactory.service.d.ts.map +1 -0
  208. package/lib/services/musicGen/musicSearchFactory.service.js +59 -0
  209. package/lib/services/musicGen/providers/curated.service.d.ts +22 -0
  210. package/lib/services/musicGen/providers/curated.service.d.ts.map +1 -0
  211. package/lib/services/musicGen/providers/curated.service.js +171 -0
  212. package/lib/services/musicGen/providers/jamendo.service.d.ts +8 -0
  213. package/lib/services/musicGen/providers/jamendo.service.d.ts.map +1 -0
  214. package/lib/services/musicGen/providers/jamendo.service.js +93 -0
  215. package/lib/services/musicGen/providers/mubert.service.d.ts +9 -0
  216. package/lib/services/musicGen/providers/mubert.service.d.ts.map +1 -0
  217. package/lib/services/musicGen/providers/mubert.service.js +113 -0
  218. package/lib/services/musicGen/types.d.ts +42 -0
  219. package/lib/services/musicGen/types.d.ts.map +1 -0
  220. package/lib/services/musicGen/types.js +10 -0
  221. package/lib/services/tts/providers/minimax.service.d.ts +14 -0
  222. package/lib/services/tts/providers/minimax.service.d.ts.map +1 -0
  223. package/lib/services/tts/providers/minimax.service.js +78 -0
  224. package/lib/services/tts/providers/openai.service.d.ts +14 -0
  225. package/lib/services/tts/providers/openai.service.d.ts.map +1 -0
  226. package/lib/services/tts/providers/openai.service.js +71 -0
  227. package/lib/utils/helpers.d.ts +1 -0
  228. package/lib/utils/helpers.d.ts.map +1 -1
  229. package/lib/utils/helpers.js +26 -12
  230. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.model.d.ts","sourceRoot":"","sources":["../../src/models/agent.model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_STYLE_MEMORY_ENTRIES = void 0;
4
+ /**
5
+ * StyleMemory — per-user record of recent accepted/rejected scene decisions.
6
+ * Used as few-shot examples by the planner to bias future plans toward
7
+ * choices the user has previously accepted. Lives at /styleMemory/{userId}
8
+ * (single doc per user, like the brand kit).
9
+ *
10
+ * Capped to MAX_STYLE_MEMORY_ENTRIES per side; older entries fall off when
11
+ * `recordSceneDecision` is called.
12
+ */
13
+ exports.MAX_STYLE_MEMORY_ENTRIES = 10;
@@ -17,6 +17,9 @@ export interface IAnalyticsDailyModel {
17
17
  totalDurationSeconds: number;
18
18
  jobLatencyMsSum: number;
19
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;
20
23
  updatedAt: FieldValue;
21
24
  }
22
25
  /** Cross-model daily rollup for summary cards. */
@@ -30,6 +33,7 @@ export interface IAnalyticsDailyGlobalModel {
30
33
  totalCreditsUsed: number;
31
34
  jobLatencyMsSum: number;
32
35
  jobLatencyMsCount: number;
36
+ samplesCompleted?: number;
33
37
  updatedAt: FieldValue;
34
38
  }
35
39
  //# sourceMappingURL=analytics.model.d.ts.map
@@ -1 +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,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,SAAS,EAAE,UAAU,CAAC;CACvB"}
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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -54,6 +54,7 @@ export interface IVideoJobModel {
54
54
  ttsLanguageCode?: string;
55
55
  generatedAudioUrl?: string;
56
56
  audioDurationSeconds?: number;
57
+ isSample?: boolean;
57
58
  createdAt: FieldValue;
58
59
  updatedAt: FieldValue;
59
60
  reprocessedAt?: FieldValue;
@@ -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;IAG9B,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;IACtB,aAAa,CAAC,EAAE,UAAU,CAAC;CAC5B"}
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
+ });
@@ -0,0 +1,6 @@
1
+ export * from "./project.schema";
2
+ export * from "./brief.schema";
3
+ export * from "./videoPlan.schema";
4
+ export * from "./brandKit.schema";
5
+ export * from "./agentPersona.schema";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}