@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.
Files changed (819) hide show
  1. package/.env.example +33 -0
  2. package/LICENSE +22 -0
  3. package/README.md +259 -0
  4. package/chatRun/index.d.ts +1 -0
  5. package/chatRun/index.js +2 -0
  6. package/context/index.d.ts +1 -0
  7. package/context/index.js +2 -0
  8. package/contracts/index.d.ts +1 -0
  9. package/contracts/index.js +2 -0
  10. package/dist/chatRun/costApproval.d.ts +10 -0
  11. package/dist/chatRun/costApproval.d.ts.map +1 -0
  12. package/dist/chatRun/costApproval.js +70 -0
  13. package/dist/chatRun/costApproval.js.map +1 -0
  14. package/dist/chatRun/index.d.ts +207 -0
  15. package/dist/chatRun/index.d.ts.map +1 -0
  16. package/dist/chatRun/index.js +350 -0
  17. package/dist/chatRun/index.js.map +1 -0
  18. package/dist/client/SogniClientWrapper.d.ts +86 -0
  19. package/dist/client/SogniClientWrapper.d.ts.map +1 -0
  20. package/dist/client/SogniClientWrapper.js +914 -0
  21. package/dist/client/SogniClientWrapper.js.map +1 -0
  22. package/dist/context/index.d.ts +56 -0
  23. package/dist/context/index.d.ts.map +1 -0
  24. package/dist/context/index.js +460 -0
  25. package/dist/context/index.js.map +1 -0
  26. package/dist/contracts/backboneDurableWorkflow.d.ts +82 -0
  27. package/dist/contracts/backboneDurableWorkflow.d.ts.map +1 -0
  28. package/dist/contracts/backboneDurableWorkflow.js +96 -0
  29. package/dist/contracts/backboneDurableWorkflow.js.map +1 -0
  30. package/dist/contracts/backboneToolCatalog.d.ts +7 -0
  31. package/dist/contracts/backboneToolCatalog.d.ts.map +1 -0
  32. package/dist/contracts/backboneToolCatalog.js +62 -0
  33. package/dist/contracts/backboneToolCatalog.js.map +1 -0
  34. package/dist/contracts/composeWorkflowTypes.d.ts +6 -0
  35. package/dist/contracts/composeWorkflowTypes.d.ts.map +1 -0
  36. package/dist/contracts/composeWorkflowTypes.js +3 -0
  37. package/dist/contracts/composeWorkflowTypes.js.map +1 -0
  38. package/dist/contracts/data/costEstimation.d.ts +5 -0
  39. package/dist/contracts/data/costEstimation.d.ts.map +1 -0
  40. package/dist/contracts/data/costEstimation.js +22 -0
  41. package/dist/contracts/data/costEstimation.js.map +1 -0
  42. package/dist/contracts/data/gatingPolicies.d.ts +6 -0
  43. package/dist/contracts/data/gatingPolicies.d.ts.map +1 -0
  44. package/dist/contracts/data/gatingPolicies.js +218 -0
  45. package/dist/contracts/data/gatingPolicies.js.map +1 -0
  46. package/dist/contracts/data/gatingPoliciesToolSurface.d.ts +7 -0
  47. package/dist/contracts/data/gatingPoliciesToolSurface.d.ts.map +1 -0
  48. package/dist/contracts/data/gatingPoliciesToolSurface.js +61 -0
  49. package/dist/contracts/data/gatingPoliciesToolSurface.js.map +1 -0
  50. package/dist/contracts/data/index.d.ts +14 -0
  51. package/dist/contracts/data/index.d.ts.map +1 -0
  52. package/dist/contracts/data/index.js +57 -0
  53. package/dist/contracts/data/index.js.map +1 -0
  54. package/dist/contracts/data/promptContracts.d.ts +5 -0
  55. package/dist/contracts/data/promptContracts.d.ts.map +1 -0
  56. package/dist/contracts/data/promptContracts.js +1286 -0
  57. package/dist/contracts/data/promptContracts.js.map +1 -0
  58. package/dist/contracts/data/repairRecipes.d.ts +5 -0
  59. package/dist/contracts/data/repairRecipes.d.ts.map +1 -0
  60. package/dist/contracts/data/repairRecipes.js +197 -0
  61. package/dist/contracts/data/repairRecipes.js.map +1 -0
  62. package/dist/contracts/data/toolCatalog.d.ts +31 -0
  63. package/dist/contracts/data/toolCatalog.d.ts.map +1 -0
  64. package/dist/contracts/data/toolCatalog.js +129 -0
  65. package/dist/contracts/data/toolCatalog.js.map +1 -0
  66. package/dist/contracts/data/toolCostMetadata.d.ts +16 -0
  67. package/dist/contracts/data/toolCostMetadata.d.ts.map +1 -0
  68. package/dist/contracts/data/toolCostMetadata.js +284 -0
  69. package/dist/contracts/data/toolCostMetadata.js.map +1 -0
  70. package/dist/contracts/data/toolPermissions.d.ts +27 -0
  71. package/dist/contracts/data/toolPermissions.d.ts.map +1 -0
  72. package/dist/contracts/data/toolPermissions.js +78 -0
  73. package/dist/contracts/data/toolPermissions.js.map +1 -0
  74. package/dist/contracts/evaluators.d.ts +94 -0
  75. package/dist/contracts/evaluators.d.ts.map +1 -0
  76. package/dist/contracts/evaluators.js +468 -0
  77. package/dist/contracts/evaluators.js.map +1 -0
  78. package/dist/contracts/hostedComposition.d.ts +85 -0
  79. package/dist/contracts/hostedComposition.d.ts.map +1 -0
  80. package/dist/contracts/hostedComposition.js +139 -0
  81. package/dist/contracts/hostedComposition.js.map +1 -0
  82. package/dist/contracts/hostedToolValidation.d.ts +47 -0
  83. package/dist/contracts/hostedToolValidation.d.ts.map +1 -0
  84. package/dist/contracts/hostedToolValidation.js +301 -0
  85. package/dist/contracts/hostedToolValidation.js.map +1 -0
  86. package/dist/contracts/idLoraPrompt.d.ts +13 -0
  87. package/dist/contracts/idLoraPrompt.d.ts.map +1 -0
  88. package/dist/contracts/idLoraPrompt.js +78 -0
  89. package/dist/contracts/idLoraPrompt.js.map +1 -0
  90. package/dist/contracts/imagePrompt.d.ts +16 -0
  91. package/dist/contracts/imagePrompt.d.ts.map +1 -0
  92. package/dist/contracts/imagePrompt.js +148 -0
  93. package/dist/contracts/imagePrompt.js.map +1 -0
  94. package/dist/contracts/index.d.ts +48 -0
  95. package/dist/contracts/index.d.ts.map +1 -0
  96. package/dist/contracts/index.js +156 -0
  97. package/dist/contracts/index.js.map +1 -0
  98. package/dist/contracts/musicComposition.d.ts +17 -0
  99. package/dist/contracts/musicComposition.d.ts.map +1 -0
  100. package/dist/contracts/musicComposition.js +188 -0
  101. package/dist/contracts/musicComposition.js.map +1 -0
  102. package/dist/contracts/promptContract.d.ts +11 -0
  103. package/dist/contracts/promptContract.d.ts.map +1 -0
  104. package/dist/contracts/promptContract.js +37 -0
  105. package/dist/contracts/promptContract.js.map +1 -0
  106. package/dist/contracts/promptOverrideMarker.d.ts +2 -0
  107. package/dist/contracts/promptOverrideMarker.d.ts.map +1 -0
  108. package/dist/contracts/promptOverrideMarker.js +5 -0
  109. package/dist/contracts/promptOverrideMarker.js.map +1 -0
  110. package/dist/contracts/randomThemes.d.ts +5 -0
  111. package/dist/contracts/randomThemes.d.ts.map +1 -0
  112. package/dist/contracts/randomThemes.js +159 -0
  113. package/dist/contracts/randomThemes.js.map +1 -0
  114. package/dist/contracts/registry.d.ts +29 -0
  115. package/dist/contracts/registry.d.ts.map +1 -0
  116. package/dist/contracts/registry.js +104 -0
  117. package/dist/contracts/registry.js.map +1 -0
  118. package/dist/contracts/repairRecipe.d.ts +14 -0
  119. package/dist/contracts/repairRecipe.d.ts.map +1 -0
  120. package/dist/contracts/repairRecipe.js +38 -0
  121. package/dist/contracts/repairRecipe.js.map +1 -0
  122. package/dist/contracts/storyboard.d.ts +113 -0
  123. package/dist/contracts/storyboard.d.ts.map +1 -0
  124. package/dist/contracts/storyboard.js +7 -0
  125. package/dist/contracts/storyboard.js.map +1 -0
  126. package/dist/contracts/telemetry.d.ts +57 -0
  127. package/dist/contracts/telemetry.d.ts.map +1 -0
  128. package/dist/contracts/telemetry.js +37 -0
  129. package/dist/contracts/telemetry.js.map +1 -0
  130. package/dist/contracts/toolGatingPolicy.d.ts +19 -0
  131. package/dist/contracts/toolGatingPolicy.d.ts.map +1 -0
  132. package/dist/contracts/toolGatingPolicy.js +63 -0
  133. package/dist/contracts/toolGatingPolicy.js.map +1 -0
  134. package/dist/contracts/toolPromptMarkers.d.ts +9 -0
  135. package/dist/contracts/toolPromptMarkers.d.ts.map +1 -0
  136. package/dist/contracts/toolPromptMarkers.js +13 -0
  137. package/dist/contracts/toolPromptMarkers.js.map +1 -0
  138. package/dist/contracts/toolSurface.d.ts +46 -0
  139. package/dist/contracts/toolSurface.d.ts.map +1 -0
  140. package/dist/contracts/toolSurface.js +119 -0
  141. package/dist/contracts/toolSurface.js.map +1 -0
  142. package/dist/contracts/turnPolicy.d.ts +22 -0
  143. package/dist/contracts/turnPolicy.d.ts.map +1 -0
  144. package/dist/contracts/turnPolicy.js +16 -0
  145. package/dist/contracts/turnPolicy.js.map +1 -0
  146. package/dist/contracts/videoComposition.d.ts +35 -0
  147. package/dist/contracts/videoComposition.d.ts.map +1 -0
  148. package/dist/contracts/videoComposition.js +224 -0
  149. package/dist/contracts/videoComposition.js.map +1 -0
  150. package/dist/index.d.ts +11 -0
  151. package/dist/index.d.ts.map +1 -0
  152. package/dist/index.js +59 -0
  153. package/dist/index.js.map +1 -0
  154. package/dist/media/aspectRatio.d.ts +15 -0
  155. package/dist/media/aspectRatio.d.ts.map +1 -0
  156. package/dist/media/aspectRatio.js +72 -0
  157. package/dist/media/aspectRatio.js.map +1 -0
  158. package/dist/media/audioReference.d.ts +57 -0
  159. package/dist/media/audioReference.d.ts.map +1 -0
  160. package/dist/media/audioReference.js +194 -0
  161. package/dist/media/audioReference.js.map +1 -0
  162. package/dist/media/cameraAngle.d.ts +170 -0
  163. package/dist/media/cameraAngle.d.ts.map +1 -0
  164. package/dist/media/cameraAngle.js +48 -0
  165. package/dist/media/cameraAngle.js.map +1 -0
  166. package/dist/media/characterSheet.d.ts +9 -0
  167. package/dist/media/characterSheet.d.ts.map +1 -0
  168. package/dist/media/characterSheet.js +54 -0
  169. package/dist/media/characterSheet.js.map +1 -0
  170. package/dist/media/danceMontage.d.ts +18 -0
  171. package/dist/media/danceMontage.d.ts.map +1 -0
  172. package/dist/media/danceMontage.js +34 -0
  173. package/dist/media/danceMontage.js.map +1 -0
  174. package/dist/media/enhancementProfiles.d.ts +158 -0
  175. package/dist/media/enhancementProfiles.d.ts.map +1 -0
  176. package/dist/media/enhancementProfiles.js +224 -0
  177. package/dist/media/enhancementProfiles.js.map +1 -0
  178. package/dist/media/generationJob.d.ts +81 -0
  179. package/dist/media/generationJob.d.ts.map +1 -0
  180. package/dist/media/generationJob.js +91 -0
  181. package/dist/media/generationJob.js.map +1 -0
  182. package/dist/media/gptImage.d.ts +21 -0
  183. package/dist/media/gptImage.d.ts.map +1 -0
  184. package/dist/media/gptImage.js +162 -0
  185. package/dist/media/gptImage.js.map +1 -0
  186. package/dist/media/imageDimensions.d.ts +24 -0
  187. package/dist/media/imageDimensions.d.ts.map +1 -0
  188. package/dist/media/imageDimensions.js +64 -0
  189. package/dist/media/imageDimensions.js.map +1 -0
  190. package/dist/media/index.d.ts +16 -0
  191. package/dist/media/index.d.ts.map +1 -0
  192. package/dist/media/index.js +32 -0
  193. package/dist/media/index.js.map +1 -0
  194. package/dist/media/musicSettings.d.ts +86 -0
  195. package/dist/media/musicSettings.d.ts.map +1 -0
  196. package/dist/media/musicSettings.js +234 -0
  197. package/dist/media/musicSettings.js.map +1 -0
  198. package/dist/media/vendorModelPremium.d.ts +21 -0
  199. package/dist/media/vendorModelPremium.d.ts.map +1 -0
  200. package/dist/media/vendorModelPremium.js +89 -0
  201. package/dist/media/vendorModelPremium.js.map +1 -0
  202. package/dist/media/videoAppSettings.d.ts +41 -0
  203. package/dist/media/videoAppSettings.d.ts.map +1 -0
  204. package/dist/media/videoAppSettings.js +128 -0
  205. package/dist/media/videoAppSettings.js.map +1 -0
  206. package/dist/media/videoContentLimit.d.ts +15 -0
  207. package/dist/media/videoContentLimit.d.ts.map +1 -0
  208. package/dist/media/videoContentLimit.js +169 -0
  209. package/dist/media/videoContentLimit.js.map +1 -0
  210. package/dist/media/videoReference.d.ts +35 -0
  211. package/dist/media/videoReference.d.ts.map +1 -0
  212. package/dist/media/videoReference.js +77 -0
  213. package/dist/media/videoReference.js.map +1 -0
  214. package/dist/media/videoSettings.d.ts +50 -0
  215. package/dist/media/videoSettings.d.ts.map +1 -0
  216. package/dist/media/videoSettings.js +200 -0
  217. package/dist/media/videoSettings.js.map +1 -0
  218. package/dist/openai-tools/_manifests.generated.d.ts +4 -0
  219. package/dist/openai-tools/_manifests.generated.d.ts.map +1 -0
  220. package/dist/openai-tools/_manifests.generated.js +1792 -0
  221. package/dist/openai-tools/_manifests.generated.js.map +1 -0
  222. package/dist/openai-tools/app-tools.json +297 -0
  223. package/dist/openai-tools/composition-tools.json +228 -0
  224. package/dist/openai-tools/generation-tools.json +1263 -0
  225. package/dist/openai-tools/index.d.ts +17 -0
  226. package/dist/openai-tools/index.d.ts.map +1 -0
  227. package/dist/openai-tools/index.js +32 -0
  228. package/dist/openai-tools/index.js.map +1 -0
  229. package/dist/public-skill-runtime/index.d.ts +1222 -0
  230. package/dist/public-skill-runtime/index.d.ts.map +1 -0
  231. package/dist/public-skill-runtime/index.js +6492 -0
  232. package/dist/public-skill-runtime/index.js.map +1 -0
  233. package/dist/replay/index.d.ts +4 -0
  234. package/dist/replay/index.d.ts.map +1 -0
  235. package/dist/replay/index.js +12 -0
  236. package/dist/replay/index.js.map +1 -0
  237. package/dist/replay/redact.d.ts +7 -0
  238. package/dist/replay/redact.d.ts.map +1 -0
  239. package/dist/replay/redact.js +108 -0
  240. package/dist/replay/redact.js.map +1 -0
  241. package/dist/replay/types.d.ts +61 -0
  242. package/dist/replay/types.d.ts.map +1 -0
  243. package/dist/replay/types.js +24 -0
  244. package/dist/replay/types.js.map +1 -0
  245. package/dist/runtime/chatTypes.d.ts +47 -0
  246. package/dist/runtime/chatTypes.d.ts.map +1 -0
  247. package/dist/runtime/chatTypes.js +3 -0
  248. package/dist/runtime/chatTypes.js.map +1 -0
  249. package/dist/runtime/durableWorkflowClient.d.ts +80 -0
  250. package/dist/runtime/durableWorkflowClient.d.ts.map +1 -0
  251. package/dist/runtime/durableWorkflowClient.js +312 -0
  252. package/dist/runtime/durableWorkflowClient.js.map +1 -0
  253. package/dist/runtime/index.d.ts +3 -0
  254. package/dist/runtime/index.d.ts.map +1 -0
  255. package/dist/runtime/index.js +18 -0
  256. package/dist/runtime/index.js.map +1 -0
  257. package/dist/schemas/errors/error.schema.json +21 -0
  258. package/dist/schemas/errors/repair-control.schema.json +40 -0
  259. package/dist/schemas/events/artifact-reference.schema.json +22 -0
  260. package/dist/schemas/events/progress-event.schema.json +28 -0
  261. package/dist/schemas/events/workflow-event.schema.json +22 -0
  262. package/dist/schemas/storyboards/storyboard-planning-contract.schema.json +108 -0
  263. package/dist/schemas/tools/add_subtitles.schema.json +77 -0
  264. package/dist/schemas/tools/animate_photo.schema.json +104 -0
  265. package/dist/schemas/tools/apply_style.schema.json +37 -0
  266. package/dist/schemas/tools/change_angle.schema.json +30 -0
  267. package/dist/schemas/tools/compose_instrumental.schema.json +24 -0
  268. package/dist/schemas/tools/compose_lyrics.schema.json +28 -0
  269. package/dist/schemas/tools/compose_script.schema.json +68 -0
  270. package/dist/schemas/tools/compose_workflow.schema.json +67 -0
  271. package/dist/schemas/tools/compose_workflow_template.schema.json +156 -0
  272. package/dist/schemas/tools/dance_montage.schema.json +47 -0
  273. package/dist/schemas/tools/edit_image.schema.json +74 -0
  274. package/dist/schemas/tools/enhance_prompt.schema.json +76 -0
  275. package/dist/schemas/tools/extend_video.schema.json +42 -0
  276. package/dist/schemas/tools/generate_image.schema.json +104 -0
  277. package/dist/schemas/tools/generate_music.schema.json +62 -0
  278. package/dist/schemas/tools/generate_video.schema.json +97 -0
  279. package/dist/schemas/tools/orbit_video.schema.json +70 -0
  280. package/dist/schemas/tools/overlay_video.schema.json +126 -0
  281. package/dist/schemas/tools/refine_result.schema.json +43 -0
  282. package/dist/schemas/tools/replace_video_segment.schema.json +60 -0
  283. package/dist/schemas/tools/restore_photo.schema.json +47 -0
  284. package/dist/schemas/tools/sound_to_video.schema.json +70 -0
  285. package/dist/schemas/tools/stitch_video.schema.json +52 -0
  286. package/dist/schemas/tools/video_to_video.schema.json +77 -0
  287. package/dist/schemas/workflows/durable-workflow-run.schema.json +165 -0
  288. package/dist/schemas/workflows/durable-workflow-step.schema.json +141 -0
  289. package/dist/skill-runtime-source/crossSurfaceParity.d.ts +23 -0
  290. package/dist/skill-runtime-source/crossSurfaceParity.d.ts.map +1 -0
  291. package/dist/skill-runtime-source/crossSurfaceParity.js +472 -0
  292. package/dist/skill-runtime-source/crossSurfaceParity.js.map +1 -0
  293. package/dist/skill-runtime-source/index.d.ts +4 -0
  294. package/dist/skill-runtime-source/index.d.ts.map +1 -0
  295. package/dist/skill-runtime-source/index.js +20 -0
  296. package/dist/skill-runtime-source/index.js.map +1 -0
  297. package/dist/skill-runtime-source/seedanceAudioWindow.d.ts +8 -0
  298. package/dist/skill-runtime-source/seedanceAudioWindow.d.ts.map +1 -0
  299. package/dist/skill-runtime-source/seedanceAudioWindow.js +52 -0
  300. package/dist/skill-runtime-source/seedanceAudioWindow.js.map +1 -0
  301. package/dist/skill-runtime-source/workflowStatus.d.ts +17 -0
  302. package/dist/skill-runtime-source/workflowStatus.d.ts.map +1 -0
  303. package/dist/skill-runtime-source/workflowStatus.js +353 -0
  304. package/dist/skill-runtime-source/workflowStatus.js.map +1 -0
  305. package/dist/skills/asset_reference_management/index.d.ts +6 -0
  306. package/dist/skills/asset_reference_management/index.d.ts.map +1 -0
  307. package/dist/skills/asset_reference_management/index.js +18 -0
  308. package/dist/skills/asset_reference_management/index.js.map +1 -0
  309. package/dist/skills/asset_reference_management/manifest.d.ts +42 -0
  310. package/dist/skills/asset_reference_management/manifest.d.ts.map +1 -0
  311. package/dist/skills/asset_reference_management/manifest.js +237 -0
  312. package/dist/skills/asset_reference_management/manifest.js.map +1 -0
  313. package/dist/skills/asset_reference_management/modelRefRegistry.d.ts +24 -0
  314. package/dist/skills/asset_reference_management/modelRefRegistry.d.ts.map +1 -0
  315. package/dist/skills/asset_reference_management/modelRefRegistry.js +136 -0
  316. package/dist/skills/asset_reference_management/modelRefRegistry.js.map +1 -0
  317. package/dist/skills/asset_reference_management/types.d.ts +31 -0
  318. package/dist/skills/asset_reference_management/types.d.ts.map +1 -0
  319. package/dist/skills/asset_reference_management/types.js +3 -0
  320. package/dist/skills/asset_reference_management/types.js.map +1 -0
  321. package/dist/tools/definitions/add-subtitles/definition.d.ts +4 -0
  322. package/dist/tools/definitions/add-subtitles/definition.d.ts.map +1 -0
  323. package/dist/tools/definitions/add-subtitles/definition.js +83 -0
  324. package/dist/tools/definitions/add-subtitles/definition.js.map +1 -0
  325. package/dist/tools/definitions/animate-photo/definition.d.ts +3 -0
  326. package/dist/tools/definitions/animate-photo/definition.d.ts.map +1 -0
  327. package/dist/tools/definitions/animate-photo/definition.js +124 -0
  328. package/dist/tools/definitions/animate-photo/definition.js.map +1 -0
  329. package/dist/tools/definitions/apply-style/definition.d.ts +3 -0
  330. package/dist/tools/definitions/apply-style/definition.d.ts.map +1 -0
  331. package/dist/tools/definitions/apply-style/definition.js +50 -0
  332. package/dist/tools/definitions/apply-style/definition.js.map +1 -0
  333. package/dist/tools/definitions/change-angle/definition.d.ts +3 -0
  334. package/dist/tools/definitions/change-angle/definition.d.ts.map +1 -0
  335. package/dist/tools/definitions/change-angle/definition.js +49 -0
  336. package/dist/tools/definitions/change-angle/definition.js.map +1 -0
  337. package/dist/tools/definitions/dance-montage/dances.d.ts +11 -0
  338. package/dist/tools/definitions/dance-montage/dances.d.ts.map +1 -0
  339. package/dist/tools/definitions/dance-montage/dances.js +90 -0
  340. package/dist/tools/definitions/dance-montage/dances.js.map +1 -0
  341. package/dist/tools/definitions/dance-montage/definition.d.ts +3 -0
  342. package/dist/tools/definitions/dance-montage/definition.d.ts.map +1 -0
  343. package/dist/tools/definitions/dance-montage/definition.js +45 -0
  344. package/dist/tools/definitions/dance-montage/definition.js.map +1 -0
  345. package/dist/tools/definitions/edit-image/definition.d.ts +3 -0
  346. package/dist/tools/definitions/edit-image/definition.d.ts.map +1 -0
  347. package/dist/tools/definitions/edit-image/definition.js +128 -0
  348. package/dist/tools/definitions/edit-image/definition.js.map +1 -0
  349. package/dist/tools/definitions/extend-video/definition.d.ts +3 -0
  350. package/dist/tools/definitions/extend-video/definition.d.ts.map +1 -0
  351. package/dist/tools/definitions/extend-video/definition.js +51 -0
  352. package/dist/tools/definitions/extend-video/definition.js.map +1 -0
  353. package/dist/tools/definitions/generate-image/definition.d.ts +3 -0
  354. package/dist/tools/definitions/generate-image/definition.d.ts.map +1 -0
  355. package/dist/tools/definitions/generate-image/definition.js +107 -0
  356. package/dist/tools/definitions/generate-image/definition.js.map +1 -0
  357. package/dist/tools/definitions/generate-music/definition.d.ts +3 -0
  358. package/dist/tools/definitions/generate-music/definition.d.ts.map +1 -0
  359. package/dist/tools/definitions/generate-music/definition.js +75 -0
  360. package/dist/tools/definitions/generate-music/definition.js.map +1 -0
  361. package/dist/tools/definitions/generate-video/definition.d.ts +3 -0
  362. package/dist/tools/definitions/generate-video/definition.d.ts.map +1 -0
  363. package/dist/tools/definitions/generate-video/definition.js +120 -0
  364. package/dist/tools/definitions/generate-video/definition.js.map +1 -0
  365. package/dist/tools/definitions/index.d.ts +25 -0
  366. package/dist/tools/definitions/index.d.ts.map +1 -0
  367. package/dist/tools/definitions/index.js +66 -0
  368. package/dist/tools/definitions/index.js.map +1 -0
  369. package/dist/tools/definitions/orbit-video/definition.d.ts +3 -0
  370. package/dist/tools/definitions/orbit-video/definition.d.ts.map +1 -0
  371. package/dist/tools/definitions/orbit-video/definition.js +103 -0
  372. package/dist/tools/definitions/orbit-video/definition.js.map +1 -0
  373. package/dist/tools/definitions/overlay-video/definition.d.ts +4 -0
  374. package/dist/tools/definitions/overlay-video/definition.d.ts.map +1 -0
  375. package/dist/tools/definitions/overlay-video/definition.js +142 -0
  376. package/dist/tools/definitions/overlay-video/definition.js.map +1 -0
  377. package/dist/tools/definitions/refine-result/definition.d.ts +3 -0
  378. package/dist/tools/definitions/refine-result/definition.d.ts.map +1 -0
  379. package/dist/tools/definitions/refine-result/definition.js +56 -0
  380. package/dist/tools/definitions/refine-result/definition.js.map +1 -0
  381. package/dist/tools/definitions/replace-video-segment/definition.d.ts +3 -0
  382. package/dist/tools/definitions/replace-video-segment/definition.d.ts.map +1 -0
  383. package/dist/tools/definitions/replace-video-segment/definition.js +65 -0
  384. package/dist/tools/definitions/replace-video-segment/definition.js.map +1 -0
  385. package/dist/tools/definitions/restore-photo/definition.d.ts +3 -0
  386. package/dist/tools/definitions/restore-photo/definition.d.ts.map +1 -0
  387. package/dist/tools/definitions/restore-photo/definition.js +58 -0
  388. package/dist/tools/definitions/restore-photo/definition.js.map +1 -0
  389. package/dist/tools/definitions/sound-to-video/definition.d.ts +3 -0
  390. package/dist/tools/definitions/sound-to-video/definition.d.ts.map +1 -0
  391. package/dist/tools/definitions/sound-to-video/definition.js +91 -0
  392. package/dist/tools/definitions/sound-to-video/definition.js.map +1 -0
  393. package/dist/tools/definitions/stitch-video/definition.d.ts +4 -0
  394. package/dist/tools/definitions/stitch-video/definition.d.ts.map +1 -0
  395. package/dist/tools/definitions/stitch-video/definition.js +89 -0
  396. package/dist/tools/definitions/stitch-video/definition.js.map +1 -0
  397. package/dist/tools/definitions/types.d.ts +15 -0
  398. package/dist/tools/definitions/types.d.ts.map +1 -0
  399. package/dist/tools/definitions/types.js +3 -0
  400. package/dist/tools/definitions/types.js.map +1 -0
  401. package/dist/tools/definitions/video-to-video/definition.d.ts +3 -0
  402. package/dist/tools/definitions/video-to-video/definition.d.ts.map +1 -0
  403. package/dist/tools/definitions/video-to-video/definition.js +101 -0
  404. package/dist/tools/definitions/video-to-video/definition.js.map +1 -0
  405. package/dist/tools/index.d.ts +22 -0
  406. package/dist/tools/index.d.ts.map +1 -0
  407. package/dist/tools/index.js +83 -0
  408. package/dist/tools/index.js.map +1 -0
  409. package/dist/tools/normalizeArgs.d.ts +2 -0
  410. package/dist/tools/normalizeArgs.d.ts.map +1 -0
  411. package/dist/tools/normalizeArgs.js +40 -0
  412. package/dist/tools/normalizeArgs.js.map +1 -0
  413. package/dist/tools/result.d.ts +47 -0
  414. package/dist/tools/result.d.ts.map +1 -0
  415. package/dist/tools/result.js +38 -0
  416. package/dist/tools/result.js.map +1 -0
  417. package/dist/tools/shared/downloadFilename.d.ts +18 -0
  418. package/dist/tools/shared/downloadFilename.d.ts.map +1 -0
  419. package/dist/tools/shared/downloadFilename.js +157 -0
  420. package/dist/tools/shared/downloadFilename.js.map +1 -0
  421. package/dist/tools/shared/dynamicPromptBranches.d.ts +20 -0
  422. package/dist/tools/shared/dynamicPromptBranches.d.ts.map +1 -0
  423. package/dist/tools/shared/dynamicPromptBranches.js +193 -0
  424. package/dist/tools/shared/dynamicPromptBranches.js.map +1 -0
  425. package/dist/tools/shared/errorClassification.d.ts +15 -0
  426. package/dist/tools/shared/errorClassification.d.ts.map +1 -0
  427. package/dist/tools/shared/errorClassification.js +78 -0
  428. package/dist/tools/shared/errorClassification.js.map +1 -0
  429. package/dist/tools/shared/imageEncoding.d.ts +2 -0
  430. package/dist/tools/shared/imageEncoding.d.ts.map +1 -0
  431. package/dist/tools/shared/imageEncoding.js +11 -0
  432. package/dist/tools/shared/imageEncoding.js.map +1 -0
  433. package/dist/tools/shared/llmHelpers.d.ts +14 -0
  434. package/dist/tools/shared/llmHelpers.d.ts.map +1 -0
  435. package/dist/tools/shared/llmHelpers.js +145 -0
  436. package/dist/tools/shared/llmHelpers.js.map +1 -0
  437. package/dist/tools/shared/modelRegistry.d.ts +10 -0
  438. package/dist/tools/shared/modelRegistry.d.ts.map +1 -0
  439. package/dist/tools/shared/modelRegistry.js +98 -0
  440. package/dist/tools/shared/modelRegistry.js.map +1 -0
  441. package/dist/tools/shared/multiImageIntent.d.ts +2 -0
  442. package/dist/tools/shared/multiImageIntent.d.ts.map +1 -0
  443. package/dist/tools/shared/multiImageIntent.js +13 -0
  444. package/dist/tools/shared/multiImageIntent.js.map +1 -0
  445. package/dist/tools/shared/numberOfVariationsAlignment.d.ts +2 -0
  446. package/dist/tools/shared/numberOfVariationsAlignment.d.ts.map +1 -0
  447. package/dist/tools/shared/numberOfVariationsAlignment.js +37 -0
  448. package/dist/tools/shared/numberOfVariationsAlignment.js.map +1 -0
  449. package/dist/tools/shared/policyChecks.d.ts +25 -0
  450. package/dist/tools/shared/policyChecks.d.ts.map +1 -0
  451. package/dist/tools/shared/policyChecks.js +79 -0
  452. package/dist/tools/shared/policyChecks.js.map +1 -0
  453. package/dist/tools/shared/promptRefinementCache.d.ts +10 -0
  454. package/dist/tools/shared/promptRefinementCache.d.ts.map +1 -0
  455. package/dist/tools/shared/promptRefinementCache.js +81 -0
  456. package/dist/tools/shared/promptRefinementCache.js.map +1 -0
  457. package/dist/tools/shared/promptSanitizer.d.ts +2 -0
  458. package/dist/tools/shared/promptSanitizer.d.ts.map +1 -0
  459. package/dist/tools/shared/promptSanitizer.js +73 -0
  460. package/dist/tools/shared/promptSanitizer.js.map +1 -0
  461. package/dist/tools/shared/seedancePolicyErrors.d.ts +33 -0
  462. package/dist/tools/shared/seedancePolicyErrors.d.ts.map +1 -0
  463. package/dist/tools/shared/seedancePolicyErrors.js +239 -0
  464. package/dist/tools/shared/seedancePolicyErrors.js.map +1 -0
  465. package/dist/tools/shared/slotFailureSummary.d.ts +7 -0
  466. package/dist/tools/shared/slotFailureSummary.d.ts.map +1 -0
  467. package/dist/tools/shared/slotFailureSummary.js +63 -0
  468. package/dist/tools/shared/slotFailureSummary.js.map +1 -0
  469. package/dist/tools/shared/visionDescriptionCache.d.ts +5 -0
  470. package/dist/tools/shared/visionDescriptionCache.d.ts.map +1 -0
  471. package/dist/tools/shared/visionDescriptionCache.js +35 -0
  472. package/dist/tools/shared/visionDescriptionCache.js.map +1 -0
  473. package/dist/types/index.d.ts +221 -0
  474. package/dist/types/index.d.ts.map +1 -0
  475. package/dist/types/index.js +34 -0
  476. package/dist/types/index.js.map +1 -0
  477. package/dist/utils/errors.d.ts +38 -0
  478. package/dist/utils/errors.d.ts.map +1 -0
  479. package/dist/utils/errors.js +99 -0
  480. package/dist/utils/errors.js.map +1 -0
  481. package/dist/utils/helpers.d.ts +36 -0
  482. package/dist/utils/helpers.d.ts.map +1 -0
  483. package/dist/utils/helpers.js +445 -0
  484. package/dist/utils/helpers.js.map +1 -0
  485. package/dist/workflows/bindings.d.ts +23 -0
  486. package/dist/workflows/bindings.d.ts.map +1 -0
  487. package/dist/workflows/bindings.js +220 -0
  488. package/dist/workflows/bindings.js.map +1 -0
  489. package/dist/workflows/executor-ports.d.ts +11 -0
  490. package/dist/workflows/executor-ports.d.ts.map +1 -0
  491. package/dist/workflows/executor-ports.js +3 -0
  492. package/dist/workflows/executor-ports.js.map +1 -0
  493. package/dist/workflows/executor.d.ts +17 -0
  494. package/dist/workflows/executor.d.ts.map +1 -0
  495. package/dist/workflows/executor.js +526 -0
  496. package/dist/workflows/executor.js.map +1 -0
  497. package/dist/workflows/index.d.ts +11 -0
  498. package/dist/workflows/index.d.ts.map +1 -0
  499. package/dist/workflows/index.js +48 -0
  500. package/dist/workflows/index.js.map +1 -0
  501. package/dist/workflows/primitives/index.d.ts +3 -0
  502. package/dist/workflows/primitives/index.d.ts.map +1 -0
  503. package/dist/workflows/primitives/index.js +19 -0
  504. package/dist/workflows/primitives/index.js.map +1 -0
  505. package/dist/workflows/primitives/retryUntilCondition.d.ts +39 -0
  506. package/dist/workflows/primitives/retryUntilCondition.d.ts.map +1 -0
  507. package/dist/workflows/primitives/retryUntilCondition.js +102 -0
  508. package/dist/workflows/primitives/retryUntilCondition.js.map +1 -0
  509. package/dist/workflows/primitives/validateWithRubric.d.ts +28 -0
  510. package/dist/workflows/primitives/validateWithRubric.d.ts.map +1 -0
  511. package/dist/workflows/primitives/validateWithRubric.js +148 -0
  512. package/dist/workflows/primitives/validateWithRubric.js.map +1 -0
  513. package/dist/workflows/summarize.d.ts +7 -0
  514. package/dist/workflows/summarize.d.ts.map +1 -0
  515. package/dist/workflows/summarize.js +54 -0
  516. package/dist/workflows/summarize.js.map +1 -0
  517. package/dist/workflows/types.d.ts +302 -0
  518. package/dist/workflows/types.d.ts.map +1 -0
  519. package/dist/workflows/types.js +3 -0
  520. package/dist/workflows/types.js.map +1 -0
  521. package/dist/workflows/validation.d.ts +10 -0
  522. package/dist/workflows/validation.d.ts.map +1 -0
  523. package/dist/workflows/validation.js +340 -0
  524. package/dist/workflows/validation.js.map +1 -0
  525. package/dist-esm/chatRun/costApproval.js +64 -0
  526. package/dist-esm/chatRun/costApproval.js.map +1 -0
  527. package/dist-esm/chatRun/index.js +327 -0
  528. package/dist-esm/chatRun/index.js.map +1 -0
  529. package/dist-esm/client/SogniClientWrapper.js +877 -0
  530. package/dist-esm/client/SogniClientWrapper.js.map +1 -0
  531. package/dist-esm/context/index.js +453 -0
  532. package/dist-esm/context/index.js.map +1 -0
  533. package/dist-esm/contracts/backboneDurableWorkflow.js +90 -0
  534. package/dist-esm/contracts/backboneDurableWorkflow.js.map +1 -0
  535. package/dist-esm/contracts/backboneToolCatalog.js +59 -0
  536. package/dist-esm/contracts/backboneToolCatalog.js.map +1 -0
  537. package/dist-esm/contracts/composeWorkflowTypes.js +2 -0
  538. package/dist-esm/contracts/composeWorkflowTypes.js.map +1 -0
  539. package/dist-esm/contracts/data/costEstimation.js +18 -0
  540. package/dist-esm/contracts/data/costEstimation.js.map +1 -0
  541. package/dist-esm/contracts/data/gatingPolicies.js +214 -0
  542. package/dist-esm/contracts/data/gatingPolicies.js.map +1 -0
  543. package/dist-esm/contracts/data/gatingPoliciesToolSurface.js +57 -0
  544. package/dist-esm/contracts/data/gatingPoliciesToolSurface.js.map +1 -0
  545. package/dist-esm/contracts/data/index.js +23 -0
  546. package/dist-esm/contracts/data/index.js.map +1 -0
  547. package/dist-esm/contracts/data/promptContracts.js +1282 -0
  548. package/dist-esm/contracts/data/promptContracts.js.map +1 -0
  549. package/dist-esm/contracts/data/repairRecipes.js +193 -0
  550. package/dist-esm/contracts/data/repairRecipes.js.map +1 -0
  551. package/dist-esm/contracts/data/toolCatalog.js +122 -0
  552. package/dist-esm/contracts/data/toolCatalog.js.map +1 -0
  553. package/dist-esm/contracts/data/toolCostMetadata.js +277 -0
  554. package/dist-esm/contracts/data/toolCostMetadata.js.map +1 -0
  555. package/dist-esm/contracts/data/toolPermissions.js +70 -0
  556. package/dist-esm/contracts/data/toolPermissions.js.map +1 -0
  557. package/dist-esm/contracts/evaluators.js +463 -0
  558. package/dist-esm/contracts/evaluators.js.map +1 -0
  559. package/dist-esm/contracts/hostedComposition.js +128 -0
  560. package/dist-esm/contracts/hostedComposition.js.map +1 -0
  561. package/dist-esm/contracts/hostedToolValidation.js +296 -0
  562. package/dist-esm/contracts/hostedToolValidation.js.map +1 -0
  563. package/dist-esm/contracts/idLoraPrompt.js +72 -0
  564. package/dist-esm/contracts/idLoraPrompt.js.map +1 -0
  565. package/dist-esm/contracts/imagePrompt.js +143 -0
  566. package/dist-esm/contracts/imagePrompt.js.map +1 -0
  567. package/dist-esm/contracts/index.js +27 -0
  568. package/dist-esm/contracts/index.js.map +1 -0
  569. package/dist-esm/contracts/musicComposition.js +182 -0
  570. package/dist-esm/contracts/musicComposition.js.map +1 -0
  571. package/dist-esm/contracts/promptContract.js +34 -0
  572. package/dist-esm/contracts/promptContract.js.map +1 -0
  573. package/dist-esm/contracts/promptOverrideMarker.js +2 -0
  574. package/dist-esm/contracts/promptOverrideMarker.js.map +1 -0
  575. package/dist-esm/contracts/randomThemes.js +154 -0
  576. package/dist-esm/contracts/randomThemes.js.map +1 -0
  577. package/dist-esm/contracts/registry.js +100 -0
  578. package/dist-esm/contracts/registry.js.map +1 -0
  579. package/dist-esm/contracts/repairRecipe.js +35 -0
  580. package/dist-esm/contracts/repairRecipe.js.map +1 -0
  581. package/dist-esm/contracts/storyboard.js +4 -0
  582. package/dist-esm/contracts/storyboard.js.map +1 -0
  583. package/dist-esm/contracts/telemetry.js +33 -0
  584. package/dist-esm/contracts/telemetry.js.map +1 -0
  585. package/dist-esm/contracts/toolGatingPolicy.js +60 -0
  586. package/dist-esm/contracts/toolGatingPolicy.js.map +1 -0
  587. package/dist-esm/contracts/toolPromptMarkers.js +10 -0
  588. package/dist-esm/contracts/toolPromptMarkers.js.map +1 -0
  589. package/dist-esm/contracts/toolSurface.js +110 -0
  590. package/dist-esm/contracts/toolSurface.js.map +1 -0
  591. package/dist-esm/contracts/turnPolicy.js +13 -0
  592. package/dist-esm/contracts/turnPolicy.js.map +1 -0
  593. package/dist-esm/contracts/videoComposition.js +216 -0
  594. package/dist-esm/contracts/videoComposition.js.map +1 -0
  595. package/dist-esm/index.js +10 -0
  596. package/dist-esm/index.js.map +1 -0
  597. package/dist-esm/media/aspectRatio.js +65 -0
  598. package/dist-esm/media/aspectRatio.js.map +1 -0
  599. package/dist-esm/media/audioReference.js +186 -0
  600. package/dist-esm/media/audioReference.js.map +1 -0
  601. package/dist-esm/media/cameraAngle.js +41 -0
  602. package/dist-esm/media/cameraAngle.js.map +1 -0
  603. package/dist-esm/media/characterSheet.js +48 -0
  604. package/dist-esm/media/characterSheet.js.map +1 -0
  605. package/dist-esm/media/danceMontage.js +29 -0
  606. package/dist-esm/media/danceMontage.js.map +1 -0
  607. package/dist-esm/media/enhancementProfiles.js +219 -0
  608. package/dist-esm/media/enhancementProfiles.js.map +1 -0
  609. package/dist-esm/media/generationJob.js +87 -0
  610. package/dist-esm/media/generationJob.js.map +1 -0
  611. package/dist-esm/media/gptImage.js +150 -0
  612. package/dist-esm/media/gptImage.js.map +1 -0
  613. package/dist-esm/media/imageDimensions.js +59 -0
  614. package/dist-esm/media/imageDimensions.js.map +1 -0
  615. package/dist-esm/media/index.js +16 -0
  616. package/dist-esm/media/index.js.map +1 -0
  617. package/dist-esm/media/musicSettings.js +230 -0
  618. package/dist-esm/media/musicSettings.js.map +1 -0
  619. package/dist-esm/media/vendorModelPremium.js +81 -0
  620. package/dist-esm/media/vendorModelPremium.js.map +1 -0
  621. package/dist-esm/media/videoAppSettings.js +125 -0
  622. package/dist-esm/media/videoAppSettings.js.map +1 -0
  623. package/dist-esm/media/videoContentLimit.js +162 -0
  624. package/dist-esm/media/videoContentLimit.js.map +1 -0
  625. package/dist-esm/media/videoReference.js +72 -0
  626. package/dist-esm/media/videoReference.js.map +1 -0
  627. package/dist-esm/media/videoSettings.js +191 -0
  628. package/dist-esm/media/videoSettings.js.map +1 -0
  629. package/dist-esm/openai-tools/_manifests.generated.js +1789 -0
  630. package/dist-esm/openai-tools/_manifests.generated.js.map +1 -0
  631. package/dist-esm/openai-tools/app-tools.json +297 -0
  632. package/dist-esm/openai-tools/composition-tools.json +228 -0
  633. package/dist-esm/openai-tools/generation-tools.json +1263 -0
  634. package/dist-esm/openai-tools/index.js +27 -0
  635. package/dist-esm/openai-tools/index.js.map +1 -0
  636. package/dist-esm/package.json +3 -0
  637. package/dist-esm/public-skill-runtime/index.js +6390 -0
  638. package/dist-esm/public-skill-runtime/index.js.map +1 -0
  639. package/dist-esm/replay/index.js +3 -0
  640. package/dist-esm/replay/index.js.map +1 -0
  641. package/dist-esm/replay/redact.js +102 -0
  642. package/dist-esm/replay/redact.js.map +1 -0
  643. package/dist-esm/replay/types.js +20 -0
  644. package/dist-esm/replay/types.js.map +1 -0
  645. package/dist-esm/runtime/chatTypes.js +2 -0
  646. package/dist-esm/runtime/chatTypes.js.map +1 -0
  647. package/dist-esm/runtime/durableWorkflowClient.js +295 -0
  648. package/dist-esm/runtime/durableWorkflowClient.js.map +1 -0
  649. package/dist-esm/runtime/index.js +2 -0
  650. package/dist-esm/runtime/index.js.map +1 -0
  651. package/dist-esm/schemas/errors/error.schema.json +21 -0
  652. package/dist-esm/schemas/errors/repair-control.schema.json +40 -0
  653. package/dist-esm/schemas/events/artifact-reference.schema.json +22 -0
  654. package/dist-esm/schemas/events/progress-event.schema.json +28 -0
  655. package/dist-esm/schemas/events/workflow-event.schema.json +22 -0
  656. package/dist-esm/schemas/storyboards/storyboard-planning-contract.schema.json +108 -0
  657. package/dist-esm/schemas/tools/add_subtitles.schema.json +77 -0
  658. package/dist-esm/schemas/tools/animate_photo.schema.json +104 -0
  659. package/dist-esm/schemas/tools/apply_style.schema.json +37 -0
  660. package/dist-esm/schemas/tools/change_angle.schema.json +30 -0
  661. package/dist-esm/schemas/tools/compose_instrumental.schema.json +24 -0
  662. package/dist-esm/schemas/tools/compose_lyrics.schema.json +28 -0
  663. package/dist-esm/schemas/tools/compose_script.schema.json +68 -0
  664. package/dist-esm/schemas/tools/compose_workflow.schema.json +67 -0
  665. package/dist-esm/schemas/tools/compose_workflow_template.schema.json +156 -0
  666. package/dist-esm/schemas/tools/dance_montage.schema.json +47 -0
  667. package/dist-esm/schemas/tools/edit_image.schema.json +74 -0
  668. package/dist-esm/schemas/tools/enhance_prompt.schema.json +76 -0
  669. package/dist-esm/schemas/tools/extend_video.schema.json +42 -0
  670. package/dist-esm/schemas/tools/generate_image.schema.json +104 -0
  671. package/dist-esm/schemas/tools/generate_music.schema.json +62 -0
  672. package/dist-esm/schemas/tools/generate_video.schema.json +97 -0
  673. package/dist-esm/schemas/tools/orbit_video.schema.json +70 -0
  674. package/dist-esm/schemas/tools/overlay_video.schema.json +126 -0
  675. package/dist-esm/schemas/tools/refine_result.schema.json +43 -0
  676. package/dist-esm/schemas/tools/replace_video_segment.schema.json +60 -0
  677. package/dist-esm/schemas/tools/restore_photo.schema.json +47 -0
  678. package/dist-esm/schemas/tools/sound_to_video.schema.json +70 -0
  679. package/dist-esm/schemas/tools/stitch_video.schema.json +52 -0
  680. package/dist-esm/schemas/tools/video_to_video.schema.json +77 -0
  681. package/dist-esm/schemas/workflows/durable-workflow-run.schema.json +165 -0
  682. package/dist-esm/schemas/workflows/durable-workflow-step.schema.json +141 -0
  683. package/dist-esm/skill-runtime-source/crossSurfaceParity.js +469 -0
  684. package/dist-esm/skill-runtime-source/crossSurfaceParity.js.map +1 -0
  685. package/dist-esm/skill-runtime-source/index.js +4 -0
  686. package/dist-esm/skill-runtime-source/index.js.map +1 -0
  687. package/dist-esm/skill-runtime-source/seedanceAudioWindow.js +47 -0
  688. package/dist-esm/skill-runtime-source/seedanceAudioWindow.js.map +1 -0
  689. package/dist-esm/skill-runtime-source/workflowStatus.js +348 -0
  690. package/dist-esm/skill-runtime-source/workflowStatus.js.map +1 -0
  691. package/dist-esm/skills/asset_reference_management/index.js +3 -0
  692. package/dist-esm/skills/asset_reference_management/index.js.map +1 -0
  693. package/dist-esm/skills/asset_reference_management/manifest.js +228 -0
  694. package/dist-esm/skills/asset_reference_management/manifest.js.map +1 -0
  695. package/dist-esm/skills/asset_reference_management/modelRefRegistry.js +129 -0
  696. package/dist-esm/skills/asset_reference_management/modelRefRegistry.js.map +1 -0
  697. package/dist-esm/skills/asset_reference_management/types.js +2 -0
  698. package/dist-esm/skills/asset_reference_management/types.js.map +1 -0
  699. package/dist-esm/tools/definitions/add-subtitles/definition.js +80 -0
  700. package/dist-esm/tools/definitions/add-subtitles/definition.js.map +1 -0
  701. package/dist-esm/tools/definitions/animate-photo/definition.js +121 -0
  702. package/dist-esm/tools/definitions/animate-photo/definition.js.map +1 -0
  703. package/dist-esm/tools/definitions/apply-style/definition.js +47 -0
  704. package/dist-esm/tools/definitions/apply-style/definition.js.map +1 -0
  705. package/dist-esm/tools/definitions/change-angle/definition.js +46 -0
  706. package/dist-esm/tools/definitions/change-angle/definition.js.map +1 -0
  707. package/dist-esm/tools/definitions/dance-montage/dances.js +86 -0
  708. package/dist-esm/tools/definitions/dance-montage/dances.js.map +1 -0
  709. package/dist-esm/tools/definitions/dance-montage/definition.js +42 -0
  710. package/dist-esm/tools/definitions/dance-montage/definition.js.map +1 -0
  711. package/dist-esm/tools/definitions/edit-image/definition.js +125 -0
  712. package/dist-esm/tools/definitions/edit-image/definition.js.map +1 -0
  713. package/dist-esm/tools/definitions/extend-video/definition.js +48 -0
  714. package/dist-esm/tools/definitions/extend-video/definition.js.map +1 -0
  715. package/dist-esm/tools/definitions/generate-image/definition.js +104 -0
  716. package/dist-esm/tools/definitions/generate-image/definition.js.map +1 -0
  717. package/dist-esm/tools/definitions/generate-music/definition.js +72 -0
  718. package/dist-esm/tools/definitions/generate-music/definition.js.map +1 -0
  719. package/dist-esm/tools/definitions/generate-video/definition.js +117 -0
  720. package/dist-esm/tools/definitions/generate-video/definition.js.map +1 -0
  721. package/dist-esm/tools/definitions/index.js +41 -0
  722. package/dist-esm/tools/definitions/index.js.map +1 -0
  723. package/dist-esm/tools/definitions/orbit-video/definition.js +100 -0
  724. package/dist-esm/tools/definitions/orbit-video/definition.js.map +1 -0
  725. package/dist-esm/tools/definitions/overlay-video/definition.js +139 -0
  726. package/dist-esm/tools/definitions/overlay-video/definition.js.map +1 -0
  727. package/dist-esm/tools/definitions/refine-result/definition.js +53 -0
  728. package/dist-esm/tools/definitions/refine-result/definition.js.map +1 -0
  729. package/dist-esm/tools/definitions/replace-video-segment/definition.js +62 -0
  730. package/dist-esm/tools/definitions/replace-video-segment/definition.js.map +1 -0
  731. package/dist-esm/tools/definitions/restore-photo/definition.js +55 -0
  732. package/dist-esm/tools/definitions/restore-photo/definition.js.map +1 -0
  733. package/dist-esm/tools/definitions/sound-to-video/definition.js +88 -0
  734. package/dist-esm/tools/definitions/sound-to-video/definition.js.map +1 -0
  735. package/dist-esm/tools/definitions/stitch-video/definition.js +86 -0
  736. package/dist-esm/tools/definitions/stitch-video/definition.js.map +1 -0
  737. package/dist-esm/tools/definitions/types.js +2 -0
  738. package/dist-esm/tools/definitions/types.js.map +1 -0
  739. package/dist-esm/tools/definitions/video-to-video/definition.js +98 -0
  740. package/dist-esm/tools/definitions/video-to-video/definition.js.map +1 -0
  741. package/dist-esm/tools/index.js +18 -0
  742. package/dist-esm/tools/index.js.map +1 -0
  743. package/dist-esm/tools/normalizeArgs.js +37 -0
  744. package/dist-esm/tools/normalizeArgs.js.map +1 -0
  745. package/dist-esm/tools/result.js +31 -0
  746. package/dist-esm/tools/result.js.map +1 -0
  747. package/dist-esm/tools/shared/downloadFilename.js +147 -0
  748. package/dist-esm/tools/shared/downloadFilename.js.map +1 -0
  749. package/dist-esm/tools/shared/dynamicPromptBranches.js +183 -0
  750. package/dist-esm/tools/shared/dynamicPromptBranches.js.map +1 -0
  751. package/dist-esm/tools/shared/errorClassification.js +74 -0
  752. package/dist-esm/tools/shared/errorClassification.js.map +1 -0
  753. package/dist-esm/tools/shared/imageEncoding.js +8 -0
  754. package/dist-esm/tools/shared/imageEncoding.js.map +1 -0
  755. package/dist-esm/tools/shared/llmHelpers.js +137 -0
  756. package/dist-esm/tools/shared/llmHelpers.js.map +1 -0
  757. package/dist-esm/tools/shared/modelRegistry.js +91 -0
  758. package/dist-esm/tools/shared/modelRegistry.js.map +1 -0
  759. package/dist-esm/tools/shared/multiImageIntent.js +10 -0
  760. package/dist-esm/tools/shared/multiImageIntent.js.map +1 -0
  761. package/dist-esm/tools/shared/numberOfVariationsAlignment.js +34 -0
  762. package/dist-esm/tools/shared/numberOfVariationsAlignment.js.map +1 -0
  763. package/dist-esm/tools/shared/policyChecks.js +73 -0
  764. package/dist-esm/tools/shared/policyChecks.js.map +1 -0
  765. package/dist-esm/tools/shared/promptRefinementCache.js +70 -0
  766. package/dist-esm/tools/shared/promptRefinementCache.js.map +1 -0
  767. package/dist-esm/tools/shared/promptSanitizer.js +70 -0
  768. package/dist-esm/tools/shared/promptSanitizer.js.map +1 -0
  769. package/dist-esm/tools/shared/seedancePolicyErrors.js +232 -0
  770. package/dist-esm/tools/shared/seedancePolicyErrors.js.map +1 -0
  771. package/dist-esm/tools/shared/slotFailureSummary.js +60 -0
  772. package/dist-esm/tools/shared/slotFailureSummary.js.map +1 -0
  773. package/dist-esm/tools/shared/visionDescriptionCache.js +29 -0
  774. package/dist-esm/tools/shared/visionDescriptionCache.js.map +1 -0
  775. package/dist-esm/types/index.js +31 -0
  776. package/dist-esm/types/index.js.map +1 -0
  777. package/dist-esm/utils/errors.js +86 -0
  778. package/dist-esm/utils/errors.js.map +1 -0
  779. package/dist-esm/utils/helpers.js +419 -0
  780. package/dist-esm/utils/helpers.js.map +1 -0
  781. package/dist-esm/workflows/bindings.js +212 -0
  782. package/dist-esm/workflows/bindings.js.map +1 -0
  783. package/dist-esm/workflows/executor-ports.js +2 -0
  784. package/dist-esm/workflows/executor-ports.js.map +1 -0
  785. package/dist-esm/workflows/executor.js +522 -0
  786. package/dist-esm/workflows/executor.js.map +1 -0
  787. package/dist-esm/workflows/index.js +8 -0
  788. package/dist-esm/workflows/index.js.map +1 -0
  789. package/dist-esm/workflows/primitives/index.js +3 -0
  790. package/dist-esm/workflows/primitives/index.js.map +1 -0
  791. package/dist-esm/workflows/primitives/retryUntilCondition.js +95 -0
  792. package/dist-esm/workflows/primitives/retryUntilCondition.js.map +1 -0
  793. package/dist-esm/workflows/primitives/validateWithRubric.js +141 -0
  794. package/dist-esm/workflows/primitives/validateWithRubric.js.map +1 -0
  795. package/dist-esm/workflows/summarize.js +51 -0
  796. package/dist-esm/workflows/summarize.js.map +1 -0
  797. package/dist-esm/workflows/types.js +2 -0
  798. package/dist-esm/workflows/types.js.map +1 -0
  799. package/dist-esm/workflows/validation.js +330 -0
  800. package/dist-esm/workflows/validation.js.map +1 -0
  801. package/media/index.d.ts +1 -0
  802. package/media/index.js +2 -0
  803. package/package.json +213 -0
  804. package/public-skill-runtime/index.d.ts +1 -0
  805. package/public-skill-runtime/index.js +2 -0
  806. package/replay/index.d.ts +1 -0
  807. package/replay/index.js +2 -0
  808. package/runtime/index.d.ts +1 -0
  809. package/runtime/index.js +2 -0
  810. package/skills/asset_reference_management/index.d.ts +1 -0
  811. package/skills/asset_reference_management/index.js +2 -0
  812. package/src/skill-runtime-source/crossSurfaceParity.ts +525 -0
  813. package/src/skill-runtime-source/index.ts +10 -0
  814. package/src/skill-runtime-source/seedanceAudioWindow.ts +61 -0
  815. package/src/skill-runtime-source/workflowStatus.ts +375 -0
  816. package/tools/index.d.ts +1 -0
  817. package/tools/index.js +2 -0
  818. package/workflows/index.d.ts +1 -0
  819. package/workflows/index.js +2 -0
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HOSTED_COMPOSITION_ROUTER_MAX_TOKENS = void 0;
4
+ exports.buildEnhancePromptToolArgs = buildEnhancePromptToolArgs;
5
+ exports.buildLyricsCompositionToolArgs = buildLyricsCompositionToolArgs;
6
+ exports.buildInstrumentalCompositionToolArgs = buildInstrumentalCompositionToolArgs;
7
+ exports.buildScriptCompositionToolArgs = buildScriptCompositionToolArgs;
8
+ exports.buildComposeWorkflowToolArgs = buildComposeWorkflowToolArgs;
9
+ exports.buildComposeWorkflowTemplateToolArgs = buildComposeWorkflowTemplateToolArgs;
10
+ exports.buildWanScriptCompositionToolArgs = buildWanScriptCompositionToolArgs;
11
+ exports.buildHostedCompositionToolMessages = buildHostedCompositionToolMessages;
12
+ const randomThemes_js_1 = require("./randomThemes.js");
13
+ exports.HOSTED_COMPOSITION_ROUTER_MAX_TOKENS = 512;
14
+ function buildEnhancePromptToolArgs(input) {
15
+ return {
16
+ prompt: input.prompt.trim() || `Come up with a unique, creative image inspired by: ${input.randomTheme || (0, randomThemes_js_1.getRandomTheme)()}. Be original and surprising.`,
17
+ target_output: input.targetOutput ?? 'image_prompt',
18
+ destination_tool: input.destinationTool ?? 'generate_image',
19
+ ...(input.destinationModel ? { destination_model: input.destinationModel } : {}),
20
+ ...(input.promptingType ? { prompting_type: input.promptingType } : {}),
21
+ ...(input.modelTitle ? { model_title: input.modelTitle } : {}),
22
+ ...(input.stylePrompt?.trim() ? { style_prompt: input.stylePrompt.trim() } : {}),
23
+ };
24
+ }
25
+ function buildLyricsCompositionToolArgs(input) {
26
+ return {
27
+ prompt: input.prompt.trim() || `Come up with a unique, original song about: ${input.randomTheme || (0, randomThemes_js_1.getRandomLyricsTheme)()}. Be creative and surprising.`,
28
+ language: input.language ?? 'unknown',
29
+ ...(input.musicPrompt?.trim() ? { music_prompt: input.musicPrompt.trim() } : {}),
30
+ };
31
+ }
32
+ function buildInstrumentalCompositionToolArgs(input) {
33
+ return {
34
+ prompt: input.prompt.trim() || `Come up with a unique, original instrumental piece inspired by: ${input.randomTheme || (0, randomThemes_js_1.getRandomLyricsTheme)()}. Be creative and surprising.`,
35
+ ...(input.musicPrompt?.trim() ? { music_prompt: input.musicPrompt.trim() } : {}),
36
+ };
37
+ }
38
+ function buildScriptCompositionToolArgs(input) {
39
+ const brief = input.brief ?? input.prompt ?? '';
40
+ return {
41
+ brief: brief.trim() || input.firstFrameDescription?.trim() || `Come up with a unique, original video scene inspired by: ${input.randomTheme || (0, randomThemes_js_1.getRandomTheme)()}. Be creative and surprising.`,
42
+ script_type: input.scriptType ?? 'video_prompt',
43
+ destination_tool: input.destinationTool ?? 'generate_video',
44
+ ...(input.destinationModel ? { destination_model: input.destinationModel } : {}),
45
+ ...(input.durationSeconds ? { duration_seconds: input.durationSeconds } : {}),
46
+ ...(input.firstFrameDescription?.trim()
47
+ ? { first_frame_description: input.firstFrameDescription.trim() }
48
+ : {}),
49
+ ...(input.firstFrameDataUrl ? { first_frame_data_url: input.firstFrameDataUrl } : {}),
50
+ ...(input.lastFrameDataUrl ? { last_frame_data_url: input.lastFrameDataUrl } : {}),
51
+ };
52
+ }
53
+ function buildComposeWorkflowToolArgs(input) {
54
+ const destinationModels = input.destinationModels ? {
55
+ ...(input.destinationModels.image ? { image: input.destinationModels.image } : {}),
56
+ ...(input.destinationModels.video ? { video: input.destinationModels.video } : {}),
57
+ ...(input.destinationModels.music ? { music: input.destinationModels.music } : {}),
58
+ } : undefined;
59
+ return {
60
+ brief: input.brief.trim(),
61
+ ...(typeof input.sceneCount === 'number' && Number.isFinite(input.sceneCount)
62
+ ? { scene_count: input.sceneCount }
63
+ : {}),
64
+ ...(typeof input.durationSeconds === 'number' && Number.isFinite(input.durationSeconds)
65
+ ? { duration_seconds: input.durationSeconds }
66
+ : {}),
67
+ ...(input.aspectRatio?.trim() ? { aspect_ratio: input.aspectRatio.trim() } : {}),
68
+ ...(input.style?.trim() ? { style: input.style.trim() } : {}),
69
+ ...(destinationModels && Object.keys(destinationModels).length > 0
70
+ ? { destination_models: destinationModels }
71
+ : {}),
72
+ ...(typeof input.maxEstimatedCapacityUnits === 'number'
73
+ && Number.isFinite(input.maxEstimatedCapacityUnits)
74
+ ? { max_estimated_capacity_units: input.maxEstimatedCapacityUnits }
75
+ : {}),
76
+ ...(typeof input.includeAudio === 'boolean' ? { include_audio: input.includeAudio } : {}),
77
+ ...(input.returnFormat ? { return_format: input.returnFormat } : {}),
78
+ };
79
+ }
80
+ function buildComposeWorkflowTemplateToolArgs(input) {
81
+ const base = buildComposeWorkflowToolArgs(input);
82
+ const out = { ...base, name: input.name.trim() };
83
+ const description = input.description?.trim();
84
+ if (description)
85
+ out.description = description;
86
+ if (input.category)
87
+ out.category = input.category;
88
+ if (input.visibility)
89
+ out.visibility = input.visibility;
90
+ if (input.inputs && input.inputs.length > 0) {
91
+ out.inputs = input.inputs.map((decl) => {
92
+ const entry = { name: decl.name, type: decl.type };
93
+ if (decl.required !== undefined)
94
+ entry.required = decl.required;
95
+ if (decl.description?.trim())
96
+ entry.description = decl.description.trim();
97
+ if (decl.default !== undefined)
98
+ entry.default = decl.default;
99
+ if (decl.options && decl.options.length > 0)
100
+ entry.options = decl.options;
101
+ if (decl.multiple)
102
+ entry.multiple = decl.multiple;
103
+ if (decl.internal !== undefined)
104
+ entry.internal = decl.internal;
105
+ return entry;
106
+ });
107
+ }
108
+ if (input.existingTemplate) {
109
+ out.existing_template = input.existingTemplate;
110
+ }
111
+ return out;
112
+ }
113
+ function buildWanScriptCompositionToolArgs(params) {
114
+ return buildScriptCompositionToolArgs({
115
+ brief: params.prompt,
116
+ destinationModel: 'wan22',
117
+ durationSeconds: params.duration,
118
+ firstFrameDescription: params.firstFrameDescription,
119
+ firstFrameDataUrl: params.firstFrameDataUrl,
120
+ lastFrameDataUrl: params.lastFrameDataUrl,
121
+ randomTheme: params.randomTheme,
122
+ });
123
+ }
124
+ function buildHostedCompositionToolMessages(request) {
125
+ return [
126
+ {
127
+ role: 'system',
128
+ content: 'You are a strict dispatcher for Sogni synchronous creative tools. Call the requested tool exactly once with the exact JSON arguments supplied by the user. Do not rewrite, summarize, or add creative content in this dispatch step.',
129
+ },
130
+ {
131
+ role: 'user',
132
+ content: JSON.stringify({
133
+ tool: request.toolName,
134
+ arguments: request.arguments,
135
+ }),
136
+ },
137
+ ];
138
+ }
139
+ //# sourceMappingURL=hostedComposition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostedComposition.js","sourceRoot":"","sources":["../../src/contracts/hostedComposition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ export interface HostedToolSchemaProperty {
2
+ type?: string | string[];
3
+ const?: unknown;
4
+ enum?: unknown[];
5
+ minimum?: number;
6
+ maximum?: number;
7
+ exclusiveMinimum?: number | boolean;
8
+ exclusiveMaximum?: number | boolean;
9
+ minLength?: number;
10
+ maxLength?: number;
11
+ pattern?: string;
12
+ minItems?: number;
13
+ maxItems?: number;
14
+ items?: HostedToolSchemaProperty | HostedToolSchemaProperty[];
15
+ required?: string[];
16
+ properties?: Record<string, HostedToolSchemaProperty>;
17
+ additionalProperties?: boolean | HostedToolSchemaProperty;
18
+ anyOf?: HostedToolSchemaProperty[];
19
+ oneOf?: HostedToolSchemaProperty[];
20
+ allOf?: HostedToolSchemaProperty[];
21
+ }
22
+ export interface HostedToolSchema extends HostedToolSchemaProperty {
23
+ type?: string | string[];
24
+ }
25
+ export interface HostedToolDefinition {
26
+ function: {
27
+ name: string;
28
+ parameters?: HostedToolSchema;
29
+ };
30
+ }
31
+ export interface ValidateHostedToolArgumentsOptions {
32
+ skipEnumProperties?: string[];
33
+ coercePrimitives?: boolean;
34
+ stripUnknownProperties?: boolean;
35
+ }
36
+ export interface HostedToolArgumentValidationResult {
37
+ ok: boolean;
38
+ errors: string[];
39
+ }
40
+ export interface NormalizeHostedToolArgumentsResult extends HostedToolArgumentValidationResult {
41
+ cleaned: Record<string, unknown>;
42
+ warnings: string[];
43
+ }
44
+ export declare function validateAndNormalizeHostedToolArguments(tools: HostedToolDefinition[], toolName: string, args: Record<string, unknown>, options?: ValidateHostedToolArgumentsOptions): NormalizeHostedToolArgumentsResult;
45
+ export declare function validateHostedToolArguments(tools: HostedToolDefinition[], toolName: string, args: Record<string, unknown>, options?: ValidateHostedToolArgumentsOptions): HostedToolArgumentValidationResult;
46
+ export declare function assertHostedToolArguments(tools: HostedToolDefinition[], toolName: string, args: Record<string, unknown>, options?: ValidateHostedToolArgumentsOptions): void;
47
+ //# sourceMappingURL=hostedToolValidation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostedToolValidation.d.ts","sourceRoot":"","sources":["../../src/contracts/hostedToolValidation.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,wBAAwB,GAAG,wBAAwB,EAAE,CAAC;IAC9D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IACtD,oBAAoB,CAAC,EAAE,OAAO,GAAG,wBAAwB,CAAC;IAC1D,KAAK,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,wBAAwB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB;IAChE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,gBAAgB,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,kCAAkC;IACjD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,kCAAkC;IACjD,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,kCAAmC,SAAQ,kCAAkC;IAC5F,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAsUD,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,oBAAoB,EAAE,EAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,kCAAuC,GAC/C,kCAAkC,CA6CpC;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,kCAAuC,GAC/C,kCAAkC,CAMpC;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,kCAAkC,GAC3C,IAAI,CAKN"}
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateAndNormalizeHostedToolArguments = validateAndNormalizeHostedToolArguments;
4
+ exports.validateHostedToolArguments = validateHostedToolArguments;
5
+ exports.assertHostedToolArguments = assertHostedToolArguments;
6
+ function matchesType(value, type) {
7
+ switch (type) {
8
+ case 'array':
9
+ return Array.isArray(value);
10
+ case 'integer':
11
+ return typeof value === 'number' && Number.isInteger(value);
12
+ case 'number':
13
+ return typeof value === 'number' && Number.isFinite(value);
14
+ case 'boolean':
15
+ return typeof value === 'boolean';
16
+ case 'object':
17
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
18
+ case 'string':
19
+ return typeof value === 'string';
20
+ case 'null':
21
+ return value === null;
22
+ default:
23
+ return true;
24
+ }
25
+ }
26
+ function typeLabel(type) {
27
+ if (Array.isArray(type))
28
+ return type.join(' or ');
29
+ return type ?? 'valid value';
30
+ }
31
+ function typeList(type) {
32
+ if (!type)
33
+ return [];
34
+ return Array.isArray(type) ? type : [type];
35
+ }
36
+ function formatEnum(values) {
37
+ return values.map(value => JSON.stringify(value)).join(', ');
38
+ }
39
+ function isRecord(value) {
40
+ return !!value && typeof value === 'object' && !Array.isArray(value);
41
+ }
42
+ function valuesEqual(left, right) {
43
+ if (Object.is(left, right))
44
+ return true;
45
+ if (typeof left !== typeof right)
46
+ return false;
47
+ if (left === null || right === null)
48
+ return left === right;
49
+ if (typeof left !== 'object')
50
+ return false;
51
+ try {
52
+ return JSON.stringify(left) === JSON.stringify(right);
53
+ }
54
+ catch {
55
+ return false;
56
+ }
57
+ }
58
+ function coerceValueForTypes(value, allowedTypes) {
59
+ if (typeof value !== 'string')
60
+ return { value, coerced: false };
61
+ const trimmed = value.trim();
62
+ if (!trimmed)
63
+ return { value, coerced: false };
64
+ if (allowedTypes.includes('integer') || allowedTypes.includes('number')) {
65
+ const numberValue = Number(trimmed);
66
+ if (Number.isFinite(numberValue)
67
+ && (!allowedTypes.includes('integer') || Number.isInteger(numberValue))) {
68
+ return { value: numberValue, coerced: true };
69
+ }
70
+ }
71
+ if (allowedTypes.includes('boolean')) {
72
+ if (/^(?:true|false)$/i.test(trimmed)) {
73
+ return { value: trimmed.toLowerCase() === 'true', coerced: true };
74
+ }
75
+ }
76
+ return { value, coerced: false };
77
+ }
78
+ function validateNumberBounds(path, value, schema, errors) {
79
+ if (schema.minimum !== undefined && value < schema.minimum) {
80
+ errors.push(`Argument "${path}" must be at least ${schema.minimum}`);
81
+ }
82
+ if (schema.maximum !== undefined && value > schema.maximum) {
83
+ errors.push(`Argument "${path}" must be at most ${schema.maximum}`);
84
+ }
85
+ if (typeof schema.exclusiveMinimum === 'number' && value <= schema.exclusiveMinimum) {
86
+ errors.push(`Argument "${path}" must be greater than ${schema.exclusiveMinimum}`);
87
+ }
88
+ if (typeof schema.exclusiveMaximum === 'number' && value >= schema.exclusiveMaximum) {
89
+ errors.push(`Argument "${path}" must be less than ${schema.exclusiveMaximum}`);
90
+ }
91
+ if (schema.exclusiveMinimum === true && schema.minimum !== undefined && value <= schema.minimum) {
92
+ errors.push(`Argument "${path}" must be greater than ${schema.minimum}`);
93
+ }
94
+ if (schema.exclusiveMaximum === true && schema.maximum !== undefined && value >= schema.maximum) {
95
+ errors.push(`Argument "${path}" must be less than ${schema.maximum}`);
96
+ }
97
+ }
98
+ function validateStringConstraints(path, value, schema, errors) {
99
+ if (schema.minLength !== undefined && value.length < schema.minLength) {
100
+ errors.push(`Argument "${path}" must contain at least ${schema.minLength} character${schema.minLength === 1 ? '' : 's'}`);
101
+ }
102
+ if (schema.maxLength !== undefined && value.length > schema.maxLength) {
103
+ errors.push(`Argument "${path}" must contain at most ${schema.maxLength} character${schema.maxLength === 1 ? '' : 's'}`);
104
+ }
105
+ if (schema.pattern) {
106
+ try {
107
+ if (!new RegExp(`^(?:${schema.pattern})$`).test(value)) {
108
+ errors.push(`Argument "${path}" must match pattern ${JSON.stringify(schema.pattern)}`);
109
+ }
110
+ }
111
+ catch {
112
+ errors.push(`Schema for "${path}" contains invalid pattern ${JSON.stringify(schema.pattern)}`);
113
+ }
114
+ }
115
+ }
116
+ function validateCompositeSchema(path, value, schema, context) {
117
+ if (schema.allOf) {
118
+ let nextValue = value;
119
+ for (const childSchema of schema.allOf) {
120
+ const result = validateValueAgainstSchema(path, nextValue, childSchema, context);
121
+ nextValue = result.value;
122
+ }
123
+ return { matched: true, value: nextValue };
124
+ }
125
+ const alternatives = schema.oneOf ?? schema.anyOf;
126
+ if (!alternatives)
127
+ return { matched: true, value };
128
+ const matches = [];
129
+ for (const childSchema of alternatives) {
130
+ const trial = {
131
+ ...context,
132
+ errors: [],
133
+ warnings: [],
134
+ };
135
+ const result = validateValueAgainstSchema(path, value, childSchema, trial);
136
+ if (trial.errors.length === 0)
137
+ matches.push(result.value);
138
+ }
139
+ if (schema.oneOf && matches.length !== 1) {
140
+ context.errors.push(`Argument "${path}" must match exactly one allowed schema`);
141
+ return { matched: false, value };
142
+ }
143
+ if (schema.anyOf && matches.length < 1) {
144
+ context.errors.push(`Argument "${path}" must match at least one allowed schema`);
145
+ return { matched: false, value };
146
+ }
147
+ return { matched: true, value: matches[0] ?? value };
148
+ }
149
+ function validateObjectAgainstSchema(path, value, schema, context) {
150
+ const properties = schema.properties ?? {};
151
+ const cleaned = {};
152
+ for (const required of schema.required ?? []) {
153
+ const propValue = value[required];
154
+ const isMissing = propValue === undefined
155
+ || propValue === null
156
+ || propValue === ''
157
+ || (Array.isArray(propValue) && propValue.length === 0);
158
+ if (isMissing) {
159
+ context.errors.push(`Missing required argument "${path ? `${path}.` : ''}${required}"`);
160
+ }
161
+ }
162
+ for (const [name, entryValue] of Object.entries(value)) {
163
+ if (entryValue === undefined || entryValue === null) {
164
+ if (name in properties || !context.stripUnknownProperties)
165
+ cleaned[name] = entryValue;
166
+ continue;
167
+ }
168
+ const property = properties[name];
169
+ if (!property) {
170
+ if (schema.additionalProperties === false || context.stripUnknownProperties) {
171
+ context.warnings.push(`Stripped unknown argument "${path ? `${path}.` : ''}${name}"`);
172
+ }
173
+ else if (isRecord(schema.additionalProperties)) {
174
+ cleaned[name] = validateValueAgainstSchema(path ? `${path}.${name}` : name, entryValue, schema.additionalProperties, context).value;
175
+ }
176
+ else {
177
+ cleaned[name] = entryValue;
178
+ }
179
+ continue;
180
+ }
181
+ cleaned[name] = validateValueAgainstSchema(path ? `${path}.${name}` : name, entryValue, property, context).value;
182
+ }
183
+ return cleaned;
184
+ }
185
+ function validateArrayAgainstSchema(path, value, schema, context) {
186
+ if (schema.minItems !== undefined && value.length < schema.minItems) {
187
+ context.errors.push(`Argument "${path}" must contain at least ${schema.minItems} item${schema.minItems === 1 ? '' : 's'}`);
188
+ }
189
+ if (schema.maxItems !== undefined && value.length > schema.maxItems) {
190
+ context.errors.push(`Argument "${path}" must contain at most ${schema.maxItems} item${schema.maxItems === 1 ? '' : 's'}`);
191
+ }
192
+ if (!schema.items)
193
+ return value;
194
+ if (Array.isArray(schema.items)) {
195
+ const tupleSchemas = schema.items;
196
+ return value.map((item, index) => {
197
+ const itemSchema = tupleSchemas[index];
198
+ return itemSchema
199
+ ? validateValueAgainstSchema(`${path}[${index}]`, item, itemSchema, context).value
200
+ : item;
201
+ });
202
+ }
203
+ return value.map((item, index) => validateValueAgainstSchema(`${path}[${index}]`, item, schema.items, context).value);
204
+ }
205
+ function validateValueAgainstSchema(path, rawValue, schema, context) {
206
+ const composite = validateCompositeSchema(path, rawValue, schema, context);
207
+ if (!composite.matched)
208
+ return { value: rawValue };
209
+ let value = composite.value;
210
+ const allowedTypes = typeList(schema.type);
211
+ if (context.coercePrimitives
212
+ && allowedTypes.length > 0
213
+ && !allowedTypes.some(type => matchesType(value, type))) {
214
+ const coerced = coerceValueForTypes(value, allowedTypes);
215
+ if (coerced.coerced) {
216
+ context.warnings.push(`Coerced argument "${path}" to ${typeof coerced.value}`);
217
+ value = coerced.value;
218
+ }
219
+ }
220
+ if (allowedTypes.length > 0 && !allowedTypes.some(type => matchesType(value, type))) {
221
+ context.errors.push(`Argument "${path}" must be ${typeLabel(schema.type)}`);
222
+ return { value };
223
+ }
224
+ if (schema.const !== undefined && !valuesEqual(value, schema.const)) {
225
+ context.errors.push(`Argument "${path}" must be ${JSON.stringify(schema.const)}`);
226
+ }
227
+ if (schema.enum
228
+ && !context.skipEnumProperties.has(path)
229
+ && !context.skipEnumProperties.has(path.split('.').at(-1) ?? path)
230
+ && !schema.enum.some(candidate => valuesEqual(candidate, value))) {
231
+ context.errors.push(`Argument "${path}" must be one of ${formatEnum(schema.enum)}`);
232
+ }
233
+ if (typeof value === 'number') {
234
+ validateNumberBounds(path, value, schema, context.errors);
235
+ }
236
+ if (typeof value === 'string') {
237
+ validateStringConstraints(path, value, schema, context.errors);
238
+ }
239
+ if (Array.isArray(value)) {
240
+ value = validateArrayAgainstSchema(path, value, schema, context);
241
+ }
242
+ if (isRecord(value)) {
243
+ value = validateObjectAgainstSchema(path, value, schema, context);
244
+ }
245
+ return { value };
246
+ }
247
+ function validateAndNormalizeHostedToolArguments(tools, toolName, args, options = {}) {
248
+ if (!args || typeof args !== 'object' || Array.isArray(args)) {
249
+ return {
250
+ ok: false,
251
+ errors: ['Tool arguments must be a JSON object'],
252
+ cleaned: {},
253
+ warnings: [],
254
+ };
255
+ }
256
+ const tool = tools.find(candidate => candidate.function.name === toolName);
257
+ if (!tool) {
258
+ return {
259
+ ok: false,
260
+ errors: [`Unknown hosted Sogni tool "${toolName}"`],
261
+ cleaned: args,
262
+ warnings: [],
263
+ };
264
+ }
265
+ const schema = tool.function.parameters;
266
+ if (!schema) {
267
+ return { ok: true, errors: [], cleaned: args, warnings: [] };
268
+ }
269
+ const context = {
270
+ skipEnumProperties: new Set(options.skipEnumProperties ?? ['model']),
271
+ coercePrimitives: options.coercePrimitives === true,
272
+ stripUnknownProperties: options.stripUnknownProperties === true,
273
+ errors: [],
274
+ warnings: [],
275
+ };
276
+ const normalizedSchema = {
277
+ ...schema,
278
+ type: schema.type ?? 'object',
279
+ };
280
+ const cleaned = validateValueAgainstSchema('', args, normalizedSchema, context).value;
281
+ return {
282
+ ok: context.errors.length === 0,
283
+ errors: context.errors,
284
+ cleaned: isRecord(cleaned) ? cleaned : args,
285
+ warnings: context.warnings,
286
+ };
287
+ }
288
+ function validateHostedToolArguments(tools, toolName, args, options = {}) {
289
+ const result = validateAndNormalizeHostedToolArguments(tools, toolName, args, options);
290
+ return {
291
+ ok: result.ok,
292
+ errors: result.errors,
293
+ };
294
+ }
295
+ function assertHostedToolArguments(tools, toolName, args, options) {
296
+ const result = validateHostedToolArguments(tools, toolName, args, options);
297
+ if (!result.ok) {
298
+ throw new Error(`Invalid ${toolName} arguments: ${result.errors.join('; ')}`);
299
+ }
300
+ }
301
+ //# sourceMappingURL=hostedToolValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostedToolValidation.js","sourceRoot":"","sources":["../../src/contracts/hostedToolValidation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { SogniChatMessage } from '../runtime/chatTypes.js';
2
+ import type { ToolDefinition } from '../tools/definitions/types.js';
3
+ export declare const ID_LORA_MAX_TOKENS = 1024;
4
+ export declare const ID_LORA_COMPOSITION_TOOL: ToolDefinition;
5
+ export interface IdLoRaPromptParts {
6
+ visual: string;
7
+ speech: string;
8
+ sounds: string;
9
+ }
10
+ export declare function buildIdLoRaConversionMessages(ltxPrompt: string): SogniChatMessage[];
11
+ export declare function parseToolCallIdLoRaParts(args: Record<string, unknown>): IdLoRaPromptParts;
12
+ export declare function formatIdLoRaPrompt(parts: IdLoRaPromptParts): string;
13
+ //# sourceMappingURL=idLoraPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idLoraPrompt.d.ts","sourceRoot":"","sources":["../../src/contracts/idLoraPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAyBvC,eAAO,MAAM,wBAAwB,EAAE,cA2BtC,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAQnF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,iBAAiB,CAMzF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAKnE"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ID_LORA_COMPOSITION_TOOL = exports.ID_LORA_MAX_TOKENS = void 0;
4
+ exports.buildIdLoRaConversionMessages = buildIdLoRaConversionMessages;
5
+ exports.parseToolCallIdLoRaParts = parseToolCallIdLoRaParts;
6
+ exports.formatIdLoRaPrompt = formatIdLoRaPrompt;
7
+ exports.ID_LORA_MAX_TOKENS = 1024;
8
+ const ID_LORA_SYSTEM_PROMPT = `You restructure dense cinematic LTX video prompts into the three-section format used by ID-LoRA, an identity-preserving audio-video generation model. This is a structural transform — preserve every piece of information from the input, do not summarize, do not drop detail. Every piece of input information must appear in exactly one section. Return your result via the compose_id_lora_prompt tool.
9
+
10
+ SECTION RULES:
11
+
12
+ [VISUAL]: Scene, subject appearance (age, build, hair, clothing, distinguishing features), setting, lighting, camera shot/movement, and physically visible action. Be descriptive — include shot type, colors, clothing, background details. MUST mention that the person is speaking to avoid voice-overs (e.g. "his mouth moves as he speaks", "she talks animatedly", "lips move in time with the words"). Physical acting beats belong here. Dialogue WORDS must NOT appear here — replace any quoted speech with narrative descriptions like "starts speaking", "continues talking", "pauses mid-sentence". Keep present-tense and concrete. No ambient sound descriptions here.
13
+
14
+ [SPEECH]: Raw transcript ONLY — the literal words spoken, no quotation marks, no attribution ("he says"), no acting descriptions, no stage directions. Use \`...\` for pauses or beats between phrases.
15
+ - If the source contains quoted dialogue, use it verbatim.
16
+ - If the source mentions speaking/talking/whispering but provides no exact words, leave this empty and keep only the visible mouth movement / vocal delivery cues in [VISUAL] or [SOUNDS]. Do not invent words.
17
+ - If the source has no speech cues at all, leave this empty.
18
+
19
+ [SOUNDS]: Controls both speaking style AND ambient audio. First describe the speaker's vocal qualities (tone, volume, pace, microphone proximity, accent — e.g. "warm male voice, close mic, conversational pace"). Then describe ambient and environmental audio from the source (music, room noise, weather, sound effects). 1-3 sentences combined.
20
+
21
+ EXAMPLE:
22
+
23
+ Input:
24
+ "You know, I used to think this was a bad idea," he says while pausing to light a cigarette, "But now I'm not so sure." Warm bar lighting, low jazz playing.
25
+
26
+ Output:
27
+ visual: Medium shot in a warm-lit bar. A man looks at the camera, starts speaking, pauses to take out a cigarette and light it, then continues talking while exhaling a little smoke. Natural hand motion, subtle pause during the lighting action, his mouth moves clearly in sync with the words.
28
+ speech: You know, I used to think this was a bad idea. ... But now I'm not so sure.
29
+ sounds: Calm conversational male voice, close mic, brief pause mid-sentence. Lighter flick and cigarette inhale audible, low jazz plays softly in the background, quiet bar ambience.`;
30
+ exports.ID_LORA_COMPOSITION_TOOL = {
31
+ type: 'function',
32
+ function: {
33
+ name: 'compose_id_lora_prompt',
34
+ description: 'Output the LTX prompt restructured into ID-LoRA visual/speech/sounds sections.',
35
+ parameters: {
36
+ type: 'object',
37
+ properties: {
38
+ visual: {
39
+ type: 'string',
40
+ description: 'Scene, subject appearance, lighting, camera, and visible action. No dialogue, no ambient sound.',
41
+ },
42
+ speech: {
43
+ type: 'string',
44
+ description: 'Literal words spoken by the subject, verbatim, no quotes. Empty string if the source has no speech.',
45
+ },
46
+ sounds: {
47
+ type: 'string',
48
+ description: "Speaker vocal qualities (volume, tone, mic proximity) followed by ambient/background audio.",
49
+ },
50
+ },
51
+ required: ['visual', 'speech', 'sounds'],
52
+ },
53
+ },
54
+ };
55
+ function buildIdLoRaConversionMessages(ltxPrompt) {
56
+ return [
57
+ { role: 'system', content: ID_LORA_SYSTEM_PROMPT },
58
+ {
59
+ role: 'user',
60
+ content: `Convert this LTX prompt to ID-LoRA format:\n\n${ltxPrompt.trim()}`,
61
+ },
62
+ ];
63
+ }
64
+ function parseToolCallIdLoRaParts(args) {
65
+ return {
66
+ visual: String(args.visual || '').trim(),
67
+ speech: String(args.speech || '').trim(),
68
+ sounds: String(args.sounds || '').trim(),
69
+ };
70
+ }
71
+ function formatIdLoRaPrompt(parts) {
72
+ const lines = [`[VISUAL]: ${parts.visual}`];
73
+ if (parts.speech)
74
+ lines.push(`[SPEECH]: ${parts.speech}`);
75
+ lines.push(`[SOUNDS]: ${parts.sounds}`);
76
+ return lines.join('\n');
77
+ }
78
+ //# sourceMappingURL=idLoraPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idLoraPrompt.js","sourceRoot":"","sources":["../../src/contracts/idLoraPrompt.ts"],"names":[],"mappings":";;;AA+DA,sEAQC;AAED,4DAMC;AAED,gDAKC;AAnFY,QAAA,kBAAkB,GAAG,IAAI,CAAC;AAEvC,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;sLAqBwJ,CAAC;AAE1K,QAAA,wBAAwB,GAAmB;IACtD,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,gFAAgF;QAC7F,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,iGAAiG;iBACpG;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,qGAAqG;iBACxG;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT,6FAA6F;iBAChG;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;SACzC;KACF;CACF,CAAC;AAQF,SAAgB,6BAA6B,CAAC,SAAiB;IAC7D,OAAO;QACL,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE;QAClD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,iDAAiD,SAAS,CAAC,IAAI,EAAE,EAAE;SAC7E;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB,CAAC,IAA6B;IACpE,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACxC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QACxC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;KACzC,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAwB;IACzD,MAAM,KAAK,GAAG,CAAC,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1D,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { SogniChatMessage } from '../runtime/chatTypes.js';
2
+ import type { ToolDefinition } from '../tools/definitions/types.js';
3
+ export type ImagePromptingType = 'flux' | 'sdxl' | 'sd15' | 'pony' | 'fast' | 'sd3' | 'editing' | 'video';
4
+ export interface BuildImagePromptMessagesInput {
5
+ prompt: string;
6
+ stylePrompt?: string;
7
+ promptingType?: ImagePromptingType;
8
+ modelTitle?: string;
9
+ randomTheme?: string;
10
+ }
11
+ export declare const IMAGE_PROMPT_MAX_TOKENS = 1024;
12
+ export declare const IMAGE_PROMPT_TOOL: ToolDefinition;
13
+ export declare function buildImagePromptMessages(input: BuildImagePromptMessagesInput): SogniChatMessage[];
14
+ export declare function buildImagePromptMessages(prompt: string, stylePrompt: string, promptingType: ImagePromptingType, modelTitle: string): SogniChatMessage[];
15
+ export declare function parseToolCallPrompt(args: Record<string, unknown>): string;
16
+ //# sourceMappingURL=imagePrompt.d.ts.map