vidspotai-shared 1.0.68 → 1.0.69-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/globals/aiModels/enums.d.ts +63 -6
- package/lib/globals/aiModels/enums.d.ts.map +1 -1
- package/lib/globals/aiModels/enums.js +78 -9
- package/lib/globals/aiModels/index.d.ts +2 -30
- package/lib/globals/aiModels/index.d.ts.map +1 -1
- package/lib/globals/aiModels/index.js +7 -35
- 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 +194 -0
- package/lib/globals/aiModels/providers/bytedance.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/bytedance.js +19 -0
- package/lib/globals/aiModels/providers/elevenlabs.d.ts +14 -0
- package/lib/globals/aiModels/providers/elevenlabs.d.ts.map +1 -0
- package/lib/globals/aiModels/providers/elevenlabs.js +29 -0
- package/lib/globals/aiModels/providers/google.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/google.js +150 -2
- package/lib/globals/aiModels/providers/kling.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/kling.js +280 -37
- package/lib/globals/aiModels/providers/minimax.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/minimax.js +76 -11
- package/lib/globals/aiModels/providers/openai.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/openai.js +90 -6
- package/lib/globals/aiModels/providers/pixverse.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/pixverse.js +111 -29
- 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/providers/runway.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/runway.js +64 -2
- package/lib/globals/aiModels/tierHelpers.d.ts +33 -0
- package/lib/globals/aiModels/tierHelpers.d.ts.map +1 -0
- package/lib/globals/aiModels/tierHelpers.js +109 -0
- package/lib/globals/aiModels/types.d.ts +20 -1
- package/lib/globals/aiModels/types.d.ts.map +1 -1
- package/lib/globals/ttsModels/index.d.ts +2 -0
- package/lib/globals/ttsModels/index.d.ts.map +1 -1
- package/lib/globals/ttsModels/index.js +9 -1
- 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 +12 -0
- package/lib/globals/ttsModels/providers/openai.d.ts.map +1 -0
- package/lib/globals/ttsModels/providers/openai.js +22 -0
- package/lib/globals/ttsModels/types.d.ts +1 -1
- package/lib/globals/ttsModels/types.d.ts.map +1 -1
- package/lib/globals/ttsModels/voices.d.ts +39 -4
- package/lib/globals/ttsModels/voices.d.ts.map +1 -1
- package/lib/globals/ttsModels/voices.js +273 -26
- package/lib/globals/types.d.ts +59 -1
- package/lib/globals/types.d.ts.map +1 -1
- package/lib/globals/types.js +81 -2
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/models/agent.model.d.ts +357 -0
- package/lib/models/agent.model.d.ts.map +1 -0
- package/lib/models/agent.model.js +21 -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/image.model.d.ts +47 -0
- package/lib/models/image.model.d.ts.map +1 -0
- package/lib/models/image.model.js +2 -0
- package/lib/models/index.d.ts +6 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/index.js +6 -0
- package/lib/models/notification.model.d.ts +25 -0
- package/lib/models/notification.model.d.ts.map +1 -0
- package/lib/models/notification.model.js +2 -0
- package/lib/models/ref.model.d.ts +80 -0
- package/lib/models/ref.model.d.ts.map +1 -0
- package/lib/models/ref.model.js +13 -0
- package/lib/models/share.model.d.ts +29 -0
- package/lib/models/share.model.d.ts.map +1 -0
- package/lib/models/share.model.js +2 -0
- package/lib/models/user.model.d.ts +12 -1
- package/lib/models/user.model.d.ts.map +1 -1
- package/lib/models/video.model.d.ts +120 -8
- package/lib/models/video.model.d.ts.map +1 -1
- package/lib/models/video.model.js +10 -0
- 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/agentRunJob.schema.d.ts +105 -0
- package/lib/schemas/agentRunJob.schema.d.ts.map +1 -0
- package/lib/schemas/agentRunJob.schema.js +88 -0
- package/lib/schemas/brandKit.schema.d.ts +113 -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 +263 -0
- package/lib/schemas/brief.schema.d.ts.map +1 -0
- package/lib/schemas/brief.schema.js +157 -0
- package/lib/schemas/index.d.ts +7 -0
- package/lib/schemas/index.d.ts.map +1 -0
- package/lib/schemas/index.js +22 -0
- package/lib/schemas/project.schema.d.ts +1025 -0
- package/lib/schemas/project.schema.d.ts.map +1 -0
- package/lib/schemas/project.schema.js +256 -0
- package/lib/schemas/videoPlan.schema.d.ts +590 -0
- package/lib/schemas/videoPlan.schema.d.ts.map +1 -0
- package/lib/schemas/videoPlan.schema.js +412 -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/bibleBuilder.d.ts +43 -0
- package/lib/services/agent/bibleBuilder.d.ts.map +1 -0
- package/lib/services/agent/bibleBuilder.js +102 -0
- package/lib/services/agent/bibleImageVision.d.ts +45 -0
- package/lib/services/agent/bibleImageVision.d.ts.map +1 -0
- package/lib/services/agent/bibleImageVision.js +169 -0
- package/lib/services/agent/chatAgent.d.ts +79 -0
- package/lib/services/agent/chatAgent.d.ts.map +1 -0
- package/lib/services/agent/chatAgent.js +136 -0
- package/lib/services/agent/costPreflight.d.ts +61 -0
- package/lib/services/agent/costPreflight.d.ts.map +1 -0
- package/lib/services/agent/costPreflight.js +143 -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 +139 -0
- package/lib/services/agent/editClassifier.d.ts +262 -0
- package/lib/services/agent/editClassifier.d.ts.map +1 -0
- package/lib/services/agent/editClassifier.js +186 -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 +96 -0
- package/lib/services/agent/eval/recorder.d.ts +28 -0
- package/lib/services/agent/eval/recorder.d.ts.map +1 -0
- package/lib/services/agent/eval/recorder.js +100 -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 +230 -0
- package/lib/services/agent/eval/types.d.ts.map +1 -0
- package/lib/services/agent/eval/types.js +73 -0
- package/lib/services/agent/executor.d.ts +141 -0
- package/lib/services/agent/executor.d.ts.map +1 -0
- package/lib/services/agent/executor.js +561 -0
- package/lib/services/agent/globalActions.d.ts +49 -0
- package/lib/services/agent/globalActions.d.ts.map +1 -0
- package/lib/services/agent/globalActions.js +328 -0
- package/lib/services/agent/index.d.ts +38 -0
- package/lib/services/agent/index.d.ts.map +1 -0
- package/lib/services/agent/index.js +53 -0
- package/lib/services/agent/llmCaller.d.ts +144 -0
- package/lib/services/agent/llmCaller.d.ts.map +1 -0
- package/lib/services/agent/llmCaller.js +16 -0
- package/lib/services/agent/llmCallerAnthropic.d.ts +90 -0
- package/lib/services/agent/llmCallerAnthropic.d.ts.map +1 -0
- package/lib/services/agent/llmCallerAnthropic.js +255 -0
- package/lib/services/agent/llmCallerGateway.d.ts +61 -0
- package/lib/services/agent/llmCallerGateway.d.ts.map +1 -0
- package/lib/services/agent/llmCallerGateway.js +360 -0
- package/lib/services/agent/llmCallerRegistry.d.ts +6 -0
- package/lib/services/agent/llmCallerRegistry.d.ts.map +1 -0
- package/lib/services/agent/llmCallerRegistry.js +39 -0
- package/lib/services/agent/modelQualityNotes.d.ts +100 -0
- package/lib/services/agent/modelQualityNotes.d.ts.map +1 -0
- package/lib/services/agent/modelQualityNotes.js +248 -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 +65 -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 +109 -0
- package/lib/services/agent/overlayRenderer.d.ts +67 -0
- package/lib/services/agent/overlayRenderer.d.ts.map +1 -0
- package/lib/services/agent/overlayRenderer.js +253 -0
- package/lib/services/agent/perSceneCritic.d.ts +90 -0
- package/lib/services/agent/perSceneCritic.d.ts.map +1 -0
- package/lib/services/agent/perSceneCritic.js +125 -0
- package/lib/services/agent/personas.d.ts +78 -0
- package/lib/services/agent/personas.d.ts.map +1 -0
- package/lib/services/agent/personas.js +177 -0
- package/lib/services/agent/planDiff.d.ts +76 -0
- package/lib/services/agent/planDiff.d.ts.map +1 -0
- package/lib/services/agent/planDiff.js +182 -0
- package/lib/services/agent/planMutations.d.ts +46 -0
- package/lib/services/agent/planMutations.d.ts.map +1 -0
- package/lib/services/agent/planMutations.js +120 -0
- package/lib/services/agent/planner/Planner.d.ts +107 -0
- package/lib/services/agent/planner/Planner.d.ts.map +1 -0
- package/lib/services/agent/planner/Planner.js +591 -0
- package/lib/services/agent/planner/overlaySanity.d.ts +7 -0
- package/lib/services/agent/planner/overlaySanity.d.ts.map +1 -0
- package/lib/services/agent/planner/overlaySanity.js +86 -0
- package/lib/services/agent/planner/promptSections.d.ts +25 -0
- package/lib/services/agent/planner/promptSections.d.ts.map +1 -0
- package/lib/services/agent/planner/promptSections.js +174 -0
- package/lib/services/agent/planner/repair.d.ts +16 -0
- package/lib/services/agent/planner/repair.d.ts.map +1 -0
- package/lib/services/agent/planner/repair.js +51 -0
- package/lib/services/agent/planner/structuralRules.d.ts +10 -0
- package/lib/services/agent/planner/structuralRules.d.ts.map +1 -0
- package/lib/services/agent/planner/structuralRules.js +111 -0
- package/lib/services/agent/planner/validators.d.ts +65 -0
- package/lib/services/agent/planner/validators.d.ts.map +1 -0
- package/lib/services/agent/planner/validators.js +284 -0
- package/lib/services/agent/planner.d.ts +3 -0
- package/lib/services/agent/planner.d.ts.map +1 -0
- package/lib/services/agent/planner.js +14 -0
- package/lib/services/agent/providerFallback/chains.d.ts +100 -0
- package/lib/services/agent/providerFallback/chains.d.ts.map +1 -0
- package/lib/services/agent/providerFallback/chains.js +198 -0
- package/lib/services/agent/providerFallback/classifier.d.ts +36 -0
- package/lib/services/agent/providerFallback/classifier.d.ts.map +1 -0
- package/lib/services/agent/providerFallback/classifier.js +103 -0
- package/lib/services/agent/providerFallback/index.d.ts +4 -0
- package/lib/services/agent/providerFallback/index.d.ts.map +1 -0
- package/lib/services/agent/providerFallback/index.js +19 -0
- package/lib/services/agent/providerFallback/withFallback.d.ts +60 -0
- package/lib/services/agent/providerFallback/withFallback.d.ts.map +1 -0
- package/lib/services/agent/providerFallback/withFallback.js +93 -0
- package/lib/services/agent/providerTaskCache.d.ts +50 -0
- package/lib/services/agent/providerTaskCache.d.ts.map +1 -0
- package/lib/services/agent/providerTaskCache.js +98 -0
- package/lib/services/agent/qualityGate.d.ts +82 -0
- package/lib/services/agent/qualityGate.d.ts.map +1 -0
- package/lib/services/agent/qualityGate.js +232 -0
- package/lib/services/agent/referenceImageRenderer.d.ts +37 -0
- package/lib/services/agent/referenceImageRenderer.d.ts.map +1 -0
- package/lib/services/agent/referenceImageRenderer.js +92 -0
- package/lib/services/agent/regenCore.d.ts +60 -0
- package/lib/services/agent/regenCore.d.ts.map +1 -0
- package/lib/services/agent/regenCore.js +487 -0
- package/lib/services/agent/runHelpers.d.ts +44 -0
- package/lib/services/agent/runHelpers.d.ts.map +1 -0
- package/lib/services/agent/runHelpers.js +196 -0
- package/lib/services/agent/sceneLayoutVision.d.ts +90 -0
- package/lib/services/agent/sceneLayoutVision.d.ts.map +1 -0
- package/lib/services/agent/sceneLayoutVision.js +212 -0
- package/lib/services/agent/stitchedVideoCritic.d.ts +136 -0
- package/lib/services/agent/stitchedVideoCritic.d.ts.map +1 -0
- package/lib/services/agent/stitchedVideoCritic.gemini.d.ts +26 -0
- package/lib/services/agent/stitchedVideoCritic.gemini.d.ts.map +1 -0
- package/lib/services/agent/stitchedVideoCritic.gemini.js +198 -0
- package/lib/services/agent/stitchedVideoCritic.js +162 -0
- package/lib/services/agent/taskPoller.d.ts +65 -0
- package/lib/services/agent/taskPoller.d.ts.map +1 -0
- package/lib/services/agent/taskPoller.js +176 -0
- package/lib/services/agent/textOverlayStyles.d.ts +60 -0
- package/lib/services/agent/textOverlayStyles.d.ts.map +1 -0
- package/lib/services/agent/textOverlayStyles.js +174 -0
- package/lib/services/agent/toolRegistry.d.ts +73 -0
- package/lib/services/agent/toolRegistry.d.ts.map +1 -0
- package/lib/services/agent/toolRegistry.js +95 -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 +24 -0
- package/lib/services/agent/tools/animateImage.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/animateImage.tool.js +115 -0
- package/lib/services/agent/tools/animateImageWithMotionBrush.tool.d.ts +32 -0
- package/lib/services/agent/tools/animateImageWithMotionBrush.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/animateImageWithMotionBrush.tool.js +135 -0
- package/lib/services/agent/tools/composeScene.tool.d.ts +978 -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 +352 -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 +143 -0
- package/lib/services/agent/tools/generateCaptions.tool.d.ts +42 -0
- package/lib/services/agent/tools/generateCaptions.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/generateCaptions.tool.js +196 -0
- package/lib/services/agent/tools/generateImage.tool.d.ts +74 -0
- package/lib/services/agent/tools/generateImage.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/generateImage.tool.js +206 -0
- package/lib/services/agent/tools/generateVideo.tool.d.ts +31 -0
- package/lib/services/agent/tools/generateVideo.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/generateVideo.tool.js +153 -0
- package/lib/services/agent/tools/generateVoiceover.tool.d.ts +44 -0
- package/lib/services/agent/tools/generateVoiceover.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/generateVoiceover.tool.js +206 -0
- package/lib/services/agent/tools/index.d.ts +20 -0
- package/lib/services/agent/tools/index.d.ts.map +1 -0
- package/lib/services/agent/tools/index.js +35 -0
- package/lib/services/agent/tools/planVideo.tool.d.ts +343 -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 +367 -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 +41 -0
- package/lib/services/agent/tools/searchStock.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/searchStock.tool.js +314 -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/agent/ttsDuration.d.ts +29 -0
- package/lib/services/agent/ttsDuration.d.ts.map +1 -0
- package/lib/services/agent/ttsDuration.js +60 -0
- package/lib/services/aiGen/aiGenFactory.service.d.ts +21 -1
- package/lib/services/aiGen/aiGenFactory.service.d.ts.map +1 -1
- package/lib/services/aiGen/aiGenFactory.service.js +84 -21
- 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/helpers.d.ts.map +1 -1
- package/lib/services/aiGen/helpers.js +10 -0
- package/lib/services/aiGen/providers/alibaba/alibaba.d.ts +14 -3
- package/lib/services/aiGen/providers/alibaba/alibaba.d.ts.map +1 -1
- package/lib/services/aiGen/providers/alibaba/alibaba.js +155 -22
- package/lib/services/aiGen/providers/baseAiGenProvider.service.d.ts +22 -4
- package/lib/services/aiGen/providers/baseAiGenProvider.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/baseAiGenProvider.service.js +32 -0
- package/lib/services/aiGen/providers/bytedance/bytedance.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/bytedance/bytedance.service.js +13 -19
- 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 +102 -0
- package/lib/services/aiGen/providers/fal/falImage.service.d.ts +15 -0
- package/lib/services/aiGen/providers/fal/falImage.service.d.ts.map +1 -0
- package/lib/services/aiGen/providers/fal/falImage.service.js +141 -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/google/google.service.d.ts +11 -2
- package/lib/services/aiGen/providers/google/google.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/google/google.service.js +245 -28
- package/lib/services/aiGen/providers/index.d.ts +3 -0
- package/lib/services/aiGen/providers/index.d.ts.map +1 -1
- package/lib/services/aiGen/providers/index.js +3 -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/kling/index.d.ts +1 -0
- package/lib/services/aiGen/providers/kling/index.d.ts.map +1 -1
- package/lib/services/aiGen/providers/kling/index.js +1 -0
- package/lib/services/aiGen/providers/kling/kling.service.d.ts +12 -1
- package/lib/services/aiGen/providers/kling/kling.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/kling/kling.service.js +357 -26
- package/lib/services/aiGen/providers/kling/klingImage.service.d.ts +21 -0
- package/lib/services/aiGen/providers/kling/klingImage.service.d.ts.map +1 -0
- package/lib/services/aiGen/providers/kling/klingImage.service.js +208 -0
- package/lib/services/aiGen/providers/kling/types.d.ts +105 -0
- package/lib/services/aiGen/providers/kling/types.d.ts.map +1 -1
- package/lib/services/aiGen/providers/minimax/minimax.service.d.ts +15 -2
- package/lib/services/aiGen/providers/minimax/minimax.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/minimax/minimax.service.js +128 -5
- package/lib/services/aiGen/providers/minimax/types.d.ts +10 -1
- package/lib/services/aiGen/providers/minimax/types.d.ts.map +1 -1
- package/lib/services/aiGen/providers/openai/openai.service.d.ts +8 -2
- package/lib/services/aiGen/providers/openai/openai.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/openai/openai.service.js +184 -7
- 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/{azure → pexels}/index.js +1 -1
- 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 +150 -0
- package/lib/services/aiGen/providers/pixabay/index.d.ts +2 -0
- package/lib/services/aiGen/providers/pixabay/index.d.ts.map +1 -0
- package/lib/services/aiGen/providers/pixabay/index.js +17 -0
- package/lib/services/aiGen/providers/pixabay/pixabay.service.d.ts +12 -0
- package/lib/services/aiGen/providers/pixabay/pixabay.service.d.ts.map +1 -0
- package/lib/services/aiGen/providers/pixabay/pixabay.service.js +156 -0
- package/lib/services/aiGen/providers/pixverse/pixverse.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/pixverse/pixverse.service.js +125 -2
- 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/aiGen/providers/runway/runway.service.d.ts +12 -2
- package/lib/services/aiGen/providers/runway/runway.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/runway/runway.service.js +224 -21
- package/lib/services/aiGen/providers/types.d.ts +263 -6
- package/lib/services/aiGen/providers/types.d.ts.map +1 -1
- package/lib/services/aiGen/providers/unsplash/index.d.ts +2 -0
- package/lib/services/aiGen/providers/unsplash/index.d.ts.map +1 -0
- package/lib/services/aiGen/providers/unsplash/index.js +17 -0
- package/lib/services/aiGen/providers/unsplash/unsplash.service.d.ts +16 -0
- package/lib/services/aiGen/providers/unsplash/unsplash.service.d.ts.map +1 -0
- package/lib/services/aiGen/providers/unsplash/unsplash.service.js +131 -0
- package/lib/services/analytics.service.js +2 -4
- package/lib/services/apiUsageCounter.service.d.ts +20 -0
- package/lib/services/apiUsageCounter.service.d.ts.map +1 -0
- package/lib/services/apiUsageCounter.service.js +84 -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 +3 -0
- package/lib/services/asr/index.d.ts.map +1 -0
- package/lib/services/asr/index.js +18 -0
- package/lib/services/asr/whisper.service.d.ts +18 -0
- package/lib/services/asr/whisper.service.d.ts.map +1 -0
- package/lib/services/asr/whisper.service.js +151 -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 +109 -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 +140 -0
- package/lib/services/bullmq.service.d.ts +6 -1
- package/lib/services/bullmq.service.d.ts.map +1 -1
- package/lib/services/bullmq.service.js +62 -14
- package/lib/services/credit.service.d.ts.map +1 -1
- package/lib/services/credit.service.js +45 -7
- package/lib/services/credits/pricing.d.ts +58 -0
- package/lib/services/credits/pricing.d.ts.map +1 -0
- package/lib/services/credits/pricing.js +111 -0
- package/lib/services/editor/designToProject.d.ts +75 -0
- package/lib/services/editor/designToProject.d.ts.map +1 -0
- package/lib/services/editor/designToProject.js +295 -0
- package/lib/services/editor/planToProject.d.ts +84 -0
- package/lib/services/editor/planToProject.d.ts.map +1 -0
- package/lib/services/editor/planToProject.js +395 -0
- package/lib/services/editor/projectToDesign.d.ts +4 -0
- package/lib/services/editor/projectToDesign.d.ts.map +1 -0
- package/lib/services/editor/projectToDesign.js +186 -0
- package/lib/services/firestore.service.d.ts +17 -0
- package/lib/services/firestore.service.d.ts.map +1 -1
- package/lib/services/firestore.service.js +30 -0
- package/lib/services/gcp/index.d.ts +1 -0
- package/lib/services/gcp/index.d.ts.map +1 -1
- package/lib/services/gcp/index.js +1 -0
- package/lib/services/gcp/uploadAudioBuffer.d.ts +13 -0
- package/lib/services/gcp/uploadAudioBuffer.d.ts.map +1 -0
- package/lib/services/gcp/uploadAudioBuffer.js +28 -0
- package/lib/services/index.d.ts +13 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/index.js +13 -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 +24 -0
- package/lib/services/musicGen/providers/curated.service.d.ts.map +1 -0
- package/lib/services/musicGen/providers/curated.service.js +173 -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 +113 -0
- package/lib/services/musicGen/providers/mubert.service.d.ts +10 -0
- package/lib/services/musicGen/providers/mubert.service.d.ts.map +1 -0
- package/lib/services/musicGen/providers/mubert.service.js +128 -0
- package/lib/services/musicGen/types.d.ts +46 -0
- package/lib/services/musicGen/types.d.ts.map +1 -0
- package/lib/services/musicGen/types.js +10 -0
- package/lib/services/notification.service.d.ts +22 -0
- package/lib/services/notification.service.d.ts.map +1 -0
- package/lib/services/notification.service.js +76 -0
- package/lib/services/rateLimiter/distributedRateLimiter.service.d.ts +78 -0
- package/lib/services/rateLimiter/distributedRateLimiter.service.d.ts.map +1 -0
- package/lib/services/rateLimiter/distributedRateLimiter.service.js +269 -0
- package/lib/services/rateLimiter/index.d.ts +2 -0
- package/lib/services/rateLimiter/index.d.ts.map +1 -0
- package/lib/services/rateLimiter/index.js +17 -0
- package/lib/services/redis.service.d.ts +9 -0
- package/lib/services/redis.service.d.ts.map +1 -1
- package/lib/services/redis.service.js +20 -11
- package/lib/services/redisOptions.d.ts +22 -0
- package/lib/services/redisOptions.d.ts.map +1 -0
- package/lib/services/redisOptions.js +51 -0
- package/lib/services/tts/index.d.ts +2 -0
- package/lib/services/tts/index.d.ts.map +1 -1
- package/lib/services/tts/index.js +2 -0
- package/lib/services/tts/providers/elevenlabs.service.d.ts.map +1 -1
- package/lib/services/tts/providers/elevenlabs.service.js +91 -24
- 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 +73 -0
- package/lib/services/tts/ttsFactory.service.d.ts.map +1 -1
- package/lib/services/tts/ttsFactory.service.js +6 -0
- package/lib/services/tts/types.d.ts +33 -0
- package/lib/services/tts/types.d.ts.map +1 -1
- package/lib/utils/errors.d.ts +8 -0
- package/lib/utils/errors.d.ts.map +1 -1
- package/lib/utils/errors.js +8 -0
- package/lib/utils/helpers.d.ts +13 -0
- package/lib/utils/helpers.d.ts.map +1 -1
- package/lib/utils/helpers.js +48 -11
- package/lib/utils/logger.d.ts.map +1 -1
- package/lib/utils/logger.js +37 -1
- package/package.json +5 -1
- package/lib/services/aiGen/providers/azure/azure.service.d.ts +0 -14
- package/lib/services/aiGen/providers/azure/azure.service.d.ts.map +0 -1
- package/lib/services/aiGen/providers/azure/azure.service.js +0 -108
- package/lib/services/aiGen/providers/azure/index.d.ts +0 -2
- package/lib/services/aiGen/providers/azure/index.d.ts.map +0 -1
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
import { VideoBrief } from "../schemas/brief.schema";
|
|
2
|
+
import { AgentVisualBible, VideoPlan } from "../schemas/videoPlan.schema";
|
|
3
|
+
import { AgentPersona } from "../schemas/agentPersona.schema";
|
|
4
|
+
import { CriticReport } from "../services/agent/critic";
|
|
5
|
+
import { ProviderTaskCache } from "../services/agent/providerTaskCache";
|
|
6
|
+
/**
|
|
7
|
+
* BrandKit — set-once-per-user identity. Auto-injected into every brief by
|
|
8
|
+
* the agent so brand consistency lifts free across runs. Lives at
|
|
9
|
+
* /brandKits/{userId} (single doc per user).
|
|
10
|
+
*/
|
|
11
|
+
export interface IBrandKitModel {
|
|
12
|
+
userId: string;
|
|
13
|
+
brandName?: string;
|
|
14
|
+
logoUrl?: string;
|
|
15
|
+
primaryColorHex?: string;
|
|
16
|
+
secondaryColorHex?: string;
|
|
17
|
+
fontFamily?: string;
|
|
18
|
+
/** Preferred TTS voice id. */
|
|
19
|
+
voiceId?: string;
|
|
20
|
+
/** Music tempo / mood preference. */
|
|
21
|
+
musicMoods?: string[];
|
|
22
|
+
/** Phrases the agent must never produce. */
|
|
23
|
+
bannedClaims?: string[];
|
|
24
|
+
/** Phrases the agent should prefer. */
|
|
25
|
+
preferredClaims?: string[];
|
|
26
|
+
/**
|
|
27
|
+
* Presenter face still URL — set once by the user; required for the
|
|
28
|
+
* talking-head-avatar strategy. Planner injects into PlannedScene.avatarFaceUrl.
|
|
29
|
+
*/
|
|
30
|
+
presenterFaceUrl?: string;
|
|
31
|
+
createdAt: string;
|
|
32
|
+
updatedAt: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* StyleMemory — per-user record of recent accepted/rejected scene decisions.
|
|
36
|
+
* Used as few-shot examples by the planner to bias future plans toward
|
|
37
|
+
* choices the user has previously accepted. Lives at /styleMemory/{userId}
|
|
38
|
+
* (single doc per user, like the brand kit).
|
|
39
|
+
*
|
|
40
|
+
* Capped to MAX_STYLE_MEMORY_ENTRIES per side; older entries fall off when
|
|
41
|
+
* `recordSceneDecision` is called.
|
|
42
|
+
*/
|
|
43
|
+
export declare const MAX_STYLE_MEMORY_ENTRIES = 10;
|
|
44
|
+
export interface IStyleMemoryEntry {
|
|
45
|
+
/** Snapshot of the planner's PlannedScene for this decision. */
|
|
46
|
+
scene: unknown;
|
|
47
|
+
/** Project this came from. */
|
|
48
|
+
projectId: string;
|
|
49
|
+
/** Which scene index in that project. */
|
|
50
|
+
sceneIndex: number;
|
|
51
|
+
/** ISO timestamp the decision was recorded. */
|
|
52
|
+
recordedAt: string;
|
|
53
|
+
}
|
|
54
|
+
export interface IStyleMemoryModel {
|
|
55
|
+
userId: string;
|
|
56
|
+
/** Scenes the user shipped without changes. */
|
|
57
|
+
acceptedScenes: IStyleMemoryEntry[];
|
|
58
|
+
/** Scenes the user explicitly rejected (regenerated, deleted, swapped). */
|
|
59
|
+
rejectedScenes: IStyleMemoryEntry[];
|
|
60
|
+
createdAt: string;
|
|
61
|
+
updatedAt: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* AgentMessage — one persisted chat turn. Lives in the
|
|
65
|
+
* `agentProjects/{projectId}/messages/{messageId}` subcollection so the
|
|
66
|
+
* drawer thread survives refresh. The frontend ChatMessage discriminated
|
|
67
|
+
* union has 7 kinds; we only persist the durable ones:
|
|
68
|
+
*
|
|
69
|
+
* ✓ text — user/assistant prose
|
|
70
|
+
* ✓ plan — final validated VideoPlan (replaces "thinking" once stream completes)
|
|
71
|
+
* ✓ error — system errors worth showing on resume
|
|
72
|
+
* ✓ tool-call — agent tool invocations (name + input + outcome)
|
|
73
|
+
* ✓ diff — clip-level mutations (applied/dismissed state included)
|
|
74
|
+
* ✓ confirmation — Slice 3 write-tool confirmation cards (status mutates as user approves/denies)
|
|
75
|
+
*
|
|
76
|
+
* Skipped (ephemeral, regenerable, or pure UI state):
|
|
77
|
+
* ✗ thinking — streaming token placeholder; only the final replaceMessage persists
|
|
78
|
+
* ✗ render-prompt — UI affordance, re-derived from project.lastRender
|
|
79
|
+
*/
|
|
80
|
+
export type AgentMessagePersistableKind = "text" | "plan" | "error" | "tool-call" | "diff" | "confirmation";
|
|
81
|
+
export declare const PERSISTABLE_AGENT_MESSAGE_KINDS: ReadonlyArray<AgentMessagePersistableKind>;
|
|
82
|
+
/**
|
|
83
|
+
* Snapshot of a write-action confirmation card embedded in a chat message.
|
|
84
|
+
* The authoritative state lives in the `pendingActions` subcollection
|
|
85
|
+
* (see IAgentPendingActionModel) — this is the UI-facing summary so the
|
|
86
|
+
* thread renders correctly on cold-start without an extra fetch.
|
|
87
|
+
*/
|
|
88
|
+
export interface IAgentMessageConfirmation {
|
|
89
|
+
confirmationId: string;
|
|
90
|
+
tool: "regenerate_clip" | "regenerate_scenes_bulk" | "update_scene" | "replan_project";
|
|
91
|
+
summary: string;
|
|
92
|
+
costCredits: number;
|
|
93
|
+
costUsd: number;
|
|
94
|
+
exceedsBudgetGuard: boolean;
|
|
95
|
+
status: "pending" | "approved" | "denied" | "executed" | "failed" | "expired";
|
|
96
|
+
/** Populated after status="executed" when the underlying action returns a runId. */
|
|
97
|
+
runId?: string;
|
|
98
|
+
errorMessage?: string;
|
|
99
|
+
}
|
|
100
|
+
export interface IAgentMessageModel {
|
|
101
|
+
/** Client-generated id (from frontend `nextMessageId()`). Acts as doc id. */
|
|
102
|
+
id: string;
|
|
103
|
+
projectId: string;
|
|
104
|
+
userId: string;
|
|
105
|
+
/** Date.now() — primary sort key, must be set by writer. */
|
|
106
|
+
ts: number;
|
|
107
|
+
role: "user" | "assistant" | "system";
|
|
108
|
+
kind: AgentMessagePersistableKind;
|
|
109
|
+
/** text / error kinds */
|
|
110
|
+
text?: string;
|
|
111
|
+
/** plan kind — final validated VideoPlan shape (kept loose; planner owns the schema). */
|
|
112
|
+
plan?: unknown;
|
|
113
|
+
/** tool-call kind — mirrors frontend ToolCall (name, input, outcome, ts). */
|
|
114
|
+
call?: unknown;
|
|
115
|
+
/** diff kind — mirrors frontend DiffPayload. */
|
|
116
|
+
diff?: unknown;
|
|
117
|
+
/** diff kind — set by replaceMessage when the user applies/dismisses. */
|
|
118
|
+
resolved?: "applied" | "dismissed";
|
|
119
|
+
/** confirmation kind — UI snapshot of a Slice 3 write-action card. */
|
|
120
|
+
confirmation?: IAgentMessageConfirmation;
|
|
121
|
+
createdAt: string;
|
|
122
|
+
updatedAt: string;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Slice 3 — when the chat agent calls a mutating tool, the server stages
|
|
126
|
+
* the action here and returns the doc id (confirmationId) to the client
|
|
127
|
+
* inside the tool_result. The client renders a ConfirmationCard; on
|
|
128
|
+
* Approve, POST /chat/confirm executes the action and flips status.
|
|
129
|
+
*
|
|
130
|
+
* Stored at `agentProjects/{projectId}/pendingActions/{confirmationId}`
|
|
131
|
+
* so ownership inherits the same path-prefix as messages. Expires 15min
|
|
132
|
+
* after creation; the confirm handler rejects past-expiry rows.
|
|
133
|
+
*/
|
|
134
|
+
export interface IAgentPendingActionModel {
|
|
135
|
+
/** UUID; doc id. */
|
|
136
|
+
id: string;
|
|
137
|
+
projectId: string;
|
|
138
|
+
userId: string;
|
|
139
|
+
tool: "regenerate_clip" | "regenerate_scenes_bulk" | "update_scene" | "replan_project";
|
|
140
|
+
/** Verbatim args the model proposed — these are what the executor uses,
|
|
141
|
+
* not anything the client posts back. Prevents client tampering between
|
|
142
|
+
* "show me the cost" and "do the action". */
|
|
143
|
+
args: Record<string, unknown>;
|
|
144
|
+
summary: string;
|
|
145
|
+
costCredits: number;
|
|
146
|
+
costUsd: number;
|
|
147
|
+
exceedsBudgetGuard: boolean;
|
|
148
|
+
status: "pending" | "approved" | "denied" | "executed" | "failed" | "expired";
|
|
149
|
+
/** Execution result. For regen tools: { runId }. For update_scene: { plan }. */
|
|
150
|
+
result?: Record<string, unknown>;
|
|
151
|
+
errorMessage?: string;
|
|
152
|
+
createdAt: string;
|
|
153
|
+
expiresAt: string;
|
|
154
|
+
executedAt?: string;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* AgentProject — one chat session / one Project JSON in flight. Holds the
|
|
158
|
+
* current Brief and VideoPlan. Multiple AgentRuns may attach to a single
|
|
159
|
+
* project (each "regenerate scene" is a new run).
|
|
160
|
+
*/
|
|
161
|
+
export interface IAgentProjectModel {
|
|
162
|
+
id: string;
|
|
163
|
+
userId: string;
|
|
164
|
+
title?: string;
|
|
165
|
+
brief?: VideoBrief;
|
|
166
|
+
plan?: VideoPlan;
|
|
167
|
+
/** Latest Project JSON (Remotion editor schema). */
|
|
168
|
+
projectJson?: unknown;
|
|
169
|
+
status: "draft" | "planned" | "executing" | "ready-to-render" | "rendered" | "failed";
|
|
170
|
+
/** Persona persisted across the session. */
|
|
171
|
+
persona?: AgentPersona;
|
|
172
|
+
/** Latest critic report from execute. */
|
|
173
|
+
criticReport?: CriticReport;
|
|
174
|
+
/**
|
|
175
|
+
* Stage 7 slice 1: provider task-id cache keyed by clip id (e.g.
|
|
176
|
+
* "scene-3-visual"). On re-execute, the executor checks this map and
|
|
177
|
+
* replays the cached taskId through the poller rather than re-submitting
|
|
178
|
+
* the AI gen request. Providers retain results 14-30 days; the executor
|
|
179
|
+
* enforces a 14-day TTL on its read. /regenerate-scene bypasses the read
|
|
180
|
+
* but still writes (next /execute reuses the freshly-minted task).
|
|
181
|
+
*/
|
|
182
|
+
providerTaskCache?: ProviderTaskCache;
|
|
183
|
+
/**
|
|
184
|
+
* Cached Visual Bible from the last successful build, keyed by a hash of
|
|
185
|
+
* (brief, brandKit.updatedAt). On re-plan, when the current key matches,
|
|
186
|
+
* the planner skips the bible-build + per-entity image-vision pass and
|
|
187
|
+
* reuses this value — saving 10–20s. Invalidated automatically whenever
|
|
188
|
+
* the brief or the user's brand kit changes.
|
|
189
|
+
*/
|
|
190
|
+
bibleCache?: {
|
|
191
|
+
key: string;
|
|
192
|
+
bible: AgentVisualBible;
|
|
193
|
+
builtAt: string;
|
|
194
|
+
};
|
|
195
|
+
/** Most recent render output for this project. */
|
|
196
|
+
lastRender?: {
|
|
197
|
+
renderJobId: string;
|
|
198
|
+
mp4Url: string;
|
|
199
|
+
durationMs: number;
|
|
200
|
+
quality: "draft" | "standard" | "premium";
|
|
201
|
+
renderedAt: string;
|
|
202
|
+
};
|
|
203
|
+
createdAt: string;
|
|
204
|
+
updatedAt: string;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* AGENT REFACTOR (Stage 0) — progress shape that the BullMQ worker streams
|
|
208
|
+
* onto the run doc. Surface code (storyboard, dashboard inline card, editor
|
|
209
|
+
* drawer) all subscribe to the same `agentRuns/{runId}` snapshot and
|
|
210
|
+
* destructure these fields — no per-surface fetches. See
|
|
211
|
+
* `notes/AGENT_REFACTOR_PLAN.md` §4.
|
|
212
|
+
*/
|
|
213
|
+
/** Discriminated stage the agent is currently executing — finer-grained than `status`. */
|
|
214
|
+
export type IAgentRunCurrentStage = {
|
|
215
|
+
kind: "queued";
|
|
216
|
+
} | {
|
|
217
|
+
kind: "c2-refs";
|
|
218
|
+
entityKey?: string;
|
|
219
|
+
} | {
|
|
220
|
+
kind: "scene";
|
|
221
|
+
sceneIndex: number;
|
|
222
|
+
phase: "submit" | "polling" | "voiceover" | "complete";
|
|
223
|
+
providerTaskId?: string;
|
|
224
|
+
} | {
|
|
225
|
+
kind: "stitch";
|
|
226
|
+
} | {
|
|
227
|
+
kind: "critic";
|
|
228
|
+
subject: "per-scene" | "stitched";
|
|
229
|
+
} | {
|
|
230
|
+
kind: "regen";
|
|
231
|
+
sceneIndex: number;
|
|
232
|
+
attempt: number;
|
|
233
|
+
} | {
|
|
234
|
+
kind: "finalizing";
|
|
235
|
+
};
|
|
236
|
+
/** Per-scene progress row. One entry per planned scene; mutated as worker advances. */
|
|
237
|
+
export interface IAgentRunPerScene {
|
|
238
|
+
sceneIndex: number;
|
|
239
|
+
status: "pending" | "submitted" | "polling" | "voiceover" | "complete" | "failed";
|
|
240
|
+
providerTaskId?: string;
|
|
241
|
+
modelKey?: string;
|
|
242
|
+
/** Epoch ms — set when worker first touches the scene. */
|
|
243
|
+
startedAt?: number;
|
|
244
|
+
/** Epoch ms — set on success OR terminal failure. */
|
|
245
|
+
completedAt?: number;
|
|
246
|
+
/** Reconciled provider cost in credits (1 credit ≈ $0.01 — see services/credits/pricing.ts). */
|
|
247
|
+
creditsActual?: number;
|
|
248
|
+
/** Populated when the scene's status is `"failed"`. classification mirrors executor.SceneOutcome.error.classification. */
|
|
249
|
+
error?: {
|
|
250
|
+
code: string;
|
|
251
|
+
message: string;
|
|
252
|
+
classification?: "transient" | "rate_limit" | "capability" | "safety" | "auth" | "quota" | "input" | "unknown";
|
|
253
|
+
};
|
|
254
|
+
/** AG-43 per-scene critic score 0–10. Undefined when gate disabled or critic soft-failed. */
|
|
255
|
+
qualityScore?: number;
|
|
256
|
+
/** FAIL-severity dimension names from the per-scene critic (e.g. "promptAdherence"). */
|
|
257
|
+
qualityFlags?: string[];
|
|
258
|
+
/** AG-45 gate decision: ship as-is, ship-with-caveats, regen-scenes, or remix/replan. */
|
|
259
|
+
qualityAction?: "ship" | "ship-with-caveats" | "remix" | "regen-scenes" | "replan";
|
|
260
|
+
/** Number of regen attempts spent on this scene during the quality-gate loop. */
|
|
261
|
+
regenAttempts?: number;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* AgentRun — one planner+executor+critic invocation. Stored for replay,
|
|
265
|
+
* eval, and debugging. The recorder writes to this collection at end of run.
|
|
266
|
+
*
|
|
267
|
+
* Stage 1 onward: the worker keeps the doc live during the run, writing
|
|
268
|
+
* `currentStage`, `perScene[]`, and `heartbeatAt` at every transition so the
|
|
269
|
+
* three surfaces can render progress without their own polling.
|
|
270
|
+
*/
|
|
271
|
+
export interface IAgentRunModel {
|
|
272
|
+
id: string;
|
|
273
|
+
userId: string;
|
|
274
|
+
projectId: string;
|
|
275
|
+
persona?: AgentPersona;
|
|
276
|
+
brief?: VideoBrief;
|
|
277
|
+
plan?: VideoPlan;
|
|
278
|
+
/** Logged tool calls in order. Shape mirrors the trace recorder's ToolCallTrace. */
|
|
279
|
+
toolCalls: Array<{
|
|
280
|
+
ts: number;
|
|
281
|
+
tool: string;
|
|
282
|
+
input: unknown;
|
|
283
|
+
outcome: unknown;
|
|
284
|
+
}>;
|
|
285
|
+
/** RNG seed used (replay reproducibility). */
|
|
286
|
+
rngSeed?: number;
|
|
287
|
+
/**
|
|
288
|
+
* High-level lifecycle.
|
|
289
|
+
* - "queued" — enqueued to AGENT_RUN_JOBS, worker has not picked up yet
|
|
290
|
+
* - "preparing" — worker holds lock, C2 ref pre-pass in progress
|
|
291
|
+
* - "running" — scene loop in flight
|
|
292
|
+
* - "stitching" — Stage 5 placeholder (no stitch in /execute today)
|
|
293
|
+
* - "critic" — post-execution review
|
|
294
|
+
* - "succeeded" — terminal, ready-to-render
|
|
295
|
+
* - "failed" — terminal, errorMessage populated
|
|
296
|
+
* - "cancelled" — Stage 5 — user cancelled mid-flight, refund applied
|
|
297
|
+
* - "aborted" — legacy synonym for failed; keep so old runs render
|
|
298
|
+
*/
|
|
299
|
+
status: "queued" | "preparing" | "running" | "stitching" | "critic" | "succeeded" | "failed" | "cancelled" | "aborted";
|
|
300
|
+
startedAt: string;
|
|
301
|
+
endedAt?: string;
|
|
302
|
+
totalCost?: number;
|
|
303
|
+
errorMessage?: string;
|
|
304
|
+
/**
|
|
305
|
+
* Stage 5: clip ids the user explicitly OK'd the agent to mutate. Recorded
|
|
306
|
+
* when the run was triggered via `/execute-confirmed` after a confirmation
|
|
307
|
+
* modal. v0 stores it for audit; Stage 7's diff-aware executor reads it.
|
|
308
|
+
*/
|
|
309
|
+
allowedMutations?: string[];
|
|
310
|
+
/** Discriminated stage. Worker writes this on every transition so SSE / onSnapshot consumers can render the right pill. */
|
|
311
|
+
currentStage?: IAgentRunCurrentStage;
|
|
312
|
+
/** Per-scene rollup. Mutated by the worker on every scene transition. */
|
|
313
|
+
perScene?: IAgentRunPerScene[];
|
|
314
|
+
/** Epoch ms heartbeat — worker bumps every ~5s. Watcher Function (Stage 2) flags runs with stale heartbeats as failed. */
|
|
315
|
+
heartbeatAt?: number;
|
|
316
|
+
/** Epoch ms — rolling estimate from completed-scene median duration. Recomputed on each scene complete. */
|
|
317
|
+
estimatedDoneAt?: number;
|
|
318
|
+
/** Credits deducted at execute time (the up-front spend). Includes scenes + overhead. */
|
|
319
|
+
creditsCharged?: number;
|
|
320
|
+
/**
|
|
321
|
+
* Plan-level overhead portion of `creditsCharged` — planner LLM, bible
|
|
322
|
+
* build (when fresh), web_search grounding (when used), critic. Treated
|
|
323
|
+
* as fully spent: refund math subtracts this before computing the
|
|
324
|
+
* unspent-scenes delta, so users aren't refunded for sunk LLM cost.
|
|
325
|
+
*/
|
|
326
|
+
creditsOverhead?: number;
|
|
327
|
+
/** Sum of perScene[].creditsActual + creditsOverhead. Reconciled at end. */
|
|
328
|
+
creditsActualSpent?: number;
|
|
329
|
+
/** Populated on cancel / fail (Stage 5). `creditsCharged - creditsActualSpent`. */
|
|
330
|
+
creditsRefunded?: number;
|
|
331
|
+
/** Stage 5 cancellation token — `/v1/agent/runs/:id/cancel` flips this; worker polls between scenes. */
|
|
332
|
+
cancelRequested?: boolean;
|
|
333
|
+
/** ISO timestamp when the cancel landed (for the audit trail / UI). */
|
|
334
|
+
cancelledAt?: string;
|
|
335
|
+
/**
|
|
336
|
+
* Stage 5.5 — true when the quality gate downgraded one or more scenes to
|
|
337
|
+
* "critical" (final score <3, no regen budget left) and they were marked
|
|
338
|
+
* `perScene[].status = "failed"`. The run still terminates as `succeeded`
|
|
339
|
+
* because the rest of the scenes are usable; surface this on the UI so
|
|
340
|
+
* the user knows not every scene shipped clean.
|
|
341
|
+
*/
|
|
342
|
+
partialCompletion?: boolean;
|
|
343
|
+
/**
|
|
344
|
+
* C46 (Session J) — per-stage wall-clock spans persisted by the trace
|
|
345
|
+
* recorder at `endTrace`. Lets a post-mortem distinguish stuck from slow
|
|
346
|
+
* without parsing logs; Loki dashboards aggregate from the matching
|
|
347
|
+
* `[timing] stage=X ms=Y` log lines.
|
|
348
|
+
*/
|
|
349
|
+
stageTimings?: Array<{
|
|
350
|
+
stage: string;
|
|
351
|
+
startedAt: number;
|
|
352
|
+
durationMs: number;
|
|
353
|
+
}>;
|
|
354
|
+
/** ISO timestamp from the trace recorder's `endTrace`. Distinct from `endedAt` (worker writes that). */
|
|
355
|
+
traceEndedAt?: string;
|
|
356
|
+
}
|
|
357
|
+
//# sourceMappingURL=agent.model.d.ts.map
|
|
@@ -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,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PERSISTABLE_AGENT_MESSAGE_KINDS = 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;
|
|
14
|
+
exports.PERSISTABLE_AGENT_MESSAGE_KINDS = [
|
|
15
|
+
"text",
|
|
16
|
+
"plan",
|
|
17
|
+
"error",
|
|
18
|
+
"tool-call",
|
|
19
|
+
"diff",
|
|
20
|
+
"confirmation",
|
|
21
|
+
];
|
|
@@ -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" | "captions";
|
|
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,GAAG,UAAU,CAAC;IAChD,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,47 @@
|
|
|
1
|
+
import { FieldValue } from "firebase-admin/firestore";
|
|
2
|
+
import { EImageGenModelKey } from "../globals/aiModels";
|
|
3
|
+
import { EImageJobStatus } from "../globals/types";
|
|
4
|
+
/**
|
|
5
|
+
* Persistent record for an async image-gen job. Created by the Cloud Function
|
|
6
|
+
* controller, claimed + finalized by the BullMQ worker. Mirrors IVideoJobModel
|
|
7
|
+
* shape so the library page can subscribe to both collections via onSnapshot
|
|
8
|
+
* with a near-identical normaliser.
|
|
9
|
+
*/
|
|
10
|
+
export interface IImageJobModel {
|
|
11
|
+
userId: string;
|
|
12
|
+
modelKey: EImageGenModelKey;
|
|
13
|
+
status: EImageJobStatus;
|
|
14
|
+
prompt: string;
|
|
15
|
+
negativePrompt?: string;
|
|
16
|
+
aspectRatio?: string;
|
|
17
|
+
dimensions?: string;
|
|
18
|
+
inputImageUrl?: string;
|
|
19
|
+
inputImageUrls?: string[];
|
|
20
|
+
maskImageUrl?: string;
|
|
21
|
+
seed?: number;
|
|
22
|
+
numImages?: number;
|
|
23
|
+
quality?: "low" | "medium" | "high" | "auto";
|
|
24
|
+
background?: "opaque" | "transparent" | "auto";
|
|
25
|
+
outputFormat?: "png" | "jpeg" | "webp";
|
|
26
|
+
outputCompression?: number;
|
|
27
|
+
personGeneration?: "allow_all" | "allow_adult" | "dont_allow";
|
|
28
|
+
promptOptimizer?: boolean;
|
|
29
|
+
watermark?: boolean;
|
|
30
|
+
imageSize?: string;
|
|
31
|
+
imageUrl?: string;
|
|
32
|
+
imageUrls?: string[];
|
|
33
|
+
width?: number;
|
|
34
|
+
height?: number;
|
|
35
|
+
outputSeed?: number;
|
|
36
|
+
providerRequestId?: string;
|
|
37
|
+
estimatedCredits?: number;
|
|
38
|
+
totalCreditsUsed?: number;
|
|
39
|
+
errorMessage?: string;
|
|
40
|
+
errorCode?: string;
|
|
41
|
+
lastHeartbeatAt?: FieldValue;
|
|
42
|
+
creditReconciliationStatus?: "completed" | "pending";
|
|
43
|
+
creditReconciliationError?: string;
|
|
44
|
+
createdAt: FieldValue;
|
|
45
|
+
updatedAt: FieldValue;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=image.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.model.d.ts","sourceRoot":"","sources":["../../src/models/image.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,eAAe,CAAC;IAGxB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC7C,UAAU,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;IAC/C,YAAY,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC;IAC9D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,UAAU,CAAC;IAG7B,0BAA0B,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACrD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC;CACvB"}
|
package/lib/models/index.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export * from "./video.model";
|
|
2
|
+
export * from "./image.model";
|
|
3
|
+
export * from "./notification.model";
|
|
2
4
|
export * from "./user.model";
|
|
3
5
|
export * from "./script.model";
|
|
6
|
+
export * from "./cachedAsset.model";
|
|
7
|
+
export * from "./agent.model";
|
|
4
8
|
export * from "./analytics.model";
|
|
9
|
+
export * from "./share.model";
|
|
10
|
+
export * from "./ref.model";
|
|
5
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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;AAC/B,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
|
package/lib/models/index.js
CHANGED
|
@@ -15,6 +15,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./video.model"), exports);
|
|
18
|
+
__exportStar(require("./image.model"), exports);
|
|
19
|
+
__exportStar(require("./notification.model"), exports);
|
|
18
20
|
__exportStar(require("./user.model"), exports);
|
|
19
21
|
__exportStar(require("./script.model"), exports);
|
|
22
|
+
__exportStar(require("./cachedAsset.model"), exports);
|
|
23
|
+
__exportStar(require("./agent.model"), exports);
|
|
20
24
|
__exportStar(require("./analytics.model"), exports);
|
|
25
|
+
__exportStar(require("./share.model"), exports);
|
|
26
|
+
__exportStar(require("./ref.model"), exports);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { FieldValue } from "firebase-admin/firestore";
|
|
2
|
+
import { ENotificationSeverity, ENotificationType } from "../globals/types";
|
|
3
|
+
/**
|
|
4
|
+
* Persistent in-app notification. Backend writes; user reads via firestore.rules
|
|
5
|
+
* and mutates only through controlled REST endpoints (mark-read / delete) so
|
|
6
|
+
* the unread count can't be tampered with from the client.
|
|
7
|
+
*
|
|
8
|
+
* `link` is an in-app path the bell dropdown navigates to on click — keep it
|
|
9
|
+
* relative so it survives the locale prefix middleware.
|
|
10
|
+
*/
|
|
11
|
+
export interface INotificationModel {
|
|
12
|
+
userId: string;
|
|
13
|
+
type: ENotificationType;
|
|
14
|
+
severity: ENotificationSeverity;
|
|
15
|
+
title: string;
|
|
16
|
+
body?: string;
|
|
17
|
+
/** Relative path (e.g. "/dashboard/library?id=abc"). Locale prefix is added by the client. */
|
|
18
|
+
link?: string;
|
|
19
|
+
read: boolean;
|
|
20
|
+
/** Free-form context (jobId, videoId, etc.) — never trust on the client for auth. */
|
|
21
|
+
data?: Record<string, unknown>;
|
|
22
|
+
createdAt: FieldValue;
|
|
23
|
+
readAt?: FieldValue;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=notification.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification.model.d.ts","sourceRoot":"","sources":["../../src/models/notification.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { FieldValue } from "firebase-admin/firestore";
|
|
2
|
+
/**
|
|
3
|
+
* Categories of saved references in the user's Reference Library. Same set as
|
|
4
|
+
* the frontend's `ReferenceKind` — keep in sync if either side changes.
|
|
5
|
+
*/
|
|
6
|
+
export type ReferenceKind = "character" | "style" | "color" | "element" | "effect" | "camera" | "motion" | "voice";
|
|
7
|
+
export interface IRefBaseModel {
|
|
8
|
+
/** "system" for built-in seeds (never persisted to Firestore — built-ins live in frontend TS arrays). */
|
|
9
|
+
userId: string;
|
|
10
|
+
kind: ReferenceKind;
|
|
11
|
+
name: string;
|
|
12
|
+
/** URL-safe id used inside `@[kind:slug]` prompt tokens. */
|
|
13
|
+
slug: string;
|
|
14
|
+
thumbnailUrl: string;
|
|
15
|
+
tags?: string[];
|
|
16
|
+
/** Future-proof for v2 team sharing — write path is locked to `false` in v1. */
|
|
17
|
+
isPublic?: boolean;
|
|
18
|
+
createdAt: FieldValue;
|
|
19
|
+
updatedAt: FieldValue;
|
|
20
|
+
}
|
|
21
|
+
export type IRefCharacterPayload = {
|
|
22
|
+
imageUrls: string[];
|
|
23
|
+
description?: string;
|
|
24
|
+
};
|
|
25
|
+
export type IRefStylePayload = {
|
|
26
|
+
referenceImageUrl: string;
|
|
27
|
+
hint?: string;
|
|
28
|
+
};
|
|
29
|
+
export type IRefColorPayload = {
|
|
30
|
+
swatches: string[];
|
|
31
|
+
};
|
|
32
|
+
export type IRefElementPayload = {
|
|
33
|
+
imageUrl: string;
|
|
34
|
+
subkind?: "prop" | "logo";
|
|
35
|
+
};
|
|
36
|
+
export type IRefEffectPayload = {
|
|
37
|
+
promptModifier: string;
|
|
38
|
+
intensity?: number;
|
|
39
|
+
};
|
|
40
|
+
export type IRefCameraPayload = {
|
|
41
|
+
presetKey: string;
|
|
42
|
+
};
|
|
43
|
+
export type IRefMotionPayload = {
|
|
44
|
+
presetKey: string;
|
|
45
|
+
intensity?: number;
|
|
46
|
+
};
|
|
47
|
+
export type IRefVoicePayload = {
|
|
48
|
+
voiceId: string;
|
|
49
|
+
source: "elevenlabs" | "custom-uploaded";
|
|
50
|
+
gender?: "male" | "female" | "neutral";
|
|
51
|
+
accent?: string;
|
|
52
|
+
previewUrl?: string;
|
|
53
|
+
};
|
|
54
|
+
export type IRefModel = (IRefBaseModel & {
|
|
55
|
+
kind: "character";
|
|
56
|
+
payload: IRefCharacterPayload;
|
|
57
|
+
}) | (IRefBaseModel & {
|
|
58
|
+
kind: "style";
|
|
59
|
+
payload: IRefStylePayload;
|
|
60
|
+
}) | (IRefBaseModel & {
|
|
61
|
+
kind: "color";
|
|
62
|
+
payload: IRefColorPayload;
|
|
63
|
+
}) | (IRefBaseModel & {
|
|
64
|
+
kind: "element";
|
|
65
|
+
payload: IRefElementPayload;
|
|
66
|
+
}) | (IRefBaseModel & {
|
|
67
|
+
kind: "effect";
|
|
68
|
+
payload: IRefEffectPayload;
|
|
69
|
+
}) | (IRefBaseModel & {
|
|
70
|
+
kind: "camera";
|
|
71
|
+
payload: IRefCameraPayload;
|
|
72
|
+
}) | (IRefBaseModel & {
|
|
73
|
+
kind: "motion";
|
|
74
|
+
payload: IRefMotionPayload;
|
|
75
|
+
}) | (IRefBaseModel & {
|
|
76
|
+
kind: "voice";
|
|
77
|
+
payload: IRefVoicePayload;
|
|
78
|
+
});
|
|
79
|
+
export declare const REFERENCE_KINDS: ReferenceKind[];
|
|
80
|
+
//# sourceMappingURL=ref.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref.model.d.ts","sourceRoot":"","sources":["../../src/models/ref.model.ts"],"names":[],"mappings":"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"}
|