@sogni-ai/sogni-client 4.2.0-alpha.21 → 4.2.0-alpha.22

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 (170) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/CLAUDE.md +7 -0
  3. package/README.md +45 -25
  4. package/dist/Chat/ChatTools.js +30 -16
  5. package/dist/Chat/ChatTools.js.map +1 -1
  6. package/dist/Chat/hostedToolValidation.generated.d.ts +46 -0
  7. package/dist/Chat/hostedToolValidation.generated.js +306 -0
  8. package/dist/Chat/hostedToolValidation.generated.js.map +1 -0
  9. package/dist/Chat/index.d.ts +41 -1
  10. package/dist/Chat/index.js +166 -2
  11. package/dist/Chat/index.js.map +1 -1
  12. package/dist/Chat/modelRouting.d.ts +8 -26
  13. package/dist/Chat/modelRouting.js +11 -106
  14. package/dist/Chat/modelRouting.js.map +1 -1
  15. package/dist/Chat/sogniHostedTools.generated.json +1285 -283
  16. package/dist/Chat/tools.d.ts +52 -3
  17. package/dist/Chat/tools.js +80 -27
  18. package/dist/Chat/tools.js.map +1 -1
  19. package/dist/Chat/types.d.ts +119 -3
  20. package/dist/CreativeWorkflows/index.d.ts +1 -7
  21. package/dist/CreativeWorkflows/index.js +23 -21
  22. package/dist/CreativeWorkflows/index.js.map +1 -1
  23. package/dist/CreativeWorkflows/types.d.ts +27 -33
  24. package/dist/index.d.ts +19 -4
  25. package/dist/index.js +1 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/lib/Cache.js +6 -1
  28. package/dist/lib/Cache.js.map +1 -1
  29. package/dist-esm/Account/CurrentAccount.js +59 -0
  30. package/dist-esm/Account/CurrentAccount.js.map +1 -0
  31. package/dist-esm/Account/index.js +543 -0
  32. package/dist-esm/Account/index.js.map +1 -0
  33. package/dist-esm/Account/types.js +2 -0
  34. package/dist-esm/Account/types.js.map +1 -0
  35. package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js +327 -0
  36. package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js.map +1 -0
  37. package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js +222 -0
  38. package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js.map +1 -0
  39. package/dist-esm/ApiClient/WebSocketClient/ErrorCode.js +15 -0
  40. package/dist-esm/ApiClient/WebSocketClient/ErrorCode.js.map +1 -0
  41. package/dist-esm/ApiClient/WebSocketClient/eventSubscriptions.js +35 -0
  42. package/dist-esm/ApiClient/WebSocketClient/eventSubscriptions.js.map +1 -0
  43. package/dist-esm/ApiClient/WebSocketClient/events.js +2 -0
  44. package/dist-esm/ApiClient/WebSocketClient/events.js.map +1 -0
  45. package/dist-esm/ApiClient/WebSocketClient/index.js +221 -0
  46. package/dist-esm/ApiClient/WebSocketClient/index.js.map +1 -0
  47. package/dist-esm/ApiClient/WebSocketClient/messages.js +2 -0
  48. package/dist-esm/ApiClient/WebSocketClient/messages.js.map +1 -0
  49. package/dist-esm/ApiClient/WebSocketClient/types.js +2 -0
  50. package/dist-esm/ApiClient/WebSocketClient/types.js.map +1 -0
  51. package/dist-esm/ApiClient/events.js +2 -0
  52. package/dist-esm/ApiClient/events.js.map +1 -0
  53. package/dist-esm/ApiClient/index.js +120 -0
  54. package/dist-esm/ApiClient/index.js.map +1 -0
  55. package/dist-esm/ApiGroup.js +10 -0
  56. package/dist-esm/ApiGroup.js.map +1 -0
  57. package/dist-esm/Chat/ChatStream.js +181 -0
  58. package/dist-esm/Chat/ChatStream.js.map +1 -0
  59. package/dist-esm/Chat/ChatTools.js +562 -0
  60. package/dist-esm/Chat/ChatTools.js.map +1 -0
  61. package/dist-esm/Chat/hostedToolValidation.generated.js +301 -0
  62. package/dist-esm/Chat/hostedToolValidation.generated.js.map +1 -0
  63. package/dist-esm/Chat/index.js +598 -0
  64. package/dist-esm/Chat/index.js.map +1 -0
  65. package/dist-esm/Chat/modelRouting.js +326 -0
  66. package/dist-esm/Chat/modelRouting.js.map +1 -0
  67. package/dist-esm/Chat/sogniHostedTools.generated.json +1531 -0
  68. package/dist-esm/Chat/tools.js +149 -0
  69. package/dist-esm/Chat/tools.js.map +1 -0
  70. package/dist-esm/Chat/types.js +2 -0
  71. package/dist-esm/Chat/types.js.map +1 -0
  72. package/dist-esm/CreativeWorkflows/index.js +256 -0
  73. package/dist-esm/CreativeWorkflows/index.js.map +1 -0
  74. package/dist-esm/CreativeWorkflows/types.js +2 -0
  75. package/dist-esm/CreativeWorkflows/types.js.map +1 -0
  76. package/dist-esm/Projects/Job.js +391 -0
  77. package/dist-esm/Projects/Job.js.map +1 -0
  78. package/dist-esm/Projects/Project.js +295 -0
  79. package/dist-esm/Projects/Project.js.map +1 -0
  80. package/dist-esm/Projects/createJobRequestMessage.js +528 -0
  81. package/dist-esm/Projects/createJobRequestMessage.js.map +1 -0
  82. package/dist-esm/Projects/index.js +1309 -0
  83. package/dist-esm/Projects/index.js.map +1 -0
  84. package/dist-esm/Projects/types/ComfySamplerParams.js +2 -0
  85. package/dist-esm/Projects/types/ComfySamplerParams.js.map +1 -0
  86. package/dist-esm/Projects/types/ControlNetParams.js +2 -0
  87. package/dist-esm/Projects/types/ControlNetParams.js.map +1 -0
  88. package/dist-esm/Projects/types/EstimationResponse.js +2 -0
  89. package/dist-esm/Projects/types/EstimationResponse.js.map +1 -0
  90. package/dist-esm/Projects/types/ModelOptions.js +89 -0
  91. package/dist-esm/Projects/types/ModelOptions.js.map +1 -0
  92. package/dist-esm/Projects/types/ModelTiersRaw.js +13 -0
  93. package/dist-esm/Projects/types/ModelTiersRaw.js.map +1 -0
  94. package/dist-esm/Projects/types/RawProject.js +2 -0
  95. package/dist-esm/Projects/types/RawProject.js.map +1 -0
  96. package/dist-esm/Projects/types/events.js +2 -0
  97. package/dist-esm/Projects/types/events.js.map +1 -0
  98. package/dist-esm/Projects/types/index.js +10 -0
  99. package/dist-esm/Projects/types/index.js.map +1 -0
  100. package/dist-esm/Projects/utils/index.js +229 -0
  101. package/dist-esm/Projects/utils/index.js.map +1 -0
  102. package/dist-esm/Projects/utils/samplers.js +36 -0
  103. package/dist-esm/Projects/utils/samplers.js.map +1 -0
  104. package/dist-esm/Projects/utils/scheduler.js +27 -0
  105. package/dist-esm/Projects/utils/scheduler.js.map +1 -0
  106. package/dist-esm/Stats/index.js +20 -0
  107. package/dist-esm/Stats/index.js.map +1 -0
  108. package/dist-esm/Stats/types.js +2 -0
  109. package/dist-esm/Stats/types.js.map +1 -0
  110. package/dist-esm/events.js +2 -0
  111. package/dist-esm/events.js.map +1 -0
  112. package/dist-esm/index.js +144 -0
  113. package/dist-esm/index.js.map +1 -0
  114. package/dist-esm/lib/AuthManager/ApiKeyAuthManager.js +58 -0
  115. package/dist-esm/lib/AuthManager/ApiKeyAuthManager.js.map +1 -0
  116. package/dist-esm/lib/AuthManager/AuthManagerBase.js +9 -0
  117. package/dist-esm/lib/AuthManager/AuthManagerBase.js.map +1 -0
  118. package/dist-esm/lib/AuthManager/CookieAuthManager.js +48 -0
  119. package/dist-esm/lib/AuthManager/CookieAuthManager.js.map +1 -0
  120. package/dist-esm/lib/AuthManager/TokenAuthManager.js +186 -0
  121. package/dist-esm/lib/AuthManager/TokenAuthManager.js.map +1 -0
  122. package/dist-esm/lib/AuthManager/index.js +5 -0
  123. package/dist-esm/lib/AuthManager/index.js.map +1 -0
  124. package/dist-esm/lib/Cache.js +32 -0
  125. package/dist-esm/lib/Cache.js.map +1 -0
  126. package/dist-esm/lib/DataEntity.js +30 -0
  127. package/dist-esm/lib/DataEntity.js.map +1 -0
  128. package/dist-esm/lib/DefaultLogger.js +32 -0
  129. package/dist-esm/lib/DefaultLogger.js.map +1 -0
  130. package/dist-esm/lib/EIP712Helper.js +37 -0
  131. package/dist-esm/lib/EIP712Helper.js.map +1 -0
  132. package/dist-esm/lib/RestClient.js +90 -0
  133. package/dist-esm/lib/RestClient.js.map +1 -0
  134. package/dist-esm/lib/TypedEventEmitter.js +68 -0
  135. package/dist-esm/lib/TypedEventEmitter.js.map +1 -0
  136. package/dist-esm/lib/base64.js +18 -0
  137. package/dist-esm/lib/base64.js.map +1 -0
  138. package/dist-esm/lib/getUUID.js +7 -0
  139. package/dist-esm/lib/getUUID.js.map +1 -0
  140. package/dist-esm/lib/isNodejs.js +3 -0
  141. package/dist-esm/lib/isNodejs.js.map +1 -0
  142. package/dist-esm/lib/mediaValidation.js +277 -0
  143. package/dist-esm/lib/mediaValidation.js.map +1 -0
  144. package/dist-esm/lib/utils/index.js +30 -0
  145. package/dist-esm/lib/utils/index.js.map +1 -0
  146. package/dist-esm/lib/validation.js +138 -0
  147. package/dist-esm/lib/validation.js.map +1 -0
  148. package/dist-esm/package.json +3 -0
  149. package/dist-esm/types/ErrorData.js +2 -0
  150. package/dist-esm/types/ErrorData.js.map +1 -0
  151. package/dist-esm/types/json.js +2 -0
  152. package/dist-esm/types/json.js.map +1 -0
  153. package/dist-esm/types/token.js +2 -0
  154. package/dist-esm/types/token.js.map +1 -0
  155. package/dist-esm/version.js +3 -0
  156. package/dist-esm/version.js.map +1 -0
  157. package/llms-full.txt +11 -20
  158. package/llms.txt +9 -18
  159. package/package.json +21 -5
  160. package/src/Chat/ChatTools.ts +36 -16
  161. package/src/Chat/hostedToolValidation.generated.ts +453 -0
  162. package/src/Chat/index.ts +198 -3
  163. package/src/Chat/modelRouting.ts +26 -150
  164. package/src/Chat/sogniHostedTools.generated.json +1285 -283
  165. package/src/Chat/tools.ts +106 -41
  166. package/src/Chat/types.ts +131 -3
  167. package/src/CreativeWorkflows/index.ts +22 -41
  168. package/src/CreativeWorkflows/types.ts +69 -42
  169. package/src/index.ts +33 -12
  170. package/src/lib/Cache.ts +8 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [4.2.0-alpha.22](https://github.com/Sogni-AI/sogni-client/compare/v4.2.0-alpha.21...v4.2.0-alpha.22) (2026-05-15)
2
+
3
+
4
+ ### Features
5
+
6
+ * **sdk:** add durable chat runs, flatten creative workflows, dual ESM build ([03d37d7](https://github.com/Sogni-AI/sogni-client/commit/03d37d7e873e3e6ac8718b407fd612bab757907b))
7
+
1
8
  # [4.2.0-alpha.21](https://github.com/Sogni-AI/sogni-client/compare/v4.2.0-alpha.20...v4.2.0-alpha.21) (2026-05-14)
2
9
 
3
10
 
package/CLAUDE.md CHANGED
@@ -66,6 +66,13 @@ npm run docs
66
66
  - `account: AccountApi` - Authentication, balance, rewards
67
67
  - `projects: ProjectsApi` - Create/track AI generation jobs
68
68
  - `stats: StatsApi` - Leaderboard data
69
+ - `chat: ChatApi` - Unified chat namespace:
70
+ - `chat.completions.create` - Socket-native synchronous chat
71
+ - `chat.hosted.create` - Hosted synchronous chat via `/v1/chat/completions`
72
+ - `chat.runs.{create, get, cancel, streamEvents}` - Durable hosted chat runs via `/v1/chat/runs` with SSE replay
73
+ - `chat.tools` - Tool helpers (build, parse, validate)
74
+ - `creativeWorkflows: CreativeWorkflowsApi` - Durable explicit creative workflows via `/v1/creative-agent/workflows`
75
+ - `workflows: CreativeWorkflowsApi` - Flat alias of `creativeWorkflows` for shorter call sites
69
76
  - `apiClient: ApiClient` - Internal REST + WebSocket communication
70
77
 
71
78
  ### Core Entity Hierarchy
package/README.md CHANGED
@@ -851,24 +851,22 @@ const response = await sogni.chat.completions.create({
851
851
 
852
852
  ### Sogni Platform Tools — Generate Media via Chat
853
853
 
854
- Combine LLM intelligence with Sogni's media generation capabilities. The SDK exposes built-in public platform tool definitions for client-managed chat completions:
854
+ Combine LLM intelligence with Sogni's media generation capabilities. The SDK exposes the full canonical hosted creative-tool surface mirrored from `@sogni/creative-agent` through `SogniTools.all` (22 tools):
855
855
 
856
- - **`sogni_generate_image`**text-to-image generation
857
- - **`sogni_edit_image`**reference-guided image editing using `source_image_url` and `reference_image_urls`
858
- - **`sogni_generate_video`** text-to-video and image-to-video generation
859
- - **`sogni_sound_to_video`**audio-driven video generation using `reference_audio_url`
860
- - **`sogni_video_to_video`** — video transformation / motion transfer using `reference_video_url`
861
- - **`sogni_generate_music`** — music generation with optional lyrics and advanced controls
856
+ - **Generation**`generate_image`, `edit_image`, `generate_video`, `sound_to_video`, `video_to_video`, `generate_music`
857
+ - **Image adapters** `restore_photo`, `apply_style`, `refine_result`, `change_angle`, `animate_photo` (image-to-video with multi-source fan-out)
858
+ - **Video composition / post-production** `stitch_video`, `orbit_video`, `dance_montage`, `extend_video`, `replace_video_segment`, `overlay_video`, `add_subtitles`
859
+ - **Synchronous composition** `enhance_prompt`, `compose_script`, `compose_lyrics`, `compose_instrumental`
862
860
 
863
- Use `SogniTools.all` to expose the full tool surface, then execute tool calls with `sogni.chat.tools.execute()` / `executeAll()` or `autoExecuteTools: true` for non-streaming flows.
861
+ Pass `SogniTools.all` (or individual definitions like `generateImageTool`, `animatePhotoTool`, `composeScriptTool`) to an LLM via the `tools` parameter, then route tool calls through `sogni.chat.hosted.create()` / `sogni.chat.runs.create()` for server-side execution. Generated artifacts are threaded through a per-request media context so later rounds can reference earlier outputs by index (`sourceImageIndex`, `videoIndices`, `audioIndex`, etc.).
864
862
 
865
- For direct `/v1/chat/completions` hosted-tool execution, media-bearing tool arguments are intentionally constrained to inline `data:` URIs so the chat API remains OpenAI-compatible and does not implicitly fetch arbitrary user URLs. For user-uploaded image/audio/video inputs, use the SDK video project examples or `/v1/creative-agent/workflows` hosted tool sequences, which run outside the chat tool-selection loop and can consume HTTPS artifact URLs produced by Sogni's upload endpoints. Durable hosted sequences validate step arguments before the workflow starts and can bind request-level `mediaReferences` into tool arguments with `sourceStepId: "$input_media"`.
863
+ For direct `/v1/chat/completions` hosted-tool execution, media-bearing tool arguments are intentionally constrained to inline `data:` URIs so the chat API remains OpenAI-compatible and does not implicitly fetch arbitrary user URLs. For user-uploaded image/audio/video inputs, use the SDK video project examples or the `sogni.creativeWorkflows` wrapper for `/v1/creative-agent/workflows`; these run outside the chat tool-selection loop and can consume HTTPS artifact URLs produced by Sogni's upload endpoints. Durable workflows validate explicit steps before the workflow starts and can bind SDK request-level `mediaReferences` into tool arguments with `sourceStepId: "$input_media"`.
866
864
 
867
865
  The `workflow_text_chat_sogni_tools.mjs` example demonstrates the core text-to-image, text-to-video, and text-to-music composition flows. Dedicated workflow examples like `workflow_image_edit.mjs`, `workflow_sound_to_video.mjs`, and `workflow_video_to_video.mjs` cover the asset-backed workflows directly.
868
866
 
869
- ### Hosted Creative Tool Families (server-side)
867
+ ### Hosted Tool Surfaces — `sogni_tools` parameter
870
868
 
871
- The Sogni API can inject hosted creative tool surfaces through `sogni.chat.hosted.create()`, the SDK wrapper for `/v1/chat/completions`. The default `creative-tools` surface includes media generation, editing, post-production, analysis, metadata extraction, and synchronous composition tools; `sogni_tools: "creative-agent"` includes that base surface and adds workflow control and asset-manifest tools. Generated artifacts are threaded through a per-request media context so later rounds can reference them by index.
869
+ `sogni.chat.hosted.create()` (the SDK wrapper for `/v1/chat/completions`) can inject the canonical creative-tools surface server-side via the `sogni_tools` parameter. The default `creative-tools` value injects the full media + composition + analysis surface. `sogni_tools: "creative-agent"` adds workflow control and asset-manifest tools on top.
872
870
 
873
871
  Use default `sogni_tools: true` or `sogni_tools: "creative-tools"` when you want the full creative media tool surface plus synchronous composition tools: `enhance_prompt`, `compose_script`, `compose_lyrics`, and `compose_instrumental`. The legacy `"rich"` alias is still accepted and maps to `"creative-tools"`.
874
872
 
@@ -904,7 +902,7 @@ const result = await sogni.chat.hosted.create({
904
902
  messages: [{ role: 'user', content: 'Create a 15s trailer-style launch video for this product concept' }],
905
903
  sogni_tools: 'creative-tools',
906
904
  sogni_tool_execution: true,
907
- tokenType: 'spark'
905
+ token_type: 'spark'
908
906
  });
909
907
  ```
910
908
 
@@ -923,20 +921,19 @@ node examples/workflow_partner_seedance_video.mjs "turn the clip into a polished
923
921
  node examples/workflow_partner_seedance_video.mjs "Use @Video1 as the source clip, @Video2 for edit rhythm, @Image1 for product identity, @Image2 for palette, and @Audio1 as the music guide. Preserve the product silhouette and create one launch spot." --workflow --mode v2v --video examples/test-assets/placeholder.mp4 --video https://cdn.example.com/motion-2.mp4 --context examples/test-assets/placeholder.jpg --context examples/test-assets/placeholder2.jpg --audio examples/test-assets/placeholder.m4a
924
922
  ```
925
923
 
926
- Guided mode defaults text-to-video to `/v1/creative-agent/workflows` so the entrypoint exercises the durable hosted workflow API first. Scripted T2V calls without media still default to `/v1/chat/completions` unless `--workflow` is passed. Media modes default to `/v1/creative-agent/workflows` with `kind: "hosted_tool_sequence"` and upload local media from `examples/test-assets` automatically. Pass `--image`/`--context`, `--audio`, or `--video` repeatedly to use Seedance multimodal context; the example enforces the vendor limits of 9 image assets, 3 video assets, 3 audio assets, and 12 total assets. `--expand-prompt` is enabled by default and sends `expand_prompt: true` so the API runs the shared `@sogni/creative-agent` Seedance LLM prompt shaper before dispatch; pass `--no-expand-prompt` only when you want to submit the compact prompt directly. Keep prompts as compact creative briefs with explicit `@ImageN`/`@VideoN`/`@AudioN` role assignments rather than BytePlus JSON. `--no-execute` prints the workflow request without submitting it; local media is still uploaded first so the printed request contains real HTTPS media URLs. Use `--no-estimate` when you only want to inspect request construction.
924
+ Guided mode defaults text-to-video to `/v1/creative-agent/workflows` so the entrypoint exercises the durable workflow API first. Scripted T2V calls without media still default to `/v1/chat/completions` unless `--workflow` is passed. Media modes default to `/v1/creative-agent/workflows` with explicit `input.steps` and upload local media from `examples/test-assets` automatically. Pass `--image`/`--context`, `--audio`, or `--video` repeatedly to use Seedance multimodal context; the example enforces the vendor limits of 9 image assets, 3 video assets, 3 audio assets, and 12 total assets. `--expand-prompt` is enabled by default and sends `expand_prompt: true` so the API runs the shared `@sogni/creative-agent` Seedance LLM prompt shaper before dispatch; pass `--no-expand-prompt` only when you want to submit the compact prompt directly. Keep prompts as compact creative briefs with explicit `@ImageN`/`@VideoN`/`@AudioN` role assignments rather than BytePlus JSON. `--no-execute` prints the workflow request without submitting it; local media is still uploaded first so the printed request contains real HTTPS media URLs. Use `--no-estimate` when you only want to inspect request construction.
927
925
 
928
926
  ### Durable Creative Workflows (server-side)
929
927
 
930
928
  Long-running multi-step creative workflows can be persisted on the server and observed independently of the chat completion that started them. The SDK exposes these API-key-only endpoints through `sogni.creativeWorkflows`:
931
929
 
932
- - `sogni.creativeWorkflows.startImageToVideo(input, options)` — start a durable workflow
933
- - `sogni.creativeWorkflows.startHostedToolSequence(input, options)` — run exact hosted Sogni tool steps as a durable backend workflow
930
+ - `sogni.creativeWorkflows.start({ input, ...options })` — start a durable workflow with explicit steps
934
931
  - `sogni.creativeWorkflows.get(workflowId)` and `.list()` — inspect snapshots
935
932
  - `sogni.creativeWorkflows.events(workflowId)` — poll event history
936
933
  - `sogni.creativeWorkflows.streamEvents(workflowId, { after, lastEventId })` — SSE event stream with resume support
937
934
  - `sogni.creativeWorkflows.cancel(workflowId)` — cooperative cancellation
938
935
 
939
- `startHostedToolSequence()` accepts exact hosted-tool steps plus optional request-level `mediaReferences` / `media_references`. A dependency with `sourceStepId: "$input_media"` can inject the matching uploaded image, video, or audio URL or index into a later step. The API validates the compiled step arguments before accepting the workflow and again before each execution step, so shape errors fail before billing later media work.
936
+ `start()` accepts exact hosted-tool steps plus optional request-level `mediaReferences`. The SDK follows the platform camelCase style (`mediaReferences`, `tokenType`, `maxEstimatedCapacityUnits`, and `confirmCost`) and serializes the REST request to snake_case internally. A dependency with `sourceStepId: "$input_media"` can inject the matching uploaded image, video, or audio URL or index into a later step. The API validates step arguments before accepting the workflow and again before each execution step, so shape errors fail before billing later media work.
940
937
 
941
938
  ```javascript
942
939
  const sogni = await SogniClient.createInstance({
@@ -945,16 +942,39 @@ const sogni = await SogniClient.createInstance({
945
942
  disableSocket: true
946
943
  });
947
944
 
948
- const workflow = await sogni.creativeWorkflows.startImageToVideo(
949
- {
950
- prompt: 'A graphite sketch of a robot pianist in a smoky jazz club',
951
- videoPrompt: 'slow dolly-in, warm stage lights, subtle hand motion',
952
- imageModel: 'flux2',
953
- videoModel: 'ltx23',
954
- duration: 5
945
+ const workflow = await sogni.creativeWorkflows.start({
946
+ tokenType: 'spark',
947
+ input: {
948
+ title: 'Generated keyframe to video',
949
+ steps: [
950
+ {
951
+ id: 'keyframe',
952
+ toolName: 'generate_image',
953
+ arguments: {
954
+ prompt: 'A graphite sketch of a robot pianist in a smoky jazz club',
955
+ model: 'flux2'
956
+ }
957
+ },
958
+ {
959
+ id: 'clip',
960
+ toolName: 'generate_video',
961
+ arguments: {
962
+ prompt: 'slow dolly-in, warm stage lights, subtle hand motion',
963
+ videoModel: 'ltx23',
964
+ duration: 5
965
+ },
966
+ dependsOn: [{
967
+ sourceStepId: 'keyframe',
968
+ sourceArtifactIndex: 0,
969
+ targetArgument: 'referenceImageIndices',
970
+ mediaType: 'image',
971
+ transform: 'image_index',
972
+ required: true
973
+ }]
974
+ }
975
+ ]
955
976
  },
956
- { tokenType: 'spark' }
957
- );
977
+ });
958
978
 
959
979
  for await (const event of sogni.creativeWorkflows.streamEvents(workflow.workflowId)) {
960
980
  console.log(event.event, event.data);
@@ -15,6 +15,17 @@ const modelRouting_1 = require("./modelRouting");
15
15
  const tools_1 = require("./tools");
16
16
  const DEFAULT_TIMEOUT = 30 * 60 * 1000;
17
17
  const MAX_SOGNI_TOOL_CALLS_PER_ROUND = 8;
18
+ const DIRECT_PROJECT_DISPATCH_TOOL_NAMES = new Set([
19
+ 'generate_image',
20
+ 'edit_image',
21
+ 'generate_video',
22
+ 'sound_to_video',
23
+ 'video_to_video',
24
+ 'generate_music'
25
+ ]);
26
+ function hasDirectProjectDispatch(toolCall) {
27
+ return DIRECT_PROJECT_DISPATCH_TOOL_NAMES.has(toolCall.function.name);
28
+ }
18
29
  const MAX_INPUT_MEDIA_BYTES = {
19
30
  image: 20 * 1024 * 1024,
20
31
  audio: 50 * 1024 * 1024,
@@ -60,20 +71,23 @@ class ChatToolsApi {
60
71
  }
61
72
  const args = (0, tools_1.parseToolCallArguments)(toolCall);
62
73
  const name = toolCall.function.name;
74
+ if (!hasDirectProjectDispatch(toolCall)) {
75
+ return this.makeErrorResult(toolCall, `Tool '${name}' must be executed via chat.hosted.create() or chat.runs.create().`);
76
+ }
63
77
  try {
64
78
  (0, modelRouting_1.assertHostedToolArguments)(tools_1.SogniTools.all, name, args);
65
79
  switch (name) {
66
- case 'sogni_generate_image':
80
+ case 'generate_image':
67
81
  return yield this.executeImageGeneration(toolCall, args, options);
68
- case 'sogni_edit_image':
82
+ case 'edit_image':
69
83
  return yield this.executeImageEdit(toolCall, args, options);
70
- case 'sogni_generate_video':
84
+ case 'generate_video':
71
85
  return yield this.executeVideoGeneration(toolCall, args, options);
72
- case 'sogni_sound_to_video':
86
+ case 'sound_to_video':
73
87
  return yield this.executeSoundToVideo(toolCall, args, options);
74
- case 'sogni_video_to_video':
88
+ case 'video_to_video':
75
89
  return yield this.executeVideoToVideo(toolCall, args, options);
76
- case 'sogni_generate_music':
90
+ case 'generate_music':
77
91
  return yield this.executeMusicGeneration(toolCall, args, options);
78
92
  default:
79
93
  return this.makeErrorResult(toolCall, `Unknown Sogni tool: ${name}`);
@@ -87,7 +101,7 @@ class ChatToolsApi {
87
101
  }
88
102
  executeAll(toolCalls, options) {
89
103
  return __awaiter(this, void 0, void 0, function* () {
90
- const sogniToolCallCount = toolCalls.filter((toolCall) => (0, tools_1.isSogniToolCall)(toolCall)).length;
104
+ const sogniToolCallCount = toolCalls.filter(hasDirectProjectDispatch).length;
91
105
  if (sogniToolCallCount > MAX_SOGNI_TOOL_CALLS_PER_ROUND) {
92
106
  throw new Error(`Too many Sogni tool calls in a single round (${sogniToolCallCount}); maximum is ${MAX_SOGNI_TOOL_CALLS_PER_ROUND}`);
93
107
  }
@@ -218,7 +232,7 @@ class ChatToolsApi {
218
232
  return __awaiter(this, void 0, void 0, function* () {
219
233
  const modelId = yield this.selectModel({
220
234
  mediaType: 'image',
221
- requestedModel: (0, modelRouting_1.resolveHostedToolModelSelector)('sogni_generate_image', args)
235
+ requestedModel: (0, modelRouting_1.resolveHostedToolModelSelector)('generate_image', args)
222
236
  });
223
237
  const projectParams = {
224
238
  type: 'image',
@@ -251,11 +265,11 @@ class ChatToolsApi {
251
265
  const referenceImageUrls = (0, modelRouting_1.asStringArray)(args.reference_image_urls);
252
266
  const inputUrls = [...(sourceImageUrl ? [sourceImageUrl] : []), ...referenceImageUrls];
253
267
  if (inputUrls.length === 0) {
254
- throw new Error('sogni_edit_image requires source_image_url or reference_image_urls');
268
+ throw new Error('edit_image requires source_image_url or reference_image_urls');
255
269
  }
256
270
  const modelId = yield this.selectModel({
257
271
  mediaType: 'image',
258
- requestedModel: (0, modelRouting_1.resolveHostedToolModelSelector)('sogni_edit_image', args),
272
+ requestedModel: (0, modelRouting_1.resolveHostedToolModelSelector)('edit_image', args),
259
273
  filter: modelRouting_1.isEditImageModel
260
274
  });
261
275
  const maxContextImages = (0, validation_1.getMaxContextImages)(modelId);
@@ -295,7 +309,7 @@ class ChatToolsApi {
295
309
  : [modelRouting_1.PREFERRED_MODEL_IDS.video.t2v];
296
310
  const modelId = yield this.selectModel({
297
311
  mediaType: 'video',
298
- requestedModel: (0, modelRouting_1.resolveHostedToolModelSelector)('sogni_generate_video', args),
312
+ requestedModel: (0, modelRouting_1.resolveHostedToolModelSelector)('generate_video', args),
299
313
  workflows: workflowPreference,
300
314
  preferredModelIds
301
315
  });
@@ -355,7 +369,7 @@ class ChatToolsApi {
355
369
  return __awaiter(this, void 0, void 0, function* () {
356
370
  var _a;
357
371
  if (!(0, modelRouting_1.isNonEmptyString)(args.reference_audio_url)) {
358
- throw new Error('sogni_sound_to_video requires reference_audio_url');
372
+ throw new Error('sound_to_video requires reference_audio_url');
359
373
  }
360
374
  const hasReferenceImage = (0, modelRouting_1.isNonEmptyString)(args.reference_image_url);
361
375
  const workflows = hasReferenceImage ? ['ia2v', 's2v'] : ['a2v'];
@@ -364,7 +378,7 @@ class ChatToolsApi {
364
378
  : [modelRouting_1.PREFERRED_MODEL_IDS.video.a2v];
365
379
  const modelId = yield this.selectModel({
366
380
  mediaType: 'video',
367
- requestedModel: (0, modelRouting_1.resolveHostedToolModelSelector)('sogni_sound_to_video', args),
381
+ requestedModel: (0, modelRouting_1.resolveHostedToolModelSelector)('sound_to_video', args),
368
382
  workflows,
369
383
  preferredModelIds
370
384
  });
@@ -407,7 +421,7 @@ class ChatToolsApi {
407
421
  return __awaiter(this, void 0, void 0, function* () {
408
422
  var _a;
409
423
  if (!(0, modelRouting_1.isNonEmptyString)(args.reference_video_url)) {
410
- throw new Error('sogni_video_to_video requires reference_video_url');
424
+ throw new Error('video_to_video requires reference_video_url');
411
425
  }
412
426
  const controlMode = (0, modelRouting_1.normalizeVideoControlMode)(args.control_mode);
413
427
  const isAnimateMode = controlMode === 'animate-move' || controlMode === 'animate-replace';
@@ -424,7 +438,7 @@ class ChatToolsApi {
424
438
  : [modelRouting_1.PREFERRED_MODEL_IDS.video.v2v];
425
439
  const modelId = yield this.selectModel({
426
440
  mediaType: 'video',
427
- requestedModel: (0, modelRouting_1.resolveHostedToolModelSelector)('sogni_video_to_video', args),
441
+ requestedModel: (0, modelRouting_1.resolveHostedToolModelSelector)('video_to_video', args),
428
442
  workflows,
429
443
  preferredModelIds
430
444
  });
@@ -490,7 +504,7 @@ class ChatToolsApi {
490
504
  return __awaiter(this, void 0, void 0, function* () {
491
505
  const modelId = yield this.selectModel({
492
506
  mediaType: 'audio',
493
- requestedModel: (0, modelRouting_1.resolveHostedToolModelSelector)('sogni_generate_music', args),
507
+ requestedModel: (0, modelRouting_1.resolveHostedToolModelSelector)('generate_music', args),
494
508
  preferredModelIds: [
495
509
  modelRouting_1.PREFERRED_MODEL_IDS.audio.aceStepTurbo,
496
510
  modelRouting_1.PREFERRED_MODEL_IDS.audio.aceStepSft
@@ -1 +1 @@
1
- {"version":3,"file":"ChatTools.js","sourceRoot":"","sources":["../../src/Chat/ChatTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatTools.js","sourceRoot":"","sources":["../../src/Chat/ChatTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
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;