@sogni-ai/sogni-client 4.2.0-alpha.19 → 4.2.0-alpha.20

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 (38) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +51 -14
  3. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.d.ts +3 -1
  4. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js +26 -2
  5. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js.map +1 -1
  6. package/dist/ApiClient/WebSocketClient/eventSubscriptions.d.ts +33 -0
  7. package/dist/ApiClient/WebSocketClient/eventSubscriptions.js +39 -0
  8. package/dist/ApiClient/WebSocketClient/eventSubscriptions.js.map +1 -0
  9. package/dist/ApiClient/WebSocketClient/events.d.ts +7 -0
  10. package/dist/ApiClient/WebSocketClient/index.d.ts +4 -1
  11. package/dist/ApiClient/WebSocketClient/index.js +20 -1
  12. package/dist/ApiClient/WebSocketClient/index.js.map +1 -1
  13. package/dist/ApiClient/WebSocketClient/messages.d.ts +2 -0
  14. package/dist/ApiClient/WebSocketClient/types.d.ts +2 -0
  15. package/dist/ApiClient/index.d.ts +4 -1
  16. package/dist/ApiClient/index.js +6 -3
  17. package/dist/ApiClient/index.js.map +1 -1
  18. package/dist/Chat/index.js +1 -1
  19. package/dist/Chat/index.js.map +1 -1
  20. package/dist/Chat/types.d.ts +3 -0
  21. package/dist/Projects/index.js +2 -1
  22. package/dist/Projects/index.js.map +1 -1
  23. package/dist/index.d.ts +18 -1
  24. package/dist/index.js +12 -0
  25. package/dist/index.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/index.ts +46 -3
  28. package/src/ApiClient/WebSocketClient/eventSubscriptions.ts +92 -0
  29. package/src/ApiClient/WebSocketClient/events.ts +8 -0
  30. package/src/ApiClient/WebSocketClient/index.ts +27 -1
  31. package/src/ApiClient/WebSocketClient/messages.ts +2 -0
  32. package/src/ApiClient/WebSocketClient/types.ts +2 -0
  33. package/src/ApiClient/index.ts +14 -2
  34. package/src/Chat/index.ts +1 -0
  35. package/src/Chat/types.ts +3 -0
  36. package/src/Projects/createJobRequestMessage.ts +1 -1
  37. package/src/Projects/index.ts +5 -1
  38. package/src/index.ts +35 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [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
+
3
+
4
+ ### Features
5
+
6
+ * **sdk:** add socket event subscription controls ([a450acd](https://github.com/Sogni-AI/sogni-client/commit/a450acd22087a690657c82de8e20cda96cd81512))
7
+
1
8
  # [4.2.0-alpha.19](https://github.com/Sogni-AI/sogni-client/compare/v4.2.0-alpha.18...v4.2.0-alpha.19) (2026-05-11)
2
9
 
3
10
 
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 a 14-tool agentic family (`restore_photo`, `animate_photo` with multi-source fan-out, `stitch_video`, `orbit_video`, `dance_montage`, etc.) by setting `sogni_tools: "creative-agent"`
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"`
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
 
@@ -123,6 +123,40 @@ const models = await sogni.projects.waitForModels();
123
123
  - `appId` must be unique string, UUID is recommended. It is used to identify your application.
124
124
  - Only one connection per `appId` is allowed. If you try to connect with the same `appId` multiple times, the previous connection will be closed.
125
125
 
126
+ ### Connection metadata and event subscriptions
127
+
128
+ Use `appSource` to identify the product or integration behind a client connection. The SDK forwards it during authentication and on socket-backed project/chat requests so server-side reporting can attribute usage consistently.
129
+
130
+ By default, the SDK receives the full socket event stream, including live model worker counts through `swarmModels` and `swarmLLMModels`. Proxy, server-side, or headless clients that do not need ongoing worker count updates can opt out of the grouped model availability stream:
131
+
132
+ ```javascript
133
+ const sogni = await SogniClient.createInstance({
134
+ appId: 'your-app-id',
135
+ appSource: 'my-integration',
136
+ network: 'fast',
137
+ apiKey: 'your-api-key',
138
+ socketEventSubscriptions: {
139
+ modelAvailability: false
140
+ }
141
+ });
142
+ ```
143
+
144
+ If your process needs the initial model list before submitting work, keep the default subscription, wait for models, then unsubscribe from future count updates:
145
+
146
+ ```javascript
147
+ const models = await sogni.projects.waitForModels();
148
+
149
+ await sogni.setSocketEventSubscriptions({
150
+ modelAvailability: false
151
+ });
152
+ ```
153
+
154
+ `modelAvailability` is a subscription group covering `swarmModels` and `swarmLLMModels`. You can also opt in or out of individual socket event names with the same boolean map, and omitted subscriptions preserve default server behavior.
155
+
156
+ **Group flags dominate individual flags.** Disabling a group (e.g. `modelAvailability: false`) suppresses every event in the group, and re-enabling a single event under that group later (e.g. `swarmModels: true`) does **not** override the group-level suppression — the group flag still wins. To re-enable a single event, re-enable the group it belongs to (or clear it via `setSocketEventSubscriptions({ reset: true })` before reapplying selective subscriptions). Subscriptions you do not list keep their current server-side state.
157
+
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
+
126
160
  ## Usage
127
161
 
128
162
  After authentication, the client will have an active WebSocket connection to Sogni Supernet. Within a short period of time the
@@ -652,7 +686,8 @@ const project = await sogni.projects.create({
652
686
  type: 'video',
653
687
  network: 'fast',
654
688
  modelId: 'seedance-2-0',
655
- positivePrompt: 'Use @Image1 as the product identity, @Image2 for detail inserts, @Video1 for camera movement, and @Audio1 for music rhythm. Create one cohesive launch spot with smooth continuity and crisp product preservation.',
689
+ positivePrompt:
690
+ 'Use @Image1 as the product identity, @Image2 for detail inserts, @Video1 for camera movement, and @Audio1 for music rhythm. Create one cohesive launch spot with smooth continuity and crisp product preservation.',
656
691
  duration: 8,
657
692
  fps: 24,
658
693
  width: 1920,
@@ -833,7 +868,7 @@ The `workflow_text_chat_sogni_tools.mjs` example demonstrates the core text-to-i
833
868
 
834
869
  ### Rich Creative-Agent Tool Family (server-side)
835
870
 
836
- For agentic experiences that mirror `chat.sogni.ai`, the Sogni API can inject a richer 14-tool family 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.
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.
837
872
 
838
873
  Tools added on top of the hosted six:
839
874
 
@@ -844,8 +879,10 @@ Tools added on top of the hosted six:
844
879
  | `stitch_video` | Compose selected video clips into one MP4 (with optional audio overlay) |
845
880
  | `orbit_video` | Generate orbit clips around a subject and stitch them |
846
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 |
883
+ | `overlay_video`, `add_subtitles` | Burn in text/logo overlays or subtitle cues onto existing videos via ffmpeg |
847
884
 
848
- Composition tools (`stitch_video`, `orbit_video`, `dance_montage`, and `animate_photo` fan-out) return a single composed MP4 URL. 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.
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.
849
886
 
850
887
  ```javascript
851
888
  import { SogniClient } from '@sogni-ai/sogni-client';
@@ -955,16 +992,16 @@ The [examples](https://github.com/Sogni-AI/sogni-client/tree/main/examples) dire
955
992
 
956
993
  The workflow examples showcase a few powerful open-source frontier models supported by Sogni Supernet:
957
994
 
958
- | Model ID | Description | Use Case |
959
- | ------------------------------------ | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
960
- | `z_image_turbo_bf16` | **Z-Image Turbo** - Ultra-fast 8-step generation | Quick text-to-image prototyping and iteration |
961
- | `z_image_bf16` | **Z-Image** - High quality 20-step generation | Detailed, high quality image output |
962
- | `qwen_image_edit_2511_fp8_lightning` | **Qwen Image Edit Lightning** - Fast 4-step editing | Rapid reference-based image generation |
963
- | `qwen_image_edit_2511_fp8` | **Qwen Image Edit** - High quality 20-step editing | Professional image editing with context awareness |
964
- | `wan_v2.2-14b-fp8_t2v_lightx2v` | **Wan 2.2 T2V** - Text-to-video | Generate videos from text prompts |
965
- | `seedance-2-0` | **Seedance 2.0** - External API multimodal video | Full Seedance 2.0 24fps video generation with optional image, video, and audio context |
966
- | `seedance-2-0-fast` | **Seedance 2.0 Fast** - 720p external API video | Faster 24fps video generation where fast tiers are enabled |
967
- | `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 |
995
+ | Model ID | Description | Use Case |
996
+ | ------------------------------------ | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
997
+ | `z_image_turbo_bf16` | **Z-Image Turbo** - Ultra-fast 8-step generation | Quick text-to-image prototyping and iteration |
998
+ | `z_image_bf16` | **Z-Image** - High quality 20-step generation | Detailed, high quality image output |
999
+ | `qwen_image_edit_2511_fp8_lightning` | **Qwen Image Edit Lightning** - Fast 4-step editing | Rapid reference-based image generation |
1000
+ | `qwen_image_edit_2511_fp8` | **Qwen Image Edit** - High quality 20-step editing | Professional image editing with context awareness |
1001
+ | `wan_v2.2-14b-fp8_t2v_lightx2v` | **Wan 2.2 T2V** - Text-to-video | Generate videos from text prompts |
1002
+ | `seedance-2-0` | **Seedance 2.0** - External API multimodal video | Full Seedance 2.0 24fps video generation with optional image, video, and audio context |
1003
+ | `seedance-2-0-fast` | **Seedance 2.0 Fast** - 720p external API video | Faster 24fps video generation where fast tiers are enabled |
1004
+ | `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 |
968
1005
 
969
1006
  All workflow examples include:
970
1007
 
@@ -4,6 +4,7 @@ import { Logger } from '../../../lib/DefaultLogger';
4
4
  import RestClient from '../../../lib/RestClient';
5
5
  import { SocketEventMap } from '../events';
6
6
  import { MessageType, SocketMessageMap } from '../messages';
7
+ import type { SocketEventSubscriptionInput, SocketEventSubscriptions } from '../eventSubscriptions';
7
8
  declare class BrowserWebSocketClient extends RestClient<SocketEventMap> implements IWebSocketClient {
8
9
  appId: string;
9
10
  baseUrl: string;
@@ -11,12 +12,13 @@ declare class BrowserWebSocketClient extends RestClient<SocketEventMap> implemen
11
12
  private coordinator;
12
13
  private _isConnected;
13
14
  private _supernetType;
14
- constructor(baseUrl: string, auth: AuthManager, appId: string, supernetType: SupernetType, logger: Logger, appSource?: string);
15
+ constructor(baseUrl: string, auth: AuthManager, appId: string, supernetType: SupernetType, logger: Logger, appSource?: string, socketEventSubscriptions?: SocketEventSubscriptions);
15
16
  get isConnected(): boolean;
16
17
  get supernetType(): SupernetType;
17
18
  connect(): Promise<void>;
18
19
  disconnect(): Promise<void>;
19
20
  switchNetwork(supernetType: SupernetType): Promise<SupernetType>;
21
+ setSocketEventSubscriptions(update: SocketEventSubscriptionInput): Promise<void>;
20
22
  send<T extends MessageType>(messageType: T, data: SocketMessageMap[T]): Promise<void>;
21
23
  private handleMessage;
22
24
  private handleNotification;
@@ -32,8 +32,8 @@ class WrappedClient extends index_1.default {
32
32
  }
33
33
  }
34
34
  class BrowserWebSocketClient extends RestClient_1.default {
35
- constructor(baseUrl, auth, appId, supernetType, logger, appSource) {
36
- const socketClient = new WrappedClient(baseUrl, auth, appId, supernetType, logger, appSource);
35
+ constructor(baseUrl, auth, appId, supernetType, logger, appSource, socketEventSubscriptions) {
36
+ const socketClient = new WrappedClient(baseUrl, auth, appId, supernetType, logger, appSource, socketEventSubscriptions);
37
37
  super(socketClient.baseUrl, auth, logger);
38
38
  this._isConnected = false;
39
39
  this.socketClient = socketClient;
@@ -50,6 +50,14 @@ class BrowserWebSocketClient extends RestClient_1.default {
50
50
  });
51
51
  this.auth.on('updated', this.handleAuthUpdated.bind(this));
52
52
  this.socketClient.intercept(this.handleSocketEvent.bind(this));
53
+ // Keep this tab's WrappedClient subscription state in sync with the server's authoritative
54
+ // snapshot, even when this tab is currently a secondary. If we get promoted to primary, the
55
+ // next `connect()` will serialize the up-to-date state into the URL query string.
56
+ this.on('socketEventSubscriptionsUpdated', (payload) => {
57
+ if (payload && payload.socketEventSubscriptions) {
58
+ this.socketClient.socketEventSubscriptions = Object.assign({}, payload.socketEventSubscriptions);
59
+ }
60
+ });
53
61
  }
54
62
  get isConnected() {
55
63
  return this.coordinator.isPrimary ? this.socketClient.isConnected : this._isConnected;
@@ -97,6 +105,18 @@ class BrowserWebSocketClient extends RestClient_1.default {
97
105
  return supernetType;
98
106
  });
99
107
  }
108
+ setSocketEventSubscriptions(update) {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ yield this.coordinator.isReady();
111
+ if (this.coordinator.isPrimary) {
112
+ return this.socketClient.setSocketEventSubscriptions(update);
113
+ }
114
+ return this.coordinator.sendMessage({
115
+ type: 'setSocketEventSubscriptions',
116
+ payload: update
117
+ });
118
+ });
119
+ }
100
120
  send(messageType, data) {
101
121
  return __awaiter(this, void 0, void 0, function* () {
102
122
  yield this.coordinator.isReady();
@@ -138,6 +158,10 @@ class BrowserWebSocketClient extends RestClient_1.default {
138
158
  yield this.switchNetwork(message.payload);
139
159
  return;
140
160
  }
161
+ case 'setSocketEventSubscriptions': {
162
+ yield this.socketClient.setSocketEventSubscriptions(message.payload);
163
+ return;
164
+ }
141
165
  default: {
142
166
  this._logger.error('Received unknown message type:', message);
143
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/BrowserWebSocketClient/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ApiClient/WebSocketClient/BrowserWebSocketClient/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { SocketEventName } from './events';
2
+ export type SocketEventSubscriptionGroup = 'modelAvailability';
3
+ export type SocketEventSubscriptionName = SocketEventName | SocketEventSubscriptionGroup | (string & {});
4
+ export type SocketEventSubscriptions = Partial<Record<SocketEventName | SocketEventSubscriptionGroup, boolean>> & Record<string, boolean | undefined>;
5
+ export interface SocketEventSubscriptionUpdate {
6
+ /**
7
+ * Replace or merge explicit event subscription flags.
8
+ */
9
+ subscriptions?: SocketEventSubscriptions;
10
+ /**
11
+ * Subscribe to one or more socket events or event groups.
12
+ */
13
+ subscribe?: SocketEventSubscriptionName | SocketEventSubscriptionName[];
14
+ /**
15
+ * Unsubscribe from one or more socket events or event groups.
16
+ */
17
+ unsubscribe?: SocketEventSubscriptionName | SocketEventSubscriptionName[];
18
+ /**
19
+ * Clear existing server-side subscription overrides before applying this update.
20
+ */
21
+ reset?: boolean;
22
+ /**
23
+ * Single-event update shorthand.
24
+ */
25
+ event?: SocketEventSubscriptionName;
26
+ /**
27
+ * Boolean value for the single-event update shorthand.
28
+ */
29
+ enabled?: boolean;
30
+ }
31
+ export type SocketEventSubscriptionInput = SocketEventSubscriptions | SocketEventSubscriptionUpdate;
32
+ export declare function normalizeSocketEventSubscriptionUpdate(input: SocketEventSubscriptionInput): SocketEventSubscriptionUpdate;
33
+ export declare function serializeSocketEventSubscriptions(subscriptions?: SocketEventSubscriptions): string | undefined;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeSocketEventSubscriptionUpdate = normalizeSocketEventSubscriptionUpdate;
4
+ exports.serializeSocketEventSubscriptions = serializeSocketEventSubscriptions;
5
+ const UPDATE_KEYS = new Set([
6
+ 'subscriptions',
7
+ 'subscribe',
8
+ 'unsubscribe',
9
+ 'reset',
10
+ 'event',
11
+ 'enabled'
12
+ ]);
13
+ function hasUpdateShape(input) {
14
+ return Object.keys(input).some((key) => UPDATE_KEYS.has(key));
15
+ }
16
+ function normalizeSubscriptions(subscriptions) {
17
+ if (!subscriptions || typeof subscriptions !== 'object') {
18
+ return undefined;
19
+ }
20
+ const normalized = {};
21
+ for (const [eventName, enabled] of Object.entries(subscriptions)) {
22
+ if (typeof enabled === 'boolean') {
23
+ normalized[eventName] = enabled;
24
+ }
25
+ }
26
+ return Object.keys(normalized).length ? normalized : undefined;
27
+ }
28
+ function normalizeSocketEventSubscriptionUpdate(input) {
29
+ const raw = input && typeof input === 'object' ? input : {};
30
+ const update = hasUpdateShape(raw)
31
+ ? raw
32
+ : { subscriptions: raw };
33
+ return Object.assign(Object.assign({}, update), { subscriptions: normalizeSubscriptions(update.subscriptions) });
34
+ }
35
+ function serializeSocketEventSubscriptions(subscriptions) {
36
+ const normalized = normalizeSubscriptions(subscriptions);
37
+ return normalized ? JSON.stringify(normalized) : undefined;
38
+ }
39
+ //# sourceMappingURL=eventSubscriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventSubscriptions.js","sourceRoot":"","sources":["../../../src/ApiClient/WebSocketClient/eventSubscriptions.ts"],"names":[],"mappings":";;AAwEA,wFAYC;AAED,8EAKC;AAhDD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,eAAe;IACf,WAAW;IACX,aAAa;IACb,OAAO;IACP,OAAO;IACP,SAAS;CACV,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,KAA8B;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,sBAAsB,CAC7B,aAAwC;IAExC,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACjE,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,UAAU,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED,SAAgB,sCAAsC,CACpD,KAAmC;IAEnC,MAAM,GAAG,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAG,cAAc,CAAC,GAA8B,CAAC;QAC3D,CAAC,CAAE,GAAqC;QACxC,CAAC,CAAC,EAAE,aAAa,EAAE,GAA+B,EAAE,CAAC;IAEvD,uCACK,MAAM,KACT,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,IAC3D;AACJ,CAAC;AAED,SAAgB,iCAAiC,CAC/C,aAAwC;IAExC,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IACzD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC"}
@@ -139,6 +139,9 @@ export type LLMJobErrorData = {
139
139
  /** Worker username that was processing this request (if assigned) */
140
140
  workerName?: string;
141
141
  };
142
+ export type SocketEventSubscriptionsUpdatedData = {
143
+ socketEventSubscriptions: Record<string, boolean | undefined>;
144
+ };
142
145
  export type SocketEventMap = {
143
146
  /**
144
147
  * @event WebSocketClient#authenticated - Received after successful connection to the WebSocket server
@@ -197,6 +200,10 @@ export type SocketEventMap = {
197
200
  * @event WebSocketClient#swarmLLMModels - Available LLM models with worker counts
198
201
  */
199
202
  swarmLLMModels: Record<string, number | LLMModelInfo>;
203
+ /**
204
+ * @event WebSocketClient#socketEventSubscriptionsUpdated - Current socket event subscriptions changed
205
+ */
206
+ socketEventSubscriptionsUpdated: SocketEventSubscriptionsUpdatedData;
200
207
  /**
201
208
  * @event WebSocketClient#connected - WebSocket connection opened
202
209
  */
@@ -4,14 +4,16 @@ import RestClient from '../../lib/RestClient';
4
4
  import { IWebSocketClient, SupernetType } from './types';
5
5
  import { Logger } from '../../lib/DefaultLogger';
6
6
  import { AuthManager } from '../../lib/AuthManager';
7
+ import type { SocketEventSubscriptionInput, SocketEventSubscriptions } from './eventSubscriptions';
7
8
  declare class WebSocketClient extends RestClient<SocketEventMap> implements IWebSocketClient {
8
9
  appId: string;
9
10
  appSource?: string;
10
11
  baseUrl: string;
12
+ socketEventSubscriptions?: SocketEventSubscriptions;
11
13
  private socket;
12
14
  private _supernetType;
13
15
  private _pingInterval;
14
- constructor(baseUrl: string, auth: AuthManager, appId: string, supernetType: SupernetType, logger: Logger, appSource?: string);
16
+ constructor(baseUrl: string, auth: AuthManager, appId: string, supernetType: SupernetType, logger: Logger, appSource?: string, socketEventSubscriptions?: SocketEventSubscriptions);
15
17
  get supernetType(): SupernetType;
16
18
  get isConnected(): boolean;
17
19
  connect(): Promise<void>;
@@ -19,6 +21,7 @@ declare class WebSocketClient extends RestClient<SocketEventMap> implements IWeb
19
21
  private startPing;
20
22
  private stopPing;
21
23
  switchNetwork(supernetType: SupernetType): Promise<SupernetType>;
24
+ setSocketEventSubscriptions(update: SocketEventSubscriptionInput): Promise<void>;
22
25
  /**
23
26
  * Ensure the WebSocket connection is open, waiting if necessary and throwing an error if it fails
24
27
  * @private
@@ -17,10 +17,11 @@ const isomorphic_ws_1 = __importDefault(require("isomorphic-ws"));
17
17
  const base64_1 = require("../../lib/base64");
18
18
  const isNodejs_1 = __importDefault(require("../../lib/isNodejs"));
19
19
  const version_1 = require("../../version");
20
+ const eventSubscriptions_1 = require("./eventSubscriptions");
20
21
  const PROTOCOL_VERSION = '3.0.0';
21
22
  const PING_INTERVAL = 15000;
22
23
  class WebSocketClient extends RestClient_1.default {
23
- constructor(baseUrl, auth, appId, supernetType, logger, appSource) {
24
+ constructor(baseUrl, auth, appId, supernetType, logger, appSource, socketEventSubscriptions) {
24
25
  const _baseUrl = new URL(baseUrl);
25
26
  switch (_baseUrl.protocol) {
26
27
  case 'http:':
@@ -39,8 +40,16 @@ class WebSocketClient extends RestClient_1.default {
39
40
  this._pingInterval = null;
40
41
  this.appId = appId;
41
42
  this.appSource = (appSource === null || appSource === void 0 ? void 0 : appSource.trim()) || undefined;
43
+ this.socketEventSubscriptions = socketEventSubscriptions;
42
44
  this.baseUrl = _baseUrl.toString();
43
45
  this._supernetType = supernetType;
46
+ // Mirror the server's authoritative subscriptions snapshot so reconnects keep any
47
+ // runtime updates applied via `setSocketEventSubscriptions` after the initial connect.
48
+ this.on('socketEventSubscriptionsUpdated', (payload) => {
49
+ if (payload && payload.socketEventSubscriptions) {
50
+ this.socketEventSubscriptions = Object.assign({}, payload.socketEventSubscriptions);
51
+ }
52
+ });
44
53
  }
45
54
  get supernetType() {
46
55
  return this._supernetType;
@@ -61,6 +70,10 @@ class WebSocketClient extends RestClient_1.default {
61
70
  if (this.appSource) {
62
71
  url.searchParams.set('appSource', this.appSource);
63
72
  }
73
+ const socketEventSubscriptions = (0, eventSubscriptions_1.serializeSocketEventSubscriptions)(this.socketEventSubscriptions);
74
+ if (socketEventSubscriptions) {
75
+ url.searchParams.set('socketEventSubscriptions', socketEventSubscriptions);
76
+ }
64
77
  url.searchParams.set('clientName', userAgent);
65
78
  url.searchParams.set('clientType', 'artist');
66
79
  //At this point 'relaxed' does not work as expected, so we use 'fast' or empty
@@ -109,6 +122,12 @@ class WebSocketClient extends RestClient_1.default {
109
122
  yield this.send('changeNetwork', supernetType);
110
123
  }));
111
124
  }
125
+ setSocketEventSubscriptions(update) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ const normalizedUpdate = (0, eventSubscriptions_1.normalizeSocketEventSubscriptionUpdate)(update);
128
+ yield this.send('setSocketEventSubscriptions', normalizedUpdate);
129
+ });
130
+ }
112
131
  /**
113
132
  * Ensure the WebSocket connection is open, waiting if necessary and throwing an error if it fails
114
133
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiClient/WebSocketClient/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ApiClient/WebSocketClient/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { JobRequestRaw } from '../../Projects/createJobRequestMessage';
2
2
  import { SupernetType } from './types';
3
3
  import { ChatRequestMessage } from '../../Chat/types';
4
+ import type { SocketEventSubscriptionUpdate } from './eventSubscriptions';
4
5
  export interface JobErrorMessage {
5
6
  jobID: string;
6
7
  error: 'artistCanceled';
@@ -12,5 +13,6 @@ export interface SocketMessageMap {
12
13
  jobError: JobErrorMessage;
13
14
  changeNetwork: SupernetType;
14
15
  llmJobRequest: ChatRequestMessage;
16
+ setSocketEventSubscriptions: SocketEventSubscriptionUpdate;
15
17
  }
16
18
  export type MessageType = keyof SocketMessageMap;
@@ -1,6 +1,7 @@
1
1
  import { MessageType, SocketMessageMap } from './messages';
2
2
  import RestClient from '../../lib/RestClient';
3
3
  import { SocketEventMap } from './events';
4
+ import type { SocketEventSubscriptionInput } from './eventSubscriptions';
4
5
  export type SupernetType = 'relaxed' | 'fast';
5
6
  export interface IWebSocketClient extends RestClient<SocketEventMap> {
6
7
  appId: string;
@@ -10,5 +11,6 @@ export interface IWebSocketClient extends RestClient<SocketEventMap> {
10
11
  connect(): Promise<void>;
11
12
  disconnect(): void;
12
13
  send<T extends MessageType>(messageType: T, data: SocketMessageMap[T]): Promise<void>;
14
+ setSocketEventSubscriptions(update: SocketEventSubscriptionInput): Promise<void>;
13
15
  switchNetwork(supernetType: SupernetType): Promise<SupernetType>;
14
16
  }
@@ -4,6 +4,7 @@ import { ApiClientEvents } from './events';
4
4
  import { ServerConnectData, ServerDisconnectData } from './WebSocketClient/events';
5
5
  import { JSONValue } from '../types/json';
6
6
  import { IWebSocketClient, SupernetType } from './WebSocketClient/types';
7
+ import type { SocketEventSubscriptionInput, SocketEventSubscriptions } from './WebSocketClient/eventSubscriptions';
7
8
  import { Logger } from '../lib/DefaultLogger';
8
9
  import { AuthManager } from '../lib/AuthManager';
9
10
  export interface ApiResponse<D = JSONValue> {
@@ -26,6 +27,7 @@ export interface ApiClientOptions {
26
27
  socketUrl: string;
27
28
  appId: string;
28
29
  appSource?: string;
30
+ socketEventSubscriptions?: SocketEventSubscriptions;
29
31
  networkType: SupernetType;
30
32
  logger: Logger;
31
33
  authType: 'token' | 'cookies' | 'apiKey';
@@ -41,12 +43,13 @@ declare class ApiClient extends TypedEventEmitter<ApiClientEvents> {
41
43
  private _auth;
42
44
  private _reconnectAttempts;
43
45
  private _disableSocket;
44
- constructor({ baseUrl, socketUrl, appId, appSource, networkType, authType, logger, disableSocket, multiInstance }: ApiClientOptions);
46
+ constructor({ baseUrl, socketUrl, appId, appSource, socketEventSubscriptions, networkType, authType, logger, disableSocket, multiInstance }: ApiClientOptions);
45
47
  get isAuthenticated(): boolean;
46
48
  get auth(): AuthManager;
47
49
  get socket(): IWebSocketClient;
48
50
  get rest(): RestClient;
49
51
  get socketEnabled(): boolean;
52
+ setSocketEventSubscriptions(update: SocketEventSubscriptionInput): Promise<void>;
50
53
  handleSocketConnect({ network }: ServerConnectData): void;
51
54
  handleSocketDisconnect(data: ServerDisconnectData): void;
52
55
  handleAuthUpdated(isAuthenticated: boolean): void;
@@ -23,7 +23,7 @@ class ApiError extends Error {
23
23
  }
24
24
  exports.ApiError = ApiError;
25
25
  class ApiClient extends TypedEventEmitter_1.default {
26
- constructor({ baseUrl, socketUrl, appId, appSource, networkType, authType, logger, disableSocket = false, multiInstance = false }) {
26
+ constructor({ baseUrl, socketUrl, appId, appSource, socketEventSubscriptions, networkType, authType, logger, disableSocket = false, multiInstance = false }) {
27
27
  super();
28
28
  this._reconnectAttempts = WS_RECONNECT_ATTEMPTS;
29
29
  this._disableSocket = false;
@@ -43,10 +43,10 @@ class ApiClient extends TypedEventEmitter_1.default {
43
43
  const supportMultiInstance = !isNodejs_1.default && this._auth instanceof CookieAuthManager_1.default;
44
44
  if (supportMultiInstance && multiInstance) {
45
45
  // Use coordinated WebSocket client to share single connection between tabs
46
- this._socket = new BrowserWebSocketClient_1.default(socketUrl, this._auth, appId, networkType, logger, this.appSource);
46
+ this._socket = new BrowserWebSocketClient_1.default(socketUrl, this._auth, appId, networkType, logger, this.appSource, socketEventSubscriptions);
47
47
  }
48
48
  else {
49
- this._socket = new WebSocketClient_1.default(socketUrl, this._auth, appId, networkType, logger, this.appSource);
49
+ this._socket = new WebSocketClient_1.default(socketUrl, this._auth, appId, networkType, logger, this.appSource, socketEventSubscriptions);
50
50
  }
51
51
  this._disableSocket = disableSocket;
52
52
  this._auth.on('updated', this.handleAuthUpdated.bind(this));
@@ -68,6 +68,9 @@ class ApiClient extends TypedEventEmitter_1.default {
68
68
  get socketEnabled() {
69
69
  return !this._disableSocket;
70
70
  }
71
+ setSocketEventSubscriptions(update) {
72
+ return this.socket.setSocketEventSubscriptions(update);
73
+ }
71
74
  handleSocketConnect({ network }) {
72
75
  this._reconnectAttempts = WS_RECONNECT_ATTEMPTS;
73
76
  this.emit('connected', { network });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ApiClient/index.ts"],"names":[],"mappings":";;;;;;AAAA,mEAA2C;AAC3C,wEAAgD;AAChD,iFAAyD;AAGzD,2DAA0E;AAI1E,6FAAqE;AACrE,6FAAqE;AACrE,oDAAmE;AACnE,+DAAuC;AACvC,sGAA8E;AAE9E,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAchC,MAAa,QAAS,SAAQ,KAAK;IAGjC,YAAY,MAAc,EAAE,OAAyB;QACnD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AARD,4BAQC;AAcD,MAAM,SAAU,SAAQ,2BAAkC;IAUxD,YAAY,EACV,OAAO,EACP,SAAS,EACT,KAAK,EACL,SAAS,EACT,WAAW,EACX,QAAQ,EACR,MAAM,EACN,aAAa,GAAG,KAAK,EACrB,aAAa,GAAG,KAAK,EACJ;QACjB,KAAK,EAAE,CAAC;QAdF,uBAAkB,GAAG,qBAAqB,CAAC;QAC3C,mBAAc,GAAY,KAAK,CAAC;QActC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,EAAE,KAAI,SAAS,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,2BAAiB,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,IAAI,8BAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,2BAAiB,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAU,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,oBAAoB,GAAG,CAAC,kBAAQ,IAAI,IAAI,CAAC,KAAK,YAAY,2BAAiB,CAAC;QAClF,IAAI,oBAAoB,IAAI,aAAa,EAAE,CAAC;YAC1C,2EAA2E;YAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,gCAAsB,CACvC,SAAS,EACT,IAAI,CAAC,KAAK,EACV,KAAK,EACL,WAAW,EACX,MAAM,EACN,IAAI,CAAC,SAAS,CACf,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAe,CAChC,SAAS,EACT,IAAI,CAAC,KAAK,EACV,KAAK,EACL,WAAW,EACX,MAAM,EACN,IAAI,CAAC,SAAS,CACf,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;IACnC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;IAC9B,CAAC;IAED,mBAAmB,CAAC,EAAE,OAAO,EAAqB;QAChD,IAAI,CAAC,kBAAkB,GAAG,qBAAqB,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,sBAAsB,CAAC,IAA0B;QAC/C,2DAA2D;QAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAA,4BAAgB,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,qGAAqG;YACrG,IACE,IAAI,CAAC,OAAO,YAAY,gCAAsB;gBAC9C,IAAI,CAAC,IAAI,KAAK,qBAAS,CAAC,iBAAiB,EACzC,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACpE,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,qBAAqB,CAAC;YAChD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,iBAAiB,CAAC,eAAwB;QACxC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAChC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAED,kBAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ApiClient/index.ts"],"names":[],"mappings":"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"}
@@ -246,7 +246,7 @@ class ChatApi extends ApiGroup_1.default {
246
246
  const normalizedMessages = normalizeVisionMessages(params.messages);
247
247
  // Build chat_template_kwargs from think parameter
248
248
  const chatTemplateKwargs = this.buildChatTemplateKwargs(params.think);
249
- const request = Object.assign(Object.assign({ jobID, type: 'llm', model: params.model, messages: normalizedMessages, max_tokens: params.max_tokens, temperature: params.temperature, top_p: params.top_p, top_k: params.top_k, min_p: params.min_p, stream: params.stream, repetition_penalty: params.repetition_penalty, frequency_penalty: params.frequency_penalty, presence_penalty: params.presence_penalty, stop: params.stop, tokenType: params.tokenType, tools: params.tools, tool_choice: params.tool_choice, sogni_tools: params.sogni_tools, sogni_tool_execution: params.sogni_tool_execution, taskProfile: params.taskProfile }, (chatTemplateKwargs && { chat_template_kwargs: chatTemplateKwargs })), (params.response_format && { response_format: params.response_format }));
249
+ const request = Object.assign(Object.assign({ jobID, type: 'llm', model: params.model, messages: normalizedMessages, appSource: params.appSource || this.client.appSource, max_tokens: params.max_tokens, temperature: params.temperature, top_p: params.top_p, top_k: params.top_k, min_p: params.min_p, stream: params.stream, repetition_penalty: params.repetition_penalty, frequency_penalty: params.frequency_penalty, presence_penalty: params.presence_penalty, stop: params.stop, tokenType: params.tokenType, tools: params.tools, tool_choice: params.tool_choice, sogni_tools: params.sogni_tools, sogni_tool_execution: params.sogni_tool_execution, taskProfile: params.taskProfile }, (chatTemplateKwargs && { chat_template_kwargs: chatTemplateKwargs })), (params.response_format && { response_format: params.response_format }));
250
250
  const stream = new ChatStream_1.default(jobID);
251
251
  this.activeStreams.set(jobID, stream);
252
252
  // Send the job request via socket