@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.
- package/CHANGELOG.md +23 -0
- package/README.md +26 -15
- package/dist/Account/index.d.ts +15 -15
- package/dist/Account/index.js +15 -15
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js +2 -2
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.js.map +1 -1
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js +0 -4
- package/dist/ApiClient/WebSocketClient/BrowserWebSocketClient/index.js.map +1 -1
- package/dist/ApiClient/WebSocketClient/events.d.ts +10 -0
- package/dist/ApiClient/WebSocketClient/index.js +12 -2
- package/dist/ApiClient/WebSocketClient/index.js.map +1 -1
- package/dist/ApiClient/index.js +1 -1
- package/dist/ApiClient/index.js.map +1 -1
- package/dist/Projects/Job.d.ts +12 -3
- package/dist/Projects/Job.js +50 -16
- package/dist/Projects/Job.js.map +1 -1
- package/dist/Projects/Project.d.ts +1 -0
- package/dist/Projects/Project.js +10 -3
- package/dist/Projects/Project.js.map +1 -1
- package/dist/Projects/createJobRequestMessage.js +105 -12
- package/dist/Projects/createJobRequestMessage.js.map +1 -1
- package/dist/Projects/index.d.ts +74 -5
- package/dist/Projects/index.js +337 -33
- package/dist/Projects/index.js.map +1 -1
- package/dist/Projects/types/events.d.ts +5 -1
- package/dist/Projects/types/index.d.ts +113 -28
- package/dist/Projects/types/index.js +8 -0
- package/dist/Projects/types/index.js.map +1 -1
- package/dist/Projects/utils.d.ts +19 -1
- package/dist/Projects/utils.js +68 -0
- package/dist/Projects/utils.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/AuthManager/TokenAuthManager.js +0 -2
- package/dist/lib/AuthManager/TokenAuthManager.js.map +1 -1
- package/package.json +1 -1
- package/src/Account/index.ts +15 -15
- package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/ChannelCoordinator.ts +2 -2
- package/src/ApiClient/WebSocketClient/BrowserWebSocketClient/index.ts +0 -4
- package/src/ApiClient/WebSocketClient/events.ts +11 -0
- package/src/ApiClient/WebSocketClient/index.ts +12 -2
- package/src/ApiClient/index.ts +1 -1
- package/src/Projects/Job.ts +50 -16
- package/src/Projects/Project.ts +12 -6
- package/src/Projects/createJobRequestMessage.ts +143 -33
- package/src/Projects/index.ts +351 -33
- package/src/Projects/types/events.ts +6 -0
- package/src/Projects/types/index.ts +141 -30
- package/src/Projects/utils.ts +66 -1
- package/src/index.ts +16 -4
- 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
|
|
27
|
-
export type
|
|
28
|
-
export interface
|
|
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 `
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
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?:
|
|
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?:
|
|
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 `
|
|
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
|
-
*
|
|
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?:
|
|
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":";;;
|
|
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"}
|
package/dist/Projects/utils.d.ts
CHANGED
|
@@ -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>>;
|
package/dist/Projects/utils.js
CHANGED
|
@@ -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":"
|
|
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,
|
|
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,
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAc;AACd,wDAAmC;AACnC,8EAAsD;
|
|
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":";;;;;;;;;;;;;;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,
|
|
1
|
+
{"version":3,"file":"TokenAuthManager.js","sourceRoot":"","sources":["../../../src/lib/AuthManager/TokenAuthManager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Account/index.ts
CHANGED
|
@@ -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 `
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
245
|
-
* const balance = await
|
|
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
|
|
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
|
|
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
|
|
323
|
+
* const { entries, next } = await sogni.account.transactionHistory({
|
|
324
324
|
* status: 'completed',
|
|
325
325
|
* limit: 10,
|
|
326
|
-
* address:
|
|
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
|
|
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
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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.
|
|
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(
|
package/src/ApiClient/index.ts
CHANGED
|
@@ -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
|
}
|