@sogni-ai/sogni-intelligence-client 3.0.0-alpha.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 (659) hide show
  1. package/.env.example +33 -0
  2. package/LICENSE +22 -0
  3. package/README.md +823 -0
  4. package/contracts/index.d.ts +1 -0
  5. package/contracts/index.js +2 -0
  6. package/dist/client/SogniClientWrapper.d.ts +86 -0
  7. package/dist/client/SogniClientWrapper.d.ts.map +1 -0
  8. package/dist/client/SogniClientWrapper.js +914 -0
  9. package/dist/client/SogniClientWrapper.js.map +1 -0
  10. package/dist/contracts/backboneDurableWorkflow.d.ts +82 -0
  11. package/dist/contracts/backboneDurableWorkflow.d.ts.map +1 -0
  12. package/dist/contracts/backboneDurableWorkflow.js +96 -0
  13. package/dist/contracts/backboneDurableWorkflow.js.map +1 -0
  14. package/dist/contracts/backboneToolCatalog.d.ts +7 -0
  15. package/dist/contracts/backboneToolCatalog.d.ts.map +1 -0
  16. package/dist/contracts/backboneToolCatalog.js +62 -0
  17. package/dist/contracts/backboneToolCatalog.js.map +1 -0
  18. package/dist/contracts/composeWorkflowTypes.d.ts +6 -0
  19. package/dist/contracts/composeWorkflowTypes.d.ts.map +1 -0
  20. package/dist/contracts/composeWorkflowTypes.js +3 -0
  21. package/dist/contracts/composeWorkflowTypes.js.map +1 -0
  22. package/dist/contracts/data/costEstimation.d.ts +5 -0
  23. package/dist/contracts/data/costEstimation.d.ts.map +1 -0
  24. package/dist/contracts/data/costEstimation.js +22 -0
  25. package/dist/contracts/data/costEstimation.js.map +1 -0
  26. package/dist/contracts/data/gatingPolicies.d.ts +6 -0
  27. package/dist/contracts/data/gatingPolicies.d.ts.map +1 -0
  28. package/dist/contracts/data/gatingPolicies.js +218 -0
  29. package/dist/contracts/data/gatingPolicies.js.map +1 -0
  30. package/dist/contracts/data/gatingPoliciesToolSurface.d.ts +7 -0
  31. package/dist/contracts/data/gatingPoliciesToolSurface.d.ts.map +1 -0
  32. package/dist/contracts/data/gatingPoliciesToolSurface.js +61 -0
  33. package/dist/contracts/data/gatingPoliciesToolSurface.js.map +1 -0
  34. package/dist/contracts/data/index.d.ts +14 -0
  35. package/dist/contracts/data/index.d.ts.map +1 -0
  36. package/dist/contracts/data/index.js +57 -0
  37. package/dist/contracts/data/index.js.map +1 -0
  38. package/dist/contracts/data/promptContracts.d.ts +5 -0
  39. package/dist/contracts/data/promptContracts.d.ts.map +1 -0
  40. package/dist/contracts/data/promptContracts.js +1173 -0
  41. package/dist/contracts/data/promptContracts.js.map +1 -0
  42. package/dist/contracts/data/repairRecipes.d.ts +5 -0
  43. package/dist/contracts/data/repairRecipes.d.ts.map +1 -0
  44. package/dist/contracts/data/repairRecipes.js +197 -0
  45. package/dist/contracts/data/repairRecipes.js.map +1 -0
  46. package/dist/contracts/data/toolCatalog.d.ts +31 -0
  47. package/dist/contracts/data/toolCatalog.d.ts.map +1 -0
  48. package/dist/contracts/data/toolCatalog.js +129 -0
  49. package/dist/contracts/data/toolCatalog.js.map +1 -0
  50. package/dist/contracts/data/toolCostMetadata.d.ts +16 -0
  51. package/dist/contracts/data/toolCostMetadata.d.ts.map +1 -0
  52. package/dist/contracts/data/toolCostMetadata.js +284 -0
  53. package/dist/contracts/data/toolCostMetadata.js.map +1 -0
  54. package/dist/contracts/data/toolPermissions.d.ts +27 -0
  55. package/dist/contracts/data/toolPermissions.d.ts.map +1 -0
  56. package/dist/contracts/data/toolPermissions.js +78 -0
  57. package/dist/contracts/data/toolPermissions.js.map +1 -0
  58. package/dist/contracts/evaluators.d.ts +94 -0
  59. package/dist/contracts/evaluators.d.ts.map +1 -0
  60. package/dist/contracts/evaluators.js +468 -0
  61. package/dist/contracts/evaluators.js.map +1 -0
  62. package/dist/contracts/hostedComposition.d.ts +85 -0
  63. package/dist/contracts/hostedComposition.d.ts.map +1 -0
  64. package/dist/contracts/hostedComposition.js +139 -0
  65. package/dist/contracts/hostedComposition.js.map +1 -0
  66. package/dist/contracts/hostedToolValidation.d.ts +47 -0
  67. package/dist/contracts/hostedToolValidation.d.ts.map +1 -0
  68. package/dist/contracts/hostedToolValidation.js +301 -0
  69. package/dist/contracts/hostedToolValidation.js.map +1 -0
  70. package/dist/contracts/idLoraPrompt.d.ts +13 -0
  71. package/dist/contracts/idLoraPrompt.d.ts.map +1 -0
  72. package/dist/contracts/idLoraPrompt.js +78 -0
  73. package/dist/contracts/idLoraPrompt.js.map +1 -0
  74. package/dist/contracts/imagePrompt.d.ts +16 -0
  75. package/dist/contracts/imagePrompt.d.ts.map +1 -0
  76. package/dist/contracts/imagePrompt.js +148 -0
  77. package/dist/contracts/imagePrompt.js.map +1 -0
  78. package/dist/contracts/index.d.ts +48 -0
  79. package/dist/contracts/index.d.ts.map +1 -0
  80. package/dist/contracts/index.js +156 -0
  81. package/dist/contracts/index.js.map +1 -0
  82. package/dist/contracts/index.mjs +102 -0
  83. package/dist/contracts/musicComposition.d.ts +17 -0
  84. package/dist/contracts/musicComposition.d.ts.map +1 -0
  85. package/dist/contracts/musicComposition.js +188 -0
  86. package/dist/contracts/musicComposition.js.map +1 -0
  87. package/dist/contracts/promptContract.d.ts +11 -0
  88. package/dist/contracts/promptContract.d.ts.map +1 -0
  89. package/dist/contracts/promptContract.js +37 -0
  90. package/dist/contracts/promptContract.js.map +1 -0
  91. package/dist/contracts/promptOverrideMarker.d.ts +2 -0
  92. package/dist/contracts/promptOverrideMarker.d.ts.map +1 -0
  93. package/dist/contracts/promptOverrideMarker.js +5 -0
  94. package/dist/contracts/promptOverrideMarker.js.map +1 -0
  95. package/dist/contracts/randomThemes.d.ts +5 -0
  96. package/dist/contracts/randomThemes.d.ts.map +1 -0
  97. package/dist/contracts/randomThemes.js +159 -0
  98. package/dist/contracts/randomThemes.js.map +1 -0
  99. package/dist/contracts/registry.d.ts +29 -0
  100. package/dist/contracts/registry.d.ts.map +1 -0
  101. package/dist/contracts/registry.js +104 -0
  102. package/dist/contracts/registry.js.map +1 -0
  103. package/dist/contracts/repairRecipe.d.ts +14 -0
  104. package/dist/contracts/repairRecipe.d.ts.map +1 -0
  105. package/dist/contracts/repairRecipe.js +38 -0
  106. package/dist/contracts/repairRecipe.js.map +1 -0
  107. package/dist/contracts/storyboard.d.ts +112 -0
  108. package/dist/contracts/storyboard.d.ts.map +1 -0
  109. package/dist/contracts/storyboard.js +7 -0
  110. package/dist/contracts/storyboard.js.map +1 -0
  111. package/dist/contracts/telemetry.d.ts +57 -0
  112. package/dist/contracts/telemetry.d.ts.map +1 -0
  113. package/dist/contracts/telemetry.js +37 -0
  114. package/dist/contracts/telemetry.js.map +1 -0
  115. package/dist/contracts/toolGatingPolicy.d.ts +19 -0
  116. package/dist/contracts/toolGatingPolicy.d.ts.map +1 -0
  117. package/dist/contracts/toolGatingPolicy.js +63 -0
  118. package/dist/contracts/toolGatingPolicy.js.map +1 -0
  119. package/dist/contracts/toolPromptMarkers.d.ts +9 -0
  120. package/dist/contracts/toolPromptMarkers.d.ts.map +1 -0
  121. package/dist/contracts/toolPromptMarkers.js +13 -0
  122. package/dist/contracts/toolPromptMarkers.js.map +1 -0
  123. package/dist/contracts/toolSurface.d.ts +46 -0
  124. package/dist/contracts/toolSurface.d.ts.map +1 -0
  125. package/dist/contracts/toolSurface.js +119 -0
  126. package/dist/contracts/toolSurface.js.map +1 -0
  127. package/dist/contracts/turnPolicy.d.ts +22 -0
  128. package/dist/contracts/turnPolicy.d.ts.map +1 -0
  129. package/dist/contracts/turnPolicy.js +16 -0
  130. package/dist/contracts/turnPolicy.js.map +1 -0
  131. package/dist/contracts/videoComposition.d.ts +35 -0
  132. package/dist/contracts/videoComposition.d.ts.map +1 -0
  133. package/dist/contracts/videoComposition.js +224 -0
  134. package/dist/contracts/videoComposition.js.map +1 -0
  135. package/dist/index.d.ts +8 -0
  136. package/dist/index.d.ts.map +1 -0
  137. package/dist/index.js +46 -0
  138. package/dist/index.js.map +1 -0
  139. package/dist/media/aspectRatio.d.ts +15 -0
  140. package/dist/media/aspectRatio.d.ts.map +1 -0
  141. package/dist/media/aspectRatio.js +72 -0
  142. package/dist/media/aspectRatio.js.map +1 -0
  143. package/dist/media/audioReference.d.ts +57 -0
  144. package/dist/media/audioReference.d.ts.map +1 -0
  145. package/dist/media/audioReference.js +194 -0
  146. package/dist/media/audioReference.js.map +1 -0
  147. package/dist/media/cameraAngle.d.ts +170 -0
  148. package/dist/media/cameraAngle.d.ts.map +1 -0
  149. package/dist/media/cameraAngle.js +48 -0
  150. package/dist/media/cameraAngle.js.map +1 -0
  151. package/dist/media/characterSheet.d.ts +9 -0
  152. package/dist/media/characterSheet.d.ts.map +1 -0
  153. package/dist/media/characterSheet.js +54 -0
  154. package/dist/media/characterSheet.js.map +1 -0
  155. package/dist/media/danceMontage.d.ts +18 -0
  156. package/dist/media/danceMontage.d.ts.map +1 -0
  157. package/dist/media/danceMontage.js +34 -0
  158. package/dist/media/danceMontage.js.map +1 -0
  159. package/dist/media/enhancementProfiles.d.ts +158 -0
  160. package/dist/media/enhancementProfiles.d.ts.map +1 -0
  161. package/dist/media/enhancementProfiles.js +224 -0
  162. package/dist/media/enhancementProfiles.js.map +1 -0
  163. package/dist/media/generationJob.d.ts +81 -0
  164. package/dist/media/generationJob.d.ts.map +1 -0
  165. package/dist/media/generationJob.js +91 -0
  166. package/dist/media/generationJob.js.map +1 -0
  167. package/dist/media/gptImage.d.ts +21 -0
  168. package/dist/media/gptImage.d.ts.map +1 -0
  169. package/dist/media/gptImage.js +162 -0
  170. package/dist/media/gptImage.js.map +1 -0
  171. package/dist/media/imageDimensions.d.ts +24 -0
  172. package/dist/media/imageDimensions.d.ts.map +1 -0
  173. package/dist/media/imageDimensions.js +64 -0
  174. package/dist/media/imageDimensions.js.map +1 -0
  175. package/dist/media/index.d.ts +16 -0
  176. package/dist/media/index.d.ts.map +1 -0
  177. package/dist/media/index.js +32 -0
  178. package/dist/media/index.js.map +1 -0
  179. package/dist/media/index.mjs +116 -0
  180. package/dist/media/musicSettings.d.ts +86 -0
  181. package/dist/media/musicSettings.d.ts.map +1 -0
  182. package/dist/media/musicSettings.js +234 -0
  183. package/dist/media/musicSettings.js.map +1 -0
  184. package/dist/media/vendorModelPremium.d.ts +21 -0
  185. package/dist/media/vendorModelPremium.d.ts.map +1 -0
  186. package/dist/media/vendorModelPremium.js +89 -0
  187. package/dist/media/vendorModelPremium.js.map +1 -0
  188. package/dist/media/videoAppSettings.d.ts +41 -0
  189. package/dist/media/videoAppSettings.d.ts.map +1 -0
  190. package/dist/media/videoAppSettings.js +128 -0
  191. package/dist/media/videoAppSettings.js.map +1 -0
  192. package/dist/media/videoContentLimit.d.ts +15 -0
  193. package/dist/media/videoContentLimit.d.ts.map +1 -0
  194. package/dist/media/videoContentLimit.js +169 -0
  195. package/dist/media/videoContentLimit.js.map +1 -0
  196. package/dist/media/videoReference.d.ts +35 -0
  197. package/dist/media/videoReference.d.ts.map +1 -0
  198. package/dist/media/videoReference.js +77 -0
  199. package/dist/media/videoReference.js.map +1 -0
  200. package/dist/media/videoSettings.d.ts +50 -0
  201. package/dist/media/videoSettings.d.ts.map +1 -0
  202. package/dist/media/videoSettings.js +200 -0
  203. package/dist/media/videoSettings.js.map +1 -0
  204. package/dist/public-skill-runtime/index.d.ts +1220 -0
  205. package/dist/public-skill-runtime/index.d.ts.map +1 -0
  206. package/dist/public-skill-runtime/index.js +6396 -0
  207. package/dist/public-skill-runtime/index.js.map +1 -0
  208. package/dist/public-skill-runtime/index.mjs +141 -0
  209. package/dist/replay/index.d.ts +4 -0
  210. package/dist/replay/index.d.ts.map +1 -0
  211. package/dist/replay/index.js +12 -0
  212. package/dist/replay/index.js.map +1 -0
  213. package/dist/replay/index.mjs +12 -0
  214. package/dist/replay/redact.d.ts +7 -0
  215. package/dist/replay/redact.d.ts.map +1 -0
  216. package/dist/replay/redact.js +108 -0
  217. package/dist/replay/redact.js.map +1 -0
  218. package/dist/replay/types.d.ts +61 -0
  219. package/dist/replay/types.d.ts.map +1 -0
  220. package/dist/replay/types.js +24 -0
  221. package/dist/replay/types.js.map +1 -0
  222. package/dist/runtime/chatTypes.d.ts +47 -0
  223. package/dist/runtime/chatTypes.d.ts.map +1 -0
  224. package/dist/runtime/chatTypes.js +3 -0
  225. package/dist/runtime/chatTypes.js.map +1 -0
  226. package/dist/runtime/durableWorkflowClient.d.ts +80 -0
  227. package/dist/runtime/durableWorkflowClient.d.ts.map +1 -0
  228. package/dist/runtime/durableWorkflowClient.js +312 -0
  229. package/dist/runtime/durableWorkflowClient.js.map +1 -0
  230. package/dist/runtime/index.d.ts +3 -0
  231. package/dist/runtime/index.d.ts.map +1 -0
  232. package/dist/runtime/index.js +18 -0
  233. package/dist/runtime/index.js.map +1 -0
  234. package/dist/runtime/index.mjs +21 -0
  235. package/dist/skills/asset_reference_management/index.d.ts +6 -0
  236. package/dist/skills/asset_reference_management/index.d.ts.map +1 -0
  237. package/dist/skills/asset_reference_management/index.js +18 -0
  238. package/dist/skills/asset_reference_management/index.js.map +1 -0
  239. package/dist/skills/asset_reference_management/index.mjs +18 -0
  240. package/dist/skills/asset_reference_management/manifest.d.ts +42 -0
  241. package/dist/skills/asset_reference_management/manifest.d.ts.map +1 -0
  242. package/dist/skills/asset_reference_management/manifest.js +237 -0
  243. package/dist/skills/asset_reference_management/manifest.js.map +1 -0
  244. package/dist/skills/asset_reference_management/modelRefRegistry.d.ts +24 -0
  245. package/dist/skills/asset_reference_management/modelRefRegistry.d.ts.map +1 -0
  246. package/dist/skills/asset_reference_management/modelRefRegistry.js +136 -0
  247. package/dist/skills/asset_reference_management/modelRefRegistry.js.map +1 -0
  248. package/dist/skills/asset_reference_management/types.d.ts +31 -0
  249. package/dist/skills/asset_reference_management/types.d.ts.map +1 -0
  250. package/dist/skills/asset_reference_management/types.js +3 -0
  251. package/dist/skills/asset_reference_management/types.js.map +1 -0
  252. package/dist/tools/definitions/add-subtitles/definition.d.ts +4 -0
  253. package/dist/tools/definitions/add-subtitles/definition.d.ts.map +1 -0
  254. package/dist/tools/definitions/add-subtitles/definition.js +83 -0
  255. package/dist/tools/definitions/add-subtitles/definition.js.map +1 -0
  256. package/dist/tools/definitions/animate-photo/definition.d.ts +3 -0
  257. package/dist/tools/definitions/animate-photo/definition.d.ts.map +1 -0
  258. package/dist/tools/definitions/animate-photo/definition.js +124 -0
  259. package/dist/tools/definitions/animate-photo/definition.js.map +1 -0
  260. package/dist/tools/definitions/apply-style/definition.d.ts +3 -0
  261. package/dist/tools/definitions/apply-style/definition.d.ts.map +1 -0
  262. package/dist/tools/definitions/apply-style/definition.js +50 -0
  263. package/dist/tools/definitions/apply-style/definition.js.map +1 -0
  264. package/dist/tools/definitions/change-angle/definition.d.ts +3 -0
  265. package/dist/tools/definitions/change-angle/definition.d.ts.map +1 -0
  266. package/dist/tools/definitions/change-angle/definition.js +49 -0
  267. package/dist/tools/definitions/change-angle/definition.js.map +1 -0
  268. package/dist/tools/definitions/dance-montage/dances.d.ts +11 -0
  269. package/dist/tools/definitions/dance-montage/dances.d.ts.map +1 -0
  270. package/dist/tools/definitions/dance-montage/dances.js +90 -0
  271. package/dist/tools/definitions/dance-montage/dances.js.map +1 -0
  272. package/dist/tools/definitions/dance-montage/definition.d.ts +3 -0
  273. package/dist/tools/definitions/dance-montage/definition.d.ts.map +1 -0
  274. package/dist/tools/definitions/dance-montage/definition.js +45 -0
  275. package/dist/tools/definitions/dance-montage/definition.js.map +1 -0
  276. package/dist/tools/definitions/edit-image/definition.d.ts +3 -0
  277. package/dist/tools/definitions/edit-image/definition.d.ts.map +1 -0
  278. package/dist/tools/definitions/edit-image/definition.js +128 -0
  279. package/dist/tools/definitions/edit-image/definition.js.map +1 -0
  280. package/dist/tools/definitions/extend-video/definition.d.ts +3 -0
  281. package/dist/tools/definitions/extend-video/definition.d.ts.map +1 -0
  282. package/dist/tools/definitions/extend-video/definition.js +51 -0
  283. package/dist/tools/definitions/extend-video/definition.js.map +1 -0
  284. package/dist/tools/definitions/generate-image/definition.d.ts +3 -0
  285. package/dist/tools/definitions/generate-image/definition.d.ts.map +1 -0
  286. package/dist/tools/definitions/generate-image/definition.js +107 -0
  287. package/dist/tools/definitions/generate-image/definition.js.map +1 -0
  288. package/dist/tools/definitions/generate-music/definition.d.ts +3 -0
  289. package/dist/tools/definitions/generate-music/definition.d.ts.map +1 -0
  290. package/dist/tools/definitions/generate-music/definition.js +75 -0
  291. package/dist/tools/definitions/generate-music/definition.js.map +1 -0
  292. package/dist/tools/definitions/generate-video/definition.d.ts +3 -0
  293. package/dist/tools/definitions/generate-video/definition.d.ts.map +1 -0
  294. package/dist/tools/definitions/generate-video/definition.js +120 -0
  295. package/dist/tools/definitions/generate-video/definition.js.map +1 -0
  296. package/dist/tools/definitions/index.d.ts +25 -0
  297. package/dist/tools/definitions/index.d.ts.map +1 -0
  298. package/dist/tools/definitions/index.js +66 -0
  299. package/dist/tools/definitions/index.js.map +1 -0
  300. package/dist/tools/definitions/orbit-video/definition.d.ts +3 -0
  301. package/dist/tools/definitions/orbit-video/definition.d.ts.map +1 -0
  302. package/dist/tools/definitions/orbit-video/definition.js +103 -0
  303. package/dist/tools/definitions/orbit-video/definition.js.map +1 -0
  304. package/dist/tools/definitions/overlay-video/definition.d.ts +4 -0
  305. package/dist/tools/definitions/overlay-video/definition.d.ts.map +1 -0
  306. package/dist/tools/definitions/overlay-video/definition.js +142 -0
  307. package/dist/tools/definitions/overlay-video/definition.js.map +1 -0
  308. package/dist/tools/definitions/refine-result/definition.d.ts +3 -0
  309. package/dist/tools/definitions/refine-result/definition.d.ts.map +1 -0
  310. package/dist/tools/definitions/refine-result/definition.js +56 -0
  311. package/dist/tools/definitions/refine-result/definition.js.map +1 -0
  312. package/dist/tools/definitions/replace-video-segment/definition.d.ts +3 -0
  313. package/dist/tools/definitions/replace-video-segment/definition.d.ts.map +1 -0
  314. package/dist/tools/definitions/replace-video-segment/definition.js +65 -0
  315. package/dist/tools/definitions/replace-video-segment/definition.js.map +1 -0
  316. package/dist/tools/definitions/restore-photo/definition.d.ts +3 -0
  317. package/dist/tools/definitions/restore-photo/definition.d.ts.map +1 -0
  318. package/dist/tools/definitions/restore-photo/definition.js +58 -0
  319. package/dist/tools/definitions/restore-photo/definition.js.map +1 -0
  320. package/dist/tools/definitions/sound-to-video/definition.d.ts +3 -0
  321. package/dist/tools/definitions/sound-to-video/definition.d.ts.map +1 -0
  322. package/dist/tools/definitions/sound-to-video/definition.js +91 -0
  323. package/dist/tools/definitions/sound-to-video/definition.js.map +1 -0
  324. package/dist/tools/definitions/stitch-video/definition.d.ts +4 -0
  325. package/dist/tools/definitions/stitch-video/definition.d.ts.map +1 -0
  326. package/dist/tools/definitions/stitch-video/definition.js +89 -0
  327. package/dist/tools/definitions/stitch-video/definition.js.map +1 -0
  328. package/dist/tools/definitions/types.d.ts +15 -0
  329. package/dist/tools/definitions/types.d.ts.map +1 -0
  330. package/dist/tools/definitions/types.js +3 -0
  331. package/dist/tools/definitions/types.js.map +1 -0
  332. package/dist/tools/definitions/video-to-video/definition.d.ts +3 -0
  333. package/dist/tools/definitions/video-to-video/definition.d.ts.map +1 -0
  334. package/dist/tools/definitions/video-to-video/definition.js +101 -0
  335. package/dist/tools/definitions/video-to-video/definition.js.map +1 -0
  336. package/dist/tools/index.d.ts +19 -0
  337. package/dist/tools/index.d.ts.map +1 -0
  338. package/dist/tools/index.js +70 -0
  339. package/dist/tools/index.js.map +1 -0
  340. package/dist/tools/index.mjs +86 -0
  341. package/dist/tools/normalizeArgs.d.ts +2 -0
  342. package/dist/tools/normalizeArgs.d.ts.map +1 -0
  343. package/dist/tools/normalizeArgs.js +40 -0
  344. package/dist/tools/normalizeArgs.js.map +1 -0
  345. package/dist/tools/result.d.ts +47 -0
  346. package/dist/tools/result.d.ts.map +1 -0
  347. package/dist/tools/result.js +38 -0
  348. package/dist/tools/result.js.map +1 -0
  349. package/dist/tools/shared/downloadFilename.d.ts +18 -0
  350. package/dist/tools/shared/downloadFilename.d.ts.map +1 -0
  351. package/dist/tools/shared/downloadFilename.js +157 -0
  352. package/dist/tools/shared/downloadFilename.js.map +1 -0
  353. package/dist/tools/shared/errorClassification.d.ts +15 -0
  354. package/dist/tools/shared/errorClassification.d.ts.map +1 -0
  355. package/dist/tools/shared/errorClassification.js +78 -0
  356. package/dist/tools/shared/errorClassification.js.map +1 -0
  357. package/dist/tools/shared/imageEncoding.d.ts +2 -0
  358. package/dist/tools/shared/imageEncoding.d.ts.map +1 -0
  359. package/dist/tools/shared/imageEncoding.js +11 -0
  360. package/dist/tools/shared/imageEncoding.js.map +1 -0
  361. package/dist/tools/shared/llmHelpers.d.ts +14 -0
  362. package/dist/tools/shared/llmHelpers.d.ts.map +1 -0
  363. package/dist/tools/shared/llmHelpers.js +145 -0
  364. package/dist/tools/shared/llmHelpers.js.map +1 -0
  365. package/dist/tools/shared/modelRegistry.d.ts +10 -0
  366. package/dist/tools/shared/modelRegistry.d.ts.map +1 -0
  367. package/dist/tools/shared/modelRegistry.js +98 -0
  368. package/dist/tools/shared/modelRegistry.js.map +1 -0
  369. package/dist/tools/shared/policyChecks.d.ts +25 -0
  370. package/dist/tools/shared/policyChecks.d.ts.map +1 -0
  371. package/dist/tools/shared/policyChecks.js +79 -0
  372. package/dist/tools/shared/policyChecks.js.map +1 -0
  373. package/dist/tools/shared/promptRefinementCache.d.ts +10 -0
  374. package/dist/tools/shared/promptRefinementCache.d.ts.map +1 -0
  375. package/dist/tools/shared/promptRefinementCache.js +81 -0
  376. package/dist/tools/shared/promptRefinementCache.js.map +1 -0
  377. package/dist/tools/shared/promptSanitizer.d.ts +2 -0
  378. package/dist/tools/shared/promptSanitizer.d.ts.map +1 -0
  379. package/dist/tools/shared/promptSanitizer.js +73 -0
  380. package/dist/tools/shared/promptSanitizer.js.map +1 -0
  381. package/dist/tools/shared/seedancePolicyErrors.d.ts +33 -0
  382. package/dist/tools/shared/seedancePolicyErrors.d.ts.map +1 -0
  383. package/dist/tools/shared/seedancePolicyErrors.js +239 -0
  384. package/dist/tools/shared/seedancePolicyErrors.js.map +1 -0
  385. package/dist/tools/shared/slotFailureSummary.d.ts +7 -0
  386. package/dist/tools/shared/slotFailureSummary.d.ts.map +1 -0
  387. package/dist/tools/shared/slotFailureSummary.js +63 -0
  388. package/dist/tools/shared/slotFailureSummary.js.map +1 -0
  389. package/dist/tools/shared/visionDescriptionCache.d.ts +5 -0
  390. package/dist/tools/shared/visionDescriptionCache.d.ts.map +1 -0
  391. package/dist/tools/shared/visionDescriptionCache.js +35 -0
  392. package/dist/tools/shared/visionDescriptionCache.js.map +1 -0
  393. package/dist/types/index.d.ts +224 -0
  394. package/dist/types/index.d.ts.map +1 -0
  395. package/dist/types/index.js +34 -0
  396. package/dist/types/index.js.map +1 -0
  397. package/dist/utils/errors.d.ts +38 -0
  398. package/dist/utils/errors.d.ts.map +1 -0
  399. package/dist/utils/errors.js +99 -0
  400. package/dist/utils/errors.js.map +1 -0
  401. package/dist/utils/helpers.d.ts +36 -0
  402. package/dist/utils/helpers.d.ts.map +1 -0
  403. package/dist/utils/helpers.js +445 -0
  404. package/dist/utils/helpers.js.map +1 -0
  405. package/dist/workflows/bindings.d.ts +23 -0
  406. package/dist/workflows/bindings.d.ts.map +1 -0
  407. package/dist/workflows/bindings.js +190 -0
  408. package/dist/workflows/bindings.js.map +1 -0
  409. package/dist/workflows/executor-ports.d.ts +11 -0
  410. package/dist/workflows/executor-ports.d.ts.map +1 -0
  411. package/dist/workflows/executor-ports.js +3 -0
  412. package/dist/workflows/executor-ports.js.map +1 -0
  413. package/dist/workflows/executor.d.ts +17 -0
  414. package/dist/workflows/executor.d.ts.map +1 -0
  415. package/dist/workflows/executor.js +526 -0
  416. package/dist/workflows/executor.js.map +1 -0
  417. package/dist/workflows/index.d.ts +8 -0
  418. package/dist/workflows/index.d.ts.map +1 -0
  419. package/dist/workflows/index.js +25 -0
  420. package/dist/workflows/index.js.map +1 -0
  421. package/dist/workflows/index.mjs +22 -0
  422. package/dist/workflows/summarize.d.ts +7 -0
  423. package/dist/workflows/summarize.d.ts.map +1 -0
  424. package/dist/workflows/summarize.js +54 -0
  425. package/dist/workflows/summarize.js.map +1 -0
  426. package/dist/workflows/types.d.ts +302 -0
  427. package/dist/workflows/types.d.ts.map +1 -0
  428. package/dist/workflows/types.js +3 -0
  429. package/dist/workflows/types.js.map +1 -0
  430. package/dist/workflows/validation.d.ts +10 -0
  431. package/dist/workflows/validation.d.ts.map +1 -0
  432. package/dist/workflows/validation.js +340 -0
  433. package/dist/workflows/validation.js.map +1 -0
  434. package/dist-esm/client/SogniClientWrapper.js +877 -0
  435. package/dist-esm/client/SogniClientWrapper.js.map +1 -0
  436. package/dist-esm/contracts/backboneDurableWorkflow.js +90 -0
  437. package/dist-esm/contracts/backboneDurableWorkflow.js.map +1 -0
  438. package/dist-esm/contracts/backboneToolCatalog.js +59 -0
  439. package/dist-esm/contracts/backboneToolCatalog.js.map +1 -0
  440. package/dist-esm/contracts/composeWorkflowTypes.js +2 -0
  441. package/dist-esm/contracts/composeWorkflowTypes.js.map +1 -0
  442. package/dist-esm/contracts/data/costEstimation.js +18 -0
  443. package/dist-esm/contracts/data/costEstimation.js.map +1 -0
  444. package/dist-esm/contracts/data/gatingPolicies.js +214 -0
  445. package/dist-esm/contracts/data/gatingPolicies.js.map +1 -0
  446. package/dist-esm/contracts/data/gatingPoliciesToolSurface.js +57 -0
  447. package/dist-esm/contracts/data/gatingPoliciesToolSurface.js.map +1 -0
  448. package/dist-esm/contracts/data/index.js +23 -0
  449. package/dist-esm/contracts/data/index.js.map +1 -0
  450. package/dist-esm/contracts/data/promptContracts.js +1169 -0
  451. package/dist-esm/contracts/data/promptContracts.js.map +1 -0
  452. package/dist-esm/contracts/data/repairRecipes.js +193 -0
  453. package/dist-esm/contracts/data/repairRecipes.js.map +1 -0
  454. package/dist-esm/contracts/data/toolCatalog.js +122 -0
  455. package/dist-esm/contracts/data/toolCatalog.js.map +1 -0
  456. package/dist-esm/contracts/data/toolCostMetadata.js +277 -0
  457. package/dist-esm/contracts/data/toolCostMetadata.js.map +1 -0
  458. package/dist-esm/contracts/data/toolPermissions.js +70 -0
  459. package/dist-esm/contracts/data/toolPermissions.js.map +1 -0
  460. package/dist-esm/contracts/evaluators.js +463 -0
  461. package/dist-esm/contracts/evaluators.js.map +1 -0
  462. package/dist-esm/contracts/hostedComposition.js +128 -0
  463. package/dist-esm/contracts/hostedComposition.js.map +1 -0
  464. package/dist-esm/contracts/hostedToolValidation.js +296 -0
  465. package/dist-esm/contracts/hostedToolValidation.js.map +1 -0
  466. package/dist-esm/contracts/idLoraPrompt.js +72 -0
  467. package/dist-esm/contracts/idLoraPrompt.js.map +1 -0
  468. package/dist-esm/contracts/imagePrompt.js +143 -0
  469. package/dist-esm/contracts/imagePrompt.js.map +1 -0
  470. package/dist-esm/contracts/index.js +27 -0
  471. package/dist-esm/contracts/index.js.map +1 -0
  472. package/dist-esm/contracts/musicComposition.js +182 -0
  473. package/dist-esm/contracts/musicComposition.js.map +1 -0
  474. package/dist-esm/contracts/promptContract.js +34 -0
  475. package/dist-esm/contracts/promptContract.js.map +1 -0
  476. package/dist-esm/contracts/promptOverrideMarker.js +2 -0
  477. package/dist-esm/contracts/promptOverrideMarker.js.map +1 -0
  478. package/dist-esm/contracts/randomThemes.js +154 -0
  479. package/dist-esm/contracts/randomThemes.js.map +1 -0
  480. package/dist-esm/contracts/registry.js +100 -0
  481. package/dist-esm/contracts/registry.js.map +1 -0
  482. package/dist-esm/contracts/repairRecipe.js +35 -0
  483. package/dist-esm/contracts/repairRecipe.js.map +1 -0
  484. package/dist-esm/contracts/storyboard.js +4 -0
  485. package/dist-esm/contracts/storyboard.js.map +1 -0
  486. package/dist-esm/contracts/telemetry.js +33 -0
  487. package/dist-esm/contracts/telemetry.js.map +1 -0
  488. package/dist-esm/contracts/toolGatingPolicy.js +60 -0
  489. package/dist-esm/contracts/toolGatingPolicy.js.map +1 -0
  490. package/dist-esm/contracts/toolPromptMarkers.js +10 -0
  491. package/dist-esm/contracts/toolPromptMarkers.js.map +1 -0
  492. package/dist-esm/contracts/toolSurface.js +110 -0
  493. package/dist-esm/contracts/toolSurface.js.map +1 -0
  494. package/dist-esm/contracts/turnPolicy.js +13 -0
  495. package/dist-esm/contracts/turnPolicy.js.map +1 -0
  496. package/dist-esm/contracts/videoComposition.js +216 -0
  497. package/dist-esm/contracts/videoComposition.js.map +1 -0
  498. package/dist-esm/index.js +7 -0
  499. package/dist-esm/index.js.map +1 -0
  500. package/dist-esm/media/aspectRatio.js +65 -0
  501. package/dist-esm/media/aspectRatio.js.map +1 -0
  502. package/dist-esm/media/audioReference.js +186 -0
  503. package/dist-esm/media/audioReference.js.map +1 -0
  504. package/dist-esm/media/cameraAngle.js +41 -0
  505. package/dist-esm/media/cameraAngle.js.map +1 -0
  506. package/dist-esm/media/characterSheet.js +48 -0
  507. package/dist-esm/media/characterSheet.js.map +1 -0
  508. package/dist-esm/media/danceMontage.js +29 -0
  509. package/dist-esm/media/danceMontage.js.map +1 -0
  510. package/dist-esm/media/enhancementProfiles.js +219 -0
  511. package/dist-esm/media/enhancementProfiles.js.map +1 -0
  512. package/dist-esm/media/generationJob.js +87 -0
  513. package/dist-esm/media/generationJob.js.map +1 -0
  514. package/dist-esm/media/gptImage.js +150 -0
  515. package/dist-esm/media/gptImage.js.map +1 -0
  516. package/dist-esm/media/imageDimensions.js +59 -0
  517. package/dist-esm/media/imageDimensions.js.map +1 -0
  518. package/dist-esm/media/index.js +16 -0
  519. package/dist-esm/media/index.js.map +1 -0
  520. package/dist-esm/media/musicSettings.js +230 -0
  521. package/dist-esm/media/musicSettings.js.map +1 -0
  522. package/dist-esm/media/vendorModelPremium.js +81 -0
  523. package/dist-esm/media/vendorModelPremium.js.map +1 -0
  524. package/dist-esm/media/videoAppSettings.js +125 -0
  525. package/dist-esm/media/videoAppSettings.js.map +1 -0
  526. package/dist-esm/media/videoContentLimit.js +162 -0
  527. package/dist-esm/media/videoContentLimit.js.map +1 -0
  528. package/dist-esm/media/videoReference.js +72 -0
  529. package/dist-esm/media/videoReference.js.map +1 -0
  530. package/dist-esm/media/videoSettings.js +191 -0
  531. package/dist-esm/media/videoSettings.js.map +1 -0
  532. package/dist-esm/package.json +3 -0
  533. package/dist-esm/public-skill-runtime/index.js +6294 -0
  534. package/dist-esm/public-skill-runtime/index.js.map +1 -0
  535. package/dist-esm/replay/index.js +3 -0
  536. package/dist-esm/replay/index.js.map +1 -0
  537. package/dist-esm/replay/redact.js +102 -0
  538. package/dist-esm/replay/redact.js.map +1 -0
  539. package/dist-esm/replay/types.js +20 -0
  540. package/dist-esm/replay/types.js.map +1 -0
  541. package/dist-esm/runtime/chatTypes.js +2 -0
  542. package/dist-esm/runtime/chatTypes.js.map +1 -0
  543. package/dist-esm/runtime/durableWorkflowClient.js +295 -0
  544. package/dist-esm/runtime/durableWorkflowClient.js.map +1 -0
  545. package/dist-esm/runtime/index.js +2 -0
  546. package/dist-esm/runtime/index.js.map +1 -0
  547. package/dist-esm/skills/asset_reference_management/index.js +3 -0
  548. package/dist-esm/skills/asset_reference_management/index.js.map +1 -0
  549. package/dist-esm/skills/asset_reference_management/manifest.js +228 -0
  550. package/dist-esm/skills/asset_reference_management/manifest.js.map +1 -0
  551. package/dist-esm/skills/asset_reference_management/modelRefRegistry.js +129 -0
  552. package/dist-esm/skills/asset_reference_management/modelRefRegistry.js.map +1 -0
  553. package/dist-esm/skills/asset_reference_management/types.js +2 -0
  554. package/dist-esm/skills/asset_reference_management/types.js.map +1 -0
  555. package/dist-esm/tools/definitions/add-subtitles/definition.js +80 -0
  556. package/dist-esm/tools/definitions/add-subtitles/definition.js.map +1 -0
  557. package/dist-esm/tools/definitions/animate-photo/definition.js +121 -0
  558. package/dist-esm/tools/definitions/animate-photo/definition.js.map +1 -0
  559. package/dist-esm/tools/definitions/apply-style/definition.js +47 -0
  560. package/dist-esm/tools/definitions/apply-style/definition.js.map +1 -0
  561. package/dist-esm/tools/definitions/change-angle/definition.js +46 -0
  562. package/dist-esm/tools/definitions/change-angle/definition.js.map +1 -0
  563. package/dist-esm/tools/definitions/dance-montage/dances.js +86 -0
  564. package/dist-esm/tools/definitions/dance-montage/dances.js.map +1 -0
  565. package/dist-esm/tools/definitions/dance-montage/definition.js +42 -0
  566. package/dist-esm/tools/definitions/dance-montage/definition.js.map +1 -0
  567. package/dist-esm/tools/definitions/edit-image/definition.js +125 -0
  568. package/dist-esm/tools/definitions/edit-image/definition.js.map +1 -0
  569. package/dist-esm/tools/definitions/extend-video/definition.js +48 -0
  570. package/dist-esm/tools/definitions/extend-video/definition.js.map +1 -0
  571. package/dist-esm/tools/definitions/generate-image/definition.js +104 -0
  572. package/dist-esm/tools/definitions/generate-image/definition.js.map +1 -0
  573. package/dist-esm/tools/definitions/generate-music/definition.js +72 -0
  574. package/dist-esm/tools/definitions/generate-music/definition.js.map +1 -0
  575. package/dist-esm/tools/definitions/generate-video/definition.js +117 -0
  576. package/dist-esm/tools/definitions/generate-video/definition.js.map +1 -0
  577. package/dist-esm/tools/definitions/index.js +41 -0
  578. package/dist-esm/tools/definitions/index.js.map +1 -0
  579. package/dist-esm/tools/definitions/orbit-video/definition.js +100 -0
  580. package/dist-esm/tools/definitions/orbit-video/definition.js.map +1 -0
  581. package/dist-esm/tools/definitions/overlay-video/definition.js +139 -0
  582. package/dist-esm/tools/definitions/overlay-video/definition.js.map +1 -0
  583. package/dist-esm/tools/definitions/refine-result/definition.js +53 -0
  584. package/dist-esm/tools/definitions/refine-result/definition.js.map +1 -0
  585. package/dist-esm/tools/definitions/replace-video-segment/definition.js +62 -0
  586. package/dist-esm/tools/definitions/replace-video-segment/definition.js.map +1 -0
  587. package/dist-esm/tools/definitions/restore-photo/definition.js +55 -0
  588. package/dist-esm/tools/definitions/restore-photo/definition.js.map +1 -0
  589. package/dist-esm/tools/definitions/sound-to-video/definition.js +88 -0
  590. package/dist-esm/tools/definitions/sound-to-video/definition.js.map +1 -0
  591. package/dist-esm/tools/definitions/stitch-video/definition.js +86 -0
  592. package/dist-esm/tools/definitions/stitch-video/definition.js.map +1 -0
  593. package/dist-esm/tools/definitions/types.js +2 -0
  594. package/dist-esm/tools/definitions/types.js.map +1 -0
  595. package/dist-esm/tools/definitions/video-to-video/definition.js +98 -0
  596. package/dist-esm/tools/definitions/video-to-video/definition.js.map +1 -0
  597. package/dist-esm/tools/index.js +15 -0
  598. package/dist-esm/tools/index.js.map +1 -0
  599. package/dist-esm/tools/normalizeArgs.js +37 -0
  600. package/dist-esm/tools/normalizeArgs.js.map +1 -0
  601. package/dist-esm/tools/result.js +31 -0
  602. package/dist-esm/tools/result.js.map +1 -0
  603. package/dist-esm/tools/shared/downloadFilename.js +147 -0
  604. package/dist-esm/tools/shared/downloadFilename.js.map +1 -0
  605. package/dist-esm/tools/shared/errorClassification.js +74 -0
  606. package/dist-esm/tools/shared/errorClassification.js.map +1 -0
  607. package/dist-esm/tools/shared/imageEncoding.js +8 -0
  608. package/dist-esm/tools/shared/imageEncoding.js.map +1 -0
  609. package/dist-esm/tools/shared/llmHelpers.js +137 -0
  610. package/dist-esm/tools/shared/llmHelpers.js.map +1 -0
  611. package/dist-esm/tools/shared/modelRegistry.js +91 -0
  612. package/dist-esm/tools/shared/modelRegistry.js.map +1 -0
  613. package/dist-esm/tools/shared/policyChecks.js +73 -0
  614. package/dist-esm/tools/shared/policyChecks.js.map +1 -0
  615. package/dist-esm/tools/shared/promptRefinementCache.js +70 -0
  616. package/dist-esm/tools/shared/promptRefinementCache.js.map +1 -0
  617. package/dist-esm/tools/shared/promptSanitizer.js +70 -0
  618. package/dist-esm/tools/shared/promptSanitizer.js.map +1 -0
  619. package/dist-esm/tools/shared/seedancePolicyErrors.js +232 -0
  620. package/dist-esm/tools/shared/seedancePolicyErrors.js.map +1 -0
  621. package/dist-esm/tools/shared/slotFailureSummary.js +60 -0
  622. package/dist-esm/tools/shared/slotFailureSummary.js.map +1 -0
  623. package/dist-esm/tools/shared/visionDescriptionCache.js +29 -0
  624. package/dist-esm/tools/shared/visionDescriptionCache.js.map +1 -0
  625. package/dist-esm/types/index.js +31 -0
  626. package/dist-esm/types/index.js.map +1 -0
  627. package/dist-esm/utils/errors.js +86 -0
  628. package/dist-esm/utils/errors.js.map +1 -0
  629. package/dist-esm/utils/helpers.js +419 -0
  630. package/dist-esm/utils/helpers.js.map +1 -0
  631. package/dist-esm/workflows/bindings.js +182 -0
  632. package/dist-esm/workflows/bindings.js.map +1 -0
  633. package/dist-esm/workflows/executor-ports.js +2 -0
  634. package/dist-esm/workflows/executor-ports.js.map +1 -0
  635. package/dist-esm/workflows/executor.js +522 -0
  636. package/dist-esm/workflows/executor.js.map +1 -0
  637. package/dist-esm/workflows/index.js +7 -0
  638. package/dist-esm/workflows/index.js.map +1 -0
  639. package/dist-esm/workflows/summarize.js +51 -0
  640. package/dist-esm/workflows/summarize.js.map +1 -0
  641. package/dist-esm/workflows/types.js +2 -0
  642. package/dist-esm/workflows/types.js.map +1 -0
  643. package/dist-esm/workflows/validation.js +330 -0
  644. package/dist-esm/workflows/validation.js.map +1 -0
  645. package/media/index.d.ts +1 -0
  646. package/media/index.js +2 -0
  647. package/package.json +134 -0
  648. package/public-skill-runtime/index.d.ts +1 -0
  649. package/public-skill-runtime/index.js +2 -0
  650. package/replay/index.d.ts +1 -0
  651. package/replay/index.js +2 -0
  652. package/runtime/index.d.ts +1 -0
  653. package/runtime/index.js +2 -0
  654. package/skills/asset_reference_management/index.d.ts +1 -0
  655. package/skills/asset_reference_management/index.js +2 -0
  656. package/tools/index.d.ts +1 -0
  657. package/tools/index.js +2 -0
  658. package/workflows/index.d.ts +1 -0
  659. package/workflows/index.js +2 -0
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SEEDANCE_R2V_REFERENCE_AUDIO_MAX_DURATION_SECONDS = void 0;
4
+ exports.normalizeReferenceAudioMimeType = normalizeReferenceAudioMimeType;
5
+ exports.detectReferenceAudioFormat = detectReferenceAudioFormat;
6
+ exports.shouldTrimSeedanceReferenceAudio = shouldTrimSeedanceReferenceAudio;
7
+ exports.prepareReferenceAudioForVideo = prepareReferenceAudioForVideo;
8
+ exports.prepareSeedanceReferenceAudioForVideo = prepareSeedanceReferenceAudioForVideo;
9
+ exports.SEEDANCE_R2V_REFERENCE_AUDIO_MAX_DURATION_SECONDS = 15.2;
10
+ function asciiAt(data, start, length) {
11
+ if (data.length < start + length)
12
+ return '';
13
+ let value = '';
14
+ for (let index = start; index < start + length; index += 1) {
15
+ value += String.fromCharCode(data[index]);
16
+ }
17
+ return value;
18
+ }
19
+ function normalizeReferenceAudioMimeType(mimeType) {
20
+ const trimmed = mimeType?.split(';')[0]?.trim().toLowerCase();
21
+ return trimmed || 'application/octet-stream';
22
+ }
23
+ function detectReferenceAudioFormat(data, mimeType) {
24
+ const normalizedMimeType = normalizeReferenceAudioMimeType(mimeType);
25
+ if (normalizedMimeType === 'audio/mpeg' || normalizedMimeType === 'audio/mp3') {
26
+ return 'mp3';
27
+ }
28
+ if (normalizedMimeType === 'audio/mp4'
29
+ || normalizedMimeType === 'audio/m4a'
30
+ || normalizedMimeType === 'audio/x-m4a') {
31
+ return 'm4a';
32
+ }
33
+ if (normalizedMimeType === 'audio/wav'
34
+ || normalizedMimeType === 'audio/x-wav'
35
+ || normalizedMimeType === 'audio/wave') {
36
+ return 'wav';
37
+ }
38
+ if (normalizedMimeType === 'audio/flac' || normalizedMimeType === 'audio/x-flac') {
39
+ return 'flac';
40
+ }
41
+ if (normalizedMimeType === 'audio/ogg' || normalizedMimeType === 'application/ogg') {
42
+ return 'ogg';
43
+ }
44
+ if (data.length >= 3 && asciiAt(data, 0, 3) === 'ID3')
45
+ return 'mp3';
46
+ if (data.length >= 2 && data[0] === 0xff && (data[1] & 0xe0) === 0xe0)
47
+ return 'mp3';
48
+ if (data.length >= 12 && asciiAt(data, 4, 4) === 'ftyp')
49
+ return 'm4a';
50
+ if (data.length >= 12 && asciiAt(data, 0, 4) === 'RIFF' && asciiAt(data, 8, 4) === 'WAVE') {
51
+ return 'wav';
52
+ }
53
+ if (data.length >= 4 && asciiAt(data, 0, 4) === 'fLaC')
54
+ return 'flac';
55
+ if (data.length >= 4 && asciiAt(data, 0, 4) === 'OggS')
56
+ return 'ogg';
57
+ return 'unknown';
58
+ }
59
+ function shouldNormalizeReferenceAudioToM4a(sourceFormat, options) {
60
+ if (sourceFormat === 'mp3')
61
+ return true;
62
+ return options.normalizeToM4a === true
63
+ && sourceFormat !== 'm4a'
64
+ && sourceFormat !== 'unknown';
65
+ }
66
+ function shouldNormalizeReferenceAudioToMp3(sourceFormat, options) {
67
+ return options.normalizeToMp3 === true
68
+ && sourceFormat !== 'mp3'
69
+ && sourceFormat !== 'unknown';
70
+ }
71
+ function finiteNonNegative(value, fallback = 0) {
72
+ const parsed = typeof value === 'number' ? value : Number(value);
73
+ return Number.isFinite(parsed) ? Math.max(0, parsed) : fallback;
74
+ }
75
+ function finitePositive(value, fallback) {
76
+ const parsed = typeof value === 'number' ? value : Number(value);
77
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
78
+ }
79
+ function shouldTrimSeedanceReferenceAudio(input) {
80
+ const startOffset = finiteNonNegative(input.startOffsetSeconds);
81
+ if (startOffset > 0)
82
+ return true;
83
+ const maxDuration = finitePositive(input.maxDurationSeconds, exports.SEEDANCE_R2V_REFERENCE_AUDIO_MAX_DURATION_SECONDS);
84
+ const sourceDuration = input.sourceDurationSeconds;
85
+ if (typeof sourceDuration !== 'number' || !Number.isFinite(sourceDuration)) {
86
+ return false;
87
+ }
88
+ return sourceDuration > maxDuration;
89
+ }
90
+ async function prepareReferenceAudioForVideo(data, mimeType, filename = 'reference-audio', options = {}) {
91
+ const inputMimeType = normalizeReferenceAudioMimeType(mimeType);
92
+ const sourceFormat = detectReferenceAudioFormat(data, inputMimeType);
93
+ if (shouldNormalizeReferenceAudioToMp3(sourceFormat, options)) {
94
+ const transcode = options.transcodeToMp3;
95
+ if (!transcode) {
96
+ throw new Error('Reference audio must be normalized to MP3 through a host adapter before video generation.');
97
+ }
98
+ const result = await transcode({
99
+ data,
100
+ filename,
101
+ inputMimeType,
102
+ sourceFormat,
103
+ });
104
+ if (!(result.data instanceof Uint8Array) || result.data.length === 0) {
105
+ throw new Error('Reference audio MP3 transcode did not return media bytes.');
106
+ }
107
+ return {
108
+ data: result.data,
109
+ mimeType: normalizeReferenceAudioMimeType(result.mimeType || 'audio/mpeg'),
110
+ sourceFormat,
111
+ transcoded: true,
112
+ trimmed: false,
113
+ };
114
+ }
115
+ if (!shouldNormalizeReferenceAudioToM4a(sourceFormat, options)) {
116
+ return {
117
+ data,
118
+ mimeType: inputMimeType,
119
+ sourceFormat,
120
+ transcoded: false,
121
+ trimmed: false,
122
+ };
123
+ }
124
+ const transcode = options.transcodeToM4a ?? options.transcodeMp3;
125
+ if (!transcode) {
126
+ throw new Error('Reference audio must be normalized through a host adapter before video generation.');
127
+ }
128
+ const result = await transcode({
129
+ data,
130
+ filename,
131
+ inputMimeType,
132
+ sourceFormat,
133
+ });
134
+ if (!(result.data instanceof Uint8Array) || result.data.length === 0) {
135
+ throw new Error('MP3 reference audio transcode did not return media bytes.');
136
+ }
137
+ return {
138
+ data: result.data,
139
+ mimeType: normalizeReferenceAudioMimeType(result.mimeType || 'audio/mp4'),
140
+ sourceFormat,
141
+ transcoded: true,
142
+ trimmed: false,
143
+ };
144
+ }
145
+ async function prepareSeedanceReferenceAudioForVideo(data, mimeType, filename = 'reference-audio', options = {}) {
146
+ const inputMimeType = normalizeReferenceAudioMimeType(mimeType);
147
+ const sourceFormat = detectReferenceAudioFormat(data, inputMimeType);
148
+ const sourceDuration = typeof options.sourceDurationSeconds === 'number'
149
+ && Number.isFinite(options.sourceDurationSeconds)
150
+ ? Math.max(0, options.sourceDurationSeconds)
151
+ : undefined;
152
+ const requestedDuration = finitePositive(options.maxDurationSeconds, exports.SEEDANCE_R2V_REFERENCE_AUDIO_MAX_DURATION_SECONDS);
153
+ const startOffset = finiteNonNegative(options.startOffsetSeconds);
154
+ if (shouldTrimSeedanceReferenceAudio({
155
+ sourceDurationSeconds: sourceDuration,
156
+ maxDurationSeconds: requestedDuration,
157
+ startOffsetSeconds: startOffset,
158
+ })) {
159
+ if (!options.trimAudio) {
160
+ throw new Error('Seedance reference audio must be trimmed through a host adapter before video generation.');
161
+ }
162
+ const result = await options.trimAudio({
163
+ data,
164
+ filename,
165
+ inputMimeType,
166
+ sourceFormat,
167
+ duration: requestedDuration,
168
+ start: startOffset,
169
+ });
170
+ if (!(result.data instanceof Uint8Array) || result.data.length === 0) {
171
+ throw new Error('Seedance reference audio trim did not return media bytes.');
172
+ }
173
+ return {
174
+ data: result.data,
175
+ mimeType: normalizeReferenceAudioMimeType(result.mimeType || 'audio/mp4'),
176
+ sourceFormat,
177
+ transcoded: options.normalizeToMp3 === true
178
+ ? sourceFormat !== 'mp3'
179
+ : sourceFormat === 'mp3',
180
+ trimmed: true,
181
+ requestedDuration,
182
+ startOffset,
183
+ ...(sourceDuration !== undefined ? { sourceDuration } : {}),
184
+ };
185
+ }
186
+ const prepared = await prepareReferenceAudioForVideo(data, inputMimeType, filename, options);
187
+ return {
188
+ ...prepared,
189
+ requestedDuration,
190
+ startOffset,
191
+ ...(sourceDuration !== undefined ? { sourceDuration } : {}),
192
+ };
193
+ }
194
+ //# sourceMappingURL=audioReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audioReference.js","sourceRoot":"","sources":["../../src/media/audioReference.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,170 @@
1
+ export declare const CAMERA_ANGLE_LORA: {
2
+ readonly id: "multiple_angles";
3
+ readonly defaultStrength: 0.9;
4
+ };
5
+ export declare const AZIMUTHS: readonly [{
6
+ readonly key: "front";
7
+ readonly label: "Front";
8
+ readonly prompt: "front view";
9
+ readonly angle: 0;
10
+ }, {
11
+ readonly key: "front-right";
12
+ readonly label: "Front Right";
13
+ readonly prompt: "front-right quarter view";
14
+ readonly angle: 45;
15
+ }, {
16
+ readonly key: "right";
17
+ readonly label: "Right";
18
+ readonly prompt: "right side view";
19
+ readonly angle: 90;
20
+ }, {
21
+ readonly key: "back-right";
22
+ readonly label: "Back Right";
23
+ readonly prompt: "back-right quarter view";
24
+ readonly angle: 135;
25
+ }, {
26
+ readonly key: "back";
27
+ readonly label: "Back";
28
+ readonly prompt: "back view";
29
+ readonly angle: 180;
30
+ }, {
31
+ readonly key: "back-left";
32
+ readonly label: "Back Left";
33
+ readonly prompt: "back-left quarter view";
34
+ readonly angle: 225;
35
+ }, {
36
+ readonly key: "left";
37
+ readonly label: "Left";
38
+ readonly prompt: "left side view";
39
+ readonly angle: 270;
40
+ }, {
41
+ readonly key: "front-left";
42
+ readonly label: "Front Left";
43
+ readonly prompt: "front-left quarter view";
44
+ readonly angle: 315;
45
+ }];
46
+ export declare const ELEVATIONS: readonly [{
47
+ readonly key: "low-angle";
48
+ readonly label: "Low Angle";
49
+ readonly prompt: "low-angle shot";
50
+ readonly angle: -30;
51
+ }, {
52
+ readonly key: "eye-level";
53
+ readonly label: "Eye Level";
54
+ readonly prompt: "eye-level shot";
55
+ readonly angle: 0;
56
+ }, {
57
+ readonly key: "elevated";
58
+ readonly label: "Elevated";
59
+ readonly prompt: "elevated shot";
60
+ readonly angle: 30;
61
+ }, {
62
+ readonly key: "high-angle";
63
+ readonly label: "High Angle";
64
+ readonly prompt: "high-angle shot";
65
+ readonly angle: 60;
66
+ }];
67
+ export declare const DISTANCES: readonly [{
68
+ readonly key: "close-up";
69
+ readonly label: "Close-up";
70
+ readonly prompt: "close-up";
71
+ readonly scale: 0.6;
72
+ }, {
73
+ readonly key: "medium";
74
+ readonly label: "Medium";
75
+ readonly prompt: "medium shot";
76
+ readonly scale: 1;
77
+ }, {
78
+ readonly key: "wide";
79
+ readonly label: "Wide";
80
+ readonly prompt: "wide shot";
81
+ readonly scale: 1.8;
82
+ }];
83
+ export type AzimuthKey = (typeof AZIMUTHS)[number]['key'];
84
+ export type ElevationKey = (typeof ELEVATIONS)[number]['key'];
85
+ export type DistanceKey = (typeof DISTANCES)[number]['key'];
86
+ export interface CameraAngleData {
87
+ azimuth: AzimuthKey;
88
+ elevation: ElevationKey;
89
+ distance: DistanceKey;
90
+ }
91
+ export declare function getAzimuthConfig(key: AzimuthKey): {
92
+ readonly key: "front";
93
+ readonly label: "Front";
94
+ readonly prompt: "front view";
95
+ readonly angle: 0;
96
+ } | {
97
+ readonly key: "front-right";
98
+ readonly label: "Front Right";
99
+ readonly prompt: "front-right quarter view";
100
+ readonly angle: 45;
101
+ } | {
102
+ readonly key: "right";
103
+ readonly label: "Right";
104
+ readonly prompt: "right side view";
105
+ readonly angle: 90;
106
+ } | {
107
+ readonly key: "back-right";
108
+ readonly label: "Back Right";
109
+ readonly prompt: "back-right quarter view";
110
+ readonly angle: 135;
111
+ } | {
112
+ readonly key: "back";
113
+ readonly label: "Back";
114
+ readonly prompt: "back view";
115
+ readonly angle: 180;
116
+ } | {
117
+ readonly key: "back-left";
118
+ readonly label: "Back Left";
119
+ readonly prompt: "back-left quarter view";
120
+ readonly angle: 225;
121
+ } | {
122
+ readonly key: "left";
123
+ readonly label: "Left";
124
+ readonly prompt: "left side view";
125
+ readonly angle: 270;
126
+ } | {
127
+ readonly key: "front-left";
128
+ readonly label: "Front Left";
129
+ readonly prompt: "front-left quarter view";
130
+ readonly angle: 315;
131
+ };
132
+ export declare function getElevationConfig(key: ElevationKey): {
133
+ readonly key: "low-angle";
134
+ readonly label: "Low Angle";
135
+ readonly prompt: "low-angle shot";
136
+ readonly angle: -30;
137
+ } | {
138
+ readonly key: "eye-level";
139
+ readonly label: "Eye Level";
140
+ readonly prompt: "eye-level shot";
141
+ readonly angle: 0;
142
+ } | {
143
+ readonly key: "elevated";
144
+ readonly label: "Elevated";
145
+ readonly prompt: "elevated shot";
146
+ readonly angle: 30;
147
+ } | {
148
+ readonly key: "high-angle";
149
+ readonly label: "High Angle";
150
+ readonly prompt: "high-angle shot";
151
+ readonly angle: 60;
152
+ };
153
+ export declare function getDistanceConfig(key: DistanceKey): {
154
+ readonly key: "close-up";
155
+ readonly label: "Close-up";
156
+ readonly prompt: "close-up";
157
+ readonly scale: 0.6;
158
+ } | {
159
+ readonly key: "medium";
160
+ readonly label: "Medium";
161
+ readonly prompt: "medium shot";
162
+ readonly scale: 1;
163
+ } | {
164
+ readonly key: "wide";
165
+ readonly label: "Wide";
166
+ readonly prompt: "wide shot";
167
+ readonly scale: 1.8;
168
+ };
169
+ export declare function buildCameraAnglePrompt(azimuth: AzimuthKey, elevation: ElevationKey, distance: DistanceKey): string;
170
+ //# sourceMappingURL=cameraAngle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cameraAngle.d.ts","sourceRoot":"","sources":["../../src/media/cameraAngle.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASX,CAAC;AAEX,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;EAKb,CAAC;AAEX,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;EAIZ,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;AAE5D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE/C;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;EAEnD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW;;;;;;;;;;;;;;;EAEjD;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,WAAW,GACpB,MAAM,CAMR"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DISTANCES = exports.ELEVATIONS = exports.AZIMUTHS = exports.CAMERA_ANGLE_LORA = void 0;
4
+ exports.getAzimuthConfig = getAzimuthConfig;
5
+ exports.getElevationConfig = getElevationConfig;
6
+ exports.getDistanceConfig = getDistanceConfig;
7
+ exports.buildCameraAnglePrompt = buildCameraAnglePrompt;
8
+ exports.CAMERA_ANGLE_LORA = {
9
+ id: 'multiple_angles',
10
+ defaultStrength: 0.9,
11
+ };
12
+ exports.AZIMUTHS = [
13
+ { key: 'front', label: 'Front', prompt: 'front view', angle: 0 },
14
+ { key: 'front-right', label: 'Front Right', prompt: 'front-right quarter view', angle: 45 },
15
+ { key: 'right', label: 'Right', prompt: 'right side view', angle: 90 },
16
+ { key: 'back-right', label: 'Back Right', prompt: 'back-right quarter view', angle: 135 },
17
+ { key: 'back', label: 'Back', prompt: 'back view', angle: 180 },
18
+ { key: 'back-left', label: 'Back Left', prompt: 'back-left quarter view', angle: 225 },
19
+ { key: 'left', label: 'Left', prompt: 'left side view', angle: 270 },
20
+ { key: 'front-left', label: 'Front Left', prompt: 'front-left quarter view', angle: 315 },
21
+ ];
22
+ exports.ELEVATIONS = [
23
+ { key: 'low-angle', label: 'Low Angle', prompt: 'low-angle shot', angle: -30 },
24
+ { key: 'eye-level', label: 'Eye Level', prompt: 'eye-level shot', angle: 0 },
25
+ { key: 'elevated', label: 'Elevated', prompt: 'elevated shot', angle: 30 },
26
+ { key: 'high-angle', label: 'High Angle', prompt: 'high-angle shot', angle: 60 },
27
+ ];
28
+ exports.DISTANCES = [
29
+ { key: 'close-up', label: 'Close-up', prompt: 'close-up', scale: 0.6 },
30
+ { key: 'medium', label: 'Medium', prompt: 'medium shot', scale: 1.0 },
31
+ { key: 'wide', label: 'Wide', prompt: 'wide shot', scale: 1.8 },
32
+ ];
33
+ function getAzimuthConfig(key) {
34
+ return exports.AZIMUTHS.find((a) => a.key === key) || exports.AZIMUTHS[0];
35
+ }
36
+ function getElevationConfig(key) {
37
+ return exports.ELEVATIONS.find((e) => e.key === key) || exports.ELEVATIONS[1];
38
+ }
39
+ function getDistanceConfig(key) {
40
+ return exports.DISTANCES.find((d) => d.key === key) || exports.DISTANCES[1];
41
+ }
42
+ function buildCameraAnglePrompt(azimuth, elevation, distance) {
43
+ const azimuthConfig = getAzimuthConfig(azimuth);
44
+ const elevationConfig = getElevationConfig(elevation);
45
+ const distanceConfig = getDistanceConfig(distance);
46
+ return `<sks> ${azimuthConfig.prompt} ${elevationConfig.prompt} ${distanceConfig.prompt}`;
47
+ }
48
+ //# sourceMappingURL=cameraAngle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cameraAngle.js","sourceRoot":"","sources":["../../src/media/cameraAngle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare const CHARACTER_SHEET_DEFAULT_CANVAS: {
2
+ readonly width: 1536;
3
+ readonly height: 1024;
4
+ readonly aspectRatio: "1536x1024";
5
+ };
6
+ export declare function textRequestsProfessionalCharacterSheetImage(text: string): boolean;
7
+ export declare function promptContainsProfessionalCharacterSheetInstruction(text: string): boolean;
8
+ export declare function prependProfessionalCharacterSheetInstruction(prompt: string, userIntentText?: string): string;
9
+ //# sourceMappingURL=characterSheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characterSheet.d.ts","sourceRoot":"","sources":["../../src/media/characterSheet.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B;;;;CAIjC,CAAC;AAQX,wBAAgB,2CAA2C,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAoBjF;AAED,wBAAgB,mDAAmD,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzF;AAED,wBAAgB,4CAA4C,CAC1D,MAAM,EAAE,MAAM,EACd,cAAc,SAAK,GAClB,MAAM,CAkBR"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CHARACTER_SHEET_DEFAULT_CANVAS = void 0;
4
+ exports.textRequestsProfessionalCharacterSheetImage = textRequestsProfessionalCharacterSheetImage;
5
+ exports.promptContainsProfessionalCharacterSheetInstruction = promptContainsProfessionalCharacterSheetInstruction;
6
+ exports.prependProfessionalCharacterSheetInstruction = prependProfessionalCharacterSheetInstruction;
7
+ exports.CHARACTER_SHEET_DEFAULT_CANVAS = {
8
+ width: 1536,
9
+ height: 1024,
10
+ aspectRatio: '1536x1024',
11
+ };
12
+ const CHARACTER_SHEET_MARKER = 'PROFESSIONAL CHARACTER SHEET CONTRACT';
13
+ function normalizeText(text) {
14
+ return text.replace(/[“”]/g, '"').replace(/[’]/g, "'").replace(/\s+/g, ' ').trim();
15
+ }
16
+ function textRequestsProfessionalCharacterSheetImage(text) {
17
+ const normalized = normalizeText(text);
18
+ if (!normalized)
19
+ return false;
20
+ const generationVerb = String.raw `(?:generate|create|make|render|produce|design|build|develop|draw)`;
21
+ const characterSubject = String.raw `(?:character|mascot|brand\s+mascot|creature|avatar|persona|toon|cartoon\s+character)`;
22
+ const sheetArtifact = String.raw `(?:character\s+sheet|mascot\s+sheet|model\s+sheet|reference\s+(?:sheet|board)|design\s+sheet|turnaround(?:\s+(?:sheet|views?|board))?|expression\s+(?:sheet|row|board)|pose\s+(?:sheet|board))`;
23
+ const directCharacterSheet = new RegExp(String.raw `\b${characterSubject}\b[\s\S]{0,80}\b(?:sheet|reference\s+(?:sheet|board)|model\s+sheet|turnaround(?:\s+(?:sheet|views?|board))?|expression\s+(?:sheet|row|board)|pose\s+(?:sheet|board))\b`, 'i').test(normalized)
24
+ || new RegExp(String.raw `\b${sheetArtifact}\b[\s\S]{0,80}\b${characterSubject}\b`, 'i').test(normalized)
25
+ || /\breusable\s+character\s+sheet\b/i.test(normalized);
26
+ if (!directCharacterSheet)
27
+ return false;
28
+ return new RegExp(String.raw `\b${generationVerb}\b[\s\S]{0,180}\b${sheetArtifact}\b`, 'i').test(normalized)
29
+ || new RegExp(String.raw `\b${sheetArtifact}\b[\s\S]{0,120}\b(?:image|illustration|artwork|render|board|layout)\b`, 'i').test(normalized)
30
+ || new RegExp(String.raw `\b(?:need|want|would\s+like|looking\s+for|please|can\s+you|could\s+you)\b[\s\S]{0,120}\b${sheetArtifact}\b`, 'i').test(normalized);
31
+ }
32
+ function promptContainsProfessionalCharacterSheetInstruction(text) {
33
+ return normalizeText(text).includes(CHARACTER_SHEET_MARKER);
34
+ }
35
+ function prependProfessionalCharacterSheetInstruction(prompt, userIntentText = '') {
36
+ const trimmedPrompt = prompt.trim();
37
+ if (!trimmedPrompt)
38
+ return trimmedPrompt;
39
+ if (trimmedPrompt.includes(CHARACTER_SHEET_MARKER))
40
+ return trimmedPrompt;
41
+ const textCopyInstruction = /\b(?:slogan|tagline|logo|brand|copy|text|caption|label|headline|title|wording|reads?|says?)\b/i.test(userIntentText)
42
+ ? 'Preserve exact user-provided brand names, slogans, taglines, logo text, labels, and requested copy verbatim; incidental tiny notes such as personality or fun-fact blurbs may be generated by the image model when the user did not provide exact wording.'
43
+ : 'Use clean, readable typography for labels and notes; any incidental personality, fun-fact, or usage notes may be generated by the image model unless the user supplied exact copy.';
44
+ return [
45
+ `${CHARACTER_SHEET_MARKER}: Create one polished, reusable animation/brand mascot character design sheet, not a sparse six-panel grid and not separate image variations.`,
46
+ 'Keep the character identity consistent across every view and pose. Use uploaded reference images as assigned by the request; preserve logos and brand assets where used.',
47
+ 'Layout should feel like a professional character reference board on a soft neutral studio background with clean typography and an organized product-brand design aesthetic.',
48
+ 'Include, when visually feasible in the single sheet: a large hero pose; turnaround views labeled front, 3/4 front, side, back, and 3/4 back; an expression row; action/personality poses; accessory or prop callouts; color palette swatches; compact personality notes; fun facts or brand usage notes.',
49
+ textCopyInstruction,
50
+ 'Prioritize high-quality 3D rendered or polished illustration detail, soft studio lighting, consistent proportions, expressive personality, and sharp presentation.',
51
+ trimmedPrompt,
52
+ ].join(' ');
53
+ }
54
+ //# sourceMappingURL=characterSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characterSheet.js","sourceRoot":"","sources":["../../src/media/characterSheet.ts"],"names":[],"mappings":";;;AAYA,kGAoBC;AAED,kHAEC;AAED,oGAqBC;AA3DY,QAAA,8BAA8B,GAAG;IAC5C,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;IACZ,WAAW,EAAE,WAAW;CAChB,CAAC;AAEX,MAAM,sBAAsB,GAAG,uCAAuC,CAAC;AAEvE,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACrF,CAAC;AAED,SAAgB,2CAA2C,CAAC,IAAY;IACtE,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9B,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA,mEAAmE,CAAC;IACrG,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAA,sFAAsF,CAAC;IAC1H,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA,gMAAgM,CAAC;IAEjO,MAAM,oBAAoB,GAAG,IAAI,MAAM,CACrC,MAAM,CAAC,GAAG,CAAA,KAAK,gBAAgB,wKAAwK,EACvM,GAAG,CACJ,CAAC,IAAI,CAAC,UAAU,CAAC;WACb,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,KAAK,aAAa,mBAAmB,gBAAgB,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;WACrG,mCAAmC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE1D,IAAI,CAAC,oBAAoB;QAAE,OAAO,KAAK,CAAC;IAExC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,KAAK,cAAc,oBAAoB,aAAa,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;WACtG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,KAAK,aAAa,uEAAuE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;WACrI,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,2FAA2F,aAAa,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChK,CAAC;AAED,SAAgB,mDAAmD,CAAC,IAAY;IAC9E,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AAC9D,CAAC;AAED,SAAgB,4CAA4C,CAC1D,MAAc,EACd,cAAc,GAAG,EAAE;IAEnB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,aAAa;QAAE,OAAO,aAAa,CAAC;IACzC,IAAI,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAAE,OAAO,aAAa,CAAC;IAEzE,MAAM,mBAAmB,GAAG,gGAAgG,CAAC,IAAI,CAAC,cAAc,CAAC;QAC/I,CAAC,CAAC,4PAA4P;QAC9P,CAAC,CAAC,oLAAoL,CAAC;IAEzL,OAAO;QACL,GAAG,sBAAsB,+IAA+I;QACxK,0KAA0K;QAC1K,6KAA6K;QAC7K,0SAA0S;QAC1S,mBAAmB;QACnB,oKAAoK;QACpK,aAAa;KACd,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC"}
@@ -0,0 +1,18 @@
1
+ export declare const DANCE_MONTAGE_MAX_CLIP_DURATION_SECONDS = 20;
2
+ export declare const DANCE_MONTAGE_MAX_DURATION_SECONDS = 30;
3
+ export declare const DANCE_MONTAGE_PREFERRED_SEGMENT_DURATION_SECONDS = 10;
4
+ export declare const DANCE_MONTAGE_MIN_SEGMENT_DURATION_SECONDS = 5;
5
+ export interface DanceSegmentPlanInput {
6
+ requestedDuration: number;
7
+ imageCount: number;
8
+ presetMaxDuration: number;
9
+ singleClip?: boolean;
10
+ }
11
+ export interface DanceSegmentPlan {
12
+ duration: number;
13
+ segmentCount: number;
14
+ segmentDuration: number;
15
+ }
16
+ export declare function normalizeDanceMontageDurationArg(requestedDuration: number | null): number | undefined;
17
+ export declare function planDanceMontageSegments(input: DanceSegmentPlanInput): DanceSegmentPlan;
18
+ //# sourceMappingURL=danceMontage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"danceMontage.d.ts","sourceRoot":"","sources":["../../src/media/danceMontage.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,uCAAuC,KAAK,CAAC;AAG1D,eAAO,MAAM,kCAAkC,KAAK,CAAC;AAGrD,eAAO,MAAM,gDAAgD,KAAK,CAAC;AAGnE,eAAO,MAAM,0CAA0C,IAAI,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IAEpC,iBAAiB,EAAE,MAAM,CAAC;IAE1B,UAAU,EAAE,MAAM,CAAC;IAEnB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAE/B,QAAQ,EAAE,MAAM,CAAC;IAEjB,YAAY,EAAE,MAAM,CAAC;IAErB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,gCAAgC,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAGrG;AAQD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,GAAG,gBAAgB,CA8BvF"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DANCE_MONTAGE_MIN_SEGMENT_DURATION_SECONDS = exports.DANCE_MONTAGE_PREFERRED_SEGMENT_DURATION_SECONDS = exports.DANCE_MONTAGE_MAX_DURATION_SECONDS = exports.DANCE_MONTAGE_MAX_CLIP_DURATION_SECONDS = void 0;
4
+ exports.normalizeDanceMontageDurationArg = normalizeDanceMontageDurationArg;
5
+ exports.planDanceMontageSegments = planDanceMontageSegments;
6
+ exports.DANCE_MONTAGE_MAX_CLIP_DURATION_SECONDS = 20;
7
+ exports.DANCE_MONTAGE_MAX_DURATION_SECONDS = 30;
8
+ exports.DANCE_MONTAGE_PREFERRED_SEGMENT_DURATION_SECONDS = 10;
9
+ exports.DANCE_MONTAGE_MIN_SEGMENT_DURATION_SECONDS = 5;
10
+ function normalizeDanceMontageDurationArg(requestedDuration) {
11
+ if (typeof requestedDuration !== 'number' || !Number.isFinite(requestedDuration))
12
+ return undefined;
13
+ return Math.min(exports.DANCE_MONTAGE_MAX_DURATION_SECONDS, Math.max(8, requestedDuration));
14
+ }
15
+ function planDanceMontageSegments(input) {
16
+ const { imageCount, singleClip = false } = input;
17
+ let duration = Math.min(input.requestedDuration, input.presetMaxDuration, exports.DANCE_MONTAGE_MAX_DURATION_SECONDS);
18
+ let segmentCount;
19
+ if (singleClip && duration <= exports.DANCE_MONTAGE_MAX_CLIP_DURATION_SECONDS) {
20
+ segmentCount = 1;
21
+ }
22
+ else {
23
+ const minRequired = Math.max(imageCount, Math.ceil(duration / exports.DANCE_MONTAGE_MAX_CLIP_DURATION_SECONDS));
24
+ const maxForMinDuration = Math.floor(duration / exports.DANCE_MONTAGE_MIN_SEGMENT_DURATION_SECONDS);
25
+ const preferredCount = Math.ceil(duration / exports.DANCE_MONTAGE_PREFERRED_SEGMENT_DURATION_SECONDS);
26
+ segmentCount = Math.min(maxForMinDuration, Math.max(minRequired, preferredCount));
27
+ segmentCount = Math.max(segmentCount, minRequired);
28
+ }
29
+ let segmentDuration = Math.round((duration / segmentCount) * 4) / 4;
30
+ segmentDuration = Math.max(exports.DANCE_MONTAGE_MIN_SEGMENT_DURATION_SECONDS, Math.min(exports.DANCE_MONTAGE_MAX_CLIP_DURATION_SECONDS, segmentDuration));
31
+ duration = segmentDuration * segmentCount;
32
+ return { duration, segmentCount, segmentDuration };
33
+ }
34
+ //# sourceMappingURL=danceMontage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"danceMontage.js","sourceRoot":"","sources":["../../src/media/danceMontage.ts"],"names":[],"mappings":";;;AAkCA,4EAGC;AAQD,4DA8BC;AAxEY,QAAA,uCAAuC,GAAG,EAAE,CAAC;AAG7C,QAAA,kCAAkC,GAAG,EAAE,CAAC;AAGxC,QAAA,gDAAgD,GAAG,EAAE,CAAC;AAGtD,QAAA,0CAA0C,GAAG,CAAC,CAAC;AAsB5D,SAAgB,gCAAgC,CAAC,iBAAgC;IAC/E,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAAE,OAAO,SAAS,CAAC;IACnG,OAAO,IAAI,CAAC,GAAG,CAAC,0CAAkC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;AACtF,CAAC;AAQD,SAAgB,wBAAwB,CAAC,KAA4B;IACnE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACjD,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,CACrB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,iBAAiB,EACvB,0CAAkC,CACnC,CAAC;IAEF,IAAI,YAAoB,CAAC;IACzB,IAAI,UAAU,IAAI,QAAQ,IAAI,+CAAuC,EAAE,CAAC;QACtE,YAAY,GAAG,CAAC,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,UAAU,EACV,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,+CAAuC,CAAC,CAC9D,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,kDAA0C,CAAC,CAAC;QAC5F,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,wDAAgD,CAAC,CAAC;QAC9F,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;QAClF,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACpE,eAAe,GAAG,IAAI,CAAC,GAAG,CACxB,kDAA0C,EAC1C,IAAI,CAAC,GAAG,CAAC,+CAAuC,EAAE,eAAe,CAAC,CACnE,CAAC;IACF,QAAQ,GAAG,eAAe,GAAG,YAAY,CAAC;IAE1C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AACrD,CAAC"}