@sogni-ai/sogni-intelligence-client 2.1.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/.env.example +33 -0
- package/LICENSE +22 -0
- package/README.md +259 -0
- package/chatRun/index.d.ts +1 -0
- package/chatRun/index.js +2 -0
- package/context/index.d.ts +1 -0
- package/context/index.js +2 -0
- package/contracts/index.d.ts +1 -0
- package/contracts/index.js +2 -0
- package/dist/chatRun/costApproval.d.ts +10 -0
- package/dist/chatRun/costApproval.d.ts.map +1 -0
- package/dist/chatRun/costApproval.js +70 -0
- package/dist/chatRun/costApproval.js.map +1 -0
- package/dist/chatRun/index.d.ts +207 -0
- package/dist/chatRun/index.d.ts.map +1 -0
- package/dist/chatRun/index.js +350 -0
- package/dist/chatRun/index.js.map +1 -0
- package/dist/client/SogniClientWrapper.d.ts +86 -0
- package/dist/client/SogniClientWrapper.d.ts.map +1 -0
- package/dist/client/SogniClientWrapper.js +914 -0
- package/dist/client/SogniClientWrapper.js.map +1 -0
- package/dist/context/index.d.ts +56 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +460 -0
- package/dist/context/index.js.map +1 -0
- package/dist/contracts/backboneDurableWorkflow.d.ts +82 -0
- package/dist/contracts/backboneDurableWorkflow.d.ts.map +1 -0
- package/dist/contracts/backboneDurableWorkflow.js +96 -0
- package/dist/contracts/backboneDurableWorkflow.js.map +1 -0
- package/dist/contracts/backboneToolCatalog.d.ts +7 -0
- package/dist/contracts/backboneToolCatalog.d.ts.map +1 -0
- package/dist/contracts/backboneToolCatalog.js +62 -0
- package/dist/contracts/backboneToolCatalog.js.map +1 -0
- package/dist/contracts/composeWorkflowTypes.d.ts +6 -0
- package/dist/contracts/composeWorkflowTypes.d.ts.map +1 -0
- package/dist/contracts/composeWorkflowTypes.js +3 -0
- package/dist/contracts/composeWorkflowTypes.js.map +1 -0
- package/dist/contracts/data/costEstimation.d.ts +5 -0
- package/dist/contracts/data/costEstimation.d.ts.map +1 -0
- package/dist/contracts/data/costEstimation.js +22 -0
- package/dist/contracts/data/costEstimation.js.map +1 -0
- package/dist/contracts/data/gatingPolicies.d.ts +6 -0
- package/dist/contracts/data/gatingPolicies.d.ts.map +1 -0
- package/dist/contracts/data/gatingPolicies.js +218 -0
- package/dist/contracts/data/gatingPolicies.js.map +1 -0
- package/dist/contracts/data/gatingPoliciesToolSurface.d.ts +7 -0
- package/dist/contracts/data/gatingPoliciesToolSurface.d.ts.map +1 -0
- package/dist/contracts/data/gatingPoliciesToolSurface.js +61 -0
- package/dist/contracts/data/gatingPoliciesToolSurface.js.map +1 -0
- package/dist/contracts/data/index.d.ts +14 -0
- package/dist/contracts/data/index.d.ts.map +1 -0
- package/dist/contracts/data/index.js +57 -0
- package/dist/contracts/data/index.js.map +1 -0
- package/dist/contracts/data/promptContracts.d.ts +5 -0
- package/dist/contracts/data/promptContracts.d.ts.map +1 -0
- package/dist/contracts/data/promptContracts.js +1286 -0
- package/dist/contracts/data/promptContracts.js.map +1 -0
- package/dist/contracts/data/repairRecipes.d.ts +5 -0
- package/dist/contracts/data/repairRecipes.d.ts.map +1 -0
- package/dist/contracts/data/repairRecipes.js +197 -0
- package/dist/contracts/data/repairRecipes.js.map +1 -0
- package/dist/contracts/data/toolCatalog.d.ts +31 -0
- package/dist/contracts/data/toolCatalog.d.ts.map +1 -0
- package/dist/contracts/data/toolCatalog.js +129 -0
- package/dist/contracts/data/toolCatalog.js.map +1 -0
- package/dist/contracts/data/toolCostMetadata.d.ts +16 -0
- package/dist/contracts/data/toolCostMetadata.d.ts.map +1 -0
- package/dist/contracts/data/toolCostMetadata.js +284 -0
- package/dist/contracts/data/toolCostMetadata.js.map +1 -0
- package/dist/contracts/data/toolPermissions.d.ts +27 -0
- package/dist/contracts/data/toolPermissions.d.ts.map +1 -0
- package/dist/contracts/data/toolPermissions.js +78 -0
- package/dist/contracts/data/toolPermissions.js.map +1 -0
- package/dist/contracts/evaluators.d.ts +94 -0
- package/dist/contracts/evaluators.d.ts.map +1 -0
- package/dist/contracts/evaluators.js +468 -0
- package/dist/contracts/evaluators.js.map +1 -0
- package/dist/contracts/hostedComposition.d.ts +85 -0
- package/dist/contracts/hostedComposition.d.ts.map +1 -0
- package/dist/contracts/hostedComposition.js +139 -0
- package/dist/contracts/hostedComposition.js.map +1 -0
- package/dist/contracts/hostedToolValidation.d.ts +47 -0
- package/dist/contracts/hostedToolValidation.d.ts.map +1 -0
- package/dist/contracts/hostedToolValidation.js +301 -0
- package/dist/contracts/hostedToolValidation.js.map +1 -0
- package/dist/contracts/idLoraPrompt.d.ts +13 -0
- package/dist/contracts/idLoraPrompt.d.ts.map +1 -0
- package/dist/contracts/idLoraPrompt.js +78 -0
- package/dist/contracts/idLoraPrompt.js.map +1 -0
- package/dist/contracts/imagePrompt.d.ts +16 -0
- package/dist/contracts/imagePrompt.d.ts.map +1 -0
- package/dist/contracts/imagePrompt.js +148 -0
- package/dist/contracts/imagePrompt.js.map +1 -0
- package/dist/contracts/index.d.ts +48 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +156 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/contracts/musicComposition.d.ts +17 -0
- package/dist/contracts/musicComposition.d.ts.map +1 -0
- package/dist/contracts/musicComposition.js +188 -0
- package/dist/contracts/musicComposition.js.map +1 -0
- package/dist/contracts/promptContract.d.ts +11 -0
- package/dist/contracts/promptContract.d.ts.map +1 -0
- package/dist/contracts/promptContract.js +37 -0
- package/dist/contracts/promptContract.js.map +1 -0
- package/dist/contracts/promptOverrideMarker.d.ts +2 -0
- package/dist/contracts/promptOverrideMarker.d.ts.map +1 -0
- package/dist/contracts/promptOverrideMarker.js +5 -0
- package/dist/contracts/promptOverrideMarker.js.map +1 -0
- package/dist/contracts/randomThemes.d.ts +5 -0
- package/dist/contracts/randomThemes.d.ts.map +1 -0
- package/dist/contracts/randomThemes.js +159 -0
- package/dist/contracts/randomThemes.js.map +1 -0
- package/dist/contracts/registry.d.ts +29 -0
- package/dist/contracts/registry.d.ts.map +1 -0
- package/dist/contracts/registry.js +104 -0
- package/dist/contracts/registry.js.map +1 -0
- package/dist/contracts/repairRecipe.d.ts +14 -0
- package/dist/contracts/repairRecipe.d.ts.map +1 -0
- package/dist/contracts/repairRecipe.js +38 -0
- package/dist/contracts/repairRecipe.js.map +1 -0
- package/dist/contracts/storyboard.d.ts +113 -0
- package/dist/contracts/storyboard.d.ts.map +1 -0
- package/dist/contracts/storyboard.js +7 -0
- package/dist/contracts/storyboard.js.map +1 -0
- package/dist/contracts/telemetry.d.ts +57 -0
- package/dist/contracts/telemetry.d.ts.map +1 -0
- package/dist/contracts/telemetry.js +37 -0
- package/dist/contracts/telemetry.js.map +1 -0
- package/dist/contracts/toolGatingPolicy.d.ts +19 -0
- package/dist/contracts/toolGatingPolicy.d.ts.map +1 -0
- package/dist/contracts/toolGatingPolicy.js +63 -0
- package/dist/contracts/toolGatingPolicy.js.map +1 -0
- package/dist/contracts/toolPromptMarkers.d.ts +9 -0
- package/dist/contracts/toolPromptMarkers.d.ts.map +1 -0
- package/dist/contracts/toolPromptMarkers.js +13 -0
- package/dist/contracts/toolPromptMarkers.js.map +1 -0
- package/dist/contracts/toolSurface.d.ts +46 -0
- package/dist/contracts/toolSurface.d.ts.map +1 -0
- package/dist/contracts/toolSurface.js +119 -0
- package/dist/contracts/toolSurface.js.map +1 -0
- package/dist/contracts/turnPolicy.d.ts +22 -0
- package/dist/contracts/turnPolicy.d.ts.map +1 -0
- package/dist/contracts/turnPolicy.js +16 -0
- package/dist/contracts/turnPolicy.js.map +1 -0
- package/dist/contracts/videoComposition.d.ts +35 -0
- package/dist/contracts/videoComposition.d.ts.map +1 -0
- package/dist/contracts/videoComposition.js +224 -0
- package/dist/contracts/videoComposition.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/media/aspectRatio.d.ts +15 -0
- package/dist/media/aspectRatio.d.ts.map +1 -0
- package/dist/media/aspectRatio.js +72 -0
- package/dist/media/aspectRatio.js.map +1 -0
- package/dist/media/audioReference.d.ts +57 -0
- package/dist/media/audioReference.d.ts.map +1 -0
- package/dist/media/audioReference.js +194 -0
- package/dist/media/audioReference.js.map +1 -0
- package/dist/media/cameraAngle.d.ts +170 -0
- package/dist/media/cameraAngle.d.ts.map +1 -0
- package/dist/media/cameraAngle.js +48 -0
- package/dist/media/cameraAngle.js.map +1 -0
- package/dist/media/characterSheet.d.ts +9 -0
- package/dist/media/characterSheet.d.ts.map +1 -0
- package/dist/media/characterSheet.js +54 -0
- package/dist/media/characterSheet.js.map +1 -0
- package/dist/media/danceMontage.d.ts +18 -0
- package/dist/media/danceMontage.d.ts.map +1 -0
- package/dist/media/danceMontage.js +34 -0
- package/dist/media/danceMontage.js.map +1 -0
- package/dist/media/enhancementProfiles.d.ts +158 -0
- package/dist/media/enhancementProfiles.d.ts.map +1 -0
- package/dist/media/enhancementProfiles.js +224 -0
- package/dist/media/enhancementProfiles.js.map +1 -0
- package/dist/media/generationJob.d.ts +81 -0
- package/dist/media/generationJob.d.ts.map +1 -0
- package/dist/media/generationJob.js +91 -0
- package/dist/media/generationJob.js.map +1 -0
- package/dist/media/gptImage.d.ts +21 -0
- package/dist/media/gptImage.d.ts.map +1 -0
- package/dist/media/gptImage.js +162 -0
- package/dist/media/gptImage.js.map +1 -0
- package/dist/media/imageDimensions.d.ts +24 -0
- package/dist/media/imageDimensions.d.ts.map +1 -0
- package/dist/media/imageDimensions.js +64 -0
- package/dist/media/imageDimensions.js.map +1 -0
- package/dist/media/index.d.ts +16 -0
- package/dist/media/index.d.ts.map +1 -0
- package/dist/media/index.js +32 -0
- package/dist/media/index.js.map +1 -0
- package/dist/media/musicSettings.d.ts +86 -0
- package/dist/media/musicSettings.d.ts.map +1 -0
- package/dist/media/musicSettings.js +234 -0
- package/dist/media/musicSettings.js.map +1 -0
- package/dist/media/vendorModelPremium.d.ts +21 -0
- package/dist/media/vendorModelPremium.d.ts.map +1 -0
- package/dist/media/vendorModelPremium.js +89 -0
- package/dist/media/vendorModelPremium.js.map +1 -0
- package/dist/media/videoAppSettings.d.ts +41 -0
- package/dist/media/videoAppSettings.d.ts.map +1 -0
- package/dist/media/videoAppSettings.js +128 -0
- package/dist/media/videoAppSettings.js.map +1 -0
- package/dist/media/videoContentLimit.d.ts +15 -0
- package/dist/media/videoContentLimit.d.ts.map +1 -0
- package/dist/media/videoContentLimit.js +169 -0
- package/dist/media/videoContentLimit.js.map +1 -0
- package/dist/media/videoReference.d.ts +35 -0
- package/dist/media/videoReference.d.ts.map +1 -0
- package/dist/media/videoReference.js +77 -0
- package/dist/media/videoReference.js.map +1 -0
- package/dist/media/videoSettings.d.ts +50 -0
- package/dist/media/videoSettings.d.ts.map +1 -0
- package/dist/media/videoSettings.js +200 -0
- package/dist/media/videoSettings.js.map +1 -0
- package/dist/openai-tools/_manifests.generated.d.ts +4 -0
- package/dist/openai-tools/_manifests.generated.d.ts.map +1 -0
- package/dist/openai-tools/_manifests.generated.js +1792 -0
- package/dist/openai-tools/_manifests.generated.js.map +1 -0
- package/dist/openai-tools/app-tools.json +297 -0
- package/dist/openai-tools/composition-tools.json +228 -0
- package/dist/openai-tools/generation-tools.json +1263 -0
- package/dist/openai-tools/index.d.ts +17 -0
- package/dist/openai-tools/index.d.ts.map +1 -0
- package/dist/openai-tools/index.js +32 -0
- package/dist/openai-tools/index.js.map +1 -0
- package/dist/public-skill-runtime/index.d.ts +1222 -0
- package/dist/public-skill-runtime/index.d.ts.map +1 -0
- package/dist/public-skill-runtime/index.js +6492 -0
- package/dist/public-skill-runtime/index.js.map +1 -0
- package/dist/replay/index.d.ts +4 -0
- package/dist/replay/index.d.ts.map +1 -0
- package/dist/replay/index.js +12 -0
- package/dist/replay/index.js.map +1 -0
- package/dist/replay/redact.d.ts +7 -0
- package/dist/replay/redact.d.ts.map +1 -0
- package/dist/replay/redact.js +108 -0
- package/dist/replay/redact.js.map +1 -0
- package/dist/replay/types.d.ts +61 -0
- package/dist/replay/types.d.ts.map +1 -0
- package/dist/replay/types.js +24 -0
- package/dist/replay/types.js.map +1 -0
- package/dist/runtime/chatTypes.d.ts +47 -0
- package/dist/runtime/chatTypes.d.ts.map +1 -0
- package/dist/runtime/chatTypes.js +3 -0
- package/dist/runtime/chatTypes.js.map +1 -0
- package/dist/runtime/durableWorkflowClient.d.ts +80 -0
- package/dist/runtime/durableWorkflowClient.d.ts.map +1 -0
- package/dist/runtime/durableWorkflowClient.js +312 -0
- package/dist/runtime/durableWorkflowClient.js.map +1 -0
- package/dist/runtime/index.d.ts +3 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +18 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/schemas/errors/error.schema.json +21 -0
- package/dist/schemas/errors/repair-control.schema.json +40 -0
- package/dist/schemas/events/artifact-reference.schema.json +22 -0
- package/dist/schemas/events/progress-event.schema.json +28 -0
- package/dist/schemas/events/workflow-event.schema.json +22 -0
- package/dist/schemas/storyboards/storyboard-planning-contract.schema.json +108 -0
- package/dist/schemas/tools/add_subtitles.schema.json +77 -0
- package/dist/schemas/tools/animate_photo.schema.json +104 -0
- package/dist/schemas/tools/apply_style.schema.json +37 -0
- package/dist/schemas/tools/change_angle.schema.json +30 -0
- package/dist/schemas/tools/compose_instrumental.schema.json +24 -0
- package/dist/schemas/tools/compose_lyrics.schema.json +28 -0
- package/dist/schemas/tools/compose_script.schema.json +68 -0
- package/dist/schemas/tools/compose_workflow.schema.json +67 -0
- package/dist/schemas/tools/compose_workflow_template.schema.json +156 -0
- package/dist/schemas/tools/dance_montage.schema.json +47 -0
- package/dist/schemas/tools/edit_image.schema.json +74 -0
- package/dist/schemas/tools/enhance_prompt.schema.json +76 -0
- package/dist/schemas/tools/extend_video.schema.json +42 -0
- package/dist/schemas/tools/generate_image.schema.json +104 -0
- package/dist/schemas/tools/generate_music.schema.json +62 -0
- package/dist/schemas/tools/generate_video.schema.json +97 -0
- package/dist/schemas/tools/orbit_video.schema.json +70 -0
- package/dist/schemas/tools/overlay_video.schema.json +126 -0
- package/dist/schemas/tools/refine_result.schema.json +43 -0
- package/dist/schemas/tools/replace_video_segment.schema.json +60 -0
- package/dist/schemas/tools/restore_photo.schema.json +47 -0
- package/dist/schemas/tools/sound_to_video.schema.json +70 -0
- package/dist/schemas/tools/stitch_video.schema.json +52 -0
- package/dist/schemas/tools/video_to_video.schema.json +77 -0
- package/dist/schemas/workflows/durable-workflow-run.schema.json +165 -0
- package/dist/schemas/workflows/durable-workflow-step.schema.json +141 -0
- package/dist/skill-runtime-source/crossSurfaceParity.d.ts +23 -0
- package/dist/skill-runtime-source/crossSurfaceParity.d.ts.map +1 -0
- package/dist/skill-runtime-source/crossSurfaceParity.js +472 -0
- package/dist/skill-runtime-source/crossSurfaceParity.js.map +1 -0
- package/dist/skill-runtime-source/index.d.ts +4 -0
- package/dist/skill-runtime-source/index.d.ts.map +1 -0
- package/dist/skill-runtime-source/index.js +20 -0
- package/dist/skill-runtime-source/index.js.map +1 -0
- package/dist/skill-runtime-source/seedanceAudioWindow.d.ts +8 -0
- package/dist/skill-runtime-source/seedanceAudioWindow.d.ts.map +1 -0
- package/dist/skill-runtime-source/seedanceAudioWindow.js +52 -0
- package/dist/skill-runtime-source/seedanceAudioWindow.js.map +1 -0
- package/dist/skill-runtime-source/workflowStatus.d.ts +17 -0
- package/dist/skill-runtime-source/workflowStatus.d.ts.map +1 -0
- package/dist/skill-runtime-source/workflowStatus.js +353 -0
- package/dist/skill-runtime-source/workflowStatus.js.map +1 -0
- package/dist/skills/asset_reference_management/index.d.ts +6 -0
- package/dist/skills/asset_reference_management/index.d.ts.map +1 -0
- package/dist/skills/asset_reference_management/index.js +18 -0
- package/dist/skills/asset_reference_management/index.js.map +1 -0
- package/dist/skills/asset_reference_management/manifest.d.ts +42 -0
- package/dist/skills/asset_reference_management/manifest.d.ts.map +1 -0
- package/dist/skills/asset_reference_management/manifest.js +237 -0
- package/dist/skills/asset_reference_management/manifest.js.map +1 -0
- package/dist/skills/asset_reference_management/modelRefRegistry.d.ts +24 -0
- package/dist/skills/asset_reference_management/modelRefRegistry.d.ts.map +1 -0
- package/dist/skills/asset_reference_management/modelRefRegistry.js +136 -0
- package/dist/skills/asset_reference_management/modelRefRegistry.js.map +1 -0
- package/dist/skills/asset_reference_management/types.d.ts +31 -0
- package/dist/skills/asset_reference_management/types.d.ts.map +1 -0
- package/dist/skills/asset_reference_management/types.js +3 -0
- package/dist/skills/asset_reference_management/types.js.map +1 -0
- package/dist/tools/definitions/add-subtitles/definition.d.ts +4 -0
- package/dist/tools/definitions/add-subtitles/definition.d.ts.map +1 -0
- package/dist/tools/definitions/add-subtitles/definition.js +83 -0
- package/dist/tools/definitions/add-subtitles/definition.js.map +1 -0
- package/dist/tools/definitions/animate-photo/definition.d.ts +3 -0
- package/dist/tools/definitions/animate-photo/definition.d.ts.map +1 -0
- package/dist/tools/definitions/animate-photo/definition.js +124 -0
- package/dist/tools/definitions/animate-photo/definition.js.map +1 -0
- package/dist/tools/definitions/apply-style/definition.d.ts +3 -0
- package/dist/tools/definitions/apply-style/definition.d.ts.map +1 -0
- package/dist/tools/definitions/apply-style/definition.js +50 -0
- package/dist/tools/definitions/apply-style/definition.js.map +1 -0
- package/dist/tools/definitions/change-angle/definition.d.ts +3 -0
- package/dist/tools/definitions/change-angle/definition.d.ts.map +1 -0
- package/dist/tools/definitions/change-angle/definition.js +49 -0
- package/dist/tools/definitions/change-angle/definition.js.map +1 -0
- package/dist/tools/definitions/dance-montage/dances.d.ts +11 -0
- package/dist/tools/definitions/dance-montage/dances.d.ts.map +1 -0
- package/dist/tools/definitions/dance-montage/dances.js +90 -0
- package/dist/tools/definitions/dance-montage/dances.js.map +1 -0
- package/dist/tools/definitions/dance-montage/definition.d.ts +3 -0
- package/dist/tools/definitions/dance-montage/definition.d.ts.map +1 -0
- package/dist/tools/definitions/dance-montage/definition.js +45 -0
- package/dist/tools/definitions/dance-montage/definition.js.map +1 -0
- package/dist/tools/definitions/edit-image/definition.d.ts +3 -0
- package/dist/tools/definitions/edit-image/definition.d.ts.map +1 -0
- package/dist/tools/definitions/edit-image/definition.js +128 -0
- package/dist/tools/definitions/edit-image/definition.js.map +1 -0
- package/dist/tools/definitions/extend-video/definition.d.ts +3 -0
- package/dist/tools/definitions/extend-video/definition.d.ts.map +1 -0
- package/dist/tools/definitions/extend-video/definition.js +51 -0
- package/dist/tools/definitions/extend-video/definition.js.map +1 -0
- package/dist/tools/definitions/generate-image/definition.d.ts +3 -0
- package/dist/tools/definitions/generate-image/definition.d.ts.map +1 -0
- package/dist/tools/definitions/generate-image/definition.js +107 -0
- package/dist/tools/definitions/generate-image/definition.js.map +1 -0
- package/dist/tools/definitions/generate-music/definition.d.ts +3 -0
- package/dist/tools/definitions/generate-music/definition.d.ts.map +1 -0
- package/dist/tools/definitions/generate-music/definition.js +75 -0
- package/dist/tools/definitions/generate-music/definition.js.map +1 -0
- package/dist/tools/definitions/generate-video/definition.d.ts +3 -0
- package/dist/tools/definitions/generate-video/definition.d.ts.map +1 -0
- package/dist/tools/definitions/generate-video/definition.js +120 -0
- package/dist/tools/definitions/generate-video/definition.js.map +1 -0
- package/dist/tools/definitions/index.d.ts +25 -0
- package/dist/tools/definitions/index.d.ts.map +1 -0
- package/dist/tools/definitions/index.js +66 -0
- package/dist/tools/definitions/index.js.map +1 -0
- package/dist/tools/definitions/orbit-video/definition.d.ts +3 -0
- package/dist/tools/definitions/orbit-video/definition.d.ts.map +1 -0
- package/dist/tools/definitions/orbit-video/definition.js +103 -0
- package/dist/tools/definitions/orbit-video/definition.js.map +1 -0
- package/dist/tools/definitions/overlay-video/definition.d.ts +4 -0
- package/dist/tools/definitions/overlay-video/definition.d.ts.map +1 -0
- package/dist/tools/definitions/overlay-video/definition.js +142 -0
- package/dist/tools/definitions/overlay-video/definition.js.map +1 -0
- package/dist/tools/definitions/refine-result/definition.d.ts +3 -0
- package/dist/tools/definitions/refine-result/definition.d.ts.map +1 -0
- package/dist/tools/definitions/refine-result/definition.js +56 -0
- package/dist/tools/definitions/refine-result/definition.js.map +1 -0
- package/dist/tools/definitions/replace-video-segment/definition.d.ts +3 -0
- package/dist/tools/definitions/replace-video-segment/definition.d.ts.map +1 -0
- package/dist/tools/definitions/replace-video-segment/definition.js +65 -0
- package/dist/tools/definitions/replace-video-segment/definition.js.map +1 -0
- package/dist/tools/definitions/restore-photo/definition.d.ts +3 -0
- package/dist/tools/definitions/restore-photo/definition.d.ts.map +1 -0
- package/dist/tools/definitions/restore-photo/definition.js +58 -0
- package/dist/tools/definitions/restore-photo/definition.js.map +1 -0
- package/dist/tools/definitions/sound-to-video/definition.d.ts +3 -0
- package/dist/tools/definitions/sound-to-video/definition.d.ts.map +1 -0
- package/dist/tools/definitions/sound-to-video/definition.js +91 -0
- package/dist/tools/definitions/sound-to-video/definition.js.map +1 -0
- package/dist/tools/definitions/stitch-video/definition.d.ts +4 -0
- package/dist/tools/definitions/stitch-video/definition.d.ts.map +1 -0
- package/dist/tools/definitions/stitch-video/definition.js +89 -0
- package/dist/tools/definitions/stitch-video/definition.js.map +1 -0
- package/dist/tools/definitions/types.d.ts +15 -0
- package/dist/tools/definitions/types.d.ts.map +1 -0
- package/dist/tools/definitions/types.js +3 -0
- package/dist/tools/definitions/types.js.map +1 -0
- package/dist/tools/definitions/video-to-video/definition.d.ts +3 -0
- package/dist/tools/definitions/video-to-video/definition.d.ts.map +1 -0
- package/dist/tools/definitions/video-to-video/definition.js +101 -0
- package/dist/tools/definitions/video-to-video/definition.js.map +1 -0
- package/dist/tools/index.d.ts +22 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +83 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/normalizeArgs.d.ts +2 -0
- package/dist/tools/normalizeArgs.d.ts.map +1 -0
- package/dist/tools/normalizeArgs.js +40 -0
- package/dist/tools/normalizeArgs.js.map +1 -0
- package/dist/tools/result.d.ts +47 -0
- package/dist/tools/result.d.ts.map +1 -0
- package/dist/tools/result.js +38 -0
- package/dist/tools/result.js.map +1 -0
- package/dist/tools/shared/downloadFilename.d.ts +18 -0
- package/dist/tools/shared/downloadFilename.d.ts.map +1 -0
- package/dist/tools/shared/downloadFilename.js +157 -0
- package/dist/tools/shared/downloadFilename.js.map +1 -0
- package/dist/tools/shared/dynamicPromptBranches.d.ts +20 -0
- package/dist/tools/shared/dynamicPromptBranches.d.ts.map +1 -0
- package/dist/tools/shared/dynamicPromptBranches.js +193 -0
- package/dist/tools/shared/dynamicPromptBranches.js.map +1 -0
- package/dist/tools/shared/errorClassification.d.ts +15 -0
- package/dist/tools/shared/errorClassification.d.ts.map +1 -0
- package/dist/tools/shared/errorClassification.js +78 -0
- package/dist/tools/shared/errorClassification.js.map +1 -0
- package/dist/tools/shared/imageEncoding.d.ts +2 -0
- package/dist/tools/shared/imageEncoding.d.ts.map +1 -0
- package/dist/tools/shared/imageEncoding.js +11 -0
- package/dist/tools/shared/imageEncoding.js.map +1 -0
- package/dist/tools/shared/llmHelpers.d.ts +14 -0
- package/dist/tools/shared/llmHelpers.d.ts.map +1 -0
- package/dist/tools/shared/llmHelpers.js +145 -0
- package/dist/tools/shared/llmHelpers.js.map +1 -0
- package/dist/tools/shared/modelRegistry.d.ts +10 -0
- package/dist/tools/shared/modelRegistry.d.ts.map +1 -0
- package/dist/tools/shared/modelRegistry.js +98 -0
- package/dist/tools/shared/modelRegistry.js.map +1 -0
- package/dist/tools/shared/multiImageIntent.d.ts +2 -0
- package/dist/tools/shared/multiImageIntent.d.ts.map +1 -0
- package/dist/tools/shared/multiImageIntent.js +13 -0
- package/dist/tools/shared/multiImageIntent.js.map +1 -0
- package/dist/tools/shared/numberOfVariationsAlignment.d.ts +2 -0
- package/dist/tools/shared/numberOfVariationsAlignment.d.ts.map +1 -0
- package/dist/tools/shared/numberOfVariationsAlignment.js +37 -0
- package/dist/tools/shared/numberOfVariationsAlignment.js.map +1 -0
- package/dist/tools/shared/policyChecks.d.ts +25 -0
- package/dist/tools/shared/policyChecks.d.ts.map +1 -0
- package/dist/tools/shared/policyChecks.js +79 -0
- package/dist/tools/shared/policyChecks.js.map +1 -0
- package/dist/tools/shared/promptRefinementCache.d.ts +10 -0
- package/dist/tools/shared/promptRefinementCache.d.ts.map +1 -0
- package/dist/tools/shared/promptRefinementCache.js +81 -0
- package/dist/tools/shared/promptRefinementCache.js.map +1 -0
- package/dist/tools/shared/promptSanitizer.d.ts +2 -0
- package/dist/tools/shared/promptSanitizer.d.ts.map +1 -0
- package/dist/tools/shared/promptSanitizer.js +73 -0
- package/dist/tools/shared/promptSanitizer.js.map +1 -0
- package/dist/tools/shared/seedancePolicyErrors.d.ts +33 -0
- package/dist/tools/shared/seedancePolicyErrors.d.ts.map +1 -0
- package/dist/tools/shared/seedancePolicyErrors.js +239 -0
- package/dist/tools/shared/seedancePolicyErrors.js.map +1 -0
- package/dist/tools/shared/slotFailureSummary.d.ts +7 -0
- package/dist/tools/shared/slotFailureSummary.d.ts.map +1 -0
- package/dist/tools/shared/slotFailureSummary.js +63 -0
- package/dist/tools/shared/slotFailureSummary.js.map +1 -0
- package/dist/tools/shared/visionDescriptionCache.d.ts +5 -0
- package/dist/tools/shared/visionDescriptionCache.d.ts.map +1 -0
- package/dist/tools/shared/visionDescriptionCache.js +35 -0
- package/dist/tools/shared/visionDescriptionCache.js.map +1 -0
- package/dist/types/index.d.ts +221 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +34 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/errors.d.ts +38 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +99 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/helpers.d.ts +36 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +445 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/workflows/bindings.d.ts +23 -0
- package/dist/workflows/bindings.d.ts.map +1 -0
- package/dist/workflows/bindings.js +220 -0
- package/dist/workflows/bindings.js.map +1 -0
- package/dist/workflows/executor-ports.d.ts +11 -0
- package/dist/workflows/executor-ports.d.ts.map +1 -0
- package/dist/workflows/executor-ports.js +3 -0
- package/dist/workflows/executor-ports.js.map +1 -0
- package/dist/workflows/executor.d.ts +17 -0
- package/dist/workflows/executor.d.ts.map +1 -0
- package/dist/workflows/executor.js +526 -0
- package/dist/workflows/executor.js.map +1 -0
- package/dist/workflows/index.d.ts +11 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +48 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/primitives/index.d.ts +3 -0
- package/dist/workflows/primitives/index.d.ts.map +1 -0
- package/dist/workflows/primitives/index.js +19 -0
- package/dist/workflows/primitives/index.js.map +1 -0
- package/dist/workflows/primitives/retryUntilCondition.d.ts +39 -0
- package/dist/workflows/primitives/retryUntilCondition.d.ts.map +1 -0
- package/dist/workflows/primitives/retryUntilCondition.js +102 -0
- package/dist/workflows/primitives/retryUntilCondition.js.map +1 -0
- package/dist/workflows/primitives/validateWithRubric.d.ts +28 -0
- package/dist/workflows/primitives/validateWithRubric.d.ts.map +1 -0
- package/dist/workflows/primitives/validateWithRubric.js +148 -0
- package/dist/workflows/primitives/validateWithRubric.js.map +1 -0
- package/dist/workflows/summarize.d.ts +7 -0
- package/dist/workflows/summarize.d.ts.map +1 -0
- package/dist/workflows/summarize.js +54 -0
- package/dist/workflows/summarize.js.map +1 -0
- package/dist/workflows/types.d.ts +302 -0
- package/dist/workflows/types.d.ts.map +1 -0
- package/dist/workflows/types.js +3 -0
- package/dist/workflows/types.js.map +1 -0
- package/dist/workflows/validation.d.ts +10 -0
- package/dist/workflows/validation.d.ts.map +1 -0
- package/dist/workflows/validation.js +340 -0
- package/dist/workflows/validation.js.map +1 -0
- package/dist-esm/chatRun/costApproval.js +64 -0
- package/dist-esm/chatRun/costApproval.js.map +1 -0
- package/dist-esm/chatRun/index.js +327 -0
- package/dist-esm/chatRun/index.js.map +1 -0
- package/dist-esm/client/SogniClientWrapper.js +877 -0
- package/dist-esm/client/SogniClientWrapper.js.map +1 -0
- package/dist-esm/context/index.js +453 -0
- package/dist-esm/context/index.js.map +1 -0
- package/dist-esm/contracts/backboneDurableWorkflow.js +90 -0
- package/dist-esm/contracts/backboneDurableWorkflow.js.map +1 -0
- package/dist-esm/contracts/backboneToolCatalog.js +59 -0
- package/dist-esm/contracts/backboneToolCatalog.js.map +1 -0
- package/dist-esm/contracts/composeWorkflowTypes.js +2 -0
- package/dist-esm/contracts/composeWorkflowTypes.js.map +1 -0
- package/dist-esm/contracts/data/costEstimation.js +18 -0
- package/dist-esm/contracts/data/costEstimation.js.map +1 -0
- package/dist-esm/contracts/data/gatingPolicies.js +214 -0
- package/dist-esm/contracts/data/gatingPolicies.js.map +1 -0
- package/dist-esm/contracts/data/gatingPoliciesToolSurface.js +57 -0
- package/dist-esm/contracts/data/gatingPoliciesToolSurface.js.map +1 -0
- package/dist-esm/contracts/data/index.js +23 -0
- package/dist-esm/contracts/data/index.js.map +1 -0
- package/dist-esm/contracts/data/promptContracts.js +1282 -0
- package/dist-esm/contracts/data/promptContracts.js.map +1 -0
- package/dist-esm/contracts/data/repairRecipes.js +193 -0
- package/dist-esm/contracts/data/repairRecipes.js.map +1 -0
- package/dist-esm/contracts/data/toolCatalog.js +122 -0
- package/dist-esm/contracts/data/toolCatalog.js.map +1 -0
- package/dist-esm/contracts/data/toolCostMetadata.js +277 -0
- package/dist-esm/contracts/data/toolCostMetadata.js.map +1 -0
- package/dist-esm/contracts/data/toolPermissions.js +70 -0
- package/dist-esm/contracts/data/toolPermissions.js.map +1 -0
- package/dist-esm/contracts/evaluators.js +463 -0
- package/dist-esm/contracts/evaluators.js.map +1 -0
- package/dist-esm/contracts/hostedComposition.js +128 -0
- package/dist-esm/contracts/hostedComposition.js.map +1 -0
- package/dist-esm/contracts/hostedToolValidation.js +296 -0
- package/dist-esm/contracts/hostedToolValidation.js.map +1 -0
- package/dist-esm/contracts/idLoraPrompt.js +72 -0
- package/dist-esm/contracts/idLoraPrompt.js.map +1 -0
- package/dist-esm/contracts/imagePrompt.js +143 -0
- package/dist-esm/contracts/imagePrompt.js.map +1 -0
- package/dist-esm/contracts/index.js +27 -0
- package/dist-esm/contracts/index.js.map +1 -0
- package/dist-esm/contracts/musicComposition.js +182 -0
- package/dist-esm/contracts/musicComposition.js.map +1 -0
- package/dist-esm/contracts/promptContract.js +34 -0
- package/dist-esm/contracts/promptContract.js.map +1 -0
- package/dist-esm/contracts/promptOverrideMarker.js +2 -0
- package/dist-esm/contracts/promptOverrideMarker.js.map +1 -0
- package/dist-esm/contracts/randomThemes.js +154 -0
- package/dist-esm/contracts/randomThemes.js.map +1 -0
- package/dist-esm/contracts/registry.js +100 -0
- package/dist-esm/contracts/registry.js.map +1 -0
- package/dist-esm/contracts/repairRecipe.js +35 -0
- package/dist-esm/contracts/repairRecipe.js.map +1 -0
- package/dist-esm/contracts/storyboard.js +4 -0
- package/dist-esm/contracts/storyboard.js.map +1 -0
- package/dist-esm/contracts/telemetry.js +33 -0
- package/dist-esm/contracts/telemetry.js.map +1 -0
- package/dist-esm/contracts/toolGatingPolicy.js +60 -0
- package/dist-esm/contracts/toolGatingPolicy.js.map +1 -0
- package/dist-esm/contracts/toolPromptMarkers.js +10 -0
- package/dist-esm/contracts/toolPromptMarkers.js.map +1 -0
- package/dist-esm/contracts/toolSurface.js +110 -0
- package/dist-esm/contracts/toolSurface.js.map +1 -0
- package/dist-esm/contracts/turnPolicy.js +13 -0
- package/dist-esm/contracts/turnPolicy.js.map +1 -0
- package/dist-esm/contracts/videoComposition.js +216 -0
- package/dist-esm/contracts/videoComposition.js.map +1 -0
- package/dist-esm/index.js +10 -0
- package/dist-esm/index.js.map +1 -0
- package/dist-esm/media/aspectRatio.js +65 -0
- package/dist-esm/media/aspectRatio.js.map +1 -0
- package/dist-esm/media/audioReference.js +186 -0
- package/dist-esm/media/audioReference.js.map +1 -0
- package/dist-esm/media/cameraAngle.js +41 -0
- package/dist-esm/media/cameraAngle.js.map +1 -0
- package/dist-esm/media/characterSheet.js +48 -0
- package/dist-esm/media/characterSheet.js.map +1 -0
- package/dist-esm/media/danceMontage.js +29 -0
- package/dist-esm/media/danceMontage.js.map +1 -0
- package/dist-esm/media/enhancementProfiles.js +219 -0
- package/dist-esm/media/enhancementProfiles.js.map +1 -0
- package/dist-esm/media/generationJob.js +87 -0
- package/dist-esm/media/generationJob.js.map +1 -0
- package/dist-esm/media/gptImage.js +150 -0
- package/dist-esm/media/gptImage.js.map +1 -0
- package/dist-esm/media/imageDimensions.js +59 -0
- package/dist-esm/media/imageDimensions.js.map +1 -0
- package/dist-esm/media/index.js +16 -0
- package/dist-esm/media/index.js.map +1 -0
- package/dist-esm/media/musicSettings.js +230 -0
- package/dist-esm/media/musicSettings.js.map +1 -0
- package/dist-esm/media/vendorModelPremium.js +81 -0
- package/dist-esm/media/vendorModelPremium.js.map +1 -0
- package/dist-esm/media/videoAppSettings.js +125 -0
- package/dist-esm/media/videoAppSettings.js.map +1 -0
- package/dist-esm/media/videoContentLimit.js +162 -0
- package/dist-esm/media/videoContentLimit.js.map +1 -0
- package/dist-esm/media/videoReference.js +72 -0
- package/dist-esm/media/videoReference.js.map +1 -0
- package/dist-esm/media/videoSettings.js +191 -0
- package/dist-esm/media/videoSettings.js.map +1 -0
- package/dist-esm/openai-tools/_manifests.generated.js +1789 -0
- package/dist-esm/openai-tools/_manifests.generated.js.map +1 -0
- package/dist-esm/openai-tools/app-tools.json +297 -0
- package/dist-esm/openai-tools/composition-tools.json +228 -0
- package/dist-esm/openai-tools/generation-tools.json +1263 -0
- package/dist-esm/openai-tools/index.js +27 -0
- package/dist-esm/openai-tools/index.js.map +1 -0
- package/dist-esm/package.json +3 -0
- package/dist-esm/public-skill-runtime/index.js +6390 -0
- package/dist-esm/public-skill-runtime/index.js.map +1 -0
- package/dist-esm/replay/index.js +3 -0
- package/dist-esm/replay/index.js.map +1 -0
- package/dist-esm/replay/redact.js +102 -0
- package/dist-esm/replay/redact.js.map +1 -0
- package/dist-esm/replay/types.js +20 -0
- package/dist-esm/replay/types.js.map +1 -0
- package/dist-esm/runtime/chatTypes.js +2 -0
- package/dist-esm/runtime/chatTypes.js.map +1 -0
- package/dist-esm/runtime/durableWorkflowClient.js +295 -0
- package/dist-esm/runtime/durableWorkflowClient.js.map +1 -0
- package/dist-esm/runtime/index.js +2 -0
- package/dist-esm/runtime/index.js.map +1 -0
- package/dist-esm/schemas/errors/error.schema.json +21 -0
- package/dist-esm/schemas/errors/repair-control.schema.json +40 -0
- package/dist-esm/schemas/events/artifact-reference.schema.json +22 -0
- package/dist-esm/schemas/events/progress-event.schema.json +28 -0
- package/dist-esm/schemas/events/workflow-event.schema.json +22 -0
- package/dist-esm/schemas/storyboards/storyboard-planning-contract.schema.json +108 -0
- package/dist-esm/schemas/tools/add_subtitles.schema.json +77 -0
- package/dist-esm/schemas/tools/animate_photo.schema.json +104 -0
- package/dist-esm/schemas/tools/apply_style.schema.json +37 -0
- package/dist-esm/schemas/tools/change_angle.schema.json +30 -0
- package/dist-esm/schemas/tools/compose_instrumental.schema.json +24 -0
- package/dist-esm/schemas/tools/compose_lyrics.schema.json +28 -0
- package/dist-esm/schemas/tools/compose_script.schema.json +68 -0
- package/dist-esm/schemas/tools/compose_workflow.schema.json +67 -0
- package/dist-esm/schemas/tools/compose_workflow_template.schema.json +156 -0
- package/dist-esm/schemas/tools/dance_montage.schema.json +47 -0
- package/dist-esm/schemas/tools/edit_image.schema.json +74 -0
- package/dist-esm/schemas/tools/enhance_prompt.schema.json +76 -0
- package/dist-esm/schemas/tools/extend_video.schema.json +42 -0
- package/dist-esm/schemas/tools/generate_image.schema.json +104 -0
- package/dist-esm/schemas/tools/generate_music.schema.json +62 -0
- package/dist-esm/schemas/tools/generate_video.schema.json +97 -0
- package/dist-esm/schemas/tools/orbit_video.schema.json +70 -0
- package/dist-esm/schemas/tools/overlay_video.schema.json +126 -0
- package/dist-esm/schemas/tools/refine_result.schema.json +43 -0
- package/dist-esm/schemas/tools/replace_video_segment.schema.json +60 -0
- package/dist-esm/schemas/tools/restore_photo.schema.json +47 -0
- package/dist-esm/schemas/tools/sound_to_video.schema.json +70 -0
- package/dist-esm/schemas/tools/stitch_video.schema.json +52 -0
- package/dist-esm/schemas/tools/video_to_video.schema.json +77 -0
- package/dist-esm/schemas/workflows/durable-workflow-run.schema.json +165 -0
- package/dist-esm/schemas/workflows/durable-workflow-step.schema.json +141 -0
- package/dist-esm/skill-runtime-source/crossSurfaceParity.js +469 -0
- package/dist-esm/skill-runtime-source/crossSurfaceParity.js.map +1 -0
- package/dist-esm/skill-runtime-source/index.js +4 -0
- package/dist-esm/skill-runtime-source/index.js.map +1 -0
- package/dist-esm/skill-runtime-source/seedanceAudioWindow.js +47 -0
- package/dist-esm/skill-runtime-source/seedanceAudioWindow.js.map +1 -0
- package/dist-esm/skill-runtime-source/workflowStatus.js +348 -0
- package/dist-esm/skill-runtime-source/workflowStatus.js.map +1 -0
- package/dist-esm/skills/asset_reference_management/index.js +3 -0
- package/dist-esm/skills/asset_reference_management/index.js.map +1 -0
- package/dist-esm/skills/asset_reference_management/manifest.js +228 -0
- package/dist-esm/skills/asset_reference_management/manifest.js.map +1 -0
- package/dist-esm/skills/asset_reference_management/modelRefRegistry.js +129 -0
- package/dist-esm/skills/asset_reference_management/modelRefRegistry.js.map +1 -0
- package/dist-esm/skills/asset_reference_management/types.js +2 -0
- package/dist-esm/skills/asset_reference_management/types.js.map +1 -0
- package/dist-esm/tools/definitions/add-subtitles/definition.js +80 -0
- package/dist-esm/tools/definitions/add-subtitles/definition.js.map +1 -0
- package/dist-esm/tools/definitions/animate-photo/definition.js +121 -0
- package/dist-esm/tools/definitions/animate-photo/definition.js.map +1 -0
- package/dist-esm/tools/definitions/apply-style/definition.js +47 -0
- package/dist-esm/tools/definitions/apply-style/definition.js.map +1 -0
- package/dist-esm/tools/definitions/change-angle/definition.js +46 -0
- package/dist-esm/tools/definitions/change-angle/definition.js.map +1 -0
- package/dist-esm/tools/definitions/dance-montage/dances.js +86 -0
- package/dist-esm/tools/definitions/dance-montage/dances.js.map +1 -0
- package/dist-esm/tools/definitions/dance-montage/definition.js +42 -0
- package/dist-esm/tools/definitions/dance-montage/definition.js.map +1 -0
- package/dist-esm/tools/definitions/edit-image/definition.js +125 -0
- package/dist-esm/tools/definitions/edit-image/definition.js.map +1 -0
- package/dist-esm/tools/definitions/extend-video/definition.js +48 -0
- package/dist-esm/tools/definitions/extend-video/definition.js.map +1 -0
- package/dist-esm/tools/definitions/generate-image/definition.js +104 -0
- package/dist-esm/tools/definitions/generate-image/definition.js.map +1 -0
- package/dist-esm/tools/definitions/generate-music/definition.js +72 -0
- package/dist-esm/tools/definitions/generate-music/definition.js.map +1 -0
- package/dist-esm/tools/definitions/generate-video/definition.js +117 -0
- package/dist-esm/tools/definitions/generate-video/definition.js.map +1 -0
- package/dist-esm/tools/definitions/index.js +41 -0
- package/dist-esm/tools/definitions/index.js.map +1 -0
- package/dist-esm/tools/definitions/orbit-video/definition.js +100 -0
- package/dist-esm/tools/definitions/orbit-video/definition.js.map +1 -0
- package/dist-esm/tools/definitions/overlay-video/definition.js +139 -0
- package/dist-esm/tools/definitions/overlay-video/definition.js.map +1 -0
- package/dist-esm/tools/definitions/refine-result/definition.js +53 -0
- package/dist-esm/tools/definitions/refine-result/definition.js.map +1 -0
- package/dist-esm/tools/definitions/replace-video-segment/definition.js +62 -0
- package/dist-esm/tools/definitions/replace-video-segment/definition.js.map +1 -0
- package/dist-esm/tools/definitions/restore-photo/definition.js +55 -0
- package/dist-esm/tools/definitions/restore-photo/definition.js.map +1 -0
- package/dist-esm/tools/definitions/sound-to-video/definition.js +88 -0
- package/dist-esm/tools/definitions/sound-to-video/definition.js.map +1 -0
- package/dist-esm/tools/definitions/stitch-video/definition.js +86 -0
- package/dist-esm/tools/definitions/stitch-video/definition.js.map +1 -0
- package/dist-esm/tools/definitions/types.js +2 -0
- package/dist-esm/tools/definitions/types.js.map +1 -0
- package/dist-esm/tools/definitions/video-to-video/definition.js +98 -0
- package/dist-esm/tools/definitions/video-to-video/definition.js.map +1 -0
- package/dist-esm/tools/index.js +18 -0
- package/dist-esm/tools/index.js.map +1 -0
- package/dist-esm/tools/normalizeArgs.js +37 -0
- package/dist-esm/tools/normalizeArgs.js.map +1 -0
- package/dist-esm/tools/result.js +31 -0
- package/dist-esm/tools/result.js.map +1 -0
- package/dist-esm/tools/shared/downloadFilename.js +147 -0
- package/dist-esm/tools/shared/downloadFilename.js.map +1 -0
- package/dist-esm/tools/shared/dynamicPromptBranches.js +183 -0
- package/dist-esm/tools/shared/dynamicPromptBranches.js.map +1 -0
- package/dist-esm/tools/shared/errorClassification.js +74 -0
- package/dist-esm/tools/shared/errorClassification.js.map +1 -0
- package/dist-esm/tools/shared/imageEncoding.js +8 -0
- package/dist-esm/tools/shared/imageEncoding.js.map +1 -0
- package/dist-esm/tools/shared/llmHelpers.js +137 -0
- package/dist-esm/tools/shared/llmHelpers.js.map +1 -0
- package/dist-esm/tools/shared/modelRegistry.js +91 -0
- package/dist-esm/tools/shared/modelRegistry.js.map +1 -0
- package/dist-esm/tools/shared/multiImageIntent.js +10 -0
- package/dist-esm/tools/shared/multiImageIntent.js.map +1 -0
- package/dist-esm/tools/shared/numberOfVariationsAlignment.js +34 -0
- package/dist-esm/tools/shared/numberOfVariationsAlignment.js.map +1 -0
- package/dist-esm/tools/shared/policyChecks.js +73 -0
- package/dist-esm/tools/shared/policyChecks.js.map +1 -0
- package/dist-esm/tools/shared/promptRefinementCache.js +70 -0
- package/dist-esm/tools/shared/promptRefinementCache.js.map +1 -0
- package/dist-esm/tools/shared/promptSanitizer.js +70 -0
- package/dist-esm/tools/shared/promptSanitizer.js.map +1 -0
- package/dist-esm/tools/shared/seedancePolicyErrors.js +232 -0
- package/dist-esm/tools/shared/seedancePolicyErrors.js.map +1 -0
- package/dist-esm/tools/shared/slotFailureSummary.js +60 -0
- package/dist-esm/tools/shared/slotFailureSummary.js.map +1 -0
- package/dist-esm/tools/shared/visionDescriptionCache.js +29 -0
- package/dist-esm/tools/shared/visionDescriptionCache.js.map +1 -0
- package/dist-esm/types/index.js +31 -0
- package/dist-esm/types/index.js.map +1 -0
- package/dist-esm/utils/errors.js +86 -0
- package/dist-esm/utils/errors.js.map +1 -0
- package/dist-esm/utils/helpers.js +419 -0
- package/dist-esm/utils/helpers.js.map +1 -0
- package/dist-esm/workflows/bindings.js +212 -0
- package/dist-esm/workflows/bindings.js.map +1 -0
- package/dist-esm/workflows/executor-ports.js +2 -0
- package/dist-esm/workflows/executor-ports.js.map +1 -0
- package/dist-esm/workflows/executor.js +522 -0
- package/dist-esm/workflows/executor.js.map +1 -0
- package/dist-esm/workflows/index.js +8 -0
- package/dist-esm/workflows/index.js.map +1 -0
- package/dist-esm/workflows/primitives/index.js +3 -0
- package/dist-esm/workflows/primitives/index.js.map +1 -0
- package/dist-esm/workflows/primitives/retryUntilCondition.js +95 -0
- package/dist-esm/workflows/primitives/retryUntilCondition.js.map +1 -0
- package/dist-esm/workflows/primitives/validateWithRubric.js +141 -0
- package/dist-esm/workflows/primitives/validateWithRubric.js.map +1 -0
- package/dist-esm/workflows/summarize.js +51 -0
- package/dist-esm/workflows/summarize.js.map +1 -0
- package/dist-esm/workflows/types.js +2 -0
- package/dist-esm/workflows/types.js.map +1 -0
- package/dist-esm/workflows/validation.js +330 -0
- package/dist-esm/workflows/validation.js.map +1 -0
- package/media/index.d.ts +1 -0
- package/media/index.js +2 -0
- package/package.json +213 -0
- package/public-skill-runtime/index.d.ts +1 -0
- package/public-skill-runtime/index.js +2 -0
- package/replay/index.d.ts +1 -0
- package/replay/index.js +2 -0
- package/runtime/index.d.ts +1 -0
- package/runtime/index.js +2 -0
- package/skills/asset_reference_management/index.d.ts +1 -0
- package/skills/asset_reference_management/index.js +2 -0
- package/src/skill-runtime-source/crossSurfaceParity.ts +525 -0
- package/src/skill-runtime-source/index.ts +10 -0
- package/src/skill-runtime-source/seedanceAudioWindow.ts +61 -0
- package/src/skill-runtime-source/workflowStatus.ts +375 -0
- package/tools/index.d.ts +1 -0
- package/tools/index.js +2 -0
- package/workflows/index.d.ts +1 -0
- package/workflows/index.js +2 -0
|
@@ -0,0 +1,525 @@
|
|
|
1
|
+
export type CrossSurfaceParitySurface =
|
|
2
|
+
| 'chat'
|
|
3
|
+
| 'api_chat_completions'
|
|
4
|
+
| 'api_creative_agent_workflows'
|
|
5
|
+
| 'public_skill';
|
|
6
|
+
|
|
7
|
+
export type CrossSurfaceParityFocus =
|
|
8
|
+
| 'subtitles'
|
|
9
|
+
| 'overlay'
|
|
10
|
+
| 'uploaded_video_edits'
|
|
11
|
+
| 'asset_manifest_sequence'
|
|
12
|
+
| 'cancellation'
|
|
13
|
+
| 'duplicate_start'
|
|
14
|
+
| 'skill_media_refs'
|
|
15
|
+
| 'generated_video_rerender'
|
|
16
|
+
| 'seedance_storyboard_rerender'
|
|
17
|
+
| 'image_selection_wait'
|
|
18
|
+
| 'stitch_after_batch'
|
|
19
|
+
| 'durable_chat_run_completion_after_close'
|
|
20
|
+
| 'durable_chat_run_resume_after_worker_restart'
|
|
21
|
+
| 'durable_chat_run_waiting_for_user'
|
|
22
|
+
| 'sdk_flat_namespace_rest_parity'
|
|
23
|
+
| 'api_socket_session_reuse'
|
|
24
|
+
| 'public_skill_sdk_transport';
|
|
25
|
+
|
|
26
|
+
export interface CrossSurfaceParityExpectation {
|
|
27
|
+
surface: CrossSurfaceParitySurface;
|
|
28
|
+
entrypoint: string;
|
|
29
|
+
expectedTools?: string[];
|
|
30
|
+
expectedRequest?: Record<string, unknown>;
|
|
31
|
+
expectedBehavior?: string[];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface CrossSurfaceParityFixture {
|
|
35
|
+
id: string;
|
|
36
|
+
focus: CrossSurfaceParityFocus;
|
|
37
|
+
description: string;
|
|
38
|
+
userText: string;
|
|
39
|
+
mediaReferences?: Array<{
|
|
40
|
+
kind: 'image' | 'video' | 'audio';
|
|
41
|
+
filename: string;
|
|
42
|
+
}>;
|
|
43
|
+
expectations: CrossSurfaceParityExpectation[];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export const CROSS_SURFACE_PARITY_SURFACES: CrossSurfaceParitySurface[] = [
|
|
47
|
+
'chat',
|
|
48
|
+
'api_chat_completions',
|
|
49
|
+
'api_creative_agent_workflows',
|
|
50
|
+
'public_skill',
|
|
51
|
+
];
|
|
52
|
+
|
|
53
|
+
export const CROSS_SURFACE_PARITY_FIXTURES: CrossSurfaceParityFixture[] = [
|
|
54
|
+
{
|
|
55
|
+
id: 'uploaded-video-subtitles',
|
|
56
|
+
focus: 'subtitles',
|
|
57
|
+
description: 'Quoted subtitle lines burn into the uploaded video instead of regenerating it.',
|
|
58
|
+
userText: 'Add subtitles to this uploaded clip: "Fresh coffee." "Ready when you are."',
|
|
59
|
+
mediaReferences: [{ kind: 'video', filename: 'cafe.mp4' }],
|
|
60
|
+
expectations: [
|
|
61
|
+
{
|
|
62
|
+
surface: 'chat',
|
|
63
|
+
entrypoint: 'workflow fixture subtitles-on-uploaded-video',
|
|
64
|
+
expectedTools: ['add_subtitles'],
|
|
65
|
+
expectedBehavior: ['sourceVideoIndex uses the uploaded video'],
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
surface: 'api_chat_completions',
|
|
69
|
+
entrypoint: '/v1/chat/completions',
|
|
70
|
+
expectedTools: ['add_subtitles'],
|
|
71
|
+
expectedRequest: { sogni_tools: 'creative-agent', media_references: true },
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
surface: 'api_creative_agent_workflows',
|
|
75
|
+
entrypoint: '/v1/creative-agent/workflows',
|
|
76
|
+
expectedTools: ['add_subtitles'],
|
|
77
|
+
expectedRequest: { input: { steps: true } },
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
surface: 'public_skill',
|
|
81
|
+
entrypoint: '--api-chat and --api-workflow',
|
|
82
|
+
expectedTools: ['add_subtitles'],
|
|
83
|
+
expectedBehavior: ['forwards video refs as media_references without prompt base64 leakage'],
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: 'uploaded-video-logo-overlay',
|
|
89
|
+
focus: 'overlay',
|
|
90
|
+
description: 'A static logo/image overlay targets the uploaded base video.',
|
|
91
|
+
userText: 'Put this logo in the top left of the uploaded video as a small watermark.',
|
|
92
|
+
mediaReferences: [
|
|
93
|
+
{ kind: 'video', filename: 'source.mp4' },
|
|
94
|
+
{ kind: 'image', filename: 'logo.png' },
|
|
95
|
+
],
|
|
96
|
+
expectations: [
|
|
97
|
+
{ surface: 'chat', entrypoint: 'workflow fixture uploaded-video-logo-static-overlay', expectedTools: ['overlay_video'] },
|
|
98
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions', expectedTools: ['overlay_video'] },
|
|
99
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows', expectedTools: ['overlay_video'] },
|
|
100
|
+
{ surface: 'public_skill', entrypoint: '--api-workflow hosted-tool-sequence', expectedTools: ['overlay_video'] },
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: 'uploaded-video-segment-replace',
|
|
105
|
+
focus: 'uploaded_video_edits',
|
|
106
|
+
description: 'A bounded uploaded-video window routes to replace_video_segment.',
|
|
107
|
+
userText: 'Regenerate the 2s-4s window of this uploaded video and keep the original audio.',
|
|
108
|
+
mediaReferences: [{ kind: 'video', filename: 'source.mp4' }],
|
|
109
|
+
expectations: [
|
|
110
|
+
{ surface: 'chat', entrypoint: 'workflow fixture replace-video-segment-uploaded', expectedTools: ['replace_video_segment'] },
|
|
111
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions', expectedTools: ['replace_video_segment'] },
|
|
112
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows', expectedTools: ['replace_video_segment'] },
|
|
113
|
+
{ surface: 'public_skill', entrypoint: '--api-workflow hosted-tool-sequence', expectedTools: ['replace_video_segment'] },
|
|
114
|
+
],
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
id: 'uploaded-video-extend',
|
|
118
|
+
focus: 'uploaded_video_edits',
|
|
119
|
+
description: 'Uploaded-video extension targets the uploaded base clip instead of regenerating from scratch.',
|
|
120
|
+
userText: 'Extend this uploaded video by 5 seconds.',
|
|
121
|
+
mediaReferences: [{ kind: 'video', filename: 'source.mp4' }],
|
|
122
|
+
expectations: [
|
|
123
|
+
{ surface: 'chat', entrypoint: 'workflow fixture extend-video-uploaded-five-seconds', expectedTools: ['extend_video'] },
|
|
124
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions', expectedTools: ['extend_video'] },
|
|
125
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows', expectedTools: ['extend_video'] },
|
|
126
|
+
{ surface: 'public_skill', entrypoint: '--api-workflow hosted-tool-sequence', expectedTools: ['extend_video'] },
|
|
127
|
+
],
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
id: 'uploaded-video-transform',
|
|
131
|
+
focus: 'uploaded_video_edits',
|
|
132
|
+
description: 'Uploaded-video restyling routes to video_to_video and does not generate new source media first.',
|
|
133
|
+
userText: 'Transform this uploaded video into watercolor anime style while preserving the motion.',
|
|
134
|
+
mediaReferences: [{ kind: 'video', filename: 'street.mp4' }],
|
|
135
|
+
expectations: [
|
|
136
|
+
{ surface: 'chat', entrypoint: 'workflow fixture uploaded-video-restyle', expectedTools: ['video_to_video'] },
|
|
137
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions', expectedTools: ['video_to_video'] },
|
|
138
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows', expectedTools: ['video_to_video'] },
|
|
139
|
+
{ surface: 'public_skill', entrypoint: '--api-workflow hosted-tool-sequence', expectedTools: ['video_to_video'] },
|
|
140
|
+
],
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
id: 'uploaded-video-stitch',
|
|
144
|
+
focus: 'uploaded_video_edits',
|
|
145
|
+
description: 'Simple uploaded-video stitch requests preserve upload/UI order and default to hard cuts.',
|
|
146
|
+
userText: 'Combine these 2 clips.',
|
|
147
|
+
mediaReferences: [
|
|
148
|
+
{ kind: 'video', filename: 'first.mp4' },
|
|
149
|
+
{ kind: 'video', filename: 'second.mp4' },
|
|
150
|
+
],
|
|
151
|
+
expectations: [
|
|
152
|
+
{ surface: 'chat', entrypoint: 'workflow fixture uploaded-videos-simple-stitch-hard-cut', expectedTools: ['stitch_video'] },
|
|
153
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions', expectedTools: ['stitch_video'] },
|
|
154
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows', expectedTools: ['stitch_video'] },
|
|
155
|
+
{ surface: 'public_skill', entrypoint: '--api-workflow hosted-tool-sequence', expectedTools: ['stitch_video'] },
|
|
156
|
+
],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
id: 'uploaded-video-alternating-splice',
|
|
160
|
+
focus: 'uploaded_video_edits',
|
|
161
|
+
description: 'Alternating uploaded-video splices compile into repeated replace_video_segment existing-clip calls.',
|
|
162
|
+
userText: 'Create a video where you alternate 1s from each of these videos one after another.',
|
|
163
|
+
mediaReferences: [
|
|
164
|
+
{ kind: 'video', filename: 'first.mp4' },
|
|
165
|
+
{ kind: 'video', filename: 'second.mp4' },
|
|
166
|
+
],
|
|
167
|
+
expectations: [
|
|
168
|
+
{ surface: 'chat', entrypoint: 'workflow fixture uploaded-videos-alternating-one-second-splices', expectedTools: ['replace_video_segment'] },
|
|
169
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions', expectedTools: ['replace_video_segment'] },
|
|
170
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows', expectedTools: ['replace_video_segment'] },
|
|
171
|
+
{ surface: 'public_skill', entrypoint: '--api-workflow hosted-tool-sequence', expectedTools: ['replace_video_segment'] },
|
|
172
|
+
],
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
id: 'asset-manifest-model-map-sequence',
|
|
176
|
+
focus: 'asset_manifest_sequence',
|
|
177
|
+
description: 'Generated assets are labeled, mapped for the target model, and validated through the shared manifest tools.',
|
|
178
|
+
userText: 'Create a product hero, label it as hero product, map it for Seedance, then validate the reference.',
|
|
179
|
+
expectations: [
|
|
180
|
+
{
|
|
181
|
+
surface: 'chat',
|
|
182
|
+
entrypoint: 'asset manifest workflow',
|
|
183
|
+
expectedTools: ['create_asset_manifest', 'label_asset', 'map_assets_for_model', 'validate_asset_references'],
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
surface: 'api_chat_completions',
|
|
187
|
+
entrypoint: '/v1/chat/completions',
|
|
188
|
+
expectedTools: ['create_asset_manifest', 'label_asset', 'map_assets_for_model', 'validate_asset_references'],
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
surface: 'api_creative_agent_workflows',
|
|
192
|
+
entrypoint: '/v1/creative-agent/workflows',
|
|
193
|
+
expectedTools: ['create_asset_manifest', 'label_asset', 'map_assets_for_model', 'validate_asset_references'],
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
surface: 'public_skill',
|
|
197
|
+
entrypoint: 'generated creative-agent runtime',
|
|
198
|
+
expectedTools: ['create_asset_manifest', 'label_asset', 'map_assets_for_model', 'validate_asset_references'],
|
|
199
|
+
},
|
|
200
|
+
],
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
id: 'durable-workflow-cancel',
|
|
204
|
+
focus: 'cancellation',
|
|
205
|
+
description: 'Cancellation is exposed as the same durable workflow state transition across clients.',
|
|
206
|
+
userText: 'Cancel workflow wf_test.',
|
|
207
|
+
expectations: [
|
|
208
|
+
{ surface: 'chat', entrypoint: 'workflow status controls', expectedBehavior: ['cancelled workflow is terminal'] },
|
|
209
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions tool execution', expectedBehavior: ['USER_CANCELLED maps to cancelled'] },
|
|
210
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows/:id/cancel', expectedBehavior: ['idempotent cancel response'] },
|
|
211
|
+
{ surface: 'public_skill', entrypoint: '--cancel-workflow', expectedBehavior: ['posts to durable cancel endpoint'] },
|
|
212
|
+
],
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
id: 'durable-workflow-duplicate-start',
|
|
216
|
+
focus: 'duplicate_start',
|
|
217
|
+
description: 'Repeated workflow starts with an idempotency key return the existing run instead of launching a duplicate.',
|
|
218
|
+
userText: 'Start the same durable workflow twice with idempotency key idem_123.',
|
|
219
|
+
expectations: [
|
|
220
|
+
{ surface: 'chat', entrypoint: 'hosted tool workflow tracking', expectedBehavior: ['workflowId remains stable for duplicate start'] },
|
|
221
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions', expectedBehavior: ['hosted tool workflow tracking keeps one parent run'] },
|
|
222
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows', expectedRequest: { headers: { 'Idempotency-Key': 'idem_123' } } },
|
|
223
|
+
{ surface: 'public_skill', entrypoint: '--api-workflow', expectedBehavior: ['forwards workflow idempotency metadata when provided'] },
|
|
224
|
+
],
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
id: 'generated-video-rerender-latest',
|
|
228
|
+
focus: 'generated_video_rerender',
|
|
229
|
+
description: 'Latest generated-video rerenders reuse the prior video arguments rather than starting a new unrelated render.',
|
|
230
|
+
userText: 'Rerender the latest video with the same prompt, but make it vertical.',
|
|
231
|
+
expectations: [
|
|
232
|
+
{ surface: 'chat', entrypoint: 'workflow fixture seedance-uploaded-video-rerender-same-prompt', expectedTools: ['generate_video'] },
|
|
233
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions', expectedTools: ['generate_video'] },
|
|
234
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows', expectedTools: ['generate_video'] },
|
|
235
|
+
{ surface: 'public_skill', entrypoint: '--api-chat', expectedTools: ['generate_video'] },
|
|
236
|
+
],
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
id: 'seedance-storyboard-rerender',
|
|
240
|
+
focus: 'seedance_storyboard_rerender',
|
|
241
|
+
description: 'Seedance storyboard rerenders keep the storyboard reference and compile into one generate_video rerender.',
|
|
242
|
+
userText: 'Try that Seedance storyboard video again with the same script, but make the camera movement smoother.',
|
|
243
|
+
mediaReferences: [{ kind: 'image', filename: 'storyboard.png' }],
|
|
244
|
+
expectations: [
|
|
245
|
+
{ surface: 'chat', entrypoint: 'workflow fixture seedance-storyboard-rerender-same-script', expectedTools: ['generate_video'] },
|
|
246
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions', expectedTools: ['generate_video'] },
|
|
247
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows', expectedTools: ['generate_video'] },
|
|
248
|
+
{ surface: 'public_skill', entrypoint: '--api-workflow storyboard-video', expectedTools: ['generate_video'] },
|
|
249
|
+
],
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
id: 'image-selection-wait-before-video',
|
|
253
|
+
focus: 'image_selection_wait',
|
|
254
|
+
description: 'Image-option batches requested for later video pause after image generation until the user selects one.',
|
|
255
|
+
userText: "Generate 4 image takes and I'll pick the best one before you make the dance video.",
|
|
256
|
+
expectations: [
|
|
257
|
+
{ surface: 'chat', entrypoint: 'workflow fixture snow-white-pick-before-dance', expectedTools: ['generate_image'], expectedBehavior: ['waits for user image selection before video tools'] },
|
|
258
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions', expectedTools: ['generate_image'], expectedBehavior: ['imageSelectionPolicy=wait_for_user_selection'] },
|
|
259
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows', expectedTools: ['generate_image'], expectedBehavior: ['stores pending selection state before video continuation'] },
|
|
260
|
+
{ surface: 'public_skill', entrypoint: '--api-chat', expectedTools: ['generate_image'], expectedBehavior: ['uses public skill default contract runtime selection policy'] },
|
|
261
|
+
],
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
id: 'stitch-after-generated-batch',
|
|
265
|
+
focus: 'stitch_after_batch',
|
|
266
|
+
description: 'Generated clip batches that must become one video require stitch_video before finalization.',
|
|
267
|
+
userText: 'Animate these generated keyframes as separate clips, then stitch the clips into one video.',
|
|
268
|
+
expectations: [
|
|
269
|
+
{ surface: 'chat', entrypoint: 'workflow fixture uploaded-reference-skit-loop-stitch', expectedTools: ['animate_photo', 'stitch_video'] },
|
|
270
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions', expectedTools: ['animate_photo', 'stitch_video'] },
|
|
271
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows', expectedTools: ['animate_photo', 'stitch_video'] },
|
|
272
|
+
{ surface: 'public_skill', entrypoint: '--api-workflow hosted-tool-sequence', expectedTools: ['animate_photo', 'stitch_video'] },
|
|
273
|
+
],
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
id: 'skill-audio-video-media-refs',
|
|
277
|
+
focus: 'skill_media_refs',
|
|
278
|
+
description: 'Public skill uploads local audio and video refs as stored media references instead of embedding base64 in prompts.',
|
|
279
|
+
userText: 'Make a music video from this audio and source video.',
|
|
280
|
+
mediaReferences: [
|
|
281
|
+
{ kind: 'audio', filename: 'music.mp3' },
|
|
282
|
+
{ kind: 'video', filename: 'source.mp4' },
|
|
283
|
+
],
|
|
284
|
+
expectations: [
|
|
285
|
+
{ surface: 'chat', entrypoint: 'uploaded file context', expectedBehavior: ['audio and video are distinct uploaded media refs'] },
|
|
286
|
+
{ surface: 'api_chat_completions', entrypoint: '/v1/chat/completions', expectedRequest: { media_references: true } },
|
|
287
|
+
{ surface: 'api_creative_agent_workflows', entrypoint: '/v1/creative-agent/workflows', expectedRequest: { media_references: true } },
|
|
288
|
+
{ surface: 'public_skill', entrypoint: '--api-chat and --api-workflow', expectedBehavior: ['local files are uploaded to Sogni media URLs before durable execution'] },
|
|
289
|
+
],
|
|
290
|
+
},
|
|
291
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
292
|
+
// Phase 5 — Durable hosted chat runs (Slice F). Fixtures #24-27.
|
|
293
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
294
|
+
{
|
|
295
|
+
id: 'durable-chat-run-completes-after-browser-close',
|
|
296
|
+
focus: 'durable_chat_run_completion_after_close',
|
|
297
|
+
description:
|
|
298
|
+
'A durable chat run that spans multiple tool rounds finishes server-side after the client disconnects; rehydration via getRun returns the final assistant response and artifacts without re-running the LLM.',
|
|
299
|
+
userText:
|
|
300
|
+
'Make me a 12-second storyboard video with three scenes — go ahead and execute the full plan without waiting for me.',
|
|
301
|
+
expectations: [
|
|
302
|
+
{
|
|
303
|
+
surface: 'chat',
|
|
304
|
+
entrypoint: 'sogni.chat.runs.create',
|
|
305
|
+
expectedBehavior: [
|
|
306
|
+
'session.pendingDurableRunId is set immediately on submit',
|
|
307
|
+
'after browser close + reopen, resumeDurableChatRun fetches the terminal record and surfaces finalResponse without re-running the LLM',
|
|
308
|
+
],
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
surface: 'api_chat_completions',
|
|
312
|
+
entrypoint: 'POST /v1/chat/runs',
|
|
313
|
+
expectedRequest: { messages: true },
|
|
314
|
+
expectedBehavior: [
|
|
315
|
+
'returns 202 with run record on first submit',
|
|
316
|
+
'GET /v1/chat/runs/:id returns finalResponse + artifacts once status=completed',
|
|
317
|
+
],
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
surface: 'api_creative_agent_workflows',
|
|
321
|
+
entrypoint: 'subrun creative_workflows[]',
|
|
322
|
+
expectedBehavior: [
|
|
323
|
+
'child workflow ids are captured on chat-run.childWorkflowIds for paid-artifact preservation',
|
|
324
|
+
],
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
surface: 'public_skill',
|
|
328
|
+
entrypoint: 'sogni.chat.runs.create via SDK transport',
|
|
329
|
+
expectedBehavior: [
|
|
330
|
+
'skill can recover a durable run id from local state and rehydrate via SDK getRun',
|
|
331
|
+
],
|
|
332
|
+
},
|
|
333
|
+
],
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
id: 'durable-chat-run-resumes-after-api-worker-restart',
|
|
337
|
+
focus: 'durable_chat_run_resume_after_worker_restart',
|
|
338
|
+
description:
|
|
339
|
+
'A durable chat run whose executor lease expired (API worker crashed mid-tool-round) is picked up by the recovery scanner and resumes from the last persisted checkpoint — no duplicate paid work.',
|
|
340
|
+
userText: 'Generate four versions and stitch the best into a final clip.',
|
|
341
|
+
expectations: [
|
|
342
|
+
{
|
|
343
|
+
surface: 'chat',
|
|
344
|
+
entrypoint: 'resumeDurableChatRun on reload',
|
|
345
|
+
expectedBehavior: [
|
|
346
|
+
'SSE replay uses Last-Event-ID derived from pendingDurableRunLastSequence',
|
|
347
|
+
'recovery scanner appends a run_resumed event observable in SSE',
|
|
348
|
+
],
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
surface: 'api_chat_completions',
|
|
352
|
+
entrypoint: 'POST /v1/chat/runs + ChatRunRecoveryService.scanOnce',
|
|
353
|
+
expectedBehavior: [
|
|
354
|
+
'recovery worker acquires the lease, increments recovery.resumeCount, and continues from completed-step checkpoints',
|
|
355
|
+
'persisted toolResults are not re-executed',
|
|
356
|
+
],
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
surface: 'api_creative_agent_workflows',
|
|
360
|
+
entrypoint: '/v1/creative-agent/workflows recovery worker',
|
|
361
|
+
expectedBehavior: [
|
|
362
|
+
'parallel pattern: workflow recovery and chat-run recovery both expose metrics on /v1/internal/recovery-metrics',
|
|
363
|
+
],
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
surface: 'public_skill',
|
|
367
|
+
entrypoint: 'sogni.chat.runs.streamEvents w/ lastEventId',
|
|
368
|
+
expectedBehavior: ['skill can resume the SSE stream after disconnect using Last-Event-ID'],
|
|
369
|
+
},
|
|
370
|
+
],
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
id: 'durable-chat-run-waiting-for-user',
|
|
374
|
+
focus: 'durable_chat_run_waiting_for_user',
|
|
375
|
+
description:
|
|
376
|
+
'A durable chat run that emits ask_clarifying_question (or hits a cost approval gate) transitions to waiting_for_user and stops; forced tool execution must NOT resume until the user replies.',
|
|
377
|
+
userText:
|
|
378
|
+
'Make me something cool — and ask me what vibe to go for before you start.',
|
|
379
|
+
expectations: [
|
|
380
|
+
{
|
|
381
|
+
surface: 'chat',
|
|
382
|
+
entrypoint: 'durableChatRuns onWaitingForUser callback',
|
|
383
|
+
expectedBehavior: [
|
|
384
|
+
'onWaitingForUser fires and the assistant question renders verbatim',
|
|
385
|
+
'pendingDurableRunId remains set so the next user reply can reopen the same run',
|
|
386
|
+
],
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
surface: 'api_chat_completions',
|
|
390
|
+
entrypoint: 'ChatRunExecutorService.runRound (adapter returns waiting)',
|
|
391
|
+
expectedBehavior: [
|
|
392
|
+
'status=waiting_for_user, waiting.reason=ask_clarifying_question is persisted',
|
|
393
|
+
'no further LLM rounds are executed until a new turn submission references the run',
|
|
394
|
+
],
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
surface: 'api_creative_agent_workflows',
|
|
398
|
+
entrypoint: '/v1/creative-agent/workflows analogue (waiting_for_user)',
|
|
399
|
+
expectedBehavior: [
|
|
400
|
+
'chat-run waiting state behaves like workflow waiting_for_user — no auto-resume by the recovery scanner',
|
|
401
|
+
],
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
surface: 'public_skill',
|
|
405
|
+
entrypoint: 'sogni.chat.runs.get',
|
|
406
|
+
expectedBehavior: [
|
|
407
|
+
'skill can read waiting.reason + waiting.message and surface them in the CLI',
|
|
408
|
+
],
|
|
409
|
+
},
|
|
410
|
+
],
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
id: 'sdk-flat-namespace-rest-parity',
|
|
414
|
+
focus: 'sdk_flat_namespace_rest_parity',
|
|
415
|
+
description:
|
|
416
|
+
'The flat SDK namespaces (sogni.chat.runs.*, sogni.workflows.*) wrap the underlying REST resources without changing semantics. Identical inputs must produce identical durable record shapes whether the caller used the SDK method or hit the REST endpoint directly.',
|
|
417
|
+
userText: 'Generate a 4-second clip and stitch it with the previous one.',
|
|
418
|
+
expectations: [
|
|
419
|
+
{
|
|
420
|
+
surface: 'chat',
|
|
421
|
+
entrypoint: 'sogni.chat.runs.create',
|
|
422
|
+
expectedBehavior: [
|
|
423
|
+
'SDK wrapper forwards messages, tools, idempotencyKey, and tokenType to POST /v1/chat/runs with no transform',
|
|
424
|
+
'returned ChatRunRecord is the same shape produced by the REST controller',
|
|
425
|
+
],
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
surface: 'api_chat_completions',
|
|
429
|
+
entrypoint: 'POST /v1/chat/runs (direct REST)',
|
|
430
|
+
expectedBehavior: [
|
|
431
|
+
'direct REST submit with the same body produces the same persisted ChatRunRecord as the SDK call (after normalizing id + timestamps)',
|
|
432
|
+
],
|
|
433
|
+
},
|
|
434
|
+
{
|
|
435
|
+
surface: 'api_creative_agent_workflows',
|
|
436
|
+
entrypoint: 'sogni.workflows.start vs POST /v1/creative-agent/workflows',
|
|
437
|
+
expectedBehavior: [
|
|
438
|
+
'sogni.workflows.start and direct REST submission yield identical CreativeWorkflowRecord shapes for the same input plan',
|
|
439
|
+
],
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
surface: 'public_skill',
|
|
443
|
+
entrypoint: '--api-workflow start via SDK transport',
|
|
444
|
+
expectedBehavior: [
|
|
445
|
+
'when SOGNI_SKILL_USE_SDK_TRANSPORT=1, the skill\'s workflow start goes through sogni.workflows.start and produces the same record as the legacy fetch path',
|
|
446
|
+
],
|
|
447
|
+
},
|
|
448
|
+
],
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
id: 'api-socket-session-reuse-across-concurrent-submissions',
|
|
452
|
+
focus: 'api_socket_session_reuse',
|
|
453
|
+
description:
|
|
454
|
+
'The hosted API\'s SogniClientSessionService reuses a single authenticated SDK socket for concurrent project submissions under the same owner/key scope. Two back-to-back tool calls in one chat-run must share the same pooled client, not construct a fresh SDK instance per call.',
|
|
455
|
+
userText: 'Generate four images in parallel, then animate the best two.',
|
|
456
|
+
expectations: [
|
|
457
|
+
{
|
|
458
|
+
surface: 'chat',
|
|
459
|
+
entrypoint: 'sogni.chat.runs.create (drives tool execution)',
|
|
460
|
+
expectedBehavior: [
|
|
461
|
+
'multiple tool rounds in a single chat run do not visibly stall on socket reconnects',
|
|
462
|
+
],
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
surface: 'api_chat_completions',
|
|
466
|
+
entrypoint: 'ToolExecutionService.executeSogniToolCalls via withSession',
|
|
467
|
+
expectedBehavior: [
|
|
468
|
+
'withSession() borrows an existing pooled client when one matches the (env, owner, keyFingerprint, tokenType, appSource) scope',
|
|
469
|
+
'parallel tool calls for the same scope share one app-id; getMetricsSnapshot() shows reuseCount > 0',
|
|
470
|
+
],
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
surface: 'api_creative_agent_workflows',
|
|
474
|
+
entrypoint: 'CreativeWorkflowExecutor uses the same pool',
|
|
475
|
+
expectedBehavior: [
|
|
476
|
+
'durable workflow steps share the same pool as durable chat runs — same scope key, same pooled client',
|
|
477
|
+
],
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
surface: 'public_skill',
|
|
481
|
+
entrypoint: 'n/a (server-side concern)',
|
|
482
|
+
expectedBehavior: [
|
|
483
|
+
'no public-skill surface; this fixture protects the API pool only',
|
|
484
|
+
],
|
|
485
|
+
},
|
|
486
|
+
],
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
id: 'public-skill-sdk-transport-no-direct-rest',
|
|
490
|
+
focus: 'public_skill_sdk_transport',
|
|
491
|
+
description:
|
|
492
|
+
'When SOGNI_SKILL_USE_SDK_TRANSPORT=1, the public skill\'s durable chat-run and durable-workflow happy paths route through sogni-client SDK methods rather than calling /v1/chat/runs* or /v1/creative-agent/workflows* via fetchApiJson.',
|
|
493
|
+
userText: 'Generate a storyboard video from this concept.',
|
|
494
|
+
expectations: [
|
|
495
|
+
{
|
|
496
|
+
surface: 'chat',
|
|
497
|
+
entrypoint: 'n/a (browser-only)',
|
|
498
|
+
expectedBehavior: ['this fixture is skill-only; chat surface always uses the SDK directly'],
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
surface: 'api_chat_completions',
|
|
502
|
+
entrypoint: 'POST /v1/chat/runs (SDK transport)',
|
|
503
|
+
expectedBehavior: [
|
|
504
|
+
'request reaches the API via SogniClient.chat.runs.create; no parallel direct fetch is made',
|
|
505
|
+
],
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
surface: 'api_creative_agent_workflows',
|
|
509
|
+
entrypoint: 'POST /v1/creative-agent/workflows (SDK transport)',
|
|
510
|
+
expectedBehavior: [
|
|
511
|
+
'request reaches the API via SogniClient.workflows.start; no parallel direct fetch is made',
|
|
512
|
+
],
|
|
513
|
+
},
|
|
514
|
+
{
|
|
515
|
+
surface: 'public_skill',
|
|
516
|
+
entrypoint: 'sogni-agent.mjs with SOGNI_SKILL_USE_SDK_TRANSPORT=1',
|
|
517
|
+
expectedBehavior: [
|
|
518
|
+
'SogniHostedClientFactory is constructed and SSRF-validates the endpoints before any request',
|
|
519
|
+
'no fetchApiJson call for /v1/chat/runs* or /v1/creative-agent/workflows* happy-path operations',
|
|
520
|
+
'legacy fetch path still handles the long tail (e.g. /v1/media/uploadUrl) until SDK absorbs it',
|
|
521
|
+
],
|
|
522
|
+
},
|
|
523
|
+
],
|
|
524
|
+
},
|
|
525
|
+
];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// Public-safe utility files bundled into the @sogni-ai/sogni-creative-agent-skill
|
|
2
|
+
// runtime artifact. Lives here so the skill's sync-skill-runtime.mjs codegen can
|
|
3
|
+
// read from `node_modules/@sogni-ai/sogni-intelligence-client/src/skill-runtime-source/`
|
|
4
|
+
// instead of from the private `../sogni-creative-agent` sibling repo.
|
|
5
|
+
//
|
|
6
|
+
// Each file has zero imports (pure data + utility functions) and was vetted
|
|
7
|
+
// public-safe in Phase 8.4 follow-up.
|
|
8
|
+
export * from './workflowStatus.js';
|
|
9
|
+
export * from './seedanceAudioWindow.js';
|
|
10
|
+
export * from './crossSurfaceParity.js';
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export interface ExplicitSeedanceAudioWindow {
|
|
2
|
+
startOffsetSeconds: number;
|
|
3
|
+
maxDurationSeconds: number;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
const TIME_TOKEN_PATTERN = String.raw`(?:(?:\d{1,2}:)?\d{1,2}:\d{2}(?:\.\d+)?|\d+(?:\.\d+)?\s*(?:seconds?|secs?|sec|s)\b)`;
|
|
7
|
+
const AUDIO_WINDOW_CONTEXT_PATTERN = /\b(?:audio file|uploaded audio|attached audio|reference audio|music clip|song clip|soundtrack|background music|music track|music)\b/i;
|
|
8
|
+
|
|
9
|
+
export function parseExplicitTimeTokenSeconds(value: string): number | null {
|
|
10
|
+
const trimmed = value.trim().toLowerCase();
|
|
11
|
+
if (trimmed.includes(':')) {
|
|
12
|
+
const parts = trimmed.split(':').map(part => Number(part));
|
|
13
|
+
if (parts.length < 2 || parts.length > 3 || parts.some(part => !Number.isFinite(part) || part < 0)) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const seconds = parts.length === 3
|
|
17
|
+
? (parts[0] * 3600) + (parts[1] * 60) + parts[2]
|
|
18
|
+
: (parts[0] * 60) + parts[1];
|
|
19
|
+
return Number.isFinite(seconds) ? seconds : null;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const numeric = Number(trimmed.replace(/\s*(?:seconds?|secs?|sec|s)\b/i, ''));
|
|
23
|
+
return Number.isFinite(numeric) && numeric >= 0 ? numeric : null;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function inferExplicitSeedanceAudioWindow(text: string): ExplicitSeedanceAudioWindow | null {
|
|
27
|
+
if (!AUDIO_WINDOW_CONTEXT_PATTERN.test(text)) return null;
|
|
28
|
+
|
|
29
|
+
const rangePattern = new RegExp(
|
|
30
|
+
`(${TIME_TOKEN_PATTERN})\\s*(?:-|–|—|to|through|until)\\s*(${TIME_TOKEN_PATTERN})`,
|
|
31
|
+
'ig',
|
|
32
|
+
);
|
|
33
|
+
for (const match of text.matchAll(rangePattern)) {
|
|
34
|
+
const index = match.index ?? 0;
|
|
35
|
+
const contextSnippet = text.slice(Math.max(0, index - 180), Math.min(text.length, index + 220));
|
|
36
|
+
if (!AUDIO_WINDOW_CONTEXT_PATTERN.test(contextSnippet)) continue;
|
|
37
|
+
|
|
38
|
+
const start = parseExplicitTimeTokenSeconds(match[1] || '');
|
|
39
|
+
const end = parseExplicitTimeTokenSeconds(match[2] || '');
|
|
40
|
+
if (start === null || end === null || end <= start) continue;
|
|
41
|
+
|
|
42
|
+
return {
|
|
43
|
+
startOffsetSeconds: Math.round(start * 1000) / 1000,
|
|
44
|
+
maxDurationSeconds: Math.round((end - start) * 1000) / 1000,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export function applyExplicitSeedanceAudioWindowArgs(
|
|
52
|
+
args: Record<string, unknown>,
|
|
53
|
+
intentText: string,
|
|
54
|
+
): boolean {
|
|
55
|
+
const window = inferExplicitSeedanceAudioWindow(intentText);
|
|
56
|
+
if (!window) return false;
|
|
57
|
+
args.__seedanceReferenceAudioStartOffsetSeconds = window.startOffsetSeconds;
|
|
58
|
+
args.__seedanceReferenceAudioMaxDurationSeconds = window.maxDurationSeconds;
|
|
59
|
+
args.__seedanceReferenceAudioWindowIsExplicit = true;
|
|
60
|
+
return true;
|
|
61
|
+
}
|