@workglow/indexeddb 0.2.37 → 0.3.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.
@@ -3,7 +3,7 @@
3
3
  * Copyright 2026 Steven Roussey <sroussey@gmail.com>
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import type { IJobStore, JobRecord, JobStatus, MessageId } from "@workglow/job-queue";
6
+ import type { IJobStore, JobRecord, JobStatus, JobStorageFormat, MessageId, SendOptions } from "@workglow/job-queue";
7
7
  import type { PendingIndexedDbWrite } from "./IndexedDbMessageQueue";
8
8
  import type { IndexedDbQueueStorage } from "./IndexedDbQueueStorage";
9
9
  export declare class IndexedDbJobStore<Input, Output> implements IJobStore<Input, Output> {
@@ -25,5 +25,18 @@ export declare class IndexedDbJobStore<Input, Output> implements IJobStore<Input
25
25
  deleteAll(): Promise<void>;
26
26
  abort(id: MessageId): Promise<void>;
27
27
  saveStatus(id: MessageId, status: JobStatus): Promise<void>;
28
+ create(body: JobStorageFormat<Input, Output>, opts: SendOptions): Promise<MessageId>;
29
+ findActiveByFingerprint(fingerprint: string, _queueName: string): Promise<JobRecord<Input, Output> | undefined>;
30
+ getMany(ids: readonly MessageId[]): Promise<readonly (JobRecord<Input, Output> | undefined)[]>;
31
+ completeWithResult(id: MessageId, result: Output): Promise<void>;
32
+ failWithError(id: MessageId, opts: {
33
+ readonly error?: string | null;
34
+ readonly errorCode?: string | null;
35
+ readonly abortRequested?: boolean;
36
+ }): Promise<void>;
37
+ markEnqueueDeferred(id: MessageId, opts: {
38
+ readonly visible_at: Date;
39
+ readonly errorCode: string;
40
+ }): Promise<void>;
28
41
  }
29
42
  //# sourceMappingURL=IndexedDbJobStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IndexedDbJobStore.d.ts","sourceRoot":"","sources":["../../src/job-queue/IndexedDbJobStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,qBAAa,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAE,YAAW,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IAC/E,uDAAuD;IACvD,SAAgB,IAAI,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE3D,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;IAEtE,YACE,IAAI,EAAE,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,EAC1C,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC,EAIrD;IAED,GAAG,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAEhE;IAEK,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAEzF;IAED,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAExC;IAEK,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAE5E;IAED,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEnD;IAEK,YAAY,CAChB,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAClC,OAAO,CAAC,IAAI,CAAC,CAEf;IAEK,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI7D;IAEK,SAAS,CACb,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,IAAI,CAAC,CAMf;IAEK,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF;IAEK,MAAM,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzC;IAEK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/B;IAEK,KAAK,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAExC;IAEK,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhE;CACF"}
1
+ {"version":3,"file":"IndexedDbJobStore.d.ts","sourceRoot":"","sources":["../../src/job-queue/IndexedDbJobStore.ts"],"names":[],"mappings":"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"}
@@ -143,6 +143,7 @@ export declare class IndexedDbQueueStorage<Input, Output> implements IQueueStora
143
143
  progress?: number;
144
144
  progress_message?: string;
145
145
  progress_details?: Record<string, any> | null;
146
+ visible_at?: string | null;
146
147
  }): Promise<void>;
147
148
  /**
148
149
  * Deletes all jobs from the queue.
@@ -156,6 +157,9 @@ export declare class IndexedDbQueueStorage<Input, Output> implements IQueueStora
156
157
  * Saves progress updates for a job.
157
158
  */
158
159
  saveProgress(id: unknown, progress: number, message: string, details: Record<string, any> | null): Promise<void>;
160
+ /**
161
+ * Persists a job to the store without modifying attempts or other completion logic.
162
+ */
159
163
  private put;
160
164
  /**
161
165
  * Deletes a job by its ID.
@@ -167,7 +171,20 @@ export declare class IndexedDbQueueStorage<Input, Output> implements IQueueStora
167
171
  * @param olderThanMs - Delete jobs completed more than this many milliseconds ago
168
172
  */
169
173
  deleteJobsByStatusAndAge(status: JobStatus, olderThanMs: number): Promise<void>;
174
+ /**
175
+ * Gets all jobs from the queue that match the current prefix values.
176
+ * Used internally for normal polling-based subscriptions (efficient - filters at DB level).
177
+ *
178
+ * @returns A promise that resolves to an array of jobs
179
+ */
170
180
  private getAllJobs;
181
+ /**
182
+ * Gets all jobs from the queue with a custom prefix filter.
183
+ * Used for subscriptions with custom prefix filters (filters at DB level where possible).
184
+ *
185
+ * @param prefixFilter - The prefix values to filter by (empty object = all jobs)
186
+ * @returns A promise that resolves to an array of jobs
187
+ */
171
188
  private getAllJobsWithFilter;
172
189
  /**
173
190
  * Checks if a prefix filter is custom (different from instance's prefixes).
@@ -1 +1 @@
1
- {"version":3,"file":"IndexedDbQueueStorage.d.ts","sourceRoot":"","sources":["../../src/job-queue/IndexedDbQueueStorage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAmB,MAAM,qBAAqB,CAAC;AAOjE,eAAO,MAAM,wBAAwB,gEAEpC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,4DAA4D;IAC5D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,kEAAkE;IAClE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAC3C;AAED;;;GAGG;AACH,qBAAa,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAE,YAAW,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC;aAqBrE,SAAS,EAAE,MAAM;IApBnC,SAAgB,KAAK,EAAG,SAAS,CAAU;IAC3C,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,oCAAoC;IACpC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IACrD,sCAAsC;IACtC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAC3E,yCAAyC;IACzC,OAAO,CAAC,aAAa,CAIL;IAChB,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG5B;IAEF,YACkB,SAAS,EAAE,MAAM,EACjC,OAAO,GAAE,4BAAiC,EAe3C;IAED;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;YAIZ,KAAK;IAMnB;;;;;OAKG;IACI,aAAa,4CAEnB;IAED;;;;;;;OAOG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAYpC;IAED;;;;OAIG;IACU,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAmCvE;IAED;;;;OAIG;IACG,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAoB3E;IAED;;;;;OAKG;IACU,IAAI,CACf,MAAM,GAAE,SAA6B,EACrC,GAAG,GAAE,MAAY,GAChB,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAkC5C;IAED;;;;;;;;;;;;;;OAcG;IACU,IAAI,CACf,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAoJtD;IAED;;;;;OAKG;IACU,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUjF;IAED;;;OAGG;IACU,IAAI,CAAC,MAAM,YAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAc7D;IAED;;OAEG;IACU,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDzE;IAED;;OAEG;IACU,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAcpD;IAED;;;;;OAKG;IACU,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7C;IAED,uGAAuG;IAC1F,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBlE;IAED;;OAEG;IACU,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAqBtF;IAED;;;OAGG;IACU,QAAQ,CACnB,EAAE,EAAE,OAAO,EACX,MAAM,EAAE;QACN,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;KAC/C,GACA,OAAO,CAAC,IAAI,CAAC,CAiBf;IAED;;OAEG;IACU,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA2CtC;IAED;;OAEG;IACU,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4BhE;IAED;;OAEG;IACU,YAAY,CACvB,EAAE,EAAE,OAAO,EACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAClC,OAAO,CAAC,IAAI,CAAC,CASf;YAKa,GAAG;IA0BjB;;OAEG;IACU,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB9C;IAED;;;;OAIG;IACU,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC3F;YAQa,UAAU;YAwCV,oBAAoB;IA8ClC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAoCxB;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IA8CvC;;;;;;;;;;OAUG;IACI,kBAAkB,CACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAC7D,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,IAAI,CAYZ;IAED;;OAEG;IACH,OAAO,IAAI,IAAI,CAKd;CACF"}
1
+ {"version":3,"file":"IndexedDbQueueStorage.d.ts","sourceRoot":"","sources":["../../src/job-queue/IndexedDbQueueStorage.ts"],"names":[],"mappings":"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"}
@@ -752,6 +752,8 @@ class IndexedDbQueueStorage {
752
752
  updated.progress_message = fields.progress_message ?? "";
753
753
  if ("progress_details" in fields)
754
754
  updated.progress_details = fields.progress_details ?? null;
755
+ if ("visible_at" in fields)
756
+ updated.visible_at = fields.visible_at ?? null;
755
757
  await this.put(updated);
756
758
  }
757
759
  async deleteAll() {
@@ -1229,6 +1231,55 @@ class IndexedDbJobStore {
1229
1231
  async saveStatus(id, status) {
1230
1232
  await this.core.saveStatus(id, status);
1231
1233
  }
1234
+ async create(body, opts) {
1235
+ const enriched = {
1236
+ ...body,
1237
+ fingerprint: opts.fingerprint ?? body.fingerprint,
1238
+ job_run_id: opts.jobRunId ?? body.job_run_id,
1239
+ max_attempts: opts.maxAttempts ?? body.max_attempts,
1240
+ deadline_at: opts.timeoutSeconds != null ? new Date(Date.now() + opts.timeoutSeconds * 1000).toISOString() : body.deadline_at
1241
+ };
1242
+ return this.core.add(enriched);
1243
+ }
1244
+ async findActiveByFingerprint(fingerprint, _queueName) {
1245
+ const [pending, processing] = await Promise.all([
1246
+ this.core.peek("PENDING"),
1247
+ this.core.peek("PROCESSING")
1248
+ ]);
1249
+ return [...pending, ...processing].find((j) => j.fingerprint === fingerprint);
1250
+ }
1251
+ async getMany(ids) {
1252
+ return Promise.all(ids.map((id) => this.core.get(id)));
1253
+ }
1254
+ async completeWithResult(id, result) {
1255
+ this.pending.delete(id);
1256
+ await this.core.finalize(id, {
1257
+ output: result,
1258
+ error: null,
1259
+ error_code: null,
1260
+ status: "COMPLETED",
1261
+ completed_at: new Date().toISOString()
1262
+ });
1263
+ }
1264
+ async failWithError(id, opts) {
1265
+ this.pending.delete(id);
1266
+ const current = await this.core.get(id);
1267
+ const now = new Date().toISOString();
1268
+ const abortRequestedAt = opts.abortRequested === true ? current?.abort_requested_at ?? now : current?.abort_requested_at ?? null;
1269
+ await this.core.finalize(id, {
1270
+ ..."error" in opts ? { error: opts.error ?? null } : {},
1271
+ ..."errorCode" in opts ? { error_code: opts.errorCode ?? null } : {},
1272
+ abort_requested_at: abortRequestedAt,
1273
+ status: "FAILED",
1274
+ completed_at: current?.completed_at ?? now
1275
+ });
1276
+ }
1277
+ async markEnqueueDeferred(id, opts) {
1278
+ await this.core.finalize(id, {
1279
+ visible_at: opts.visible_at.toISOString(),
1280
+ error_code: opts.errorCode
1281
+ });
1282
+ }
1232
1283
  }
1233
1284
  // src/job-queue/createIndexedDbQueue.ts
1234
1285
  function createIndexedDbQueue(queueName, opts) {
@@ -1595,4 +1646,4 @@ export {
1595
1646
  INDEXED_DB_QUEUE_STORAGE
1596
1647
  };
1597
1648
 
1598
- //# debugId=DD150AE4B3AEA97B64756E2164756E21
1649
+ //# debugId=89B6FF01B7C5033864756E2164756E21