vidspotai-shared 1.0.82 → 1.0.84
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 +11 -1
- package/lib/globals/aiModels/enums.d.ts.map +1 -1
- package/lib/globals/aiModels/enums.js +24 -1
- package/lib/globals/aiModels/index.d.ts.map +1 -1
- package/lib/globals/aiModels/index.js +2 -0
- package/lib/globals/aiModels/providers/anthropic.d.ts +12 -0
- package/lib/globals/aiModels/providers/anthropic.d.ts.map +1 -0
- package/lib/globals/aiModels/providers/anthropic.js +88 -0
- package/lib/globals/aiModels/providers/google.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/google.js +82 -0
- package/lib/globals/aiModels/providers/openai.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/openai.js +63 -4
- package/lib/globals/aiModels/tierHelpers.d.ts +12 -0
- package/lib/globals/aiModels/tierHelpers.d.ts.map +1 -1
- package/lib/globals/aiModels/tierHelpers.js +83 -0
- package/lib/globals/aiModels/types.d.ts +19 -0
- package/lib/globals/aiModels/types.d.ts.map +1 -1
- package/lib/globals/types.d.ts +120 -1
- package/lib/globals/types.d.ts.map +1 -1
- package/lib/globals/types.js +135 -1
- package/lib/models/agent.model.d.ts +41 -1
- package/lib/models/agent.model.d.ts.map +1 -1
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/index.js +1 -0
- package/lib/models/social.model.d.ts +180 -0
- package/lib/models/social.model.d.ts.map +1 -0
- package/lib/models/social.model.js +2 -0
- package/lib/models/user.model.d.ts +10 -0
- package/lib/models/user.model.d.ts.map +1 -1
- package/lib/models/video.model.d.ts +6 -0
- package/lib/models/video.model.d.ts.map +1 -1
- package/lib/schemas/brief.schema.d.ts +46 -0
- package/lib/schemas/brief.schema.d.ts.map +1 -1
- package/lib/schemas/brief.schema.js +72 -1
- package/lib/schemas/index.d.ts +1 -0
- package/lib/schemas/index.d.ts.map +1 -1
- package/lib/schemas/index.js +1 -0
- package/lib/schemas/project.schema.d.ts +67 -0
- package/lib/schemas/project.schema.d.ts.map +1 -1
- package/lib/schemas/project.schema.js +12 -0
- package/lib/schemas/social.schema.d.ts +91 -0
- package/lib/schemas/social.schema.d.ts.map +1 -0
- package/lib/schemas/social.schema.js +114 -0
- package/lib/schemas/videoPlan.schema.d.ts +114 -0
- package/lib/schemas/videoPlan.schema.d.ts.map +1 -1
- package/lib/schemas/videoPlan.schema.js +141 -1
- package/lib/services/agent/chatAgent.d.ts +25 -1
- package/lib/services/agent/chatAgent.d.ts.map +1 -1
- package/lib/services/agent/chatAgent.js +145 -9
- package/lib/services/agent/costPreflight.d.ts +11 -1
- package/lib/services/agent/costPreflight.d.ts.map +1 -1
- package/lib/services/agent/costPreflight.js +18 -1
- package/lib/services/agent/covers/coverPlanner.d.ts +41 -0
- package/lib/services/agent/covers/coverPlanner.d.ts.map +1 -0
- package/lib/services/agent/covers/coverPlanner.js +278 -0
- package/lib/services/agent/covers/covers.schema.d.ts +158 -0
- package/lib/services/agent/covers/covers.schema.d.ts.map +1 -0
- package/lib/services/agent/covers/covers.schema.js +166 -0
- package/lib/services/agent/covers/index.d.ts +3 -0
- package/lib/services/agent/covers/index.d.ts.map +1 -0
- package/lib/services/agent/covers/index.js +18 -0
- package/lib/services/agent/critic.d.ts +10 -0
- package/lib/services/agent/critic.d.ts.map +1 -1
- package/lib/services/agent/critic.js +37 -1
- package/lib/services/agent/editClassifier.d.ts +2 -2
- package/lib/services/agent/editClassifier.js +2 -2
- package/lib/services/agent/editExisting/editAssembler.d.ts +78 -0
- package/lib/services/agent/editExisting/editAssembler.d.ts.map +1 -0
- package/lib/services/agent/editExisting/editAssembler.js +172 -0
- package/lib/services/agent/editExisting/editExisting.schema.d.ts +119 -0
- package/lib/services/agent/editExisting/editExisting.schema.d.ts.map +1 -0
- package/lib/services/agent/editExisting/editExisting.schema.js +157 -0
- package/lib/services/agent/editExisting/highlightPicker.d.ts +48 -0
- package/lib/services/agent/editExisting/highlightPicker.d.ts.map +1 -0
- package/lib/services/agent/editExisting/highlightPicker.js +199 -0
- package/lib/services/agent/editExisting/index.d.ts +4 -0
- package/lib/services/agent/editExisting/index.d.ts.map +1 -0
- package/lib/services/agent/editExisting/index.js +19 -0
- package/lib/services/agent/eval/seedBriefs.d.ts +4 -3
- package/lib/services/agent/eval/seedBriefs.d.ts.map +1 -1
- package/lib/services/agent/eval/seedBriefs.js +283 -3
- package/lib/services/agent/eval/types.d.ts +10 -0
- package/lib/services/agent/eval/types.d.ts.map +1 -1
- package/lib/services/agent/executor/core.d.ts +70 -0
- package/lib/services/agent/executor/core.d.ts.map +1 -0
- package/lib/services/agent/executor/core.js +250 -0
- package/lib/services/agent/executor/duration.d.ts +20 -0
- package/lib/services/agent/executor/duration.d.ts.map +1 -0
- package/lib/services/agent/executor/duration.js +46 -0
- package/lib/services/agent/executor/index.d.ts +15 -0
- package/lib/services/agent/executor/index.d.ts.map +1 -0
- package/lib/services/agent/executor/index.js +32 -0
- package/lib/services/agent/executor/types.d.ts +183 -0
- package/lib/services/agent/executor/types.d.ts.map +1 -0
- package/lib/services/agent/executor/types.js +29 -0
- package/lib/services/agent/executor/visual.d.ts +32 -0
- package/lib/services/agent/executor/visual.d.ts.map +1 -0
- package/lib/services/agent/executor/visual.js +400 -0
- package/lib/services/agent/executor/voice.d.ts +17 -0
- package/lib/services/agent/executor/voice.d.ts.map +1 -0
- package/lib/services/agent/executor/voice.js +119 -0
- package/lib/services/agent/extendChain.d.ts +101 -0
- package/lib/services/agent/extendChain.d.ts.map +1 -0
- package/lib/services/agent/extendChain.js +177 -0
- package/lib/services/agent/index.d.ts +11 -1
- package/lib/services/agent/index.d.ts.map +1 -1
- package/lib/services/agent/index.js +11 -1
- package/lib/services/agent/llmCaller.d.ts +7 -8
- package/lib/services/agent/llmCaller.d.ts.map +1 -1
- package/lib/services/agent/llmCallerAnthropic.d.ts +44 -31
- package/lib/services/agent/llmCallerAnthropic.d.ts.map +1 -1
- package/lib/services/agent/llmCallerAnthropic.js +135 -60
- package/lib/services/agent/llmCallerFactory.d.ts +34 -0
- package/lib/services/agent/llmCallerFactory.d.ts.map +1 -0
- package/lib/services/agent/llmCallerFactory.js +31 -0
- package/lib/services/agent/llmCallerGemini.d.ts +62 -0
- package/lib/services/agent/llmCallerGemini.d.ts.map +1 -0
- package/lib/services/agent/llmCallerGemini.js +235 -0
- package/lib/services/agent/llmCallerOpenai.d.ts +56 -0
- package/lib/services/agent/llmCallerOpenai.d.ts.map +1 -0
- package/lib/services/agent/llmCallerOpenai.js +230 -0
- package/lib/services/agent/llmCallerRegistry.d.ts.map +1 -1
- package/lib/services/agent/llmCallerRegistry.js +7 -7
- package/lib/services/agent/llmCallerRouting.d.ts +63 -0
- package/lib/services/agent/llmCallerRouting.d.ts.map +1 -0
- package/lib/services/agent/llmCallerRouting.js +124 -0
- package/lib/services/agent/llmModelRegistry.d.ts +59 -0
- package/lib/services/agent/llmModelRegistry.d.ts.map +1 -0
- package/lib/services/agent/llmModelRegistry.js +168 -0
- package/lib/services/agent/llmRetry.d.ts +57 -0
- package/lib/services/agent/llmRetry.d.ts.map +1 -0
- package/lib/services/agent/llmRetry.js +102 -0
- package/lib/services/agent/modelRouter.d.ts +3 -3
- package/lib/services/agent/modelRouter.d.ts.map +1 -1
- package/lib/services/agent/modelRouter.js +27 -13
- package/lib/services/agent/planMutations.d.ts +54 -1
- package/lib/services/agent/planMutations.d.ts.map +1 -1
- package/lib/services/agent/planMutations.js +78 -0
- package/lib/services/agent/planner/Planner.d.ts +0 -17
- package/lib/services/agent/planner/Planner.d.ts.map +1 -1
- package/lib/services/agent/planner/Planner.js +67 -303
- package/lib/services/agent/planner/overlayRegen.d.ts +38 -0
- package/lib/services/agent/planner/overlayRegen.d.ts.map +1 -0
- package/lib/services/agent/planner/overlayRegen.js +145 -0
- package/lib/services/agent/planner/plannerMessages.d.ts +34 -0
- package/lib/services/agent/planner/plannerMessages.d.ts.map +1 -0
- package/lib/services/agent/planner/plannerMessages.js +185 -0
- package/lib/services/agent/planner/promptSections.d.ts +12 -0
- package/lib/services/agent/planner/promptSections.d.ts.map +1 -1
- package/lib/services/agent/planner/promptSections.js +57 -0
- package/lib/services/agent/planner/scriptFirstPlanner.d.ts +35 -0
- package/lib/services/agent/planner/scriptFirstPlanner.d.ts.map +1 -0
- package/lib/services/agent/planner/scriptFirstPlanner.js +140 -0
- package/lib/services/agent/planner/structuralRules.d.ts +10 -0
- package/lib/services/agent/planner/structuralRules.d.ts.map +1 -1
- package/lib/services/agent/planner/structuralRules.js +92 -9
- package/lib/services/agent/planner/validators.d.ts +18 -0
- package/lib/services/agent/planner/validators.d.ts.map +1 -1
- package/lib/services/agent/planner/validators.js +97 -0
- package/lib/services/agent/planner.d.ts +2 -1
- package/lib/services/agent/planner.d.ts.map +1 -1
- package/lib/services/agent/planner.js +5 -1
- package/lib/services/agent/priorProject.d.ts +26 -0
- package/lib/services/agent/priorProject.d.ts.map +1 -0
- package/lib/services/agent/priorProject.js +51 -0
- package/lib/services/agent/providerFallback/chains.d.ts.map +1 -1
- package/lib/services/agent/providerFallback/chains.js +27 -15
- package/lib/services/agent/repurpose/index.d.ts +3 -0
- package/lib/services/agent/repurpose/index.d.ts.map +1 -0
- package/lib/services/agent/repurpose/index.js +18 -0
- package/lib/services/agent/repurpose/repurpose.schema.d.ts +132 -0
- package/lib/services/agent/repurpose/repurpose.schema.d.ts.map +1 -0
- package/lib/services/agent/repurpose/repurpose.schema.js +144 -0
- package/lib/services/agent/repurpose/shortsPicker.d.ts +25 -0
- package/lib/services/agent/repurpose/shortsPicker.d.ts.map +1 -0
- package/lib/services/agent/repurpose/shortsPicker.js +218 -0
- package/lib/services/agent/runHelpers.d.ts +21 -2
- package/lib/services/agent/runHelpers.d.ts.map +1 -1
- package/lib/services/agent/runHelpers.js +71 -2
- package/lib/services/agent/tools/animateImage.tool.d.ts +1 -0
- package/lib/services/agent/tools/animateImage.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/animateImage.tool.js +12 -0
- package/lib/services/agent/tools/chapterOutline.tool.d.ts +42 -0
- package/lib/services/agent/tools/chapterOutline.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/chapterOutline.tool.js +115 -0
- package/lib/services/agent/tools/composeScene.tool.d.ts +63 -0
- package/lib/services/agent/tools/composeScene.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/estimateCost.tool.d.ts +27 -0
- package/lib/services/agent/tools/estimateCost.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/estimateCost.tool.js +55 -7
- package/lib/services/agent/tools/extendVideo.tool.d.ts +26 -0
- package/lib/services/agent/tools/extendVideo.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/extendVideo.tool.js +149 -0
- package/lib/services/agent/tools/generateScript.tool.d.ts +184 -0
- package/lib/services/agent/tools/generateScript.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/generateScript.tool.js +123 -0
- package/lib/services/agent/tools/generateVideo.tool.d.ts +1 -0
- package/lib/services/agent/tools/generateVideo.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/generateVideo.tool.js +20 -1
- package/lib/services/agent/tools/index.d.ts +4 -0
- package/lib/services/agent/tools/index.d.ts.map +1 -1
- package/lib/services/agent/tools/index.js +4 -0
- package/lib/services/agent/tools/matchBrollToScript.tool.d.ts +50 -0
- package/lib/services/agent/tools/matchBrollToScript.tool.d.ts.map +1 -0
- package/lib/services/agent/tools/matchBrollToScript.tool.js +139 -0
- package/lib/services/agent/tools/planVideo.tool.d.ts +56 -0
- package/lib/services/agent/tools/planVideo.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/planVideo.tool.js +3 -3
- package/lib/services/agent/tools/render.tool.d.ts +21 -0
- package/lib/services/agent/tools/render.tool.d.ts.map +1 -1
- package/lib/services/aiGen/aiGenFactory.service.d.ts.map +1 -1
- package/lib/services/aiGen/aiGenFactory.service.js +18 -3
- package/lib/services/aiGen/providers/anthropic/anthropic.service.d.ts +26 -0
- package/lib/services/aiGen/providers/anthropic/anthropic.service.d.ts.map +1 -0
- package/lib/services/aiGen/providers/anthropic/anthropic.service.js +95 -0
- package/lib/services/aiGen/providers/google/google.service.d.ts +24 -1
- package/lib/services/aiGen/providers/google/google.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/google/google.service.js +96 -244
- package/lib/services/aiGen/providers/google/googleErrors.d.ts +13 -0
- package/lib/services/aiGen/providers/google/googleErrors.d.ts.map +1 -0
- package/lib/services/aiGen/providers/google/googleErrors.js +102 -0
- package/lib/services/aiGen/providers/google/googleFetch.d.ts +8 -0
- package/lib/services/aiGen/providers/google/googleFetch.d.ts.map +1 -0
- package/lib/services/aiGen/providers/google/googleFetch.js +96 -0
- package/lib/services/aiGen/providers/google/googleMusic.d.ts +15 -0
- package/lib/services/aiGen/providers/google/googleMusic.d.ts.map +1 -0
- package/lib/services/aiGen/providers/google/googleMusic.js +77 -0
- package/lib/services/aiGen/providers/kling/kling.service.d.ts +7 -3
- package/lib/services/aiGen/providers/kling/kling.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/kling/kling.service.js +23 -367
- package/lib/services/aiGen/providers/kling/klingCredits.d.ts +9 -0
- package/lib/services/aiGen/providers/kling/klingCredits.d.ts.map +1 -0
- package/lib/services/aiGen/providers/kling/klingCredits.js +63 -0
- package/lib/services/aiGen/providers/kling/klingRequests.d.ts +32 -0
- package/lib/services/aiGen/providers/kling/klingRequests.d.ts.map +1 -0
- package/lib/services/aiGen/providers/kling/klingRequests.js +194 -0
- package/lib/services/aiGen/providers/kling/klingStatus.d.ts +16 -0
- package/lib/services/aiGen/providers/kling/klingStatus.d.ts.map +1 -0
- package/lib/services/aiGen/providers/kling/klingStatus.js +173 -0
- package/lib/services/bullmq.service.d.ts +61 -0
- package/lib/services/bullmq.service.d.ts.map +1 -1
- package/lib/services/bullmq.service.js +101 -1
- package/lib/services/crypto/index.d.ts +2 -0
- package/lib/services/crypto/index.d.ts.map +1 -0
- package/lib/services/crypto/index.js +17 -0
- package/lib/services/crypto/tokenVault.d.ts +47 -0
- package/lib/services/crypto/tokenVault.d.ts.map +1 -0
- package/lib/services/crypto/tokenVault.js +179 -0
- package/lib/services/editor/captionStyleHint.d.ts +3 -0
- package/lib/services/editor/captionStyleHint.d.ts.map +1 -0
- package/lib/services/editor/captionStyleHint.js +112 -0
- package/lib/services/editor/planToProject.d.ts +7 -66
- package/lib/services/editor/planToProject.d.ts.map +1 -1
- package/lib/services/editor/planToProject.helpers.d.ts +40 -0
- package/lib/services/editor/planToProject.helpers.d.ts.map +1 -0
- package/lib/services/editor/planToProject.helpers.js +177 -0
- package/lib/services/editor/planToProject.js +197 -180
- package/lib/services/editor/planToProject.types.d.ts +94 -0
- package/lib/services/editor/planToProject.types.d.ts.map +1 -0
- package/lib/services/editor/planToProject.types.js +2 -0
- package/lib/services/firestore.service.d.ts +5 -0
- package/lib/services/firestore.service.d.ts.map +1 -1
- package/lib/services/firestore.service.js +13 -0
- package/lib/services/index.d.ts +12 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/index.js +12 -0
- package/lib/services/promptEnhancer/index.d.ts +18 -0
- package/lib/services/promptEnhancer/index.d.ts.map +1 -0
- package/lib/services/promptEnhancer/index.js +33 -0
- package/lib/services/promptEnhancer/models.d.ts +54 -0
- package/lib/services/promptEnhancer/models.d.ts.map +1 -0
- package/lib/services/promptEnhancer/models.js +37 -0
- package/lib/services/promptEnhancer/profiles/agent.profile.d.ts +14 -0
- package/lib/services/promptEnhancer/profiles/agent.profile.d.ts.map +1 -0
- package/lib/services/promptEnhancer/profiles/agent.profile.js +40 -0
- package/lib/services/promptEnhancer/profiles/avatar.profile.d.ts +13 -0
- package/lib/services/promptEnhancer/profiles/avatar.profile.d.ts.map +1 -0
- package/lib/services/promptEnhancer/profiles/avatar.profile.js +40 -0
- package/lib/services/promptEnhancer/profiles/base.d.ts +28 -0
- package/lib/services/promptEnhancer/profiles/base.d.ts.map +1 -0
- package/lib/services/promptEnhancer/profiles/base.js +35 -0
- package/lib/services/promptEnhancer/profiles/image.profile.d.ts +11 -0
- package/lib/services/promptEnhancer/profiles/image.profile.d.ts.map +1 -0
- package/lib/services/promptEnhancer/profiles/image.profile.js +42 -0
- package/lib/services/promptEnhancer/profiles/index.d.ts +12 -0
- package/lib/services/promptEnhancer/profiles/index.d.ts.map +1 -0
- package/lib/services/promptEnhancer/profiles/index.js +33 -0
- package/lib/services/promptEnhancer/profiles/video.profile.d.ts +15 -0
- package/lib/services/promptEnhancer/profiles/video.profile.d.ts.map +1 -0
- package/lib/services/promptEnhancer/profiles/video.profile.js +81 -0
- package/lib/services/promptEnhancer/promptEnhancer.service.d.ts +45 -0
- package/lib/services/promptEnhancer/promptEnhancer.service.d.ts.map +1 -0
- package/lib/services/promptEnhancer/promptEnhancer.service.js +157 -0
- package/lib/services/promptEnhancer/schema.d.ts +19 -0
- package/lib/services/promptEnhancer/schema.d.ts.map +1 -0
- package/lib/services/promptEnhancer/schema.js +43 -0
- package/lib/services/promptEnhancer/types.d.ts +112 -0
- package/lib/services/promptEnhancer/types.d.ts.map +1 -0
- package/lib/services/promptEnhancer/types.js +2 -0
- package/lib/services/socialAI/captionGen.d.ts +81 -0
- package/lib/services/socialAI/captionGen.d.ts.map +1 -0
- package/lib/services/socialAI/captionGen.js +206 -0
- package/lib/services/socialAI/hookScore.d.ts +85 -0
- package/lib/services/socialAI/hookScore.d.ts.map +1 -0
- package/lib/services/socialAI/hookScore.js +170 -0
- package/lib/services/socialAI/index.d.ts +3 -0
- package/lib/services/socialAI/index.d.ts.map +1 -0
- package/lib/services/socialAI/index.js +18 -0
- package/lib/services/socialAccounts/index.d.ts +2 -0
- package/lib/services/socialAccounts/index.d.ts.map +1 -0
- package/lib/services/socialAccounts/index.js +17 -0
- package/lib/services/socialAccounts/socialAccountService.d.ts +25 -0
- package/lib/services/socialAccounts/socialAccountService.d.ts.map +1 -0
- package/lib/services/socialAccounts/socialAccountService.js +105 -0
- package/lib/services/socialEngage/factory.d.ts +7 -0
- package/lib/services/socialEngage/factory.d.ts.map +1 -0
- package/lib/services/socialEngage/factory.js +25 -0
- package/lib/services/socialEngage/index.d.ts +6 -0
- package/lib/services/socialEngage/index.d.ts.map +1 -0
- package/lib/services/socialEngage/index.js +21 -0
- package/lib/services/socialEngage/meta.engage.d.ts +17 -0
- package/lib/services/socialEngage/meta.engage.d.ts.map +1 -0
- package/lib/services/socialEngage/meta.engage.js +128 -0
- package/lib/services/socialEngage/metaWebhook.d.ts +50 -0
- package/lib/services/socialEngage/metaWebhook.d.ts.map +1 -0
- package/lib/services/socialEngage/metaWebhook.js +93 -0
- package/lib/services/socialEngage/types.d.ts +72 -0
- package/lib/services/socialEngage/types.d.ts.map +1 -0
- package/lib/services/socialEngage/types.js +10 -0
- package/lib/services/socialEngage/youtube.engage.d.ts +9 -0
- package/lib/services/socialEngage/youtube.engage.d.ts.map +1 -0
- package/lib/services/socialEngage/youtube.engage.js +87 -0
- package/lib/services/socialFormat/aspectGeometry.d.ts +74 -0
- package/lib/services/socialFormat/aspectGeometry.d.ts.map +1 -0
- package/lib/services/socialFormat/aspectGeometry.js +135 -0
- package/lib/services/socialFormat/index.d.ts +2 -0
- package/lib/services/socialFormat/index.d.ts.map +1 -0
- package/lib/services/socialFormat/index.js +19 -0
- package/lib/services/socialInsights/index.d.ts +3 -0
- package/lib/services/socialInsights/index.d.ts.map +1 -0
- package/lib/services/socialInsights/index.js +18 -0
- package/lib/services/socialInsights/recommendations.d.ts +131 -0
- package/lib/services/socialInsights/recommendations.d.ts.map +1 -0
- package/lib/services/socialInsights/recommendations.js +277 -0
- package/lib/services/socialInsights/timeBuckets.d.ts +35 -0
- package/lib/services/socialInsights/timeBuckets.d.ts.map +1 -0
- package/lib/services/socialInsights/timeBuckets.js +78 -0
- package/lib/services/socialMetrics/factory.d.ts +5 -0
- package/lib/services/socialMetrics/factory.d.ts.map +1 -0
- package/lib/services/socialMetrics/factory.js +24 -0
- package/lib/services/socialMetrics/index.d.ts +6 -0
- package/lib/services/socialMetrics/index.d.ts.map +1 -0
- package/lib/services/socialMetrics/index.js +21 -0
- package/lib/services/socialMetrics/meta.metrics.d.ts +22 -0
- package/lib/services/socialMetrics/meta.metrics.d.ts.map +1 -0
- package/lib/services/socialMetrics/meta.metrics.js +137 -0
- package/lib/services/socialMetrics/tiktok.metrics.d.ts +8 -0
- package/lib/services/socialMetrics/tiktok.metrics.d.ts.map +1 -0
- package/lib/services/socialMetrics/tiktok.metrics.js +43 -0
- package/lib/services/socialMetrics/types.d.ts +54 -0
- package/lib/services/socialMetrics/types.d.ts.map +1 -0
- package/lib/services/socialMetrics/types.js +2 -0
- package/lib/services/socialMetrics/youtube.metrics.d.ts +8 -0
- package/lib/services/socialMetrics/youtube.metrics.d.ts.map +1 -0
- package/lib/services/socialMetrics/youtube.metrics.js +43 -0
- package/lib/services/socialOAuth/factory.d.ts +7 -0
- package/lib/services/socialOAuth/factory.d.ts.map +1 -0
- package/lib/services/socialOAuth/factory.js +42 -0
- package/lib/services/socialOAuth/index.d.ts +11 -0
- package/lib/services/socialOAuth/index.d.ts.map +1 -0
- package/lib/services/socialOAuth/index.js +26 -0
- package/lib/services/socialOAuth/linkedin.oauth.d.ts +14 -0
- package/lib/services/socialOAuth/linkedin.oauth.d.ts.map +1 -0
- package/lib/services/socialOAuth/linkedin.oauth.js +127 -0
- package/lib/services/socialOAuth/meta.oauth.d.ts +31 -0
- package/lib/services/socialOAuth/meta.oauth.d.ts.map +1 -0
- package/lib/services/socialOAuth/meta.oauth.js +214 -0
- package/lib/services/socialOAuth/oauthState.d.ts +14 -0
- package/lib/services/socialOAuth/oauthState.d.ts.map +1 -0
- package/lib/services/socialOAuth/oauthState.js +66 -0
- package/lib/services/socialOAuth/pinterest.oauth.d.ts +15 -0
- package/lib/services/socialOAuth/pinterest.oauth.d.ts.map +1 -0
- package/lib/services/socialOAuth/pinterest.oauth.js +126 -0
- package/lib/services/socialOAuth/threads.oauth.d.ts +14 -0
- package/lib/services/socialOAuth/threads.oauth.d.ts.map +1 -0
- package/lib/services/socialOAuth/threads.oauth.js +129 -0
- package/lib/services/socialOAuth/tiktok.oauth.d.ts +15 -0
- package/lib/services/socialOAuth/tiktok.oauth.d.ts.map +1 -0
- package/lib/services/socialOAuth/tiktok.oauth.js +151 -0
- package/lib/services/socialOAuth/types.d.ts +67 -0
- package/lib/services/socialOAuth/types.d.ts.map +1 -0
- package/lib/services/socialOAuth/types.js +2 -0
- package/lib/services/socialOAuth/x.oauth.d.ts +17 -0
- package/lib/services/socialOAuth/x.oauth.d.ts.map +1 -0
- package/lib/services/socialOAuth/x.oauth.js +134 -0
- package/lib/services/socialOAuth/youtube.oauth.d.ts +15 -0
- package/lib/services/socialOAuth/youtube.oauth.d.ts.map +1 -0
- package/lib/services/socialOAuth/youtube.oauth.js +156 -0
- package/lib/services/socialPublish/factory.d.ts +5 -0
- package/lib/services/socialPublish/factory.d.ts.map +1 -0
- package/lib/services/socialPublish/factory.js +32 -0
- package/lib/services/socialPublish/index.d.ts +10 -0
- package/lib/services/socialPublish/index.d.ts.map +1 -0
- package/lib/services/socialPublish/index.js +25 -0
- package/lib/services/socialPublish/linkedin.publish.d.ts +9 -0
- package/lib/services/socialPublish/linkedin.publish.d.ts.map +1 -0
- package/lib/services/socialPublish/linkedin.publish.js +143 -0
- package/lib/services/socialPublish/meta.publish.d.ts +28 -0
- package/lib/services/socialPublish/meta.publish.d.ts.map +1 -0
- package/lib/services/socialPublish/meta.publish.js +149 -0
- package/lib/services/socialPublish/pinterest.publish.d.ts +13 -0
- package/lib/services/socialPublish/pinterest.publish.d.ts.map +1 -0
- package/lib/services/socialPublish/pinterest.publish.js +130 -0
- package/lib/services/socialPublish/threads.publish.d.ts +12 -0
- package/lib/services/socialPublish/threads.publish.d.ts.map +1 -0
- package/lib/services/socialPublish/threads.publish.js +96 -0
- package/lib/services/socialPublish/tiktok.publish.d.ts +13 -0
- package/lib/services/socialPublish/tiktok.publish.d.ts.map +1 -0
- package/lib/services/socialPublish/tiktok.publish.js +118 -0
- package/lib/services/socialPublish/types.d.ts +47 -0
- package/lib/services/socialPublish/types.d.ts.map +1 -0
- package/lib/services/socialPublish/types.js +2 -0
- package/lib/services/socialPublish/x.publish.d.ts +12 -0
- package/lib/services/socialPublish/x.publish.d.ts.map +1 -0
- package/lib/services/socialPublish/x.publish.js +147 -0
- package/lib/services/socialPublish/youtube.publish.d.ts +9 -0
- package/lib/services/socialPublish/youtube.publish.d.ts.map +1 -0
- package/lib/services/socialPublish/youtube.publish.js +107 -0
- package/lib/services/stock/index.d.ts +2 -0
- package/lib/services/stock/index.d.ts.map +1 -0
- package/lib/services/stock/index.js +17 -0
- package/lib/services/stock/realPersonSafety.d.ts +99 -0
- package/lib/services/stock/realPersonSafety.d.ts.map +1 -0
- package/lib/services/stock/realPersonSafety.js +248 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/index.js +1 -0
- package/lib/utils/renderTier.d.ts +26 -0
- package/lib/utils/renderTier.d.ts.map +1 -0
- package/lib/utils/renderTier.js +34 -0
- package/package.json +1 -1
package/lib/services/index.d.ts
CHANGED
|
@@ -15,9 +15,21 @@ export * from "./musicGen";
|
|
|
15
15
|
export * from "./audioAnalysis";
|
|
16
16
|
export * from "./asr";
|
|
17
17
|
export * from "./agent";
|
|
18
|
+
export * from "./promptEnhancer";
|
|
18
19
|
export * from "./assetCache.service";
|
|
19
20
|
export * from "./apiUsageCounter.service";
|
|
20
21
|
export * from "./editor/designToProject";
|
|
21
22
|
export * from "./editor/projectToDesign";
|
|
22
23
|
export * from "./editor/planToProject";
|
|
24
|
+
export * from "./editor/captionStyleHint";
|
|
25
|
+
export * from "./stock";
|
|
26
|
+
export * from "./crypto";
|
|
27
|
+
export * from "./socialOAuth";
|
|
28
|
+
export * from "./socialPublish";
|
|
29
|
+
export * from "./socialMetrics";
|
|
30
|
+
export * from "./socialEngage";
|
|
31
|
+
export * from "./socialFormat";
|
|
32
|
+
export * from "./socialAI";
|
|
33
|
+
export * from "./socialInsights";
|
|
34
|
+
export * from "./socialAccounts";
|
|
23
35
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC;AACtB,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
package/lib/services/index.js
CHANGED
|
@@ -31,8 +31,20 @@ __exportStar(require("./musicGen"), exports);
|
|
|
31
31
|
__exportStar(require("./audioAnalysis"), exports);
|
|
32
32
|
__exportStar(require("./asr"), exports);
|
|
33
33
|
__exportStar(require("./agent"), exports);
|
|
34
|
+
__exportStar(require("./promptEnhancer"), exports);
|
|
34
35
|
__exportStar(require("./assetCache.service"), exports);
|
|
35
36
|
__exportStar(require("./apiUsageCounter.service"), exports);
|
|
36
37
|
__exportStar(require("./editor/designToProject"), exports);
|
|
37
38
|
__exportStar(require("./editor/projectToDesign"), exports);
|
|
38
39
|
__exportStar(require("./editor/planToProject"), exports);
|
|
40
|
+
__exportStar(require("./editor/captionStyleHint"), exports);
|
|
41
|
+
__exportStar(require("./stock"), exports);
|
|
42
|
+
__exportStar(require("./crypto"), exports);
|
|
43
|
+
__exportStar(require("./socialOAuth"), exports);
|
|
44
|
+
__exportStar(require("./socialPublish"), exports);
|
|
45
|
+
__exportStar(require("./socialMetrics"), exports);
|
|
46
|
+
__exportStar(require("./socialEngage"), exports);
|
|
47
|
+
__exportStar(require("./socialFormat"), exports);
|
|
48
|
+
__exportStar(require("./socialAI"), exports);
|
|
49
|
+
__exportStar(require("./socialInsights"), exports);
|
|
50
|
+
__exportStar(require("./socialAccounts"), exports);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Modular Prompt Enhancer.
|
|
3
|
+
*
|
|
4
|
+
* Rewrites a user's raw prompt into a richer, production-grade prompt for a
|
|
5
|
+
* downstream generative model — preserving everything the user asked for and
|
|
6
|
+
* only adding craft where they were silent. Target-aware (video / image /
|
|
7
|
+
* avatar / agent) via per-target profiles, sharing one engine and the agent's
|
|
8
|
+
* LLM infrastructure.
|
|
9
|
+
*
|
|
10
|
+
* Step 1 ships the enhancer itself; wiring it into the individual pipelines is
|
|
11
|
+
* a separate, later step.
|
|
12
|
+
*/
|
|
13
|
+
export * from "./types";
|
|
14
|
+
export * from "./schema";
|
|
15
|
+
export * from "./models";
|
|
16
|
+
export * from "./profiles";
|
|
17
|
+
export * from "./promptEnhancer.service";
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/promptEnhancer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
/**
|
|
18
|
+
* Modular Prompt Enhancer.
|
|
19
|
+
*
|
|
20
|
+
* Rewrites a user's raw prompt into a richer, production-grade prompt for a
|
|
21
|
+
* downstream generative model — preserving everything the user asked for and
|
|
22
|
+
* only adding craft where they were silent. Target-aware (video / image /
|
|
23
|
+
* avatar / agent) via per-target profiles, sharing one engine and the agent's
|
|
24
|
+
* LLM infrastructure.
|
|
25
|
+
*
|
|
26
|
+
* Step 1 ships the enhancer itself; wiring it into the individual pipelines is
|
|
27
|
+
* a separate, later step.
|
|
28
|
+
*/
|
|
29
|
+
__exportStar(require("./types"), exports);
|
|
30
|
+
__exportStar(require("./schema"), exports);
|
|
31
|
+
__exportStar(require("./models"), exports);
|
|
32
|
+
__exportStar(require("./profiles"), exports);
|
|
33
|
+
__exportStar(require("./promptEnhancer.service"), exports);
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ModelChoice } from "../agent/modelRouter";
|
|
2
|
+
/**
|
|
3
|
+
* Model selection for the Prompt Enhancer — deliberately INDEPENDENT of the
|
|
4
|
+
* agent's role-based ModelRouter.
|
|
5
|
+
*
|
|
6
|
+
* The enhancer is a cross-pipeline, single-call task with its own quality/speed
|
|
7
|
+
* balance, so it should not inherit the "planner" role's model (that model is
|
|
8
|
+
* tuned for heavyweight VideoPlan generation). Keeping a dedicated policy here
|
|
9
|
+
* means we can retune the enhancer without perturbing planner/critic routing,
|
|
10
|
+
* and vice versa.
|
|
11
|
+
*
|
|
12
|
+
* Every model below is registered in MODEL_CAPABILITIES and dispatchable by the
|
|
13
|
+
* native ProviderRoutingLlmCaller (anthropic / openai / google) — see
|
|
14
|
+
* llmModelRegistry.ts. The gateway has been deprecated (LLM_NATIVE_MIGRATION_PLAN
|
|
15
|
+
* Phase 5), so a model whose provider has no native caller would throw at
|
|
16
|
+
* dispatch time. Models picked from the latest frontier tiers (2026-06).
|
|
17
|
+
*/
|
|
18
|
+
export interface EnhancerModelPolicy {
|
|
19
|
+
/** Default model — optimised for the speed/cost/quality balance. */
|
|
20
|
+
primary: ModelChoice;
|
|
21
|
+
/** Cross-provider fallback when the primary exhausts transient retries. */
|
|
22
|
+
fallback?: ModelChoice;
|
|
23
|
+
/** Used when `EnhanceOptions.premium` is set — top quality. */
|
|
24
|
+
premium: ModelChoice;
|
|
25
|
+
/** Cross-provider fallback for the premium model. */
|
|
26
|
+
premiumFallback?: ModelChoice;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Default policy (latest frontier tiers, chosen for this task after comparing
|
|
30
|
+
* the registry's quality/speed/cost guidance):
|
|
31
|
+
*
|
|
32
|
+
* primary = gemini-3.5-flash (Q4/S4, $1.5/$9): current frontier Flash, beats
|
|
33
|
+
* 3.1 Pro on agentic benches, strong vision (good for reference-image
|
|
34
|
+
* prompts), 1M ctx. The right balance for a critical-path call — fast and
|
|
35
|
+
* cheap without the Q3 quality of the older 2.5-flash. Its only weakness vs
|
|
36
|
+
* the Q5 tier — strict adherence to many simultaneous constraints — is
|
|
37
|
+
* covered by the schema's enumerate-then-honour preservation guard.
|
|
38
|
+
*
|
|
39
|
+
* premium = claude-sonnet-4-6 (Q4/S4, $3/$15): a strong, well-balanced quality
|
|
40
|
+
* lift over the Flash primary — excellent cinematic prose + reliable
|
|
41
|
+
* preservation — without the cost/latency of the Q5 Opus tier (overkill for
|
|
42
|
+
* prompt rewriting). Opt in (premium:true) for high-value jobs; the video
|
|
43
|
+
* pipeline can pass it since video prompts are the most demanding downstream.
|
|
44
|
+
*
|
|
45
|
+
* fallbacks are cross-provider so a single provider's rate-limit/outage degrades
|
|
46
|
+
* gracefully: flash(google)→gpt-5.4-mini(openai); sonnet(anthropic)→3.1-pro(google).
|
|
47
|
+
*/
|
|
48
|
+
export declare const DEFAULT_ENHANCER_MODELS: EnhancerModelPolicy;
|
|
49
|
+
/** Resolve the (primary, fallback) pair for a call, honouring the premium flag. */
|
|
50
|
+
export declare function pickEnhancerModel(policy: EnhancerModelPolicy, premium?: boolean): {
|
|
51
|
+
model: ModelChoice;
|
|
52
|
+
fallbackModel?: ModelChoice;
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/services/promptEnhancer/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,OAAO,EAAE,WAAW,CAAC;IACrB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,+DAA+D;IAC/D,OAAO,EAAE,WAAW,CAAC;IACrB,qDAAqD;IACrD,eAAe,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB,EAAE,mBAKrC,CAAC;AAEF,mFAAmF;AACnF,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,aAAa,CAAC,EAAE,WAAW,CAAA;CAAE,CAKrD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_ENHANCER_MODELS = void 0;
|
|
4
|
+
exports.pickEnhancerModel = pickEnhancerModel;
|
|
5
|
+
/**
|
|
6
|
+
* Default policy (latest frontier tiers, chosen for this task after comparing
|
|
7
|
+
* the registry's quality/speed/cost guidance):
|
|
8
|
+
*
|
|
9
|
+
* primary = gemini-3.5-flash (Q4/S4, $1.5/$9): current frontier Flash, beats
|
|
10
|
+
* 3.1 Pro on agentic benches, strong vision (good for reference-image
|
|
11
|
+
* prompts), 1M ctx. The right balance for a critical-path call — fast and
|
|
12
|
+
* cheap without the Q3 quality of the older 2.5-flash. Its only weakness vs
|
|
13
|
+
* the Q5 tier — strict adherence to many simultaneous constraints — is
|
|
14
|
+
* covered by the schema's enumerate-then-honour preservation guard.
|
|
15
|
+
*
|
|
16
|
+
* premium = claude-sonnet-4-6 (Q4/S4, $3/$15): a strong, well-balanced quality
|
|
17
|
+
* lift over the Flash primary — excellent cinematic prose + reliable
|
|
18
|
+
* preservation — without the cost/latency of the Q5 Opus tier (overkill for
|
|
19
|
+
* prompt rewriting). Opt in (premium:true) for high-value jobs; the video
|
|
20
|
+
* pipeline can pass it since video prompts are the most demanding downstream.
|
|
21
|
+
*
|
|
22
|
+
* fallbacks are cross-provider so a single provider's rate-limit/outage degrades
|
|
23
|
+
* gracefully: flash(google)→gpt-5.4-mini(openai); sonnet(anthropic)→3.1-pro(google).
|
|
24
|
+
*/
|
|
25
|
+
exports.DEFAULT_ENHANCER_MODELS = {
|
|
26
|
+
primary: { modelId: "gemini-3.5-flash", provider: "google", vision: true },
|
|
27
|
+
fallback: { modelId: "gpt-5.4-mini", provider: "openai", vision: true },
|
|
28
|
+
premium: { modelId: "claude-sonnet-4-6", provider: "anthropic", vision: true },
|
|
29
|
+
premiumFallback: { modelId: "gemini-3.1-pro", provider: "google", vision: true },
|
|
30
|
+
};
|
|
31
|
+
/** Resolve the (primary, fallback) pair for a call, honouring the premium flag. */
|
|
32
|
+
function pickEnhancerModel(policy, premium) {
|
|
33
|
+
if (premium) {
|
|
34
|
+
return { model: policy.premium, fallbackModel: policy.premiumFallback };
|
|
35
|
+
}
|
|
36
|
+
return { model: policy.primary, fallbackModel: policy.fallback };
|
|
37
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EnhancerProfile } from "./base";
|
|
2
|
+
/**
|
|
3
|
+
* AGENT profile — creative-brief clarifier.
|
|
4
|
+
*
|
|
5
|
+
* The agent pipeline already has a Planner that decomposes a brief into scenes
|
|
6
|
+
* (with per-scene prompts, tiers, models, overlays, etc.). So the enhancer's
|
|
7
|
+
* job here is NOT to write shots — that would fight the Planner. It is to take
|
|
8
|
+
* a thin one-liner and turn it into a sharp, complete CREATIVE BRIEF the
|
|
9
|
+
* Planner can plan well from: clear concept, intended outcome, audience, tone,
|
|
10
|
+
* a high-level arc, and must-include elements. Think "better brief", not
|
|
11
|
+
* "storyboard".
|
|
12
|
+
*/
|
|
13
|
+
export declare const AGENT_PROFILE: EnhancerProfile;
|
|
14
|
+
//# sourceMappingURL=agent.profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.profile.d.ts","sourceRoot":"","sources":["../../../../src/services/promptEnhancer/profiles/agent.profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,EAAE,eAyB3B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AGENT_PROFILE = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* AGENT profile — creative-brief clarifier.
|
|
6
|
+
*
|
|
7
|
+
* The agent pipeline already has a Planner that decomposes a brief into scenes
|
|
8
|
+
* (with per-scene prompts, tiers, models, overlays, etc.). So the enhancer's
|
|
9
|
+
* job here is NOT to write shots — that would fight the Planner. It is to take
|
|
10
|
+
* a thin one-liner and turn it into a sharp, complete CREATIVE BRIEF the
|
|
11
|
+
* Planner can plan well from: clear concept, intended outcome, audience, tone,
|
|
12
|
+
* a high-level arc, and must-include elements. Think "better brief", not
|
|
13
|
+
* "storyboard".
|
|
14
|
+
*/
|
|
15
|
+
exports.AGENT_PROFILE = {
|
|
16
|
+
target: "agent",
|
|
17
|
+
defaultTemperature: 0.5,
|
|
18
|
+
defaultMaxTokens: 900,
|
|
19
|
+
systemPrompt: [
|
|
20
|
+
"MEDIUM: a creative brief for an autonomous video-planning agent. A downstream Planner will",
|
|
21
|
+
"break your brief into scenes, pick models, and write per-scene prompts — so DO NOT write a",
|
|
22
|
+
"shot list, timestamps, or per-scene prompts. Produce a sharper, more complete BRIEF.",
|
|
23
|
+
"",
|
|
24
|
+
"Expand a thin request into a brief that covers, in fluent prose:",
|
|
25
|
+
"- CORE CONCEPT: the single idea the video communicates, stated crisply.",
|
|
26
|
+
"- OUTCOME / GOAL: what it should make the viewer feel or do (sell, teach, entertain, convert).",
|
|
27
|
+
"- AUDIENCE: who it is for, if inferable.",
|
|
28
|
+
"- TONE & STYLE: the mood and visual register (honour the user's words; suggest a fit if silent).",
|
|
29
|
+
"- HIGH-LEVEL ARC: hook → development → payoff/CTA, described at the level of intent, not shots.",
|
|
30
|
+
"- MUST-INCLUDE: any specific elements, products, names, or facts the user named — preserved",
|
|
31
|
+
" exactly.",
|
|
32
|
+
"",
|
|
33
|
+
"RULES:",
|
|
34
|
+
"- Preserve the user's stated goal and every concrete element; only fill gaps (audience, tone,",
|
|
35
|
+
" arc) where they were silent.",
|
|
36
|
+
"- Do not over-specify: leave room for the Planner to make scene-level decisions.",
|
|
37
|
+
"- Do not invent products, brands, claims, or facts the user didn't provide.",
|
|
38
|
+
"- Keep it a brief — a tight paragraph or two, not a screenplay.",
|
|
39
|
+
].join("\n"),
|
|
40
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EnhancerProfile } from "./base";
|
|
2
|
+
/**
|
|
3
|
+
* AVATAR profile — talking-head performance hints.
|
|
4
|
+
*
|
|
5
|
+
* The avatar pipeline animates a FIXED portrait image driven by FIXED audio
|
|
6
|
+
* (TTS or uploaded). The prompt is a small performance/motion directive, not a
|
|
7
|
+
* scene. The classic failure mode is treating it like a video prompt: inventing
|
|
8
|
+
* cuts, camera moves through space, new environments, or extra characters —
|
|
9
|
+
* all of which fight the lip-sync model and corrupt identity. So this profile
|
|
10
|
+
* is deliberately narrow: expression, micro-gesture, gaze, and delivery only.
|
|
11
|
+
*/
|
|
12
|
+
export declare const AVATAR_PROFILE: EnhancerProfile;
|
|
13
|
+
//# sourceMappingURL=avatar.profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.profile.d.ts","sourceRoot":"","sources":["../../../../src/services/promptEnhancer/profiles/avatar.profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAE,eA0B5B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AVATAR_PROFILE = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* AVATAR profile — talking-head performance hints.
|
|
6
|
+
*
|
|
7
|
+
* The avatar pipeline animates a FIXED portrait image driven by FIXED audio
|
|
8
|
+
* (TTS or uploaded). The prompt is a small performance/motion directive, not a
|
|
9
|
+
* scene. The classic failure mode is treating it like a video prompt: inventing
|
|
10
|
+
* cuts, camera moves through space, new environments, or extra characters —
|
|
11
|
+
* all of which fight the lip-sync model and corrupt identity. So this profile
|
|
12
|
+
* is deliberately narrow: expression, micro-gesture, gaze, and delivery only.
|
|
13
|
+
*/
|
|
14
|
+
exports.AVATAR_PROFILE = {
|
|
15
|
+
target: "avatar",
|
|
16
|
+
defaultTemperature: 0.4,
|
|
17
|
+
defaultMaxTokens: 600,
|
|
18
|
+
systemPrompt: [
|
|
19
|
+
"MEDIUM: talking-head avatar. A single fixed portrait is animated to speak fixed audio. Your",
|
|
20
|
+
"prompt is a SHORT performance directive for that one person — how they deliver the line — not",
|
|
21
|
+
"a scene description.",
|
|
22
|
+
"",
|
|
23
|
+
"Describe only:",
|
|
24
|
+
"- EXPRESSION & EMOTION: the felt emotional tone of the delivery (warm, urgent, reassuring,",
|
|
25
|
+
" excited) and how it reads on the face.",
|
|
26
|
+
"- MICRO-MOVEMENT: natural head tilts and nods, eyebrow motion, blinks, subtle shoulder shift,",
|
|
27
|
+
" hand gestures only if framing clearly includes the hands. Keep it lifelike and restrained.",
|
|
28
|
+
"- GAZE: eye contact with camera vs. natural glances; steadiness.",
|
|
29
|
+
"- ENERGY & PACING: how animated the delivery is, matched to the spoken content's tone.",
|
|
30
|
+
"- FRAMING STABILITY: keep the framing and background as-is and steady.",
|
|
31
|
+
"",
|
|
32
|
+
"HARD CONSTRAINTS — these protect the lip-sync and identity:",
|
|
33
|
+
"- Do NOT change the person's identity, face, hair, age, clothing, or the background. The",
|
|
34
|
+
" portrait is fixed.",
|
|
35
|
+
"- Do NOT invent scene cuts, camera moves through space, new locations, props, or other people.",
|
|
36
|
+
"- Do NOT write any audio, dialogue, or voiceover — the audio is already provided and fixed.",
|
|
37
|
+
"- Keep it concise (a few sentences). Over-direction degrades the result.",
|
|
38
|
+
"- Preserve any delivery/emotion notes the user gave, and any reference-image binding.",
|
|
39
|
+
].join("\n"),
|
|
40
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { EnhanceTarget } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* A target profile = the knowledge of what a "great" prompt looks like for one
|
|
4
|
+
* generative medium, plus its default sampling knobs. Model selection is
|
|
5
|
+
* handled centrally by the enhancer's own policy (models.ts), NOT per profile,
|
|
6
|
+
* so the quality/speed balance is tuned in one place. The engine composes
|
|
7
|
+
* BASE_PRESERVATION_CONTRACT + profile.systemPrompt to form the system message,
|
|
8
|
+
* so each profile only carries the medium-specific rules.
|
|
9
|
+
*/
|
|
10
|
+
export interface EnhancerProfile {
|
|
11
|
+
target: EnhanceTarget;
|
|
12
|
+
/** Default sampling temperature. Lower = more faithful to the user, higher = more inventive. */
|
|
13
|
+
defaultTemperature: number;
|
|
14
|
+
/** Default max output tokens. */
|
|
15
|
+
defaultMaxTokens: number;
|
|
16
|
+
/**
|
|
17
|
+
* The medium-specific system prompt: the structure, vocabulary, and rules
|
|
18
|
+
* that define a production-grade prompt for this target. Prepended with the
|
|
19
|
+
* universal BASE_PRESERVATION_CONTRACT by the engine.
|
|
20
|
+
*/
|
|
21
|
+
systemPrompt: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The universal contract every profile inherits. This is the heart of the
|
|
25
|
+
* feature: enhance ON TOP of the user's requirements, never instead of them.
|
|
26
|
+
*/
|
|
27
|
+
export declare const BASE_PRESERVATION_CONTRACT: string;
|
|
28
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/services/promptEnhancer/profiles/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,CAAC;IACtB,gGAAgG;IAChG,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,QA2B3B,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BASE_PRESERVATION_CONTRACT = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The universal contract every profile inherits. This is the heart of the
|
|
6
|
+
* feature: enhance ON TOP of the user's requirements, never instead of them.
|
|
7
|
+
*/
|
|
8
|
+
exports.BASE_PRESERVATION_CONTRACT = [
|
|
9
|
+
"You are VidSpot's Prompt Enhancer — an expert prompt engineer for generative-media models.",
|
|
10
|
+
"You take a user's raw prompt and rewrite it into a richer, production-grade prompt that",
|
|
11
|
+
"produces the highest-quality result, WITHOUT changing what the user actually wants.",
|
|
12
|
+
"",
|
|
13
|
+
"THE PRESERVATION CONTRACT — non-negotiable, overrides every other instruction:",
|
|
14
|
+
"1. The user's prompt is the source of truth. Preserve every requirement they stated or clearly",
|
|
15
|
+
" implied: subjects, named entities, actions and events, the order things happen in, style and",
|
|
16
|
+
" mood words they chose, brand names, numbers (durations, counts, timestamps), reference-image",
|
|
17
|
+
" bindings (e.g. '@image 2', 'Person A'), aspect ratio, and explicit exclusions ('no music',",
|
|
18
|
+
" 'no ground'). These survive verbatim in meaning.",
|
|
19
|
+
"2. You only ADD where the user was silent or vague. Fill those gaps with craft — but never",
|
|
20
|
+
" invent a constraint the user didn't ask for (do not add a specific brand, logo, named",
|
|
21
|
+
" location, on-screen text, or character that wasn't requested or implied).",
|
|
22
|
+
"3. Never 'improve' a choice the user already made. If they said 'teal grade' or 'handheld', keep",
|
|
23
|
+
" it exactly — do not swap it for something you think is better.",
|
|
24
|
+
"4. Do not contradict the user. If an addition would clash with a stated requirement, drop the",
|
|
25
|
+
" addition. The user always wins.",
|
|
26
|
+
"5. Match the user's register and scope. A short, simple request gets tasteful enhancement, not a",
|
|
27
|
+
" wall of unrelated cinematic jargon. Do not pad. Every added detail must earn its place by",
|
|
28
|
+
" improving the generated result.",
|
|
29
|
+
"6. Write in the medium's idiom (defined below). Output the prompt text only — no preamble, no",
|
|
30
|
+
" markdown headings unless the medium's format calls for them, no meta-commentary.",
|
|
31
|
+
"",
|
|
32
|
+
"Be concrete: prefer specific nouns and physically grounded description over vague adjectives",
|
|
33
|
+
"('a low tungsten key light raking across her face' beats 'nice lighting'). Grounded, coherent",
|
|
34
|
+
"detail is what lifts generation quality.",
|
|
35
|
+
].join("\n");
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EnhancerProfile } from "./base";
|
|
2
|
+
/**
|
|
3
|
+
* IMAGE profile — single still-frame prompts.
|
|
4
|
+
*
|
|
5
|
+
* Crucially NOT a video prompt: no motion, no temporal beats, no shot
|
|
6
|
+
* breakdown, no audio. A still lives or dies on composition, light, lens, and
|
|
7
|
+
* material detail. We carry over the reference-image binding discipline (image
|
|
8
|
+
* gen often uses character/style refs) but everything else is frame-craft.
|
|
9
|
+
*/
|
|
10
|
+
export declare const IMAGE_PROFILE: EnhancerProfile;
|
|
11
|
+
//# sourceMappingURL=image.profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.profile.d.ts","sourceRoot":"","sources":["../../../../src/services/promptEnhancer/profiles/image.profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,eA8B3B,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IMAGE_PROFILE = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* IMAGE profile — single still-frame prompts.
|
|
6
|
+
*
|
|
7
|
+
* Crucially NOT a video prompt: no motion, no temporal beats, no shot
|
|
8
|
+
* breakdown, no audio. A still lives or dies on composition, light, lens, and
|
|
9
|
+
* material detail. We carry over the reference-image binding discipline (image
|
|
10
|
+
* gen often uses character/style refs) but everything else is frame-craft.
|
|
11
|
+
*/
|
|
12
|
+
exports.IMAGE_PROFILE = {
|
|
13
|
+
target: "image",
|
|
14
|
+
defaultTemperature: 0.5,
|
|
15
|
+
defaultMaxTokens: 1200,
|
|
16
|
+
systemPrompt: [
|
|
17
|
+
"MEDIUM: text-to-image. The model renders ONE still frame. There is no motion, no time, and no",
|
|
18
|
+
"sound — never write camera moves, beats, timestamps, or audio. Pour all the detail into the",
|
|
19
|
+
"single frame.",
|
|
20
|
+
"",
|
|
21
|
+
"Describe, weaving these dimensions into fluent prose (not headed sections):",
|
|
22
|
+
"- SUBJECT: the focal subject(s) with specific, distinctive detail. Preserve reference-image",
|
|
23
|
+
" bindings exactly (e.g. 'the woman from @image 1').",
|
|
24
|
+
"- COMPOSITION & FRAMING: shot size (extreme close-up … wide), angle, lens (e.g. '85mm',",
|
|
25
|
+
" 'wide 24mm'), depth of field, where the subject sits in the frame, rule-of-thirds / symmetry.",
|
|
26
|
+
"- LIGHTING: direction and quality (soft window light, hard rim, golden-hour backlight), key/",
|
|
27
|
+
" fill/rim, color temperature, how light falls on surfaces and casts shadow.",
|
|
28
|
+
"- COLOR & GRADE: palette and mood grade the user chose, or a fitting one if they were silent.",
|
|
29
|
+
"- MATERIAL & TEXTURE DETAIL: skin, fabric, metal, surface micro-detail that reads as real.",
|
|
30
|
+
"- SETTING & BACKGROUND: environment and atmosphere, kept subordinate to the subject.",
|
|
31
|
+
"- RENDER QUALITY: realism level and finish (e.g. 'photorealistic, sharp focus, fine detail')",
|
|
32
|
+
" — match the user's stated style; don't force photoreal onto an illustrative request.",
|
|
33
|
+
"- ASPECT RATIO: state it if known.",
|
|
34
|
+
"",
|
|
35
|
+
"RULES:",
|
|
36
|
+
"- Concrete and physical over vague adjectives. One coherent look; no contradictory styles.",
|
|
37
|
+
"- Do not add subjects, props, text, logos, or a brand the user didn't ask for.",
|
|
38
|
+
"- Keep the positive prompt clean — do not write negatives ('no blur'); the pipeline handles a",
|
|
39
|
+
" separate negative prompt.",
|
|
40
|
+
"- If the user's prompt is already rich, enhance lightly and keep their phrasing.",
|
|
41
|
+
].join("\n"),
|
|
42
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EnhanceTarget } from "../types";
|
|
2
|
+
import { EnhancerProfile } from "./base";
|
|
3
|
+
export { EnhancerProfile, BASE_PRESERVATION_CONTRACT } from "./base";
|
|
4
|
+
export { VIDEO_PROFILE } from "./video.profile";
|
|
5
|
+
export { IMAGE_PROFILE } from "./image.profile";
|
|
6
|
+
export { AVATAR_PROFILE } from "./avatar.profile";
|
|
7
|
+
export { AGENT_PROFILE } from "./agent.profile";
|
|
8
|
+
/** Registry of every target profile, keyed by target. */
|
|
9
|
+
export declare const ENHANCER_PROFILES: Record<EnhanceTarget, EnhancerProfile>;
|
|
10
|
+
/** Resolve the profile for a target. Throws on an unknown target. */
|
|
11
|
+
export declare function getProfile(target: EnhanceTarget): EnhancerProfile;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/promptEnhancer/profiles/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAMzC,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,eAAe,CAKpE,CAAC;AAEF,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAMjE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ENHANCER_PROFILES = exports.AGENT_PROFILE = exports.AVATAR_PROFILE = exports.IMAGE_PROFILE = exports.VIDEO_PROFILE = exports.BASE_PRESERVATION_CONTRACT = void 0;
|
|
4
|
+
exports.getProfile = getProfile;
|
|
5
|
+
const video_profile_1 = require("./video.profile");
|
|
6
|
+
const image_profile_1 = require("./image.profile");
|
|
7
|
+
const avatar_profile_1 = require("./avatar.profile");
|
|
8
|
+
const agent_profile_1 = require("./agent.profile");
|
|
9
|
+
var base_1 = require("./base");
|
|
10
|
+
Object.defineProperty(exports, "BASE_PRESERVATION_CONTRACT", { enumerable: true, get: function () { return base_1.BASE_PRESERVATION_CONTRACT; } });
|
|
11
|
+
var video_profile_2 = require("./video.profile");
|
|
12
|
+
Object.defineProperty(exports, "VIDEO_PROFILE", { enumerable: true, get: function () { return video_profile_2.VIDEO_PROFILE; } });
|
|
13
|
+
var image_profile_2 = require("./image.profile");
|
|
14
|
+
Object.defineProperty(exports, "IMAGE_PROFILE", { enumerable: true, get: function () { return image_profile_2.IMAGE_PROFILE; } });
|
|
15
|
+
var avatar_profile_2 = require("./avatar.profile");
|
|
16
|
+
Object.defineProperty(exports, "AVATAR_PROFILE", { enumerable: true, get: function () { return avatar_profile_2.AVATAR_PROFILE; } });
|
|
17
|
+
var agent_profile_2 = require("./agent.profile");
|
|
18
|
+
Object.defineProperty(exports, "AGENT_PROFILE", { enumerable: true, get: function () { return agent_profile_2.AGENT_PROFILE; } });
|
|
19
|
+
/** Registry of every target profile, keyed by target. */
|
|
20
|
+
exports.ENHANCER_PROFILES = {
|
|
21
|
+
video: video_profile_1.VIDEO_PROFILE,
|
|
22
|
+
image: image_profile_1.IMAGE_PROFILE,
|
|
23
|
+
avatar: avatar_profile_1.AVATAR_PROFILE,
|
|
24
|
+
agent: agent_profile_1.AGENT_PROFILE,
|
|
25
|
+
};
|
|
26
|
+
/** Resolve the profile for a target. Throws on an unknown target. */
|
|
27
|
+
function getProfile(target) {
|
|
28
|
+
const profile = exports.ENHANCER_PROFILES[target];
|
|
29
|
+
if (!profile) {
|
|
30
|
+
throw new Error(`[promptEnhancer] no profile registered for target "${target}"`);
|
|
31
|
+
}
|
|
32
|
+
return profile;
|
|
33
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EnhancerProfile } from "./base";
|
|
2
|
+
/**
|
|
3
|
+
* VIDEO profile — cinematic text-to-video / image-to-video prompts.
|
|
4
|
+
*
|
|
5
|
+
* The structure below is distilled from a set of gold-standard production
|
|
6
|
+
* prompts (aerial dogfight, Brooklyn tsunami, neutron-star flyby, Nike golf
|
|
7
|
+
* commercial). Those share a recognisable anatomy: a Style&Mood header, named
|
|
8
|
+
* subjects with stable descriptors + reference-image bindings, a Dynamic
|
|
9
|
+
* description of the action, a Static description of the unchanging set, a
|
|
10
|
+
* shot/timestamp breakdown, and explicit native-audio design. We teach that
|
|
11
|
+
* anatomy here so a sparse user prompt comes out at that level — without ever
|
|
12
|
+
* overriding what the user already specified.
|
|
13
|
+
*/
|
|
14
|
+
export declare const VIDEO_PROFILE: EnhancerProfile;
|
|
15
|
+
//# sourceMappingURL=video.profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video.profile.d.ts","sourceRoot":"","sources":["../../../../src/services/promptEnhancer/profiles/video.profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,EAAE,eAiE3B,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VIDEO_PROFILE = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* VIDEO profile — cinematic text-to-video / image-to-video prompts.
|
|
6
|
+
*
|
|
7
|
+
* The structure below is distilled from a set of gold-standard production
|
|
8
|
+
* prompts (aerial dogfight, Brooklyn tsunami, neutron-star flyby, Nike golf
|
|
9
|
+
* commercial). Those share a recognisable anatomy: a Style&Mood header, named
|
|
10
|
+
* subjects with stable descriptors + reference-image bindings, a Dynamic
|
|
11
|
+
* description of the action, a Static description of the unchanging set, a
|
|
12
|
+
* shot/timestamp breakdown, and explicit native-audio design. We teach that
|
|
13
|
+
* anatomy here so a sparse user prompt comes out at that level — without ever
|
|
14
|
+
* overriding what the user already specified.
|
|
15
|
+
*/
|
|
16
|
+
exports.VIDEO_PROFILE = {
|
|
17
|
+
target: "video",
|
|
18
|
+
defaultTemperature: 0.45,
|
|
19
|
+
defaultMaxTokens: 2200,
|
|
20
|
+
systemPrompt: [
|
|
21
|
+
"MEDIUM: text-to-video / image-to-video. The model generates a moving shot (or short",
|
|
22
|
+
"sequence of shots) from your prompt. It cannot read your mind about camera, light, lens, or",
|
|
23
|
+
"sound — so describe them. Quality comes from concrete, physically coherent cinematic detail.",
|
|
24
|
+
"",
|
|
25
|
+
"Compose the enhanced prompt using these sections, in this order. Include a section only when",
|
|
26
|
+
"it adds value; never output an empty heading. Use the user's own content to fill them and add",
|
|
27
|
+
"craft where they were silent.",
|
|
28
|
+
"",
|
|
29
|
+
"1. STYLE & MOOD — lead with it. Name the medium and realism level (e.g. 'photoreal cinematic',",
|
|
30
|
+
" 'stylised 2D'), the color grade / palette, the camera + lens + film-stock feel (e.g. 'ARRI",
|
|
31
|
+
" ALEXA, 35mm, filmic grain'), the overall mood, and continuity (how many shots / cuts, or",
|
|
32
|
+
" 'one continuous handheld take'). Keep the user's chosen look if they gave one.",
|
|
33
|
+
"",
|
|
34
|
+
"2. SUBJECTS — define each recurring subject ONCE with stable, distinctive descriptors so the",
|
|
35
|
+
" model keeps them consistent across the shot. When the user supplied reference images, bind",
|
|
36
|
+
" each subject to its token exactly as given (e.g. 'PILOT: face exactly from @image 3'). When",
|
|
37
|
+
" two subjects could be confused, add a disambiguator ('never confuse the two planes').",
|
|
38
|
+
"",
|
|
39
|
+
"3. DYNAMIC DESCRIPTION — the action as it unfolds: what moves, what changes, and the camera",
|
|
40
|
+
" language driving it (locked-off, slow push-in, whip-pan, tracking, handheld micro-shake,",
|
|
41
|
+
" focus hunt, banking). Keep the user's described events and their ORDER intact; render them",
|
|
42
|
+
" in vivid, physically plausible motion.",
|
|
43
|
+
"",
|
|
44
|
+
"4. STATIC DESCRIPTION — the unchanging environment / set: location, time of day, weather,",
|
|
45
|
+
" light direction, atmosphere. Include explicit exclusions when they matter ('no ground",
|
|
46
|
+
" visible', 'only these two subjects exist in this space').",
|
|
47
|
+
"",
|
|
48
|
+
"5. SHOT / TIME BREAKDOWN — when the duration warrants more than one beat, break it into",
|
|
49
|
+
" timestamped segments ('00:00–00:03 …') or numbered shots ('Shot 1 …'), each stating camera",
|
|
50
|
+
" + subject + action. Budget the number of beats to the duration: roughly one distinct beat",
|
|
51
|
+
" per 2–4 seconds; do not over-cut a short clip. Respect any cut count the user specified.",
|
|
52
|
+
"",
|
|
53
|
+
"6. NATIVE AUDIO — describe the diegetic sound design (impacts, ambience, foley, dialogue",
|
|
54
|
+
" energy) or state 'No music.' if the user asked for none. Honour the user's audio wishes",
|
|
55
|
+
" exactly. Omit this section entirely for silent / audio-less models.",
|
|
56
|
+
"",
|
|
57
|
+
"7. ASPECT RATIO — state it if known (e.g. '2.39:1', '9:16').",
|
|
58
|
+
"",
|
|
59
|
+
"RULES OF THE CRAFT:",
|
|
60
|
+
"- Concrete nouns over adjectives; describe light physically (key/fill/rim, color temperature,",
|
|
61
|
+
" how it interacts with surfaces).",
|
|
62
|
+
"- One coherent world: do not stack contradictory styles or add subjects/props the user didn't",
|
|
63
|
+
" ask for.",
|
|
64
|
+
"- Preserve every reference-image token and the role it was bound to. Never reassign a token.",
|
|
65
|
+
"- If the user's prompt is already detailed and well-structured, enhance lightly and keep their",
|
|
66
|
+
" structure — do not rewrite a strong prompt into your template for its own sake.",
|
|
67
|
+
"",
|
|
68
|
+
"SHAPE OF A GREAT RESULT (illustrative — a sparse input lifted to production grade):",
|
|
69
|
+
" User: 'a knight fights a dragon in a castle'",
|
|
70
|
+
" Enhanced (abridged): 'Style & Mood: photoreal dark-fantasy cinematic, ARRI-style, cold",
|
|
71
|
+
" steel-blue grade with ember-orange firelight, anamorphic 2.39:1, handheld with controlled",
|
|
72
|
+
" micro-shake. SUBJECT — KNIGHT: battered plate armor, dented helm, longsword. SUBJECT —",
|
|
73
|
+
" DRAGON: 12m wingspan, charcoal scales, molten throat-glow. Dynamic: low tracking shot as the",
|
|
74
|
+
" knight charges across the courtyard, the dragon rears and unleashes a fire breath, the knight",
|
|
75
|
+
" rolls behind a stone pillar that scorches black, then drives the sword up into the dragon's",
|
|
76
|
+
" jaw. Static: ruined torch-lit castle courtyard at night, smoke and floating embers, rain",
|
|
77
|
+
" catching the firelight. Native audio: roar, sword scrape, fire whoosh, rain, no music.'",
|
|
78
|
+
" — note how every user element (knight, dragon, castle, fight) is preserved and only the",
|
|
79
|
+
" silent gaps (grade, lens, light, camera, audio) were filled.",
|
|
80
|
+
].join("\n"),
|
|
81
|
+
};
|