@sogni-ai/sogni-client 4.2.0-alpha.20 → 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 (174) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/CLAUDE.md +7 -0
  3. package/README.md +62 -34
  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 +46 -1
  10. package/dist/Chat/index.js +184 -1
  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 +161 -6
  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/lib/RestClient.d.ts +4 -1
  30. package/dist/lib/RestClient.js +17 -9
  31. package/dist/lib/RestClient.js.map +1 -1
  32. package/dist-esm/Account/CurrentAccount.js +59 -0
  33. package/dist-esm/Account/CurrentAccount.js.map +1 -0
  34. package/dist-esm/Account/index.js +543 -0
  35. package/dist-esm/Account/index.js.map +1 -0
  36. package/dist-esm/Account/types.js +2 -0
  37. package/dist-esm/Account/types.js.map +1 -0
  38. package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js +327 -0
  39. package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js.map +1 -0
  40. package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js +222 -0
  41. package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js.map +1 -0
  42. package/dist-esm/ApiClient/WebSocketClient/ErrorCode.js +15 -0
  43. package/dist-esm/ApiClient/WebSocketClient/ErrorCode.js.map +1 -0
  44. package/dist-esm/ApiClient/WebSocketClient/eventSubscriptions.js +35 -0
  45. package/dist-esm/ApiClient/WebSocketClient/eventSubscriptions.js.map +1 -0
  46. package/dist-esm/ApiClient/WebSocketClient/events.js +2 -0
  47. package/dist-esm/ApiClient/WebSocketClient/events.js.map +1 -0
  48. package/dist-esm/ApiClient/WebSocketClient/index.js +221 -0
  49. package/dist-esm/ApiClient/WebSocketClient/index.js.map +1 -0
  50. package/dist-esm/ApiClient/WebSocketClient/messages.js +2 -0
  51. package/dist-esm/ApiClient/WebSocketClient/messages.js.map +1 -0
  52. package/dist-esm/ApiClient/WebSocketClient/types.js +2 -0
  53. package/dist-esm/ApiClient/WebSocketClient/types.js.map +1 -0
  54. package/dist-esm/ApiClient/events.js +2 -0
  55. package/dist-esm/ApiClient/events.js.map +1 -0
  56. package/dist-esm/ApiClient/index.js +120 -0
  57. package/dist-esm/ApiClient/index.js.map +1 -0
  58. package/dist-esm/ApiGroup.js +10 -0
  59. package/dist-esm/ApiGroup.js.map +1 -0
  60. package/dist-esm/Chat/ChatStream.js +181 -0
  61. package/dist-esm/Chat/ChatStream.js.map +1 -0
  62. package/dist-esm/Chat/ChatTools.js +562 -0
  63. package/dist-esm/Chat/ChatTools.js.map +1 -0
  64. package/dist-esm/Chat/hostedToolValidation.generated.js +301 -0
  65. package/dist-esm/Chat/hostedToolValidation.generated.js.map +1 -0
  66. package/dist-esm/Chat/index.js +598 -0
  67. package/dist-esm/Chat/index.js.map +1 -0
  68. package/dist-esm/Chat/modelRouting.js +326 -0
  69. package/dist-esm/Chat/modelRouting.js.map +1 -0
  70. package/dist-esm/Chat/sogniHostedTools.generated.json +1531 -0
  71. package/dist-esm/Chat/tools.js +149 -0
  72. package/dist-esm/Chat/tools.js.map +1 -0
  73. package/dist-esm/Chat/types.js +2 -0
  74. package/dist-esm/Chat/types.js.map +1 -0
  75. package/dist-esm/CreativeWorkflows/index.js +256 -0
  76. package/dist-esm/CreativeWorkflows/index.js.map +1 -0
  77. package/dist-esm/CreativeWorkflows/types.js +2 -0
  78. package/dist-esm/CreativeWorkflows/types.js.map +1 -0
  79. package/dist-esm/Projects/Job.js +391 -0
  80. package/dist-esm/Projects/Job.js.map +1 -0
  81. package/dist-esm/Projects/Project.js +295 -0
  82. package/dist-esm/Projects/Project.js.map +1 -0
  83. package/dist-esm/Projects/createJobRequestMessage.js +528 -0
  84. package/dist-esm/Projects/createJobRequestMessage.js.map +1 -0
  85. package/dist-esm/Projects/index.js +1309 -0
  86. package/dist-esm/Projects/index.js.map +1 -0
  87. package/dist-esm/Projects/types/ComfySamplerParams.js +2 -0
  88. package/dist-esm/Projects/types/ComfySamplerParams.js.map +1 -0
  89. package/dist-esm/Projects/types/ControlNetParams.js +2 -0
  90. package/dist-esm/Projects/types/ControlNetParams.js.map +1 -0
  91. package/dist-esm/Projects/types/EstimationResponse.js +2 -0
  92. package/dist-esm/Projects/types/EstimationResponse.js.map +1 -0
  93. package/dist-esm/Projects/types/ModelOptions.js +89 -0
  94. package/dist-esm/Projects/types/ModelOptions.js.map +1 -0
  95. package/dist-esm/Projects/types/ModelTiersRaw.js +13 -0
  96. package/dist-esm/Projects/types/ModelTiersRaw.js.map +1 -0
  97. package/dist-esm/Projects/types/RawProject.js +2 -0
  98. package/dist-esm/Projects/types/RawProject.js.map +1 -0
  99. package/dist-esm/Projects/types/events.js +2 -0
  100. package/dist-esm/Projects/types/events.js.map +1 -0
  101. package/dist-esm/Projects/types/index.js +10 -0
  102. package/dist-esm/Projects/types/index.js.map +1 -0
  103. package/dist-esm/Projects/utils/index.js +229 -0
  104. package/dist-esm/Projects/utils/index.js.map +1 -0
  105. package/dist-esm/Projects/utils/samplers.js +36 -0
  106. package/dist-esm/Projects/utils/samplers.js.map +1 -0
  107. package/dist-esm/Projects/utils/scheduler.js +27 -0
  108. package/dist-esm/Projects/utils/scheduler.js.map +1 -0
  109. package/dist-esm/Stats/index.js +20 -0
  110. package/dist-esm/Stats/index.js.map +1 -0
  111. package/dist-esm/Stats/types.js +2 -0
  112. package/dist-esm/Stats/types.js.map +1 -0
  113. package/dist-esm/events.js +2 -0
  114. package/dist-esm/events.js.map +1 -0
  115. package/dist-esm/index.js +144 -0
  116. package/dist-esm/index.js.map +1 -0
  117. package/dist-esm/lib/AuthManager/ApiKeyAuthManager.js +58 -0
  118. package/dist-esm/lib/AuthManager/ApiKeyAuthManager.js.map +1 -0
  119. package/dist-esm/lib/AuthManager/AuthManagerBase.js +9 -0
  120. package/dist-esm/lib/AuthManager/AuthManagerBase.js.map +1 -0
  121. package/dist-esm/lib/AuthManager/CookieAuthManager.js +48 -0
  122. package/dist-esm/lib/AuthManager/CookieAuthManager.js.map +1 -0
  123. package/dist-esm/lib/AuthManager/TokenAuthManager.js +186 -0
  124. package/dist-esm/lib/AuthManager/TokenAuthManager.js.map +1 -0
  125. package/dist-esm/lib/AuthManager/index.js +5 -0
  126. package/dist-esm/lib/AuthManager/index.js.map +1 -0
  127. package/dist-esm/lib/Cache.js +32 -0
  128. package/dist-esm/lib/Cache.js.map +1 -0
  129. package/dist-esm/lib/DataEntity.js +30 -0
  130. package/dist-esm/lib/DataEntity.js.map +1 -0
  131. package/dist-esm/lib/DefaultLogger.js +32 -0
  132. package/dist-esm/lib/DefaultLogger.js.map +1 -0
  133. package/dist-esm/lib/EIP712Helper.js +37 -0
  134. package/dist-esm/lib/EIP712Helper.js.map +1 -0
  135. package/dist-esm/lib/RestClient.js +90 -0
  136. package/dist-esm/lib/RestClient.js.map +1 -0
  137. package/dist-esm/lib/TypedEventEmitter.js +68 -0
  138. package/dist-esm/lib/TypedEventEmitter.js.map +1 -0
  139. package/dist-esm/lib/base64.js +18 -0
  140. package/dist-esm/lib/base64.js.map +1 -0
  141. package/dist-esm/lib/getUUID.js +7 -0
  142. package/dist-esm/lib/getUUID.js.map +1 -0
  143. package/dist-esm/lib/isNodejs.js +3 -0
  144. package/dist-esm/lib/isNodejs.js.map +1 -0
  145. package/dist-esm/lib/mediaValidation.js +277 -0
  146. package/dist-esm/lib/mediaValidation.js.map +1 -0
  147. package/dist-esm/lib/utils/index.js +30 -0
  148. package/dist-esm/lib/utils/index.js.map +1 -0
  149. package/dist-esm/lib/validation.js +138 -0
  150. package/dist-esm/lib/validation.js.map +1 -0
  151. package/dist-esm/package.json +3 -0
  152. package/dist-esm/types/ErrorData.js +2 -0
  153. package/dist-esm/types/ErrorData.js.map +1 -0
  154. package/dist-esm/types/json.js +2 -0
  155. package/dist-esm/types/json.js.map +1 -0
  156. package/dist-esm/types/token.js +2 -0
  157. package/dist-esm/types/token.js.map +1 -0
  158. package/dist-esm/version.js +3 -0
  159. package/dist-esm/version.js.map +1 -0
  160. package/llms-full.txt +24 -26
  161. package/llms.txt +15 -19
  162. package/package.json +24 -5
  163. package/src/Chat/ChatTools.ts +36 -16
  164. package/src/Chat/hostedToolValidation.generated.ts +453 -0
  165. package/src/Chat/index.ts +253 -1
  166. package/src/Chat/modelRouting.ts +26 -150
  167. package/src/Chat/sogniHostedTools.generated.json +1285 -283
  168. package/src/Chat/tools.ts +106 -41
  169. package/src/Chat/types.ts +181 -6
  170. package/src/CreativeWorkflows/index.ts +22 -41
  171. package/src/CreativeWorkflows/types.ts +69 -42
  172. package/src/index.ts +43 -12
  173. package/src/lib/Cache.ts +8 -1
  174. package/src/lib/RestClient.ts +15 -5
package/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
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
+
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)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **chat:** align hosted creative tool surfaces ([6e9e094](https://github.com/Sogni-AI/sogni-client/commit/6e9e094803bad7fdda994103f12bd40f726ae08e))
14
+
15
+
16
+ ### Features
17
+
18
+ * **chat:** expose hosted completions wrapper ([da3799d](https://github.com/Sogni-AI/sogni-client/commit/da3799d2e99877d4bdd1990741611bac6243cdad))
19
+
1
20
  # [4.2.0-alpha.20](https://github.com/Sogni-AI/sogni-client/compare/v4.2.0-alpha.19...v4.2.0-alpha.20) (2026-05-12)
2
21
 
3
22
 
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
@@ -21,7 +21,7 @@ Behind the scenes this SDK uses a WebSocket connection for communication between
21
21
  - 🤖 **LLM Text Generation** - Chat completions with streaming, multi-turn conversations, and thinking/reasoning mode via OpenAI-compatible API
22
22
  - 🔧 **LLM Tool Calling** - Define custom tools (functions) that the LLM can invoke during conversations for real-time data and actions
23
23
  - 🎨🎬🎵 **Sogni Platform Tools** - Generate images, reference-guided image edits, videos, audio-driven videos, video transforms, and music through natural language chat
24
- - 🤖 **Rich Creative-Agent Tools** - Opt into the full creative-agent surface (`restore_photo`, `animate_photo` with multi-source fan-out, `stitch_video`, `orbit_video`, `extend_video`, `overlay_video`, etc.) by setting `sogni_tools: "creative-agent"`
24
+ - 🤖 **Hosted Creative Tools** - Use the default `creative-tools` surface for media generation, editing, analysis, metadata, prompt enhancement, script writing, lyrics, and instrumental structures; set `sogni_tools: "creative-agent"` to add workflow control and asset-manifest tools
25
25
  - ⏱️ **Durable Creative Workflows** - Persistent server-side multi-step workflows with SSE event streaming, `Last-Event-ID` resume, and cooperative cancellation via `/v1/creative-agent/workflows`
26
26
  - 👁️ **Vision Chat** - Multimodal image understanding with scene description, OCR, object detection, visual analysis, and multi-image comparison via Qwen3.6 VLM
27
27
 
@@ -851,38 +851,42 @@ 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 six built-in public platform tools for 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.
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
- ### Rich Creative-Agent Tool Family (server-side)
867
+ ### Hosted Tool Surfaces — `sogni_tools` parameter
870
868
 
871
- For agentic experiences that mirror `chat.sogni.ai`, the Sogni API can inject the richer creative-agent tool surface instead of the 6 hosted `sogni_*` tools above. Pass `sogni_tools: "creative-agent"` (or `"rich"`) in the SDK chat completion request the server expands the injected tool set to the full creative-agent surface and threads a per-request media context across rounds so generated artifacts can be referenced 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
- Tools added on top of the hosted six:
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"`.
872
+
873
+ Notable creative-tools include:
874
874
 
875
875
  | Tool | Behavior |
876
876
  | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
877
- | `restore_photo`, `apply_style`, `refine_result`, `change_angle` | Image-edit adapters (each routes through `sogni_edit_image` server-side) |
877
+ | `restore_photo`, `apply_style`, `refine_result`, `change_angle` | Image-edit adapters backed by the shared image-edit workflow |
878
878
  | `animate_photo` | Image-to-video, with multi-source fan-out via `sourceImageIndices` (composed into one MP4 by default; opt out with `stitched: false`) |
879
879
  | `stitch_video` | Compose selected video clips into one MP4 (with optional audio overlay) |
880
880
  | `orbit_video` | Generate orbit clips around a subject and stitch them |
881
881
  | `dance_montage` | Generate dance clips and stitch when multi-clip |
882
- | `extend_video`, `replace_video_segment` | Extend or replace a bounded segment of an existing video |
882
+ | `extend_video`, `replace_video_segment` | Extend or replace a bounded segment of an existing video; replacements may trim source windows with `replacementStartSeconds` / `replacementEndSeconds` |
883
883
  | `overlay_video`, `add_subtitles` | Burn in text/logo overlays or subtitle cues onto existing videos via ffmpeg |
884
+ | `enhance_prompt` | Expand or adapt rough prompts into model-ready image, video, music, or edit prompts |
885
+ | `compose_script` | Draft scripts, storyboards, trailers, social shorts, campaign beats, or video prompts |
886
+ | `compose_lyrics` | Write vocal song lyrics and suggested musical parameters |
887
+ | `compose_instrumental` | Write instrumental structure and suggested musical parameters |
884
888
 
885
- Composition and post-production tools (`stitch_video`, `orbit_video`, `dance_montage`, `animate_photo` fan-out, `extend_video`, `replace_video_segment`, `overlay_video`, and `add_subtitles`) return or update MP4 artifacts. See the [LLM API reference](https://github.com/Sogni-AI/sogni-api/blob/main/docs/llm-api.md#rich-creative-agent-tools) for the full schema list.
889
+ Composition and post-production tools (`stitch_video`, `orbit_video`, `dance_montage`, `animate_photo` fan-out, `extend_video`, `replace_video_segment`, `overlay_video`, and `add_subtitles`) return or update MP4 artifacts. `stitch_video` concatenates whole clips end-to-end; alternating or interleaved time slices should be represented as repeated `replace_video_segment` steps with bounded replacement source windows. See the LLM API reference for the full schema list.
886
890
 
887
891
  ```javascript
888
892
  import { SogniClient } from '@sogni-ai/sogni-client';
@@ -893,16 +897,16 @@ const sogni = await SogniClient.createInstance({
893
897
  network: 'fast'
894
898
  });
895
899
 
896
- const result = await sogni.chat.completions.create({
900
+ const result = await sogni.chat.hosted.create({
897
901
  model: 'qwen3.6-35b-a3b-gguf-iq4xs',
898
- messages: [{ role: 'user', content: 'Create an orbit video around this product concept' }],
899
- sogni_tools: 'creative-agent',
902
+ messages: [{ role: 'user', content: 'Create a 15s trailer-style launch video for this product concept' }],
903
+ sogni_tools: 'creative-tools',
900
904
  sogni_tool_execution: true,
901
- tokenType: 'spark'
905
+ token_type: 'spark'
902
906
  });
903
907
  ```
904
908
 
905
- See `examples/workflow_creative_agent_tools.mjs` for a runnable REST API-key example that can toggle hosted vs rich tools and server-side execution.
909
+ See `examples/workflow_creative_agent_tools.mjs` for a runnable REST API-key example that can toggle tool surface and server-side execution.
906
910
 
907
911
  For focused partner Seedance video tests, `examples/workflow_partner_seedance_video.mjs` starts with a guided workflow picker when run with no arguments. The guided path covers T2V, I2V, IA2V, V2V, the full and fast Seedance tiers where available, hosted workflow execution, native audio, keyframe interpolation, multimodal context, and cost estimation. The command-line path still supports direct scripted calls:
908
912
 
@@ -917,19 +921,20 @@ node examples/workflow_partner_seedance_video.mjs "turn the clip into a polished
917
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
918
922
  ```
919
923
 
920
- 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.
921
925
 
922
926
  ### Durable Creative Workflows (server-side)
923
927
 
924
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`:
925
929
 
926
- - `sogni.creativeWorkflows.startImageToVideo(input, options)` — start a durable workflow
927
- - `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
928
931
  - `sogni.creativeWorkflows.get(workflowId)` and `.list()` — inspect snapshots
929
932
  - `sogni.creativeWorkflows.events(workflowId)` — poll event history
930
933
  - `sogni.creativeWorkflows.streamEvents(workflowId, { after, lastEventId })` — SSE event stream with resume support
931
934
  - `sogni.creativeWorkflows.cancel(workflowId)` — cooperative cancellation
932
935
 
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.
937
+
933
938
  ```javascript
934
939
  const sogni = await SogniClient.createInstance({
935
940
  appId: 'creative-workflow-demo',
@@ -937,16 +942,39 @@ const sogni = await SogniClient.createInstance({
937
942
  disableSocket: true
938
943
  });
939
944
 
940
- const workflow = await sogni.creativeWorkflows.startImageToVideo(
941
- {
942
- prompt: 'A graphite sketch of a robot pianist in a smoky jazz club',
943
- videoPrompt: 'slow dolly-in, warm stage lights, subtle hand motion',
944
- imageModel: 'flux2',
945
- videoModel: 'ltx23',
946
- 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
+ ]
947
976
  },
948
- { tokenType: 'spark' }
949
- );
977
+ });
950
978
 
951
979
  for await (const event of sogni.creativeWorkflows.streamEvents(workflow.workflowId)) {
952
980
  console.log(event.event, event.data);
@@ -979,7 +1007,7 @@ The [examples](https://github.com/Sogni-AI/sogni-client/tree/main/examples) dire
979
1007
  - **`workflow_text_chat_vision.mjs`** - Vision chat with multimodal image understanding (scene description, OCR, object detection, visual analysis, multi-image comparison)
980
1008
  - **`workflow_text_chat_tool_calling.mjs`** - LLM tool calling with built-in tools (weather, time, unit conversion, math)
981
1009
  - **`workflow_text_chat_sogni_tools.mjs`** - Core image/video/music generation through natural language via LLM tool calling
982
- - **`workflow_creative_agent_tools.mjs`** - Rich server-side creative-agent tool injection for `/v1/chat/completions`
1010
+ - **`workflow_creative_agent_tools.mjs`** - Server-side hosted Sogni tool injection for `/v1/chat/completions`
983
1011
  - **`workflow_creative_agent_workflows.mjs`** - Durable `/v1/creative-agent/workflows` start/list/get/events/stream/cancel through the SDK
984
1012
  - **`workflow_partner_seedance_video.mjs`** - Focused partner Seedance coverage: chat-completions T2V plus hosted-workflow T2V, I2V, IA2V, V2V, and multimodal context with uploaded media
985
1013
 
@@ -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;