@sogni-ai/sogni-client 4.0.0-alpha.20 → 4.0.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 (51) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +26 -15
  3. package/dist/Account/index.d.ts +15 -15
  4. package/dist/Account/index.js +15 -15
  5. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js +2 -2
  6. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js.map +1 -1
  7. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js +0 -4
  8. package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js.map +1 -1
  9. package/dist/ApiClient/WebSocketClient/events.d.ts +10 -0
  10. package/dist/ApiClient/WebSocketClient/index.js +12 -2
  11. package/dist/ApiClient/WebSocketClient/index.js.map +1 -1
  12. package/dist/ApiClient/index.js +1 -1
  13. package/dist/ApiClient/index.js.map +1 -1
  14. package/dist/Projects/Job.d.ts +12 -3
  15. package/dist/Projects/Job.js +50 -16
  16. package/dist/Projects/Job.js.map +1 -1
  17. package/dist/Projects/Project.d.ts +1 -0
  18. package/dist/Projects/Project.js +10 -3
  19. package/dist/Projects/Project.js.map +1 -1
  20. package/dist/Projects/createJobRequestMessage.js +105 -12
  21. package/dist/Projects/createJobRequestMessage.js.map +1 -1
  22. package/dist/Projects/index.d.ts +74 -5
  23. package/dist/Projects/index.js +337 -33
  24. package/dist/Projects/index.js.map +1 -1
  25. package/dist/Projects/types/events.d.ts +5 -1
  26. package/dist/Projects/types/index.d.ts +113 -28
  27. package/dist/Projects/types/index.js +8 -0
  28. package/dist/Projects/types/index.js.map +1 -1
  29. package/dist/Projects/utils.d.ts +19 -1
  30. package/dist/Projects/utils.js +68 -0
  31. package/dist/Projects/utils.js.map +1 -1
  32. package/dist/index.d.ts +2 -2
  33. package/dist/index.js.map +1 -1
  34. package/dist/lib/AuthManager/TokenAuthManager.js +0 -2
  35. package/dist/lib/AuthManager/TokenAuthManager.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/Account/index.ts +15 -15
  38. package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.ts +2 -2
  39. package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/index.ts +0 -4
  40. package/src/ApiClient/WebSocketClient/events.ts +11 -0
  41. package/src/ApiClient/WebSocketClient/index.ts +12 -2
  42. package/src/ApiClient/index.ts +1 -1
  43. package/src/Projects/Job.ts +50 -16
  44. package/src/Projects/Project.ts +12 -6
  45. package/src/Projects/createJobRequestMessage.ts +143 -33
  46. package/src/Projects/index.ts +351 -33
  47. package/src/Projects/types/events.ts +6 -0
  48. package/src/Projects/types/index.ts +141 -30
  49. package/src/Projects/utils.ts +66 -1
  50. package/src/index.ts +16 -4
  51. package/src/lib/AuthManager/TokenAuthManager.ts +0 -2
@@ -38,6 +38,10 @@ export interface JobProgress extends JobEventBase {
38
38
  step: number;
39
39
  stepCount: number;
40
40
  }
41
+ export interface JobETA extends JobEventBase {
42
+ type: 'jobETA';
43
+ etaSeconds: number;
44
+ }
41
45
  export interface JobPreview extends JobEventBase {
42
46
  type: 'preview';
43
47
  url: string;
@@ -58,7 +62,7 @@ export interface JobError extends JobEventBase {
58
62
  type: 'error';
59
63
  error: ErrorData;
60
64
  }
61
- export type JobEvent = JobInitiating | JobStarted | JobProgress | JobPreview | JobCompleted | JobError;
65
+ export type JobEvent = JobInitiating | JobStarted | JobProgress | JobETA | JobPreview | JobCompleted | JobError;
62
66
  export interface ProjectApiEvents {
63
67
  availableModels: AvailableModel[];
64
68
  project: ProjectEvent;
@@ -7,11 +7,19 @@ export interface SupportedModel {
7
7
  id: string;
8
8
  name: string;
9
9
  SID: number;
10
+ /**
11
+ * Media type produced by this model: 'image' or 'video'
12
+ */
13
+ media: 'image' | 'video';
10
14
  }
11
15
  export interface AvailableModel {
12
16
  id: string;
13
17
  name: string;
14
18
  workerCount: number;
19
+ /**
20
+ * Media type produced by this model: 'image' or 'video'
21
+ */
22
+ media: 'image' | 'video';
15
23
  }
16
24
  export interface SizePreset {
17
25
  label: string;
@@ -23,13 +31,17 @@ export interface SizePreset {
23
31
  }
24
32
  export type { Sampler, Scheduler };
25
33
  export { SupportedSamplers, SupportedSchedulers };
26
- export type OutputFormat = 'png' | 'jpg';
27
- export type InputImage = File | Buffer | Blob | boolean;
28
- export interface ProjectParams {
34
+ export type ImageOutputFormat = 'png' | 'jpg';
35
+ export type VideoOutputFormat = 'mp4';
36
+ export interface BaseProjectParams {
29
37
  /**
30
38
  * ID of the model to use, available models are available in the `availableModels` property of the `ProjectsApi` instance.
31
39
  */
32
40
  modelId: string;
41
+ /**
42
+ * Number of media files to generate. Depending on project type, this can be number of images or number of videos.
43
+ */
44
+ numberOfMedia: number;
33
45
  /**
34
46
  * Prompt for what to be created
35
47
  */
@@ -51,7 +63,7 @@ export interface ProjectParams {
51
63
  */
52
64
  guidance: number;
53
65
  /**
54
- * Override current network type. Default value can be read from `client.account.currentAccount.network`
66
+ * Override current network type. Default value can be read from `sogni.account.currentAccount.network`
55
67
  */
56
68
  network?: SupernetType;
57
69
  /**
@@ -64,35 +76,86 @@ export interface ProjectParams {
64
76
  */
65
77
  seed?: number;
66
78
  /**
67
- * Number of images to generate
79
+ * Select which tokens to use for the project.
80
+ * If not specified, the Sogni token will be used.
81
+ */
82
+ tokenType?: TokenType;
83
+ }
84
+ export type InputMedia = File | Buffer | Blob | boolean;
85
+ /**
86
+ * Video-specific parameters for video workflows (t2v, i2v, s2v, animate).
87
+ * Only applicable when using video models like wan_v2.2-14b-fp8_t2v.
88
+ * Includes frame count, fps, shift, and reference assets (image, audio, video).
89
+ */
90
+ export interface VideoProjectParams extends BaseProjectParams {
91
+ type: 'video';
92
+ /**
93
+ * Number of frames to generate
94
+ */
95
+ frames?: number;
96
+ /**
97
+ * Frames per second for output video
98
+ */
99
+ fps?: number;
100
+ /**
101
+ * Shift parameter for video diffusion models
102
+ */
103
+ shift?: number;
104
+ /**
105
+ * Reference image for WAN video workflows.
106
+ * Maps to: startImage (i2v), characterImage (animate), referenceImage (s2v)
107
+ */
108
+ referenceImage?: InputMedia;
109
+ /**
110
+ * Optional end image for i2v interpolation workflows.
111
+ * When provided with referenceImage, the video will interpolate between the two images.
112
+ */
113
+ referenceImageEnd?: InputMedia;
114
+ /**
115
+ * Reference audio for s2v (sound-to-video) workflows.
116
+ */
117
+ referenceAudio?: InputMedia;
118
+ /**
119
+ * Reference video for animate workflows.
120
+ * Maps to: drivingVideo (animate-move), sourceVideo (animate-replace)
121
+ */
122
+ referenceVideo?: InputMedia;
123
+ /**
124
+ * Output video width. Only used if `sizePreset` is "custom"
125
+ */
126
+ width?: number;
127
+ /**
128
+ * Output video height. Only used if `sizePreset` is "custom"
68
129
  */
69
- numberOfImages: number;
130
+ height?: number;
131
+ /**
132
+ * Output video format. For now only 'mp4' is supported, defaults to 'mp4'.
133
+ */
134
+ outputFormat?: VideoOutputFormat;
135
+ }
136
+ export interface ImageProjectParams extends BaseProjectParams {
137
+ type: 'image';
70
138
  /**
71
- * Generate images based on the starting image.
139
+ * Number of previews to generate. Note that previews affect project cost
140
+ */
141
+ numberOfPreviews?: number;
142
+ /**
143
+ * Starting image for img2img workflows.
72
144
  * Supported types:
73
145
  * `File` - file object from input[type=file]
74
146
  * `Buffer` - Node.js buffer object with image data
75
147
  * `Blob` - blob object with image data
76
148
  * `true` - indicates that the image is already uploaded to the server
77
149
  */
78
- startingImage?: InputImage;
150
+ startingImage?: InputMedia;
79
151
  /**
80
152
  * How strong effect of starting image should be. From 0 to 1, default 0.5
81
153
  */
82
154
  startingImageStrength?: number;
83
155
  /**
84
156
  * Context images for Flux Kontext model. Flux Kontext support up to 2 context images.
85
- * Supported types:
86
- * `File` - file object from input[type=file]
87
- * `Buffer` - Node.js buffer object with image data
88
- * `Blob` - blob object with image data
89
- * `true` - indicates that the image is already uploaded to the server
90
157
  */
91
- contextImages?: InputImage[];
92
- /**
93
- * Number of previews to generate. Note that previews affect project cost\
94
- */
95
- numberOfPreviews?: number;
158
+ contextImages?: InputMedia[];
96
159
  /**
97
160
  * Scheduler to use
98
161
  */
@@ -103,7 +166,7 @@ export interface ProjectParams {
103
166
  scheduler?: Scheduler;
104
167
  /**
105
168
  * Size preset ID to use. You can query available size presets
106
- * from `client.projects.sizePresets(network, modelId)`
169
+ * from `sogni.projects.sizePresets(network, modelId)`
107
170
  */
108
171
  sizePreset?: 'custom' | string;
109
172
  /**
@@ -119,22 +182,38 @@ export interface ProjectParams {
119
182
  */
120
183
  controlNet?: ControlNetParams;
121
184
  /**
122
- * Select which tokens to use for the project.
123
- * If not specified, the Sogni token will be used.
124
- */
125
- tokenType?: TokenType;
126
- /**
127
- * Output image format. Can be 'png' or 'jpg'.
128
- * If not specified, 'png' will be used.
185
+ * Output format. Can be 'png' or 'jpg'. Defaults to 'png'.
129
186
  */
130
- outputFormat?: OutputFormat;
187
+ outputFormat?: ImageOutputFormat;
131
188
  }
189
+ export type ProjectParams = ImageProjectParams | VideoProjectParams;
190
+ export declare function isVideoParams(params: ProjectParams): params is VideoProjectParams;
191
+ export declare function isImageParams(params: ProjectParams): params is ImageProjectParams;
192
+ /**
193
+ * Supported audio formats
194
+ */
195
+ export type AudioFormat = 'm4a' | 'mp3' | 'wav';
196
+ /**
197
+ * Supported video formats
198
+ */
199
+ export type VideoFormat = 'mp4' | 'mov';
200
+ /**
201
+ * Parameters for image asset URL requests (upload/download)
202
+ */
132
203
  export type ImageUrlParams = {
133
204
  imageId: string;
134
205
  jobId: string;
135
- type: 'preview' | 'complete' | 'startingImage' | 'cnImage' | 'contextImage1' | 'contextImage2';
206
+ type: 'preview' | 'complete' | 'startingImage' | 'cnImage' | 'contextImage1' | 'contextImage2' | 'referenceImage' | 'referenceImageEnd';
136
207
  startContentType?: string;
137
208
  };
209
+ /**
210
+ * Parameters for media asset URL requests (video/audio upload/download)
211
+ */
212
+ export type MediaUrlParams = {
213
+ id?: string;
214
+ jobId: string;
215
+ type: 'complete' | 'preview' | 'referenceAudio' | 'referenceVideo';
216
+ };
138
217
  export interface EstimateRequest {
139
218
  /**
140
219
  * Network to use. Can be 'fast' or 'relaxed'
@@ -210,3 +289,9 @@ export interface CostEstimation {
210
289
  sogni: string;
211
290
  }
212
291
  export type EnhancementStrength = 'light' | 'medium' | 'heavy';
292
+ /**
293
+ * Video workflow types for WAN models
294
+ */
295
+ export type VideoWorkflowType = 't2v' | 'i2v' | 's2v' | 'animate-move' | 'animate-replace' | null;
296
+ export type AssetRequirement = 'required' | 'optional' | 'forbidden';
297
+ export type VideoAssetKey = 'referenceImage' | 'referenceImageEnd' | 'referenceAudio' | 'referenceVideo';
@@ -1,8 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SupportedSchedulers = exports.SupportedSamplers = void 0;
4
+ exports.isVideoParams = isVideoParams;
5
+ exports.isImageParams = isImageParams;
4
6
  const SamplerParams_1 = require("./SamplerParams");
5
7
  Object.defineProperty(exports, "SupportedSamplers", { enumerable: true, get: function () { return SamplerParams_1.SupportedSamplers; } });
6
8
  const SchedulerParams_1 = require("./SchedulerParams");
7
9
  Object.defineProperty(exports, "SupportedSchedulers", { enumerable: true, get: function () { return SchedulerParams_1.SupportedSchedulers; } });
10
+ function isVideoParams(params) {
11
+ return params.type === 'video';
12
+ }
13
+ function isImageParams(params) {
14
+ return params.type === 'image';
15
+ }
8
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Projects/types/index.ts"],"names":[],"mappings":";;;AAGA,mDAA6D;AA0BpD,kGA1BS,iCAAiB,OA0BT;AAzB1B,uDAAmE;AAyBvC,oGAzBR,qCAAmB,OAyBQ"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Projects/types/index.ts"],"names":[],"mappings":";;;AAyMA,sCAEC;AAED,sCAEC;AA5MD,mDAA6D;AAkCpD,kGAlCS,iCAAiB,OAkCT;AAjC1B,uDAAmE;AAiCvC,oGAjCR,qCAAmB,OAiCQ;AAoK/C,SAAgB,aAAa,CAAC,MAAqB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;AACjC,CAAC;AAED,SAAgB,aAAa,CAAC,MAAqB;IACjD,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;AACjC,CAAC"}
@@ -1,2 +1,20 @@
1
- import { EnhancementStrength } from './types';
1
+ import { AssetRequirement, EnhancementStrength, VideoAssetKey, VideoWorkflowType } from './types';
2
2
  export declare function getEnhacementStrength(strength: EnhancementStrength): number;
3
+ /**
4
+ * Check if a model ID is for a video workflow.
5
+ * This is consistent with the `media` property returned by the models list API.
6
+ * Video models produce MP4 output; image models produce PNG/JPG output.
7
+ */
8
+ export declare function isVideoModel(modelId: string): boolean;
9
+ /**
10
+ * Get the video workflow type from a model ID.
11
+ * Returns null for non-video models.
12
+ */
13
+ export declare function getVideoWorkflowType(modelId: string): VideoWorkflowType;
14
+ /**
15
+ * Asset requirements for each video workflow type.
16
+ * - required: Must be provided
17
+ * - optional: Can be provided
18
+ * - forbidden: Must NOT be provided
19
+ */
20
+ export declare const VIDEO_WORKFLOW_ASSETS: Record<NonNullable<VideoWorkflowType>, Record<VideoAssetKey, AssetRequirement>>;
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VIDEO_WORKFLOW_ASSETS = void 0;
3
4
  exports.getEnhacementStrength = getEnhacementStrength;
5
+ exports.isVideoModel = isVideoModel;
6
+ exports.getVideoWorkflowType = getVideoWorkflowType;
4
7
  function getEnhacementStrength(strength) {
5
8
  switch (strength) {
6
9
  case 'light':
@@ -11,4 +14,69 @@ function getEnhacementStrength(strength) {
11
14
  return 0.35;
12
15
  }
13
16
  }
17
+ /**
18
+ * Check if a model ID is for a video workflow.
19
+ * This is consistent with the `media` property returned by the models list API.
20
+ * Video models produce MP4 output; image models produce PNG/JPG output.
21
+ */
22
+ function isVideoModel(modelId) {
23
+ return modelId.startsWith('wan_');
24
+ }
25
+ /**
26
+ * Get the video workflow type from a model ID.
27
+ * Returns null for non-video models.
28
+ */
29
+ function getVideoWorkflowType(modelId) {
30
+ if (!modelId || !modelId.startsWith('wan_'))
31
+ return null;
32
+ if (modelId.includes('_i2v'))
33
+ return 'i2v';
34
+ if (modelId.includes('_s2v'))
35
+ return 's2v';
36
+ if (modelId.includes('_animate-move'))
37
+ return 'animate-move';
38
+ if (modelId.includes('_animate-replace'))
39
+ return 'animate-replace';
40
+ if (modelId.includes('_t2v'))
41
+ return 't2v';
42
+ return null;
43
+ }
44
+ /**
45
+ * Asset requirements for each video workflow type.
46
+ * - required: Must be provided
47
+ * - optional: Can be provided
48
+ * - forbidden: Must NOT be provided
49
+ */
50
+ exports.VIDEO_WORKFLOW_ASSETS = {
51
+ t2v: {
52
+ referenceImage: 'forbidden',
53
+ referenceImageEnd: 'forbidden',
54
+ referenceAudio: 'forbidden',
55
+ referenceVideo: 'forbidden'
56
+ },
57
+ i2v: {
58
+ referenceImage: 'required',
59
+ referenceImageEnd: 'optional',
60
+ referenceAudio: 'forbidden',
61
+ referenceVideo: 'forbidden'
62
+ },
63
+ s2v: {
64
+ referenceImage: 'required',
65
+ referenceAudio: 'required',
66
+ referenceImageEnd: 'forbidden',
67
+ referenceVideo: 'forbidden'
68
+ },
69
+ 'animate-move': {
70
+ referenceImage: 'required',
71
+ referenceVideo: 'required',
72
+ referenceImageEnd: 'forbidden',
73
+ referenceAudio: 'forbidden'
74
+ },
75
+ 'animate-replace': {
76
+ referenceImage: 'required',
77
+ referenceVideo: 'required',
78
+ referenceImageEnd: 'forbidden',
79
+ referenceAudio: 'forbidden'
80
+ }
81
+ };
14
82
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/Projects/utils.ts"],"names":[],"mappings":";;AAEA,sDASC;AATD,SAAgB,qBAAqB,CAAC,QAA6B;IACjE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/Projects/utils.ts"],"names":[],"mappings":";;;AAEA,sDASC;AAOD,oCAEC;AAMD,oDAQC;AAhCD,SAAgB,qBAAqB,CAAC,QAA6B;IACjE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO;YACV,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,IAAI,CAAC;QACd;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAC,OAAe;IAC1C,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,OAAe;IAClD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;QAAE,OAAO,cAAc,CAAC;IAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,iBAAiB,CAAC;IACnE,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACU,QAAA,qBAAqB,GAG9B;IACF,GAAG,EAAE;QACH,cAAc,EAAE,WAAW;QAC3B,iBAAiB,EAAE,WAAW;QAC9B,cAAc,EAAE,WAAW;QAC3B,cAAc,EAAE,WAAW;KAC5B;IACD,GAAG,EAAE;QACH,cAAc,EAAE,UAAU;QAC1B,iBAAiB,EAAE,UAAU;QAC7B,cAAc,EAAE,WAAW;QAC3B,cAAc,EAAE,WAAW;KAC5B;IACD,GAAG,EAAE;QACH,cAAc,EAAE,UAAU;QAC1B,cAAc,EAAE,UAAU;QAC1B,iBAAiB,EAAE,WAAW;QAC9B,cAAc,EAAE,WAAW;KAC5B;IACD,cAAc,EAAE;QACd,cAAc,EAAE,UAAU;QAC1B,cAAc,EAAE,UAAU;QAC1B,iBAAiB,EAAE,WAAW;QAC9B,cAAc,EAAE,WAAW;KAC5B;IACD,iBAAiB,EAAE;QACjB,cAAc,EAAE,UAAU;QAC1B,cAAc,EAAE,UAAU;QAC1B,iBAAiB,EAAE,WAAW;QAC9B,cAAc,EAAE,WAAW;KAC5B;CACF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,12 +6,12 @@ import { Logger, LogLevel } from './lib/DefaultLogger';
6
6
  import ProjectsApi from './Projects';
7
7
  import Job, { JobStatus } from './Projects/Job';
8
8
  import Project, { ProjectStatus } from './Projects/Project';
9
- import { AvailableModel, OutputFormat, ProjectParams, Sampler, Scheduler, SupportedSamplers, SupportedSchedulers } from './Projects/types';
9
+ import { AvailableModel, ImageProjectParams, ImageOutputFormat, ProjectParams, Sampler, Scheduler, SupportedSamplers, SupportedSchedulers, VideoProjectParams, AudioFormat, VideoFormat, VideoOutputFormat, VideoWorkflowType } from './Projects/types';
10
10
  import StatsApi from './Stats';
11
11
  import ErrorData from './types/ErrorData';
12
12
  import { TokenType } from './types/token';
13
13
  import { TokenAuthData } from './lib/AuthManager';
14
- export type { AvailableModel, ErrorData, JobStatus, Logger, LogLevel, OutputFormat, ProjectParams, ProjectStatus, Sampler, SupernetType, Scheduler, TokenType };
14
+ export type { AudioFormat, AvailableModel, ErrorData, ImageProjectParams, ImageOutputFormat, JobStatus, Logger, LogLevel, ProjectParams, ProjectStatus, Sampler, SupernetType, Scheduler, TokenType, VideoFormat, VideoOutputFormat, VideoProjectParams, VideoWorkflowType };
15
15
  export { ApiError, CurrentAccount, Job, Project, SupportedSamplers, SupportedSchedulers };
16
16
  export interface SogniClientConfig {
17
17
  /**
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,6 @@ class TokenAuthManager extends AuthManagerBase_1.default {
42
42
  const { expiresAt } = (0, utils_1.decodeToken)(token);
43
43
  if (expiresAt > new Date()) {
44
44
  this._updateTokens({ token, refreshToken });
45
- this.emit('updated', true);
46
45
  return;
47
46
  }
48
47
  }
@@ -51,7 +50,6 @@ class TokenAuthManager extends AuthManagerBase_1.default {
51
50
  const { expiresAt: refreshExpiresAt } = (0, utils_1.decodeRefreshToken)(refreshToken);
52
51
  this._refreshTokenExpiresAt = refreshExpiresAt;
53
52
  yield this._renewTokenSafe();
54
- this.emit('updated', true);
55
53
  });
56
54
  }
57
55
  clear() {
@@ -1 +1 @@
1
- {"version":3,"file":"TokenAuthManager.js","sourceRoot":"","sources":["../../../src/lib/AuthManager/TokenAuthManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenAuthManager.js","sourceRoot":"","sources":["../../../src/lib/AuthManager/TokenAuthManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oCAA2D;AAC3D,+CAA6D;AAE7D,2DAAmC;AACnC,0DAA+B;AAC/B,wEAAgD;AAahD,MAAM,gBAAiB,SAAQ,yBAAqC;IAQlE,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,MAAM,CAAC,CAAC;QAPR,oBAAe,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,2BAAsB,GAAS,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAMjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,sBAAsB,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1E,CAAC;IAEK,MAAM;;YACV,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;YAClE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,YAAY;6DAAC,EAAE,YAAY,EAAE,KAAK,EAAiB;YACvD,mEAAmE;YACnE,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,SAAS,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;oBAC3B,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC5C,OAAO;gBACT,CAAC;YACH,CAAC;YACD,8DAA8D;YAC9D,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YAClC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAA,0BAAkB,EAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,sBAAsB,GAAG,gBAAgB,CAAC;YAC/C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;KAAA;IAED,KAAK;QACH,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,sBAAsB,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAEK,mBAAmB,CAAC,MAAmB;;YAC3C,uDAAuD;YACvD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBACrD,uCAAY,MAAM,KAAE,OAAO,kCAAO,MAAM,CAAC,OAAO,KAAE,aAAa,EAAE,IAAI,CAAC,MAAM,OAAK;YACnF,CAAC;YACD,+EAA+E;YAC/E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,qDAAqD;YACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,uCAAY,MAAM,KAAE,OAAO,kCAAO,MAAM,CAAC,OAAO,KAAE,aAAa,EAAE,KAAK,OAAK;QAC7E,CAAC;KAAA;IAEK,aAAa;;YACjB,IAAI,CAAC,kBAAQ,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP,aAAa,EAAE,KAAK;iBACrB;aACF,CAAC;QACJ,CAAC;KAAA;IAEa,SAAS;;YACrB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC,MAAM,CAAC;YACrB,CAAC;YACD,+EAA+E;YAC/E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,qDAAqD;YACrD,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;QAChC,CAAC;KAAA;IAEa,eAAe;;YAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC;YACjC,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE;gBACnC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACtC,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACjC,CAAC;KAAA;IAEO,aAAa,CAAC,EAAE,KAAK,EAAE,YAAY,EAA2C;QACpF,2BAA2B;QAC3B,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;YACjE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAA,0BAAkB,EAAC,YAAY,CAAC,CAAC;QACzE,IAAI,CAAC,sBAAsB,GAAG,gBAAgB,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACK,cAAc;QACpB,IAAI,kBAAQ,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,KAAK,EAAE,CAAC;YACV,mBAAM,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE;gBACjC,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,mBAAM,CAAC,MAAM,CAAC,eAAe,EAAE;gBAC7B,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEa,WAAW;;YACvB,IAAI,IAAI,CAAC,sBAAsB,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;aAC3D,CAAC,CAAC;YACH,IAAI,YAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM,IAAI,oBAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAgC,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC,MAAO,CAAC;QACtB,CAAC;KAAA;CACF;AAED,kBAAe,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "4.0.0-alpha.20",
6
+ "version": "4.0.0-alpha.22",
7
7
  "description": "Sogni Supernet Client",
8
8
  "main": "dist/index.js",
9
9
  "types": "dist/index.d.ts",
@@ -29,11 +29,11 @@ enum ErrorCode {
29
29
  }
30
30
  /**
31
31
  * Account API methods that let you interact with the user's account.
32
- * Can be accessed via `client.account`. Look for more samples below.
32
+ * Can be accessed via `sogni.account`. Look for more samples below.
33
33
  *
34
34
  * @example Retrieve the current account balance
35
35
  * ```typescript
36
- * const balance = await client.account.refreshBalance();
36
+ * const balance = await sogni.account.refreshBalance();
37
37
  * console.log(balance);
38
38
  * ```
39
39
  *
@@ -103,7 +103,7 @@ class AccountApi extends ApiGroup {
103
103
  *
104
104
  * @example Create a wallet from username and password
105
105
  * ```typescript
106
- * const wallet = client.account.getWallet('username', 'password');
106
+ * const wallet = sogni.account.getWallet('username', 'password');
107
107
  * console.log(wallet.address);
108
108
  * ```
109
109
  *
@@ -156,7 +156,7 @@ class AccountApi extends ApiGroup {
156
156
  *
157
157
  * @example Login with username and password
158
158
  * ```typescript
159
- * await client.account.login('username', 'password');
159
+ * await sogni.account.login('username', 'password');
160
160
  * console.log('Logged in');
161
161
  * ```
162
162
  *
@@ -191,7 +191,7 @@ class AccountApi extends ApiGroup {
191
191
  *
192
192
  * @example Logout the user
193
193
  * ```typescript
194
- * await client.account.logout();
194
+ * await sogni.account.logout();
195
195
  * console.log('Logged out');
196
196
  * ```
197
197
  */
@@ -209,7 +209,7 @@ class AccountApi extends ApiGroup {
209
209
  *
210
210
  * @example Refresh user account balance
211
211
  * ```typescript
212
- * const balance = await client.account.refreshBalance();
212
+ * const balance = await sogni.account.refreshBalance();
213
213
  * console.log(balance);
214
214
  * ```
215
215
  */
@@ -225,7 +225,7 @@ class AccountApi extends ApiGroup {
225
225
  *
226
226
  * @example Get the account balance of the current user
227
227
  * ```typescript
228
- * const balance = await client.account.accountBalance();
228
+ * const balance = await sogni.account.accountBalance();
229
229
  * console.log(balance);
230
230
  * ```
231
231
  */
@@ -241,8 +241,8 @@ class AccountApi extends ApiGroup {
241
241
  *
242
242
  * @example Get the balance of the wallet address
243
243
  * ```typescript
244
- * const address = client.account.currentAccount.walletAddress;
245
- * const balance = await client.account.walletBalance(address);
244
+ * const address = sogni.account.currentAccount.walletAddress;
245
+ * const balance = await sogni.account.walletBalance(address);
246
246
  * console.log(balance);
247
247
  * // { token: '100.000000', ether: '0.000000' }
248
248
  * ```
@@ -296,9 +296,9 @@ class AccountApi extends ApiGroup {
296
296
  *
297
297
  * @example Switch to the fast network
298
298
  * ```typescript
299
- * await client.account.switchNetwork('fast');
299
+ * await sogni.account.switchNetwork('fast');
300
300
  * console.log('Switched to the fast network, now lets wait until we get list of models');
301
- * await client.projects.waitForModels();
301
+ * await sogni.projects.waitForModels();
302
302
  * ```
303
303
  * @param network - Network type to switch to
304
304
  */
@@ -320,10 +320,10 @@ class AccountApi extends ApiGroup {
320
320
  *
321
321
  * @example Get the transaction history
322
322
  * ```typescript
323
- * const { entries, next } = await client.account.transactionHistory({
323
+ * const { entries, next } = await sogni.account.transactionHistory({
324
324
  * status: 'completed',
325
325
  * limit: 10,
326
- * address: client.account.currentAccount.walletAddress
326
+ * address: sogni.account.currentAccount.walletAddress
327
327
  * });
328
328
  * ```
329
329
  *
@@ -429,7 +429,7 @@ class AccountApi extends ApiGroup {
429
429
  * Withdraw funds from the current account to wallet.
430
430
  * @example withdraw to current wallet address
431
431
  * ```typescript
432
- * await client.account.withdraw('your-account-password', 100);
432
+ * await sogni.account.withdraw('your-account-password', 100);
433
433
  * ```
434
434
  *
435
435
  * @param password - account password
@@ -461,7 +461,7 @@ class AccountApi extends ApiGroup {
461
461
  * Deposit tokens from wallet to account
462
462
  * @example withdraw to current wallet address
463
463
  * ```typescript
464
- * await client.account.deposit('your-account-password', 100);
464
+ * await sogni.account.deposit('your-account-password', 100);
465
465
  * ```
466
466
  *
467
467
  * @param password - account password
@@ -272,7 +272,7 @@ class ChannelCoordinator<M, N> {
272
272
  case MessageType.PRIMARY_ANNOUNCE:
273
273
  return this.handlePrimaryAnnounce(message);
274
274
  case MessageType.PRIMARY_HEARTBEAT:
275
- return this.handlePrimaryHeartbeat(message);
275
+ return this.handlePrimaryHeartbeat();
276
276
  case MessageType.BROADCAST:
277
277
  return this.handleBroadcast(message);
278
278
  case MessageType.REQUEST:
@@ -316,7 +316,7 @@ class ChannelCoordinator<M, N> {
316
316
  this.readyCallback();
317
317
  }
318
318
 
319
- private handlePrimaryHeartbeat(message: PrimaryHeartbeat) {
319
+ private handlePrimaryHeartbeat() {
320
320
  this.lastPrimaryHeartbeat = Date.now();
321
321
  }
322
322
 
@@ -88,10 +88,6 @@ class BrowserWebSocketClient extends RestClient<SocketEventMap> implements IWebS
88
88
  });
89
89
  this.auth.on('updated', this.handleAuthUpdated.bind(this));
90
90
  this.socketClient.intercept(this.handleSocketEvent.bind(this));
91
- //@ts-expect-error window is defined in browser
92
- window.DISCONNECT = () => {
93
- this.disconnect();
94
- };
95
91
  }
96
92
 
97
93
  get isConnected() {
@@ -48,6 +48,12 @@ export type JobProgressData = {
48
48
  stepCount: number;
49
49
  };
50
50
 
51
+ export type JobETAData = {
52
+ jobID: string;
53
+ imgID?: string;
54
+ etaSeconds: number;
55
+ };
56
+
51
57
  export type JobResultData = {
52
58
  jobID: string;
53
59
  imgID: string;
@@ -121,6 +127,11 @@ export type SocketEventMap = {
121
127
  * @event WebSocketClient#jobProgress - Job progress update
122
128
  */
123
129
  jobProgress: JobProgressData;
130
+ /**
131
+ * @event WebSocketClient#jobETA - Job ETA update (sent every second during inference by ComfyUI workers)
132
+ * Note: Only available for ComfyUI-based workers during video generation
133
+ */
134
+ jobETA: JobETAData;
124
135
  /**
125
136
  * @event WebSocketClient#jobResult - Job result received
126
137
  */
@@ -148,9 +148,16 @@ class WebSocketClient extends RestClient<SocketEventMap> implements IWebSocketCl
148
148
  }
149
149
 
150
150
  private handleClose(e: CloseEvent) {
151
- if (e.target === this.socket || !this.socket) {
151
+ const socket = e.target;
152
+ socket.onerror = null;
153
+ socket.onmessage = null;
154
+ socket.onopen = null;
155
+ if (socket === this.socket || !this.socket) {
152
156
  this._logger.info('WebSocket disconnected, cleanup', e);
153
- this.disconnect();
157
+ if (socket === this.socket) {
158
+ this.stopPing();
159
+ this.socket = null;
160
+ }
154
161
  this.emit('disconnected', {
155
162
  code: e.code,
156
163
  reason: e.reason
@@ -193,6 +200,9 @@ class WebSocketClient extends RestClient<SocketEventMap> implements IWebSocketCl
193
200
  }
194
201
 
195
202
  async send<T extends MessageType>(messageType: T, data: SocketMessageMap[T]) {
203
+ if (!this.isConnected) {
204
+ await this.connect();
205
+ }
196
206
  await this.waitForConnection();
197
207
  this._logger.debug('WebSocket send:', messageType, data);
198
208
  this.socket!.send(
@@ -144,7 +144,7 @@ class ApiClient extends TypedEventEmitter<ApiClientEvents> {
144
144
  if (this.socket.isConnected) {
145
145
  this.socket.disconnect();
146
146
  }
147
- } else if (!this._disableSocket) {
147
+ } else if (!this._disableSocket && !this.socket.isConnected) {
148
148
  this.socket.connect();
149
149
  }
150
150
  }