@sogni-ai/sogni-client 5.1.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -1
- package/CHANGELOG.md +26 -0
- package/README.md +63 -1
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.d.ts +3 -1
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js +14 -2
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js.map +1 -1
- package/dist/ApiClient/WebSocketClient/events.d.ts +11 -0
- package/dist/ApiClient/WebSocketClient/index.d.ts +3 -1
- package/dist/ApiClient/WebSocketClient/index.js +4 -1
- package/dist/ApiClient/WebSocketClient/index.js.map +1 -1
- package/dist/ApiClient/index.d.ts +10 -1
- package/dist/ApiClient/index.js +16 -3
- package/dist/ApiClient/index.js.map +1 -1
- package/dist/ApiGroup.d.ts +3 -0
- package/dist/ApiGroup.js +13 -0
- package/dist/ApiGroup.js.map +1 -1
- package/dist/Chat/ChatTools.js +2 -1
- package/dist/Chat/ChatTools.js.map +1 -1
- package/dist/Chat/index.d.ts +9 -1
- package/dist/Chat/index.js +46 -6
- package/dist/Chat/index.js.map +1 -1
- package/dist/Chat/modelRouting.d.ts +2 -0
- package/dist/Chat/modelRouting.js +6 -2
- package/dist/Chat/modelRouting.js.map +1 -1
- package/dist/Chat/types.d.ts +50 -1
- package/dist/CreativeWorkflows/index.js +4 -5
- package/dist/CreativeWorkflows/index.js.map +1 -1
- package/dist/CreativeWorkflows/types.d.ts +7 -0
- package/dist/Projects/createJobRequestMessage.js +4 -1
- package/dist/Projects/createJobRequestMessage.js.map +1 -1
- package/dist/Projects/index.js +4 -3
- package/dist/Projects/index.js.map +1 -1
- package/dist/Projects/types/ModelOptions.d.ts +1 -0
- package/dist/Projects/types/ModelOptions.js +2 -1
- package/dist/Projects/types/ModelOptions.js.map +1 -1
- package/dist/Projects/types/ModelTiersRaw.d.ts +1 -0
- package/dist/Projects/types/ModelTiersRaw.js.map +1 -1
- package/dist/Projects/types/events.d.ts +3 -0
- package/dist/Projects/types/index.d.ts +35 -9
- package/dist/Projects/types/index.js.map +1 -1
- package/dist/index.d.ts +11 -3
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/RestClient.d.ts +3 -2
- package/dist/lib/RestClient.js +2 -3
- package/dist/lib/RestClient.js.map +1 -1
- package/dist/lib/attribution.d.ts +24 -0
- package/dist/lib/attribution.js +264 -0
- package/dist/lib/attribution.js.map +1 -0
- package/dist/lib/validation.d.ts +6 -0
- package/dist/lib/validation.js +40 -7
- package/dist/lib/validation.js.map +1 -1
- package/dist/types/attribution.d.ts +67 -0
- package/dist/types/attribution.js +3 -0
- package/dist/types/attribution.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js +14 -2
- package/dist-esm/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js.map +1 -1
- package/dist-esm/ApiClient/WebSocketClient/index.js +4 -1
- package/dist-esm/ApiClient/WebSocketClient/index.js.map +1 -1
- package/dist-esm/ApiClient/index.js +16 -3
- package/dist-esm/ApiClient/index.js.map +1 -1
- package/dist-esm/ApiGroup.js +13 -0
- package/dist-esm/ApiGroup.js.map +1 -1
- package/dist-esm/Chat/ChatTools.js +2 -1
- package/dist-esm/Chat/ChatTools.js.map +1 -1
- package/dist-esm/Chat/index.js +46 -6
- package/dist-esm/Chat/index.js.map +1 -1
- package/dist-esm/Chat/modelRouting.js +6 -2
- package/dist-esm/Chat/modelRouting.js.map +1 -1
- package/dist-esm/CreativeWorkflows/index.js +4 -5
- package/dist-esm/CreativeWorkflows/index.js.map +1 -1
- package/dist-esm/Projects/createJobRequestMessage.js +5 -2
- package/dist-esm/Projects/createJobRequestMessage.js.map +1 -1
- package/dist-esm/Projects/index.js +4 -3
- package/dist-esm/Projects/index.js.map +1 -1
- package/dist-esm/Projects/types/ModelOptions.js +2 -1
- package/dist-esm/Projects/types/ModelOptions.js.map +1 -1
- package/dist-esm/Projects/types/ModelTiersRaw.js.map +1 -1
- package/dist-esm/Projects/types/index.js.map +1 -1
- package/dist-esm/index.js +1 -0
- package/dist-esm/index.js.map +1 -1
- package/dist-esm/lib/RestClient.js +2 -3
- package/dist-esm/lib/RestClient.js.map +1 -1
- package/dist-esm/lib/attribution.js +257 -0
- package/dist-esm/lib/attribution.js.map +1 -0
- package/dist-esm/lib/validation.js +39 -7
- package/dist-esm/lib/validation.js.map +1 -1
- package/dist-esm/types/attribution.js +2 -0
- package/dist-esm/types/attribution.js.map +1 -0
- package/dist-esm/version.js +1 -1
- package/llms-full.txt +45 -4
- package/llms.txt +14 -2
- package/package.json +2 -1
- package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/index.ts +16 -2
- package/src/ApiClient/WebSocketClient/events.ts +12 -0
- package/src/ApiClient/WebSocketClient/index.ts +10 -1
- package/src/ApiClient/index.ts +42 -2
- package/src/ApiGroup.ts +25 -0
- package/src/Chat/ChatTools.ts +5 -1
- package/src/Chat/index.ts +73 -6
- package/src/Chat/modelRouting.ts +15 -2
- package/src/Chat/types.ts +59 -1
- package/src/CreativeWorkflows/index.ts +11 -3
- package/src/CreativeWorkflows/types.ts +7 -0
- package/src/Projects/createJobRequestMessage.ts +7 -2
- package/src/Projects/index.ts +5 -3
- package/src/Projects/types/ModelOptions.ts +3 -1
- package/src/Projects/types/ModelTiersRaw.ts +1 -0
- package/src/Projects/types/events.ts +4 -0
- package/src/Projects/types/index.ts +35 -9
- package/src/index.ts +43 -2
- package/src/lib/RestClient.ts +10 -3
- package/src/lib/attribution.ts +304 -0
- package/src/lib/validation.ts +44 -7
- package/src/types/attribution.ts +89 -0
- package/src/version.ts +1 -1
package/AGENTS.md
CHANGED
|
@@ -36,6 +36,7 @@ The SDK wraps the public Sogni Intelligence endpoints used for text chat, hosted
|
|
|
36
36
|
|
|
37
37
|
- `sogni.chat.completions.create()` maps to socket-native chat completions and supports text, streaming, vision input, custom function tools, Sogni tool injection, structured outputs, and `think` / `taskProfile` controls.
|
|
38
38
|
- `sogni.chat.hosted.create()` maps to `POST /v1/chat/completions`, the OpenAI-compatible REST chat endpoint. It can execute Sogni media-generation and composition tools server-side.
|
|
39
|
+
- `sogni.chat.hosted.executeTool()` maps to `POST /v1/creative-agent/tools/execute` for direct execution of known synchronous composition/planning tools (`enhance_prompt`, `compose_script`, `compose_lyrics`, `compose_instrumental`, `compose_workflow`, `compose_workflow_template`) without an LLM dispatcher round.
|
|
39
40
|
- `sogni.chat.runs` maps to `/v1/chat/runs`, a durable hosted-chat turn with persisted state, event replay, cancellation, and recovery across client disconnects.
|
|
40
41
|
- `sogni.workflows` maps to `/v1/creative-agent/workflows`, where callers submit exact multi-step creative plans and observe durable execution through snapshots, event logs, or SSE.
|
|
41
42
|
- `sogni.workflows.templates` maps to `/v1/creative-agent/workflows/templates`, the CRUD and fork API for saved, parameterized workflow recipes.
|
|
@@ -49,7 +50,7 @@ Public chat and workflow media rules:
|
|
|
49
50
|
|
|
50
51
|
## Overview
|
|
51
52
|
|
|
52
|
-
This is the **Sogni SDK for JavaScript/Node.js** - a TypeScript client library for the Sogni Supernet, a DePIN protocol for creative AI inference. The SDK supports image generation (Stable Diffusion, Flux, Flux.2, Z-Image / Z-Image Turbo, Krea 2 Turbo, Chroma v.46 Flash / v.48 Detail / Chroma1-HD, Qwen image-edit models, GPT Image 2, plus community fine-tunes such as Dark Beast Z-Image Turbo v9, Dark Beast KREA 2, and One Obsession v22), video generation (WAN 2.2, LTX-2.3, Seedance 2.0, HappyHorse 1.1), audio generation (ACE-Step 1.5), LLM chat with tool calling, hosted creative tools, durable creative workflows, replay records, and multimodal vision chat (Qwen3.6 35B VLM, default `qwen3.6-35b-a3b-gguf-iq4xs`). The model catalog is discovered dynamically at runtime (`sogni.projects.getAvailableModels()`); model ids listed here are illustrative.
|
|
53
|
+
This is the **Sogni SDK for JavaScript/Node.js** - a TypeScript client library for the Sogni Supernet, a DePIN protocol for creative AI inference. The SDK supports image generation (Stable Diffusion, Flux, Flux.2, Z-Image / Z-Image Turbo, Krea 2 Turbo, Krea 2 Identity Edit, Chroma v.46 Flash / v.48 Detail / Chroma1-HD, Qwen image-edit models, GPT Image 2, plus community fine-tunes such as Dark Beast Z-Image Turbo v9, Dark Beast KREA 2, Dark Beast Krea 2 Identity Edit, and One Obsession v22), video generation (WAN 2.2, LTX-2.3, Seedance 2.0, HappyHorse 1.1), audio generation (ACE-Step 1.5), LLM chat with tool calling, hosted creative tools, durable creative workflows, replay records, and multimodal vision chat (Qwen3.6 35B VLM, default `qwen3.6-35b-a3b-gguf-iq4xs`). The model catalog is discovered dynamically at runtime (`sogni.projects.getAvailableModels()`); model ids listed here are illustrative.
|
|
53
54
|
|
|
54
55
|
Runtime and packaging:
|
|
55
56
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
# [5.3.0](https://github.com/Sogni-AI/sogni-client/compare/v5.2.0...v5.3.0) (2026-07-30)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **telemetry:** add agent attribution contract ([8da7c28](https://github.com/Sogni-AI/sogni-client/commit/8da7c2884afa8b79396f83381cb282284c5fc616))
|
|
7
|
+
* **telemetry:** add agent attribution contract ([#19](https://github.com/Sogni-AI/sogni-client/issues/19)) ([287a5d8](https://github.com/Sogni-AI/sogni-client/commit/287a5d82b71d27e2699aae4a075c7608c993edf8))
|
|
8
|
+
|
|
9
|
+
# [5.2.0](https://github.com/Sogni-AI/sogni-client/compare/v5.1.0...v5.2.0) (2026-07-29)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* enforce Krea identity edit bounds ([bb4ddab](https://github.com/Sogni-AI/sogni-client/commit/bb4ddab6c649214eb9e329944c6ee49431e1feff))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* add chat safe-content routing flag ([822a863](https://github.com/Sogni-AI/sogni-client/commit/822a863c7a6888defd67ce79b63751bc92c23b7c))
|
|
20
|
+
* add Krea identity edit awareness ([bcb7cc3](https://github.com/Sogni-AI/sogni-client/commit/bcb7cc3068f30233ded5f1f546ed9604c2d98743))
|
|
21
|
+
* **chat:** add direct hosted tool execution ([d5c182a](https://github.com/Sogni-AI/sogni-client/commit/d5c182a14d31a8fdb661c67682fa6cc2401188d3))
|
|
22
|
+
* **examples:** add opt-in 10Eros model ([9ec210d](https://github.com/Sogni-AI/sogni-client/commit/9ec210dce2638375220a05cc2491e6e31c11603d))
|
|
23
|
+
* expose image vae options ([1384c4e](https://github.com/Sogni-AI/sogni-client/commit/1384c4e372de2e8e50e4256946fb5dbe5ddae0e8))
|
|
24
|
+
* **projects:** expose LoRA preparation progress ([3a0b3c3](https://github.com/Sogni-AI/sogni-client/commit/3a0b3c30c627a17f1c51877e72f01ea1d67e718b))
|
|
25
|
+
* **release:** promote latest alpha SDK updates ([d2542f3](https://github.com/Sogni-AI/sogni-client/commit/d2542f3a14f4c8f494c228f3c0da15d45987b0cc))
|
|
26
|
+
|
|
1
27
|
# [5.1.0](https://github.com/Sogni-AI/sogni-client/compare/v5.0.0...v5.1.0) (2026-07-10)
|
|
2
28
|
|
|
3
29
|
|
package/README.md
CHANGED
|
@@ -157,6 +157,43 @@ await sogni.setSocketEventSubscriptions({
|
|
|
157
157
|
|
|
158
158
|
Runtime subscription changes made via `setSocketEventSubscriptions` are remembered locally and re-applied on every reconnect, so a long-lived client only needs to express its preference once.
|
|
159
159
|
|
|
160
|
+
Agent integrations can optionally declare connection and workload attribution without changing `appSource`. Defaults are immutable and per-request overrides are isolated, so concurrent operations cannot leak lineage into one another:
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
const sogni = await SogniClient.createInstance({
|
|
164
|
+
appId: 'your-app-id',
|
|
165
|
+
appSource: 'my-agent-integration',
|
|
166
|
+
apiKey: 'your-api-key',
|
|
167
|
+
attribution: {
|
|
168
|
+
connection: {
|
|
169
|
+
interactionKind: 'external_agent',
|
|
170
|
+
agentFramework: 'codex',
|
|
171
|
+
agentSurface: 'plugin'
|
|
172
|
+
},
|
|
173
|
+
workload: {
|
|
174
|
+
workloadKind: 'agent_mediated',
|
|
175
|
+
agentFramework: 'codex',
|
|
176
|
+
agentSurface: 'plugin',
|
|
177
|
+
executionMode: 'server'
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
await sogni.projects.create({
|
|
183
|
+
type: 'image',
|
|
184
|
+
modelId: 'z_image_turbo_bf16',
|
|
185
|
+
positivePrompt: 'A cinematic mountain observatory',
|
|
186
|
+
numberOfMedia: 1,
|
|
187
|
+
attribution: {
|
|
188
|
+
operationScope: 'child',
|
|
189
|
+
rootOperationId: 'turn-123',
|
|
190
|
+
parentOperationId: 'tool-call-456'
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
The SDK supplies the project/job operation ID when it is omitted. Standalone attributed calls default to `top_level`; child calls should provide their stable root and immediate parent IDs. All attribution is optional, normalized again by the server, and excluded entirely from the wire for callers that do not configure it.
|
|
196
|
+
|
|
160
197
|
## Usage
|
|
161
198
|
|
|
162
199
|
After authentication, the client will have an active WebSocket connection to Sogni Supernet. Within a short period of time the
|
|
@@ -660,6 +697,7 @@ Example model IDs:
|
|
|
660
697
|
- `wan_v2.2-14b-fp8_animate-replace_lightx2v` (Animate-Replace, speed)
|
|
661
698
|
- `ltx23-22b-fp8_t2v_distilled` (LTX-2.3 Text-to-Video, fast)
|
|
662
699
|
- `ltx23-22b-fp8_i2v_distilled` (LTX-2.3 Image-to-Video, fast)
|
|
700
|
+
- `ltx23-22b-10eros-v1.4-fp8mixed_i2v` (LTX-2.3 10Eros v1.4 Image-to-Video, 30GB+ workers, explicit safety-filter disablement required)
|
|
663
701
|
- `ltx23-22b-fp8_v2v_distilled` (LTX-2.3 Video-to-Video ControlNet, fast)
|
|
664
702
|
- `seedance-2-0` (Seedance 2.0 multimodal video, external API, 4K capable)
|
|
665
703
|
- `seedance-2-0-mini` (Seedance 2.0 Mini multimodal video, external API, 720p cap)
|
|
@@ -668,6 +706,11 @@ Example model IDs:
|
|
|
668
706
|
- `happyhorse-1.1-i2v` (Happy Horse 1.1 Image-to-Video, external API, one first-frame image)
|
|
669
707
|
- `happyhorse-1.1-r2v` (Happy Horse 1.1 Reference-to-Video, external API, 1-9 reference images)
|
|
670
708
|
|
|
709
|
+
The repository does not bundle sample prompts or input media for the 10Eros model. Creators
|
|
710
|
+
who choose to use it must provide their own prompt and image to
|
|
711
|
+
`examples/workflow_image_to_video.mjs`. Optional test prompts and images are available from the
|
|
712
|
+
[model author's sample gallery](https://civitai.red/models/2447875/ltx23-10eros).
|
|
713
|
+
|
|
671
714
|
### Video Parameters
|
|
672
715
|
|
|
673
716
|
When creating video projects, you can specify:
|
|
@@ -906,9 +949,24 @@ Combine LLM intelligence with Sogni's media generation capabilities. The SDK exp
|
|
|
906
949
|
|
|
907
950
|
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.).
|
|
908
951
|
|
|
952
|
+
When your app already knows the exact synchronous composition/planning tool and JSON arguments, skip the dispatcher round and call `sogni.chat.hosted.executeTool()` directly. Direct execution supports `enhance_prompt`, `compose_script`, `compose_lyrics`, `compose_instrumental`, `compose_workflow`, and `compose_workflow_template`; long-running media generation still belongs on hosted chat/runs or `sogni.workflows`.
|
|
953
|
+
|
|
954
|
+
```javascript
|
|
955
|
+
const direct = await sogni.chat.hosted.executeTool({
|
|
956
|
+
tool: 'enhance_prompt',
|
|
957
|
+
arguments: {
|
|
958
|
+
prompt: 'A cinematic portrait of a glass robot',
|
|
959
|
+
destination_tool: 'generate_image'
|
|
960
|
+
},
|
|
961
|
+
tokenType: 'spark'
|
|
962
|
+
});
|
|
963
|
+
|
|
964
|
+
console.log(direct.data.message);
|
|
965
|
+
```
|
|
966
|
+
|
|
909
967
|
For direct `/v1/chat/completions` hosted-tool execution, media-bearing tool arguments use inline `data:` URIs. For user-uploaded image/audio/video inputs, use the SDK video project examples or the `sogni.workflows` wrapper for `/v1/creative-agent/workflows`; these 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"`.
|
|
910
968
|
|
|
911
|
-
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.
|
|
969
|
+
The `workflow_text_chat_sogni_tools.mjs` example demonstrates the core text-to-image, text-to-video, and text-to-music composition flows. `workflow_direct_creative_tool.mjs` demonstrates direct one-call execution for known synchronous tools. 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.
|
|
912
970
|
|
|
913
971
|
### Hosted Tool Surfaces — `sogni_tools` parameter
|
|
914
972
|
|
|
@@ -954,6 +1012,8 @@ const result = await sogni.chat.hosted.create({
|
|
|
954
1012
|
|
|
955
1013
|
See `examples/workflow_creative_agent_tools.mjs` for a runnable REST API-key example that can toggle tool surface and server-side execution.
|
|
956
1014
|
|
|
1015
|
+
See `examples/workflow_direct_creative_tool.mjs` when you already know the hosted synchronous tool to run and want to call it without asking the LLM to select a tool first.
|
|
1016
|
+
|
|
957
1017
|
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:
|
|
958
1018
|
|
|
959
1019
|
```bash
|
|
@@ -1075,6 +1135,7 @@ The workflow examples showcase a few powerful open-source frontier models suppor
|
|
|
1075
1135
|
| `z_image_turbo_bf16` | **Z-Image Turbo** - Ultra-fast 8-step generation | Quick text-to-image prototyping and iteration |
|
|
1076
1136
|
| `z_image_bf16` | **Z-Image** - High quality 20-step generation | Detailed, high quality image output |
|
|
1077
1137
|
| `krea2_turbo_fp8_scaled` | **Krea 2 Turbo** - Fast 8-step, strong in-image text | Text-heavy images and fast iteration, up to 2K |
|
|
1138
|
+
| `krea2_identity_edit_v1_2` | **Krea 2 Identity Edit LoRA v1.2** - Identity editing | Preserve a subject across edits with 1-2 reference images |
|
|
1078
1139
|
| `chroma1-hd_fp8_scaled` | **Chroma1-HD** - Final high-res Chroma (uncensored) | Highest-fidelity Chroma output, LoRA-capable |
|
|
1079
1140
|
| `flux2_dev_fp8` | **Flux.2 \[dev\]** - Pro quality, context images | Professional images and reference-guided editing (up to 6 context images) |
|
|
1080
1141
|
| `qwen_image_edit_2511_fp8_lightning` | **Qwen Image Edit Lightning** - Fast 4-step editing | Rapid reference-based image generation |
|
|
@@ -1085,6 +1146,7 @@ The workflow examples showcase a few powerful open-source frontier models suppor
|
|
|
1085
1146
|
| `seedance-2-0-fast` | **Seedance 2.0 Fast** - 720p external API video | Legacy faster 24fps video generation where fast tiers are enabled |
|
|
1086
1147
|
| `dark_beast_z_image_turbo_v9_bf16` | **Dark Beast Z-Image Turbo v9** - Community (uncensored) | Uncensored, fast Z-Image fine-tune (2K output needs a 24GB+ VRAM worker) |
|
|
1087
1148
|
| `dark_beast_krea2_fp8` | **Dark Beast KREA 2** - Community (uncensored) | Uncensored Krea 2 fine-tune (2K output needs a 24GB+ VRAM worker) |
|
|
1149
|
+
| `dark_beast_krea2_identity_edit_v1_2` | **Dark Beast Krea 2 Identity Edit** - Community | Uncensored identity-preserving Krea 2 edit LoRA with 1-2 reference images |
|
|
1088
1150
|
| `one_obsession_v22_fp16` | **One Obsession v22** - Community (Illustrious/anime) | Anime/illustration checkpoint, LoRA-capable |
|
|
1089
1151
|
| `qwen3.6-35b-a3b-gguf-iq4xs` | **Qwen3.6 35B VLM** - LLM chat, tool calling & vision | Latest model with 262,144 native context length, reasoning, tool calling, and multimodal image understanding |
|
|
1090
1152
|
|
|
@@ -5,6 +5,7 @@ import RestClient from '../../../lib/RestClient.js';
|
|
|
5
5
|
import { SocketEventMap } from '../events.js';
|
|
6
6
|
import { MessageType, SocketMessageMap } from '../messages.js';
|
|
7
7
|
import type { SocketEventSubscriptionInput, SocketEventSubscriptions } from '../eventSubscriptions.js';
|
|
8
|
+
import type { NormalizedConnectionAttribution } from '../../../lib/attribution.js';
|
|
8
9
|
declare class BrowserWebSocketClient extends RestClient<SocketEventMap> implements IWebSocketClient {
|
|
9
10
|
appId: string;
|
|
10
11
|
baseUrl: string;
|
|
@@ -14,8 +15,9 @@ declare class BrowserWebSocketClient extends RestClient<SocketEventMap> implemen
|
|
|
14
15
|
private _supernetType;
|
|
15
16
|
private _lastBalanceUpdate;
|
|
16
17
|
private _lastSwarmModels;
|
|
18
|
+
private _lastSwarmLLMModels;
|
|
17
19
|
private _lastSubscriptionEntitlement;
|
|
18
|
-
constructor(baseUrl: string, auth: AuthManager, appId: string, supernetType: SupernetType, logger: Logger, appSource?: string, socketEventSubscriptions?: SocketEventSubscriptions);
|
|
20
|
+
constructor(baseUrl: string, auth: AuthManager, appId: string, supernetType: SupernetType, logger: Logger, appSource?: string, socketEventSubscriptions?: SocketEventSubscriptions, connectionAttribution?: NormalizedConnectionAttribution);
|
|
19
21
|
get isConnected(): boolean;
|
|
20
22
|
get supernetType(): SupernetType;
|
|
21
23
|
connect(): Promise<void>;
|
|
@@ -32,8 +32,8 @@ class WrappedClient extends index_js_2.default {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
class BrowserWebSocketClient extends RestClient_js_1.default {
|
|
35
|
-
constructor(baseUrl, auth, appId, supernetType, logger, appSource, socketEventSubscriptions) {
|
|
36
|
-
const socketClient = new WrappedClient(baseUrl, auth, appId, supernetType, logger, appSource, socketEventSubscriptions);
|
|
35
|
+
constructor(baseUrl, auth, appId, supernetType, logger, appSource, socketEventSubscriptions, connectionAttribution) {
|
|
36
|
+
const socketClient = new WrappedClient(baseUrl, auth, appId, supernetType, logger, appSource, socketEventSubscriptions, connectionAttribution);
|
|
37
37
|
super(socketClient.baseUrl, auth, logger);
|
|
38
38
|
// Tracks whether the consumer (ApiClient + auth) wants the shared socket to
|
|
39
39
|
// be open. Secondary tabs don't own the WebSocket directly, so they answer
|
|
@@ -52,6 +52,9 @@ class BrowserWebSocketClient extends RestClient_js_1.default {
|
|
|
52
52
|
// a long wait, since the server skips swarmModels for artists that have
|
|
53
53
|
// active jobs. Cached and replayed like the balance snapshot.
|
|
54
54
|
this._lastSwarmModels = null;
|
|
55
|
+
// Last swarmLLMModels the primary observed. ChatApi builds `models` from
|
|
56
|
+
// this live event, so replay it to late-joining tabs just like swarmModels.
|
|
57
|
+
this._lastSwarmLLMModels = null;
|
|
55
58
|
// Last subscription entitlement snapshot observed on the primary tab. Replayed
|
|
56
59
|
// to late-joining secondaries so CurrentAccount reflects purchases made after
|
|
57
60
|
// the shared socket originally connected.
|
|
@@ -201,6 +204,12 @@ class BrowserWebSocketClient extends RestClient_js_1.default {
|
|
|
201
204
|
payload: { type: 'swarmModels', data: this._lastSwarmModels }
|
|
202
205
|
});
|
|
203
206
|
}
|
|
207
|
+
if (this._lastSwarmLLMModels) {
|
|
208
|
+
this.coordinator.notify({
|
|
209
|
+
type: 'socket-event',
|
|
210
|
+
payload: { type: 'swarmLLMModels', data: this._lastSwarmLLMModels }
|
|
211
|
+
});
|
|
212
|
+
}
|
|
204
213
|
if (this._lastSubscriptionEntitlement) {
|
|
205
214
|
this.coordinator.notify({
|
|
206
215
|
type: 'socket-event',
|
|
@@ -272,6 +281,9 @@ class BrowserWebSocketClient extends RestClient_js_1.default {
|
|
|
272
281
|
else if (eventType === 'swarmModels') {
|
|
273
282
|
this._lastSwarmModels = payload;
|
|
274
283
|
}
|
|
284
|
+
else if (eventType === 'swarmLLMModels') {
|
|
285
|
+
this._lastSwarmLLMModels = payload;
|
|
286
|
+
}
|
|
275
287
|
else if (eventType === 'subscriptionEntitlementUpdated') {
|
|
276
288
|
this._lastSubscriptionEntitlement = payload;
|
|
277
289
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/BrowserWebSocketClient/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,gEAI2C;AAE3C,2DAA0C;AAC1C,+EAAoD;AAGpD,oFAAyD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/BrowserWebSocketClient/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -111,6 +111,16 @@ export type JobETAData = {
|
|
|
111
111
|
imgID?: string;
|
|
112
112
|
etaSeconds: number;
|
|
113
113
|
};
|
|
114
|
+
export type JobPreparation = {
|
|
115
|
+
phase: 'downloadingAssets';
|
|
116
|
+
assetType: 'lora';
|
|
117
|
+
requested: number;
|
|
118
|
+
cached: number;
|
|
119
|
+
total: number;
|
|
120
|
+
completed: number;
|
|
121
|
+
current: number;
|
|
122
|
+
currentProgress?: number;
|
|
123
|
+
};
|
|
114
124
|
export type JobResultData = {
|
|
115
125
|
jobID: string;
|
|
116
126
|
imgID: string;
|
|
@@ -137,6 +147,7 @@ export type JobStateData = {
|
|
|
137
147
|
positivePrompt?: string;
|
|
138
148
|
negativePrompt?: string;
|
|
139
149
|
jobIndex?: number;
|
|
150
|
+
preparation?: JobPreparation;
|
|
140
151
|
} | {
|
|
141
152
|
type: 'assigned';
|
|
142
153
|
jobID: string;
|
|
@@ -5,15 +5,17 @@ import { IWebSocketClient, SupernetType } from './types.js';
|
|
|
5
5
|
import { Logger } from '../../lib/DefaultLogger.js';
|
|
6
6
|
import { AuthManager } from '../../lib/AuthManager/index.js';
|
|
7
7
|
import type { SocketEventSubscriptionInput, SocketEventSubscriptions } from './eventSubscriptions.js';
|
|
8
|
+
import { type NormalizedConnectionAttribution } from '../../lib/attribution.js';
|
|
8
9
|
declare class WebSocketClient extends RestClient<SocketEventMap> implements IWebSocketClient {
|
|
9
10
|
appId: string;
|
|
10
11
|
appSource?: string;
|
|
12
|
+
connectionAttribution?: NormalizedConnectionAttribution;
|
|
11
13
|
baseUrl: string;
|
|
12
14
|
socketEventSubscriptions?: SocketEventSubscriptions;
|
|
13
15
|
private socket;
|
|
14
16
|
private _supernetType;
|
|
15
17
|
private _pingInterval;
|
|
16
|
-
constructor(baseUrl: string, auth: AuthManager, appId: string, supernetType: SupernetType, logger: Logger, appSource?: string, socketEventSubscriptions?: SocketEventSubscriptions);
|
|
18
|
+
constructor(baseUrl: string, auth: AuthManager, appId: string, supernetType: SupernetType, logger: Logger, appSource?: string, socketEventSubscriptions?: SocketEventSubscriptions, connectionAttribution?: NormalizedConnectionAttribution);
|
|
17
19
|
get supernetType(): SupernetType;
|
|
18
20
|
get isConnected(): boolean;
|
|
19
21
|
connect(): Promise<void>;
|
|
@@ -18,10 +18,11 @@ const base64_js_1 = require("../../lib/base64.js");
|
|
|
18
18
|
const isNodejs_js_1 = __importDefault(require("../../lib/isNodejs.js"));
|
|
19
19
|
const version_js_1 = require("../../version.js");
|
|
20
20
|
const eventSubscriptions_js_1 = require("./eventSubscriptions.js");
|
|
21
|
+
const attribution_js_1 = require("../../lib/attribution.js");
|
|
21
22
|
const PROTOCOL_VERSION = '3.0.0';
|
|
22
23
|
const PING_INTERVAL = 15000;
|
|
23
24
|
class WebSocketClient extends RestClient_js_1.default {
|
|
24
|
-
constructor(baseUrl, auth, appId, supernetType, logger, appSource, socketEventSubscriptions) {
|
|
25
|
+
constructor(baseUrl, auth, appId, supernetType, logger, appSource, socketEventSubscriptions, connectionAttribution) {
|
|
25
26
|
const _baseUrl = new URL(baseUrl);
|
|
26
27
|
switch (_baseUrl.protocol) {
|
|
27
28
|
case 'http:':
|
|
@@ -40,6 +41,7 @@ class WebSocketClient extends RestClient_js_1.default {
|
|
|
40
41
|
this._pingInterval = null;
|
|
41
42
|
this.appId = appId;
|
|
42
43
|
this.appSource = (appSource === null || appSource === void 0 ? void 0 : appSource.trim()) || undefined;
|
|
44
|
+
this.connectionAttribution = (0, attribution_js_1.normalizeConnectionAttribution)(connectionAttribution);
|
|
43
45
|
this.socketEventSubscriptions = socketEventSubscriptions;
|
|
44
46
|
this.baseUrl = _baseUrl.toString();
|
|
45
47
|
this._supernetType = supernetType;
|
|
@@ -70,6 +72,7 @@ class WebSocketClient extends RestClient_js_1.default {
|
|
|
70
72
|
if (this.appSource) {
|
|
71
73
|
url.searchParams.set('appSource', this.appSource);
|
|
72
74
|
}
|
|
75
|
+
(0, attribution_js_1.appendConnectionAttributionQuery)(url, this.connectionAttribution);
|
|
73
76
|
const socketEventSubscriptions = (0, eventSubscriptions_js_1.serializeSocketEventSubscriptions)(this.socketEventSubscriptions);
|
|
74
77
|
if (socketEventSubscriptions) {
|
|
75
78
|
url.searchParams.set('socketEventSubscriptions', socketEventSubscriptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiClient/WebSocketClient/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,4EAAiD;AAEjD,kEAAgF;AAChF,mDAAiE;AACjE,wEAA6C;AAC7C,iDAA+C;AAG/C,mEAGiC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiClient/WebSocketClient/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ import { IWebSocketClient, SupernetType } from './WebSocketClient/types.js';
|
|
|
7
7
|
import type { SocketEventSubscriptionInput, SocketEventSubscriptions } from './WebSocketClient/eventSubscriptions.js';
|
|
8
8
|
import { Logger } from '../lib/DefaultLogger.js';
|
|
9
9
|
import { AuthManager } from '../lib/AuthManager/index.js';
|
|
10
|
+
import { type NormalizedConnectionAttribution } from '../lib/attribution.js';
|
|
11
|
+
import type { SogniAttributionConfig, WorkloadAttributionDefaults, WorkloadAttributionInput } from '../types/attribution.js';
|
|
10
12
|
export interface ApiResponse<D = JSONValue> {
|
|
11
13
|
status: 'success';
|
|
12
14
|
data: D;
|
|
@@ -27,6 +29,7 @@ export interface ApiClientOptions {
|
|
|
27
29
|
socketUrl: string;
|
|
28
30
|
appId: string;
|
|
29
31
|
appSource?: string;
|
|
32
|
+
attribution?: SogniAttributionConfig;
|
|
30
33
|
socketEventSubscriptions?: SocketEventSubscriptions;
|
|
31
34
|
networkType: SupernetType;
|
|
32
35
|
logger: Logger;
|
|
@@ -37,18 +40,24 @@ export interface ApiClientOptions {
|
|
|
37
40
|
declare class ApiClient extends TypedEventEmitter<ApiClientEvents> {
|
|
38
41
|
readonly appId: string;
|
|
39
42
|
readonly appSource?: string;
|
|
43
|
+
readonly attribution: Readonly<{
|
|
44
|
+
connection?: Readonly<NormalizedConnectionAttribution>;
|
|
45
|
+
workload?: Readonly<WorkloadAttributionDefaults>;
|
|
46
|
+
}>;
|
|
40
47
|
readonly logger: Logger;
|
|
41
48
|
private _rest;
|
|
42
49
|
private _socket;
|
|
43
50
|
private _auth;
|
|
44
51
|
private _reconnectAttempts;
|
|
45
52
|
private _disableSocket;
|
|
46
|
-
constructor({ baseUrl, socketUrl, appId, appSource, socketEventSubscriptions, networkType, authType, logger, disableSocket, multiInstance }: ApiClientOptions);
|
|
53
|
+
constructor({ baseUrl, socketUrl, appId, appSource, attribution, socketEventSubscriptions, networkType, authType, logger, disableSocket, multiInstance }: ApiClientOptions);
|
|
47
54
|
get isAuthenticated(): boolean;
|
|
48
55
|
get auth(): AuthManager;
|
|
49
56
|
get socket(): IWebSocketClient;
|
|
50
57
|
get rest(): RestClient;
|
|
51
58
|
get socketEnabled(): boolean;
|
|
59
|
+
resolveWorkloadAttribution(override?: WorkloadAttributionInput, fallbackOperationId?: string): WorkloadAttributionInput | undefined;
|
|
60
|
+
attributionHeaders(appSource: string | undefined, override?: WorkloadAttributionInput, fallbackOperationId?: string): Record<string, string>;
|
|
52
61
|
setSocketEventSubscriptions(update: SocketEventSubscriptionInput): Promise<void>;
|
|
53
62
|
handleSocketConnecting(): void;
|
|
54
63
|
handleSocketConnect({ network }: ServerConnectData): void;
|
package/dist/ApiClient/index.js
CHANGED
|
@@ -13,6 +13,7 @@ const CookieAuthManager_js_1 = __importDefault(require("../lib/AuthManager/Cooki
|
|
|
13
13
|
const index_js_2 = require("../lib/AuthManager/index.js");
|
|
14
14
|
const isNodejs_js_1 = __importDefault(require("../lib/isNodejs.js"));
|
|
15
15
|
const index_js_3 = __importDefault(require("./WebSocketClient/BrowserWebSocketClient/index.js"));
|
|
16
|
+
const attribution_js_1 = require("../lib/attribution.js");
|
|
16
17
|
const WS_RECONNECT_ATTEMPTS = 5;
|
|
17
18
|
class ApiError extends Error {
|
|
18
19
|
constructor(status, payload) {
|
|
@@ -23,12 +24,14 @@ class ApiError extends Error {
|
|
|
23
24
|
}
|
|
24
25
|
exports.ApiError = ApiError;
|
|
25
26
|
class ApiClient extends TypedEventEmitter_js_1.default {
|
|
26
|
-
constructor({ baseUrl, socketUrl, appId, appSource, socketEventSubscriptions, networkType, authType, logger, disableSocket = false, multiInstance = false }) {
|
|
27
|
+
constructor({ baseUrl, socketUrl, appId, appSource, attribution, socketEventSubscriptions, networkType, authType, logger, disableSocket = false, multiInstance = false }) {
|
|
27
28
|
super();
|
|
28
29
|
this._reconnectAttempts = WS_RECONNECT_ATTEMPTS;
|
|
29
30
|
this._disableSocket = false;
|
|
30
31
|
this.appId = appId;
|
|
31
32
|
this.appSource = (appSource === null || appSource === void 0 ? void 0 : appSource.trim()) || undefined;
|
|
33
|
+
const connectionAttribution = (0, attribution_js_1.normalizeConnectionAttribution)(attribution === null || attribution === void 0 ? void 0 : attribution.connection);
|
|
34
|
+
this.attribution = Object.freeze(Object.assign(Object.assign({}, (connectionAttribution ? { connection: Object.freeze(connectionAttribution) } : {})), ((attribution === null || attribution === void 0 ? void 0 : attribution.workload) ? { workload: Object.freeze(Object.assign({}, attribution.workload)) } : {})));
|
|
32
35
|
this.logger = logger;
|
|
33
36
|
if (authType === 'apiKey') {
|
|
34
37
|
this._auth = new ApiKeyAuthManager_js_1.default(logger);
|
|
@@ -43,10 +46,10 @@ class ApiClient extends TypedEventEmitter_js_1.default {
|
|
|
43
46
|
const supportMultiInstance = !isNodejs_js_1.default && this._auth instanceof CookieAuthManager_js_1.default;
|
|
44
47
|
if (supportMultiInstance && multiInstance) {
|
|
45
48
|
// Use coordinated WebSocket client to share single connection between tabs
|
|
46
|
-
this._socket = new index_js_3.default(socketUrl, this._auth, appId, networkType, logger, this.appSource, socketEventSubscriptions);
|
|
49
|
+
this._socket = new index_js_3.default(socketUrl, this._auth, appId, networkType, logger, this.appSource, socketEventSubscriptions, this.attribution.connection);
|
|
47
50
|
}
|
|
48
51
|
else {
|
|
49
|
-
this._socket = new index_js_1.default(socketUrl, this._auth, appId, networkType, logger, this.appSource, socketEventSubscriptions);
|
|
52
|
+
this._socket = new index_js_1.default(socketUrl, this._auth, appId, networkType, logger, this.appSource, socketEventSubscriptions, this.attribution.connection);
|
|
50
53
|
}
|
|
51
54
|
this._disableSocket = disableSocket;
|
|
52
55
|
this._auth.on('updated', this.handleAuthUpdated.bind(this));
|
|
@@ -68,6 +71,16 @@ class ApiClient extends TypedEventEmitter_js_1.default {
|
|
|
68
71
|
get socketEnabled() {
|
|
69
72
|
return !this._disableSocket;
|
|
70
73
|
}
|
|
74
|
+
resolveWorkloadAttribution(override, fallbackOperationId) {
|
|
75
|
+
return (0, attribution_js_1.resolveWorkloadAttribution)(this.attribution.workload, override, fallbackOperationId);
|
|
76
|
+
}
|
|
77
|
+
attributionHeaders(appSource, override, fallbackOperationId) {
|
|
78
|
+
return (0, attribution_js_1.buildSogniAttributionHeaders)({
|
|
79
|
+
appSource,
|
|
80
|
+
connection: this.attribution.connection,
|
|
81
|
+
workload: this.resolveWorkloadAttribution(override, fallbackOperationId)
|
|
82
|
+
});
|
|
83
|
+
}
|
|
71
84
|
setSocketEventSubscriptions(update) {
|
|
72
85
|
return this.socket.setSocketEventSubscriptions(update);
|
|
73
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ApiClient/index.ts"],"names":[],"mappings":";;;;;;AAAA,yEAA8C;AAC9C,0EAAyD;AACzD,uFAA4D;AAG5D,iEAA6E;AAQ7E,mGAAwE;AACxE,mGAAwE;AACxE,0DAA4E;AAC5E,qEAA0C;AAC1C,iGAAuF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ApiClient/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ApiGroup.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import ApiClient from './ApiClient/index.js';
|
|
2
2
|
import EIP712Helper from './lib/EIP712Helper.js';
|
|
3
3
|
import TypedEventEmitter, { EventMap } from './lib/TypedEventEmitter.js';
|
|
4
|
+
import type { WorkloadAttributionInput } from './types/attribution.js';
|
|
4
5
|
export interface ApiConfig {
|
|
5
6
|
client: ApiClient;
|
|
6
7
|
eip712: EIP712Helper;
|
|
@@ -9,5 +10,7 @@ declare abstract class ApiGroup<E extends EventMap = {}> extends TypedEventEmitt
|
|
|
9
10
|
protected client: ApiClient;
|
|
10
11
|
protected eip712: EIP712Helper;
|
|
11
12
|
constructor(config: ApiConfig);
|
|
13
|
+
protected resolveWorkloadAttribution(override?: WorkloadAttributionInput, fallbackOperationId?: string): WorkloadAttributionInput | undefined;
|
|
14
|
+
protected attributionHeaders(appSource: string | undefined, override?: WorkloadAttributionInput, fallbackOperationId?: string): Record<string, string>;
|
|
12
15
|
}
|
|
13
16
|
export default ApiGroup;
|
package/dist/ApiGroup.js
CHANGED
|
@@ -4,12 +4,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const TypedEventEmitter_js_1 = __importDefault(require("./lib/TypedEventEmitter.js"));
|
|
7
|
+
const attribution_js_1 = require("./lib/attribution.js");
|
|
7
8
|
class ApiGroup extends TypedEventEmitter_js_1.default {
|
|
8
9
|
constructor(config) {
|
|
9
10
|
super();
|
|
10
11
|
this.client = config.client;
|
|
11
12
|
this.eip712 = config.eip712;
|
|
12
13
|
}
|
|
14
|
+
resolveWorkloadAttribution(override, fallbackOperationId) {
|
|
15
|
+
var _a;
|
|
16
|
+
return (0, attribution_js_1.resolveWorkloadAttribution)((_a = this.client.attribution) === null || _a === void 0 ? void 0 : _a.workload, override, fallbackOperationId);
|
|
17
|
+
}
|
|
18
|
+
attributionHeaders(appSource, override, fallbackOperationId) {
|
|
19
|
+
var _a;
|
|
20
|
+
return (0, attribution_js_1.buildSogniAttributionHeaders)({
|
|
21
|
+
appSource,
|
|
22
|
+
connection: (_a = this.client.attribution) === null || _a === void 0 ? void 0 : _a.connection,
|
|
23
|
+
workload: this.resolveWorkloadAttribution(override, fallbackOperationId)
|
|
24
|
+
});
|
|
25
|
+
}
|
|
13
26
|
}
|
|
14
27
|
exports.default = ApiGroup;
|
|
15
28
|
//# sourceMappingURL=ApiGroup.js.map
|
package/dist/ApiGroup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiGroup.js","sourceRoot":"","sources":["../src/ApiGroup.ts"],"names":[],"mappings":";;;;;AAEA,sFAAyE;
|
|
1
|
+
{"version":3,"file":"ApiGroup.js","sourceRoot":"","sources":["../src/ApiGroup.ts"],"names":[],"mappings":";;;;;AAEA,sFAAyE;AACzE,yDAAgG;AAQhG,MAAe,QAAkC,SAAQ,8BAAoB;IAI3E,YAAY,MAAiB;QAC3B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAES,0BAA0B,CAClC,QAAmC,EACnC,mBAA4B;;QAE5B,OAAO,IAAA,2CAA0B,EAC/B,MAAA,IAAI,CAAC,MAAM,CAAC,WAAW,0CAAE,QAAQ,EACjC,QAAQ,EACR,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAES,kBAAkB,CAC1B,SAA6B,EAC7B,QAAmC,EACnC,mBAA4B;;QAE5B,OAAO,IAAA,6CAA4B,EAAC;YAClC,SAAS;YACT,UAAU,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,WAAW,0CAAE,UAAU;YAC/C,QAAQ,EAAE,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,CAAC;SACzE,CAAC,CAAC;IACL,CAAC;CACF;AAED,kBAAe,QAAQ,CAAC"}
|
package/dist/Chat/ChatTools.js
CHANGED
|
@@ -112,6 +112,7 @@ class ChatToolsApi {
|
|
|
112
112
|
tokenType: options === null || options === void 0 ? void 0 : options.tokenType,
|
|
113
113
|
network: options === null || options === void 0 ? void 0 : options.network,
|
|
114
114
|
numberOfMedia: options === null || options === void 0 ? void 0 : options.numberOfMedia,
|
|
115
|
+
attribution: options === null || options === void 0 ? void 0 : options.attribution,
|
|
115
116
|
timeout: options === null || options === void 0 ? void 0 : options.timeout,
|
|
116
117
|
onProgress: (options === null || options === void 0 ? void 0 : options.onToolProgress)
|
|
117
118
|
? (progress) => options.onToolProgress(toolCall, progress)
|
|
@@ -157,7 +158,7 @@ class ChatToolsApi {
|
|
|
157
158
|
return __awaiter(this, void 0, void 0, function* () {
|
|
158
159
|
var _a, _b, _c, _d, _e;
|
|
159
160
|
(_a = options === null || options === void 0 ? void 0 : options.onProgress) === null || _a === void 0 ? void 0 : _a.call(options, { status: 'creating', percent: 0 });
|
|
160
|
-
const project = yield this.projects.create(projectParams);
|
|
161
|
+
const project = yield this.projects.create(Object.assign(Object.assign({}, projectParams), ((options === null || options === void 0 ? void 0 : options.attribution) ? { attribution: options.attribution } : {})));
|
|
161
162
|
const timeout = (_b = options === null || options === void 0 ? void 0 : options.timeout) !== null && _b !== void 0 ? _b : DEFAULT_TIMEOUT;
|
|
162
163
|
let timeoutId = null;
|
|
163
164
|
let jobsCompleted = 0;
|