@sogni-ai/sogni-client 0.0.6 → 0.0.8

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 (89) hide show
  1. package/package.json +1 -1
  2. package/dist/Account/CurrentAccount.d.ts +0 -26
  3. package/dist/Account/CurrentAccount.js +0 -71
  4. package/dist/Account/CurrentAccount.js.map +0 -1
  5. package/dist/Account/index.d.ts +0 -27
  6. package/dist/Account/index.js +0 -159
  7. package/dist/Account/index.js.map +0 -1
  8. package/dist/Account/types.d.ts +0 -57
  9. package/dist/Account/types.js +0 -2
  10. package/dist/Account/types.js.map +0 -1
  11. package/dist/ApiClient/ApiClient.d.ts +0 -42
  12. package/dist/ApiClient/ApiClient.js +0 -72
  13. package/dist/ApiClient/ApiClient.js.map +0 -1
  14. package/dist/ApiClient/WebSocketClient/ErrorCode.d.ts +0 -7
  15. package/dist/ApiClient/WebSocketClient/ErrorCode.js +0 -14
  16. package/dist/ApiClient/WebSocketClient/ErrorCode.js.map +0 -1
  17. package/dist/ApiClient/WebSocketClient/events.d.ts +0 -83
  18. package/dist/ApiClient/WebSocketClient/events.js +0 -2
  19. package/dist/ApiClient/WebSocketClient/events.js.map +0 -1
  20. package/dist/ApiClient/WebSocketClient/index.d.ts +0 -28
  21. package/dist/ApiClient/WebSocketClient/index.js +0 -161
  22. package/dist/ApiClient/WebSocketClient/index.js.map +0 -1
  23. package/dist/ApiClient/WebSocketClient/messages.d.ts +0 -5
  24. package/dist/ApiClient/WebSocketClient/messages.js +0 -2
  25. package/dist/ApiClient/WebSocketClient/messages.js.map +0 -1
  26. package/dist/ApiClient/WebSocketClient/types.d.ts +0 -1
  27. package/dist/ApiClient/WebSocketClient/types.js +0 -2
  28. package/dist/ApiClient/WebSocketClient/types.js.map +0 -1
  29. package/dist/ApiClient/events.d.ts +0 -19
  30. package/dist/ApiClient/events.js +0 -2
  31. package/dist/ApiClient/events.js.map +0 -1
  32. package/dist/ApiGroup.d.ts +0 -16
  33. package/dist/ApiGroup.js +0 -11
  34. package/dist/ApiGroup.js.map +0 -1
  35. package/dist/Projects/Job.d.ts +0 -31
  36. package/dist/Projects/Job.js +0 -47
  37. package/dist/Projects/Job.js.map +0 -1
  38. package/dist/Projects/Project.d.ts +0 -50
  39. package/dist/Projects/Project.js +0 -89
  40. package/dist/Projects/Project.js.map +0 -1
  41. package/dist/Projects/createJobRequestMessage.d.ts +0 -63
  42. package/dist/Projects/createJobRequestMessage.js +0 -66
  43. package/dist/Projects/createJobRequestMessage.js.map +0 -1
  44. package/dist/Projects/index.d.ts +0 -41
  45. package/dist/Projects/index.js +0 -248
  46. package/dist/Projects/index.js.map +0 -1
  47. package/dist/Projects/models.json +0 -8906
  48. package/dist/Projects/types/EstimationResponse.d.ts +0 -40
  49. package/dist/Projects/types/EstimationResponse.js +0 -2
  50. package/dist/Projects/types/EstimationResponse.js.map +0 -1
  51. package/dist/Projects/types/events.d.ts +0 -51
  52. package/dist/Projects/types/events.js +0 -2
  53. package/dist/Projects/types/events.js.map +0 -1
  54. package/dist/Projects/types/index.d.ts +0 -58
  55. package/dist/Projects/types/index.js +0 -2
  56. package/dist/Projects/types/index.js.map +0 -1
  57. package/dist/Stats/index.d.ts +0 -6
  58. package/dist/Stats/index.js +0 -20
  59. package/dist/Stats/index.js.map +0 -1
  60. package/dist/Stats/types.d.ts +0 -19
  61. package/dist/Stats/types.js +0 -2
  62. package/dist/Stats/types.js.map +0 -1
  63. package/dist/index.d.ts +0 -39
  64. package/dist/index.js +0 -51
  65. package/dist/index.js.map +0 -1
  66. package/dist/lib/DataEntity.d.ts +0 -18
  67. package/dist/lib/DataEntity.js +0 -26
  68. package/dist/lib/DataEntity.js.map +0 -1
  69. package/dist/lib/EIP712Helper.d.ts +0 -13
  70. package/dist/lib/EIP712Helper.js +0 -37
  71. package/dist/lib/EIP712Helper.js.map +0 -1
  72. package/dist/lib/RestClient.d.ts +0 -18
  73. package/dist/lib/RestClient.js +0 -64
  74. package/dist/lib/RestClient.js.map +0 -1
  75. package/dist/lib/TypedEventEmitter.d.ts +0 -34
  76. package/dist/lib/TypedEventEmitter.js +0 -56
  77. package/dist/lib/TypedEventEmitter.js.map +0 -1
  78. package/dist/lib/base64.d.ts +0 -2
  79. package/dist/lib/base64.js +0 -8
  80. package/dist/lib/base64.js.map +0 -1
  81. package/dist/lib/isNodejs.d.ts +0 -2
  82. package/dist/lib/isNodejs.js +0 -3
  83. package/dist/lib/isNodejs.js.map +0 -1
  84. package/dist/types/ErrorData.d.ts +0 -5
  85. package/dist/types/ErrorData.js +0 -2
  86. package/dist/types/ErrorData.js.map +0 -1
  87. package/dist/types/json.d.ts +0 -5
  88. package/dist/types/json.js +0 -2
  89. package/dist/types/json.js.map +0 -1
@@ -1,41 +0,0 @@
1
- import ApiGroup, { ApiConfig } from '../ApiGroup';
2
- import { AvailableModel, EstimateRequest, ImageUrlParams, ProjectParams } from './types';
3
- import Project from './Project';
4
- import { JobEvent, ProjectApiEvents, ProjectEvent } from './types/events';
5
- declare class ProjectsApi extends ApiGroup<ProjectApiEvents> {
6
- private _availableModels;
7
- private projects;
8
- get availableModels(): AvailableModel[];
9
- constructor(config: ApiConfig);
10
- private handleSwarmModels;
11
- private handleJobState;
12
- private handleJobProgress;
13
- private handleJobResult;
14
- private handleJobError;
15
- handleProjectEvent(event: ProjectEvent): void;
16
- handleJobEvent(event: JobEvent): void;
17
- private handleServerDisconnected;
18
- /**
19
- * Send new project request to the network. Returns project instance which can be used to track
20
- * progress and get resulting images.
21
- * @param data
22
- */
23
- create(data: ProjectParams): Promise<Project>;
24
- /**
25
- * Estimate project cost
26
- * @param network - either 'fast' or 'relaxed' network
27
- * @param model - model id
28
- * @param imageCount - number of images to generate
29
- * @param stepCount - number of steps
30
- * @param previewCount - number of preview images to request
31
- * @param cnEnabled - control network enabled
32
- * @param denoiseStrength - denoise strength
33
- */
34
- estimateCost({ network, model, imageCount, stepCount, previewCount, cnEnabled, denoiseStrength }: EstimateRequest): Promise<{
35
- token: string;
36
- usd: string;
37
- }>;
38
- uploadUrl(params: ImageUrlParams): Promise<string>;
39
- downloadUrl(params: ImageUrlParams): Promise<string>;
40
- }
41
- export default ProjectsApi;
@@ -1,248 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import ApiGroup from '../ApiGroup';
11
- import models from './models.json';
12
- import Project from './Project';
13
- import createJobRequestMessage from './createJobRequestMessage';
14
- class ProjectsApi extends ApiGroup {
15
- get availableModels() {
16
- return this._availableModels;
17
- }
18
- constructor(config) {
19
- super(config);
20
- this._availableModels = [];
21
- this.projects = [];
22
- // Listen to server events and emit them as project and job events
23
- this.client.socket.on('swarmModels', this.handleSwarmModels.bind(this));
24
- this.client.socket.on('jobState', this.handleJobState.bind(this));
25
- this.client.socket.on('jobProgress', this.handleJobProgress.bind(this));
26
- this.client.socket.on('jobError', this.handleJobError.bind(this));
27
- this.client.socket.on('jobResult', this.handleJobResult.bind(this));
28
- // Listen to server disconnect event
29
- this.client.on('disconnected', this.handleServerDisconnected.bind(this));
30
- // Listen to project and job events and update project and job instances
31
- this.on('project', this.handleProjectEvent.bind(this));
32
- this.on('job', this.handleJobEvent.bind(this));
33
- }
34
- handleSwarmModels(data) {
35
- this._availableModels = models.reduce((acc, model) => {
36
- if (data[model.modelId]) {
37
- acc.push({
38
- id: model.modelId,
39
- name: model.modelShortName,
40
- workerCount: data[model.modelId]
41
- });
42
- }
43
- return acc;
44
- }, []);
45
- this.emit('availableModels', this._availableModels);
46
- }
47
- handleJobState(data) {
48
- switch (data.type) {
49
- case 'queued':
50
- this.emit('project', {
51
- type: 'queued',
52
- projectId: data.jobID,
53
- queuePosition: data.queuePosition
54
- });
55
- return;
56
- case 'jobCompleted':
57
- this.emit('project', { type: 'completed', projectId: data.jobID });
58
- return;
59
- case 'initiatingModel':
60
- this.emit('job', { type: 'initiating', projectId: data.jobID, jobId: data.imgID });
61
- return;
62
- case 'jobStarted': {
63
- this.emit('job', { type: 'started', projectId: data.jobID, jobId: data.imgID });
64
- return;
65
- }
66
- }
67
- }
68
- handleJobProgress(data) {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- this.emit('job', {
71
- type: 'progress',
72
- projectId: data.jobID,
73
- jobId: data.imgID,
74
- step: data.step,
75
- stepCount: data.stepCount
76
- });
77
- if (data.hasImage) {
78
- this.downloadUrl({
79
- jobId: data.jobID,
80
- imageId: data.imgID,
81
- type: 'preview'
82
- }).then((url) => {
83
- this.emit('job', {
84
- type: 'preview',
85
- projectId: data.jobID,
86
- jobId: data.imgID,
87
- url
88
- });
89
- });
90
- }
91
- });
92
- }
93
- handleJobResult(data) {
94
- return __awaiter(this, void 0, void 0, function* () {
95
- const downloadUrl = yield this.downloadUrl({
96
- jobId: data.jobID,
97
- imageId: data.imgID,
98
- type: 'complete'
99
- });
100
- this.emit('job', {
101
- type: 'completed',
102
- projectId: data.jobID,
103
- jobId: data.imgID,
104
- steps: data.performedStepCount,
105
- resultUrl: downloadUrl
106
- });
107
- });
108
- }
109
- handleJobError(data) {
110
- if (!data.imgID) {
111
- this.emit('project', {
112
- type: 'error',
113
- projectId: data.jobID,
114
- error: {
115
- code: data.error,
116
- message: data.error_message
117
- }
118
- });
119
- return;
120
- }
121
- this.emit('job', {
122
- type: 'error',
123
- projectId: data.jobID,
124
- jobId: data.imgID,
125
- error: {
126
- code: data.error,
127
- message: data.error_message
128
- }
129
- });
130
- }
131
- handleProjectEvent(event) {
132
- let project = this.projects.find((p) => p.id === event.projectId);
133
- if (!project) {
134
- return;
135
- }
136
- switch (event.type) {
137
- case 'queued':
138
- project._update({
139
- status: 'queued',
140
- queuePosition: event.queuePosition
141
- });
142
- break;
143
- case 'completed':
144
- project._update({
145
- status: 'completed'
146
- });
147
- break;
148
- case 'error':
149
- project._update({
150
- status: 'failed',
151
- error: event.error
152
- });
153
- }
154
- }
155
- handleJobEvent(event) {
156
- let project = this.projects.find((p) => p.id === event.projectId);
157
- if (!project) {
158
- return;
159
- }
160
- let job = project.job(event.jobId);
161
- if (!job) {
162
- job = project._addJob({
163
- id: event.jobId,
164
- status: 'pending',
165
- step: 0,
166
- stepCount: project.params.steps
167
- });
168
- }
169
- switch (event.type) {
170
- case 'initiating':
171
- job._update({ status: 'initiating' });
172
- break;
173
- case 'started':
174
- job._update({ status: 'processing' });
175
- break;
176
- case 'progress':
177
- job._update({
178
- status: 'processing',
179
- step: event.step,
180
- stepCount: event.stepCount
181
- });
182
- if (project.status !== 'processing') {
183
- project._update({ status: 'processing' });
184
- }
185
- break;
186
- case 'preview':
187
- job._update({ previewUrl: event.url });
188
- break;
189
- case 'completed':
190
- job._update({ status: 'completed', step: event.steps, resultUrl: event.resultUrl });
191
- break;
192
- case 'error':
193
- job._update({ status: 'failed', error: event.error });
194
- break;
195
- }
196
- }
197
- handleServerDisconnected() {
198
- this._availableModels = [];
199
- this.emit('availableModels', this._availableModels);
200
- }
201
- /**
202
- * Send new project request to the network. Returns project instance which can be used to track
203
- * progress and get resulting images.
204
- * @param data
205
- */
206
- create(data) {
207
- return __awaiter(this, void 0, void 0, function* () {
208
- const project = new Project(Object.assign({}, data));
209
- const request = createJobRequestMessage(project.id, data);
210
- yield this.client.socket.send('jobRequest', request);
211
- this.projects.push(project);
212
- return project;
213
- });
214
- }
215
- /**
216
- * Estimate project cost
217
- * @param network - either 'fast' or 'relaxed' network
218
- * @param model - model id
219
- * @param imageCount - number of images to generate
220
- * @param stepCount - number of steps
221
- * @param previewCount - number of preview images to request
222
- * @param cnEnabled - control network enabled
223
- * @param denoiseStrength - denoise strength
224
- */
225
- estimateCost(_a) {
226
- return __awaiter(this, arguments, void 0, function* ({ network, model, imageCount, stepCount, previewCount, cnEnabled, denoiseStrength }) {
227
- const r = yield this.client.socket.get(`/api/v1/job/estimate/${network}/${model}/${imageCount}/${stepCount}/${previewCount}/${cnEnabled ? 1 : 0}/${denoiseStrength || 0}`);
228
- return {
229
- token: r.quote.project.costInToken,
230
- usd: r.quote.project.costInUSD
231
- };
232
- });
233
- }
234
- uploadUrl(params) {
235
- return __awaiter(this, void 0, void 0, function* () {
236
- const r = yield this.client.rest.get(`/v1/image/uploadUrl`, params);
237
- return r.data.uploadUrl;
238
- });
239
- }
240
- downloadUrl(params) {
241
- return __awaiter(this, void 0, void 0, function* () {
242
- const r = yield this.client.rest.get(`/v1/image/downloadUrl`, params);
243
- return r.data.downloadUrl;
244
- });
245
- }
246
- }
247
- export default ProjectsApi;
248
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Projects/index.ts"],"names":[],"mappings":"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"}