@sogni-ai/sogni-client 5.45.0 → 5.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [5.46.0](https://github.com/Sogni-AI/sogni-client/compare/v5.45.0...v5.46.0) (2026-09-12)
2
+
3
+
4
+ ### Features
5
+
6
+ * **projects:** keep a render the server moves to another worker in its own job ([e3e49fc](https://github.com/Sogni-AI/sogni-client/commit/e3e49fc6e29b275227c6295bf6c8a75e0baa6e79)), closes [hi#water](https://github.com/hi/issues/water)
7
+
1
8
  # [5.45.0](https://github.com/Sogni-AI/sogni-client/compare/v5.44.1...v5.45.0) (2026-09-12)
2
9
 
3
10
 
@@ -163,6 +163,31 @@ export type JobErrorData = {
163
163
  /** Actionable fair-use details when `feature === 'monthly_fair_use'`. */
164
164
  fairUse?: SocketSubscriptionFairUseState | null;
165
165
  };
166
+ /**
167
+ * One render attempt failed on its worker and the server put the SAME render
168
+ * back in the queue for a different one, inside the same project. The project is
169
+ * still running: nothing failed for the artist and nothing was charged.
170
+ *
171
+ * `imgID` names the ABANDONED attempt; the retry arrives later under a new id
172
+ * its next worker mints. The SDK reclaims the render's existing {@link Job} by
173
+ * `jobIndex` when that happens, so this frame is deliberately NOT surfaced as a
174
+ * job event -- as a job error it would fail a single-media project outright,
175
+ * which is precisely the render the retry exists to save. It is typed here for
176
+ * consumers that want to show that a render is being reassigned.
177
+ */
178
+ export type JobRetryData = {
179
+ jobID: string;
180
+ /** The abandoned attempt's id. The retry arrives under a different one. */
181
+ imgID: string;
182
+ /** This render's position in the project; stable across the move. */
183
+ jobIndex?: number;
184
+ /** 1-based attempt that just failed; `maxAttempts` is the server's budget. */
185
+ attempt: number;
186
+ maxAttempts: number;
187
+ isFromWorker: boolean;
188
+ error: number | string;
189
+ error_message: string;
190
+ };
166
191
  export type JobProgressData = {
167
192
  jobID: string;
168
193
  imgID: string;
@@ -450,6 +475,10 @@ export type SocketEventMap = {
450
475
  * @event WebSocketClient#jobError - Job error occurred
451
476
  */
452
477
  jobError: JobErrorData;
478
+ /**
479
+ * @event WebSocketClient#jobRetry - A render attempt failed and the server requeued it for another worker
480
+ */
481
+ jobRetry: JobRetryData;
453
482
  /**
454
483
  * @event WebSocketClient#jobProgress - Job progress update
455
484
  */
@@ -196,6 +196,11 @@ declare class Job extends DataEntity<JobData, JobEventMap> {
196
196
  * Name of the worker that is processing this job.
197
197
  */
198
198
  get workerName(): string | undefined;
199
+ /**
200
+ * This render's position in its project. Unlike `id`, which each worker mints
201
+ * afresh, it stays the same when the server moves the render to another worker.
202
+ */
203
+ get jobIndex(): number | undefined;
199
204
  /**
200
205
  * Estimated time remaining in seconds for long-running jobs (e.g., video generation).
201
206
  * Only available for ComfyUI-based workers during inference.
@@ -336,6 +336,13 @@ class Job extends DataEntity_js_1.default {
336
336
  get workerName() {
337
337
  return this.data.workerName;
338
338
  }
339
+ /**
340
+ * This render's position in its project. Unlike `id`, which each worker mints
341
+ * afresh, it stays the same when the server moves the render to another worker.
342
+ */
343
+ get jobIndex() {
344
+ return this.data.jobIndex;
345
+ }
339
346
  /**
340
347
  * Estimated time remaining in seconds for long-running jobs (e.g., video generation).
341
348
  * Only available for ComfyUI-based workers during inference.
@@ -465,12 +472,20 @@ class Job extends DataEntity_js_1.default {
465
472
  if (this._runtimeTimeout || this.finished)
466
473
  return;
467
474
  const limitMs = this._runtimeLimitMs();
468
- this._runtimeTimeout = setTimeout(() => {
475
+ const handle = setTimeout(() => {
476
+ // Only the budget this job is currently running may act. A job that the
477
+ // server moved to another worker keeps this same instance and is
478
+ // `processing` again under its new attempt, so status alone cannot tell
479
+ // the departed worker's budget from the live one -- and acting on the
480
+ // stale one cancels the whole project on the server, retry included.
481
+ if (this._runtimeTimeout !== handle)
482
+ return;
469
483
  this._runtimeTimeout = null;
470
484
  if (this.status !== 'processing' || this._project.finished)
471
485
  return;
472
486
  this._project._handleJobRuntimeTimeout(this, limitMs);
473
487
  }, limitMs);
488
+ this._runtimeTimeout = handle;
474
489
  }
475
490
  handleUpdated(keys) {
476
491
  if (keys.includes('step') ||
@@ -1 +1 @@
1
- {"version":3,"file":"Job.js","sourceRoot":"","sources":["../../src/Projects/Job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Job.js","sourceRoot":"","sources":["../../src/Projects/Job.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,12 @@ declare class ProjectsApi extends ApiGroup<ProjectApiEvents> {
75
75
  private _awaitingResubmit;
76
76
  /** When each resubmitted project was last sent, for the recently-created grace. */
77
77
  private _resubmittedAt;
78
+ /**
79
+ * Renders the server announced it moved to another worker (`jobRetry`), still
80
+ * waiting for that worker's first frame. Only consulted when a frame arrives
81
+ * with no `jobIndex` to match on; see {@link ProjectsApi.findReassignedJob}.
82
+ */
83
+ private _awaitingReassignment;
78
84
  /**
79
85
  * Recovery timings. Overridable so regression scripts can run the flow in
80
86
  * milliseconds instead of seconds.
@@ -147,6 +153,51 @@ declare class ProjectsApi extends ApiGroup<ProjectApiEvents> {
147
153
  private handleJobETA;
148
154
  private handleJobResult;
149
155
  private handleJobError;
156
+ /**
157
+ * The server gave up on this render's worker and put the SAME render back in
158
+ * the queue for another one, inside the same project.
159
+ *
160
+ * Handled entirely inside the SDK's own state and never emitted as a job
161
+ * event: surfaced as a job error it would fail a single-media project outright,
162
+ * which is exactly the render the server-side retry exists to save. The job
163
+ * goes back to waiting, and the next worker's first frame reclaims it by
164
+ * `jobIndex` (see {@link ProjectsApi.findReassignedJob}).
165
+ */
166
+ private handleJobRetry;
167
+ /**
168
+ * The existing job a render that moved to another worker should come back to.
169
+ *
170
+ * A reassigned render keeps its place in the project but not its identity: the
171
+ * new worker mints a fresh `imgID`, which is what the SDK reports as `jobId`.
172
+ * The server moves renders on several paths -- a worker that failed, one that
173
+ * disconnected and never reclaimed its render, a personal LoRA that went away
174
+ * -- and only the failure path announces itself with `jobRetry`, so the match
175
+ * cannot rely on that frame alone.
176
+ *
177
+ * `jobIndex` is the render's stable position in the project and rides every
178
+ * `initiating` / `started` frame: an unfinished job already holding that index
179
+ * IS this render under the id its previous worker gave it. With no index on
180
+ * either side, the match falls back to a render explicitly announced as
181
+ * waiting, and only when it is the only one, so a frame can never take a
182
+ * sibling's job.
183
+ */
184
+ private findReassignedJob;
185
+ /**
186
+ * Put a job back to the start of a render.
187
+ *
188
+ * Every number the abandoned worker reported described work that no longer
189
+ * exists. `step` in particular only ever moves forward (progress frames take a
190
+ * running maximum), so leaving it would pin the new attempt to the old one's
191
+ * high-water mark.
192
+ *
193
+ * The runtime budget is stopped as well. It is deliberately never reset by
194
+ * progress -- the first processing transition is the hard start of ONE worker
195
+ * job -- but a reassigned render is a different worker job. Left running, the
196
+ * departed worker's deadline expires during the queue wait and
197
+ * `_handleJobRuntimeTimeout` cancels the whole project on the server, retry
198
+ * included. The next processing transition arms a fresh deadline.
199
+ */
200
+ private static resetJobForNewAttempt;
150
201
  private handleProjectEvent;
151
202
  private handleJobEvent;
152
203
  private handleTransportLost;
@@ -335,6 +335,12 @@ class ProjectsApi extends ApiGroup_js_1.default {
335
335
  this._awaitingResubmit = new Set();
336
336
  /** When each resubmitted project was last sent, for the recently-created grace. */
337
337
  this._resubmittedAt = new Map();
338
+ /**
339
+ * Renders the server announced it moved to another worker (`jobRetry`), still
340
+ * waiting for that worker's first frame. Only consulted when a frame arrives
341
+ * with no `jobIndex` to match on; see {@link ProjectsApi.findReassignedJob}.
342
+ */
343
+ this._awaitingReassignment = new WeakSet();
338
344
  /**
339
345
  * Recovery timings. Overridable so regression scripts can run the flow in
340
346
  * milliseconds instead of seconds.
@@ -361,6 +367,7 @@ class ProjectsApi extends ApiGroup_js_1.default {
361
367
  this.client.socket.on('jobProgress', this.handleJobProgress.bind(this));
362
368
  this.client.socket.on('jobETA', this.handleJobETA.bind(this));
363
369
  this.client.socket.on('jobError', this.handleJobError.bind(this));
370
+ this.client.socket.on('jobRetry', this.handleJobRetry.bind(this));
364
371
  this.client.socket.on('jobResult', (data) => {
365
372
  this.handleJobResult(data).catch((err) => {
366
373
  this.client.logger.error('Error in handleJobResult:', err);
@@ -626,6 +633,77 @@ class ProjectsApi extends ApiGroup_js_1.default {
626
633
  error: error
627
634
  });
628
635
  }
636
+ /**
637
+ * The server gave up on this render's worker and put the SAME render back in
638
+ * the queue for another one, inside the same project.
639
+ *
640
+ * Handled entirely inside the SDK's own state and never emitted as a job
641
+ * event: surfaced as a job error it would fail a single-media project outright,
642
+ * which is exactly the render the server-side retry exists to save. The job
643
+ * goes back to waiting, and the next worker's first frame reclaims it by
644
+ * `jobIndex` (see {@link ProjectsApi.findReassignedJob}).
645
+ */
646
+ handleJobRetry(data) {
647
+ var _a;
648
+ const project = (data === null || data === void 0 ? void 0 : data.jobID) && this.projects.find((p) => p.id === data.jobID);
649
+ if (!project || project.finished)
650
+ return;
651
+ const jobIndex = typeof data.jobIndex === 'number' ? data.jobIndex : undefined;
652
+ const job = (_a = (data.imgID ? project.job(data.imgID) : undefined)) !== null && _a !== void 0 ? _a : (jobIndex !== undefined ? project.jobs.find((j) => j.jobIndex === jobIndex) : undefined);
653
+ if (!job || job.finished)
654
+ return;
655
+ this._awaitingReassignment.add(job);
656
+ ProjectsApi.resetJobForNewAttempt(job, { status: 'pending', jobIndex });
657
+ }
658
+ /**
659
+ * The existing job a render that moved to another worker should come back to.
660
+ *
661
+ * A reassigned render keeps its place in the project but not its identity: the
662
+ * new worker mints a fresh `imgID`, which is what the SDK reports as `jobId`.
663
+ * The server moves renders on several paths -- a worker that failed, one that
664
+ * disconnected and never reclaimed its render, a personal LoRA that went away
665
+ * -- and only the failure path announces itself with `jobRetry`, so the match
666
+ * cannot rely on that frame alone.
667
+ *
668
+ * `jobIndex` is the render's stable position in the project and rides every
669
+ * `initiating` / `started` frame: an unfinished job already holding that index
670
+ * IS this render under the id its previous worker gave it. With no index on
671
+ * either side, the match falls back to a render explicitly announced as
672
+ * waiting, and only when it is the only one, so a frame can never take a
673
+ * sibling's job.
674
+ */
675
+ findReassignedJob(project, event) {
676
+ const unfinished = project.jobs.filter((job) => !job.finished);
677
+ if (!unfinished.length)
678
+ return undefined;
679
+ const jobIndex = 'jobIndex' in event ? event.jobIndex : undefined;
680
+ if (typeof jobIndex === 'number') {
681
+ const byIndex = unfinished.find((job) => job.jobIndex === jobIndex);
682
+ if (byIndex)
683
+ return byIndex;
684
+ }
685
+ const waiting = unfinished.filter((job) => this._awaitingReassignment.has(job) && job.jobIndex === undefined);
686
+ return waiting.length === 1 ? waiting[0] : undefined;
687
+ }
688
+ /**
689
+ * Put a job back to the start of a render.
690
+ *
691
+ * Every number the abandoned worker reported described work that no longer
692
+ * exists. `step` in particular only ever moves forward (progress frames take a
693
+ * running maximum), so leaving it would pin the new attempt to the old one's
694
+ * high-water mark.
695
+ *
696
+ * The runtime budget is stopped as well. It is deliberately never reset by
697
+ * progress -- the first processing transition is the hard start of ONE worker
698
+ * job -- but a reassigned render is a different worker job. Left running, the
699
+ * departed worker's deadline expires during the queue wait and
700
+ * `_handleJobRuntimeTimeout` cancels the whole project on the server, retry
701
+ * included. The next processing transition arms a fresh deadline.
702
+ */
703
+ static resetJobForNewAttempt(job, { status, jobIndex } = {}) {
704
+ job._stopRuntimeTimeout();
705
+ job._update(Object.assign(Object.assign(Object.assign({}, (status ? { status } : {})), (jobIndex !== undefined ? { jobIndex } : {})), { step: 0, workerName: undefined, previewUrl: undefined, externalProgress: undefined, eta: undefined, etaStartedAt: undefined, etaSeconds: undefined, etaRange: undefined }));
706
+ }
629
707
  handleProjectEvent(event) {
630
708
  let project = this.projects.find((p) => p.id === event.projectId);
631
709
  if (!project) {
@@ -633,6 +711,16 @@ class ProjectsApi extends ApiGroup_js_1.default {
633
711
  }
634
712
  switch (event.type) {
635
713
  case 'queued':
714
+ // The server only reports a project as queued while none of its renders
715
+ // is on a worker, so any runtime budget still running belongs to a
716
+ // render that was taken off its worker -- a disconnect reclaim or a
717
+ // personal-LoRA requeue, neither of which announces itself. Left
718
+ // running, that deadline would expire during the queue wait and cancel
719
+ // the project on the server before the render is ever picked back up.
720
+ project.jobs.forEach((job) => {
721
+ if (!job.finished)
722
+ job._stopRuntimeTimeout();
723
+ });
636
724
  project._update({
637
725
  status: 'queued',
638
726
  queuePosition: event.queuePosition,
@@ -676,6 +764,20 @@ class ProjectsApi extends ApiGroup_js_1.default {
676
764
  return;
677
765
  }
678
766
  let job = project.job(event.jobId);
767
+ if (!job) {
768
+ // A render the server moved to another worker comes back under that
769
+ // worker's new id. It already has a job -- the one its abandoned attempt
770
+ // was tracked in -- so it reclaims that one instead of adding a second,
771
+ // which would leave the project with more jobs than it requested and an
772
+ // orphan whose runtime budget later cancels the project.
773
+ const reassigned = this.findReassignedJob(project, event);
774
+ if (reassigned) {
775
+ this._awaitingReassignment.delete(reassigned);
776
+ ProjectsApi.resetJobForNewAttempt(reassigned);
777
+ reassigned._update({ id: event.jobId });
778
+ job = reassigned;
779
+ }
780
+ }
679
781
  if (!job) {
680
782
  job = project._addJob({
681
783
  id: event.jobId,