velocious 1.0.516 → 1.0.518

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 (72) hide show
  1. package/README.md +2 -0
  2. package/build/background-jobs/job.js +27 -2
  3. package/build/background-jobs/store.js +356 -39
  4. package/build/background-jobs/types.js +6 -0
  5. package/build/configuration-types.js +12 -1
  6. package/build/configuration.js +2 -1
  7. package/build/database/drivers/base.js +26 -0
  8. package/build/database/drivers/mssql/index.js +13 -0
  9. package/build/database/drivers/mysql/index.js +18 -0
  10. package/build/database/drivers/pgsql/index.js +12 -0
  11. package/build/database/drivers/sqlite/connection-sql-js.js +11 -0
  12. package/build/database/drivers/sqlite/index.js +14 -4
  13. package/build/database/drivers/sqlite/index.native.js +13 -0
  14. package/build/database/drivers/sqlite/index.web.js +11 -1
  15. package/build/database/drivers/sqlite/query.js +1 -2
  16. package/build/http-server/client/request-buffer/index.js +151 -89
  17. package/build/src/background-jobs/job.d.ts +15 -0
  18. package/build/src/background-jobs/job.d.ts.map +1 -1
  19. package/build/src/background-jobs/job.js +24 -3
  20. package/build/src/background-jobs/store.d.ts +111 -9
  21. package/build/src/background-jobs/store.d.ts.map +1 -1
  22. package/build/src/background-jobs/store.js +339 -40
  23. package/build/src/background-jobs/types.d.ts +30 -0
  24. package/build/src/background-jobs/types.d.ts.map +1 -1
  25. package/build/src/background-jobs/types.js +7 -1
  26. package/build/src/configuration-types.d.ts +29 -2
  27. package/build/src/configuration-types.d.ts.map +1 -1
  28. package/build/src/configuration-types.js +13 -2
  29. package/build/src/configuration.d.ts.map +1 -1
  30. package/build/src/configuration.js +3 -2
  31. package/build/src/database/drivers/base.d.ts +13 -0
  32. package/build/src/database/drivers/base.d.ts.map +1 -1
  33. package/build/src/database/drivers/base.js +25 -1
  34. package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
  35. package/build/src/database/drivers/mssql/index.js +13 -1
  36. package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
  37. package/build/src/database/drivers/mysql/index.js +21 -1
  38. package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
  39. package/build/src/database/drivers/pgsql/index.js +14 -1
  40. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +6 -0
  41. package/build/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -1
  42. package/build/src/database/drivers/sqlite/connection-sql-js.js +11 -1
  43. package/build/src/database/drivers/sqlite/index.d.ts +2 -2
  44. package/build/src/database/drivers/sqlite/index.d.ts.map +1 -1
  45. package/build/src/database/drivers/sqlite/index.js +15 -5
  46. package/build/src/database/drivers/sqlite/index.native.d.ts.map +1 -1
  47. package/build/src/database/drivers/sqlite/index.native.js +14 -1
  48. package/build/src/database/drivers/sqlite/index.web.d.ts +2 -1
  49. package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
  50. package/build/src/database/drivers/sqlite/index.web.js +11 -2
  51. package/build/src/database/drivers/sqlite/query.d.ts +2 -2
  52. package/build/src/database/drivers/sqlite/query.d.ts.map +1 -1
  53. package/build/src/database/drivers/sqlite/query.js +2 -3
  54. package/build/src/http-server/client/request-buffer/index.d.ts +23 -2
  55. package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
  56. package/build/src/http-server/client/request-buffer/index.js +141 -86
  57. package/package.json +2 -2
  58. package/src/background-jobs/job.js +27 -2
  59. package/src/background-jobs/store.js +356 -39
  60. package/src/background-jobs/types.js +6 -0
  61. package/src/configuration-types.js +12 -1
  62. package/src/configuration.js +2 -1
  63. package/src/database/drivers/base.js +26 -0
  64. package/src/database/drivers/mssql/index.js +13 -0
  65. package/src/database/drivers/mysql/index.js +18 -0
  66. package/src/database/drivers/pgsql/index.js +12 -0
  67. package/src/database/drivers/sqlite/connection-sql-js.js +11 -0
  68. package/src/database/drivers/sqlite/index.js +14 -4
  69. package/src/database/drivers/sqlite/index.native.js +13 -0
  70. package/src/database/drivers/sqlite/index.web.js +11 -1
  71. package/src/database/drivers/sqlite/query.js +1 -2
  72. package/src/http-server/client/request-buffer/index.js +151 -89
@@ -11,6 +11,14 @@ import BackgroundJobsClient from "./client.js";
11
11
  * @template {Array<?>} [TArgs=[]]
12
12
  */
13
13
  export default class VelociousJob {
14
+ /**
15
+ * Queue this job class runs on. Subclasses set e.g. `static queue = "builds"`
16
+ * to route onto a queue with its own cluster-wide concurrency cap (configured
17
+ * via `backgroundJobs.queues`). The `{queue}` enqueue option overrides it.
18
+ * Left undefined, jobs run on the `"default"` queue.
19
+ * @type {string | undefined}
20
+ */
21
+ static queue = undefined;
14
22
  /**
15
23
  * Runs job name.
16
24
  * @returns {string} - Job name.
@@ -18,6 +26,19 @@ export default class VelociousJob {
18
26
  static jobName() {
19
27
  return this.name;
20
28
  }
29
+ /**
30
+ * Folds this job class's static `queue` into the enqueue options unless the
31
+ * caller already specified one.
32
+ * @param {import("./types.js").BackgroundJobOptions | undefined} options - Job options.
33
+ * @returns {import("./types.js").BackgroundJobOptions} - Options including the resolved queue.
34
+ */
35
+ static _withQueue(options) {
36
+ const merged = options ? { ...options } : {};
37
+ if (merged.queue === undefined && typeof this.queue === "string" && this.queue.length > 0) {
38
+ merged.queue = this.queue;
39
+ }
40
+ return merged;
41
+ }
21
42
  /**
22
43
  * Runs perform later.
23
44
  * @param {...?} args - Job args.
@@ -29,7 +50,7 @@ export default class VelociousJob {
29
50
  return await client.enqueue({
30
51
  jobName: this.jobName(),
31
52
  args: jobArgs,
32
- options: jobOptions
53
+ options: this._withQueue(jobOptions)
33
54
  });
34
55
  }
35
56
  /**
@@ -44,7 +65,7 @@ export default class VelociousJob {
44
65
  return await client.enqueue({
45
66
  jobName: this.jobName(),
46
67
  args,
47
- options
68
+ options: this._withQueue(options)
48
69
  });
49
70
  }
50
71
  /**
@@ -73,4 +94,4 @@ export default class VelociousJob {
73
94
  throw new Error("perform not implemented");
74
95
  }
75
96
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tncm91bmQtam9icy9qb2IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sb0JBQW9CLE1BQU0sYUFBYSxDQUFBO0FBRTlDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sWUFBWTtJQUMvQjs7O09BR0c7SUFDSCxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtJQUNsQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSTtRQUMvQixNQUFNLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3RCxNQUFNLE1BQU0sR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUE7UUFFekMsT0FBTyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsSUFBSSxFQUFFLE9BQU87WUFDYixPQUFPLEVBQUUsVUFBVTtTQUNwQixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFBO1FBRXpDLE9BQU8sTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLElBQUk7WUFDSixPQUFPO1NBQ1IsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSTtRQUM5QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBQyxDQUFBO1FBQ3RDLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxNQUFNLFlBQVksR0FBRyxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFZLElBQUksT0FBTyxDQUFBO1FBRWpILElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsTUFBTSxFQUFDLFVBQVUsRUFBQyxHQUFHLHNFQUFzRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDckcsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLElBQUksRUFBRSxFQUFDLENBQUE7UUFDbkUsQ0FBQztRQUVELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IEJhY2tncm91bmRKb2JzQ2xpZW50IGZyb20gXCIuL2NsaWVudC5qc1wiXG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYmFja2dyb3VuZCBqb2JzLlxuICpcbiAqIGBUQXJnc2AgaXMgdGhlIHR1cGxlIG9mIGFyZ3VtZW50cyB0aGUgc3ViY2xhc3MncyBgcGVyZm9ybWAgYWNjZXB0cywgc28gYSBqb2IgdGhhdFxuICogbmVlZHMgYXJndW1lbnRzIGRlY2xhcmVzIHRoZW0gYXMgcmVxdWlyZWQgYW5kIHR5cGVkIOKAlCBmb3IgZXhhbXBsZVxuICogYGNsYXNzIFJ1bkJ1aWxkSm9iIGV4dGVuZHMgVmVsb2Npb3VzSm9iPFtzdHJpbmddPmAgd2l0aCBgYXN5bmMgcGVyZm9ybShidWlsZElkKWAuXG4gKiBUaGUgZGVmYXVsdCBlbXB0eSB0dXBsZSBrZWVwcyBhcmd1bWVudC1sZXNzIGpvYnMgKGBleHRlbmRzIFZlbG9jaW91c0pvYmAsXG4gKiBgYXN5bmMgcGVyZm9ybSgpYCkgd29ya2luZyB1bmNoYW5nZWQuXG4gKiBAdGVtcGxhdGUge0FycmF5PD8+fSBbVEFyZ3M9W11dXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0pvYiB7XG4gIC8qKlxuICAgKiBSdW5zIGpvYiBuYW1lLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIEpvYiBuYW1lLlxuICAgKi9cbiAgc3RhdGljIGpvYk5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcGVyZm9ybSBsYXRlci5cbiAgICogQHBhcmFtIHsuLi4/fSBhcmdzIC0gSm9iIGFyZ3MuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IC0gSm9iIGlkLlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIHBlcmZvcm1MYXRlciguLi5hcmdzKSB7XG4gICAgY29uc3Qge2pvYkFyZ3MsIGpvYk9wdGlvbnN9ID0gdGhpcy5fc3BsaXRBcmdzQW5kT3B0aW9ucyhhcmdzKVxuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBCYWNrZ3JvdW5kSm9ic0NsaWVudCgpXG5cbiAgICByZXR1cm4gYXdhaXQgY2xpZW50LmVucXVldWUoe1xuICAgICAgam9iTmFtZTogdGhpcy5qb2JOYW1lKCksXG4gICAgICBhcmdzOiBqb2JBcmdzLFxuICAgICAgb3B0aW9uczogam9iT3B0aW9uc1xuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBwZXJmb3JtIGxhdGVyIHdpdGggb3B0aW9ucy5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zLlxuICAgKiBAcGFyYW0ge0FycmF5PD8+fSBhcmdzLmFyZ3MgLSBKb2IgYXJncy5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zfSBbYXJncy5vcHRpb25zXSAtIEpvYiBvcHRpb25zLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fSAtIEpvYiBpZC5cbiAgICovXG4gIHN0YXRpYyBhc3luYyBwZXJmb3JtTGF0ZXJXaXRoT3B0aW9ucyh7YXJncywgb3B0aW9uc30pIHtcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQmFja2dyb3VuZEpvYnNDbGllbnQoKVxuXG4gICAgcmV0dXJuIGF3YWl0IGNsaWVudC5lbnF1ZXVlKHtcbiAgICAgIGpvYk5hbWU6IHRoaXMuam9iTmFtZSgpLFxuICAgICAgYXJncyxcbiAgICAgIG9wdGlvbnNcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgc3BsaXQgYXJncyBhbmQgb3B0aW9ucy5cbiAgICogQHBhcmFtIHtBcnJheTw/Pn0gYXJncyAtIEpvYiBhcmdzLlxuICAgKiBAcmV0dXJucyB7e2pvYkFyZ3M6IEFycmF5PD8+LCBqb2JPcHRpb25zOiBpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zfX0gLSBTcGxpdCBhcmdzIGFuZCBvcHRpb25zLlxuICAgKi9cbiAgc3RhdGljIF9zcGxpdEFyZ3NBbmRPcHRpb25zKGFyZ3MpIHtcbiAgICBpZiAoYXJncy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB7am9iQXJnczogW10sIGpvYk9wdGlvbnM6IHt9fVxuICAgIH1cblxuICAgIGNvbnN0IGxhc3RBcmcgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV1cbiAgICBjb25zdCBpc09wdGlvbnNBcmcgPSBsYXN0QXJnICYmIHR5cGVvZiBsYXN0QXJnID09PSBcIm9iamVjdFwiICYmICFBcnJheS5pc0FycmF5KGxhc3RBcmcpICYmIFwiam9iT3B0aW9uc1wiIGluIGxhc3RBcmdcblxuICAgIGlmIChpc09wdGlvbnNBcmcpIHtcbiAgICAgIGNvbnN0IHtqb2JPcHRpb25zfSA9IC8qKiBAdHlwZSB7e2pvYk9wdGlvbnM6IGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnN9fSAqLyAobGFzdEFyZylcbiAgICAgIHJldHVybiB7am9iQXJnczogYXJncy5zbGljZSgwLCAtMSksIGpvYk9wdGlvbnM6IGpvYk9wdGlvbnMgfHwge319XG4gICAgfVxuXG4gICAgcmV0dXJuIHtqb2JBcmdzOiBhcmdzLCBqb2JPcHRpb25zOiB7fX1cbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZSBpbiBzdWJjbGFzc2VzLlxuICAgKiBAcGFyYW0ge1RBcmdzfSBfYXJncyAtIEpvYiBhcmdzICh0aGUgdHVwbGUgdGhpcyBqb2IgY2xhc3Mgd2FzIHBhcmFtZXRlcml6ZWQgd2l0aCkuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBwZXJmb3JtKC4uLl9hcmdzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwicGVyZm9ybSBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxufVxuIl19
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tncm91bmQtam9icy9qb2IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sb0JBQW9CLE1BQU0sYUFBYSxDQUFBO0FBRTlDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sWUFBWTtJQUMvQjs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQTtJQUV4Qjs7O09BR0c7SUFDSCxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtJQUNsQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU87UUFDdkIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtRQUUxQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDMUYsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQzNCLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJO1FBQy9CLE1BQU0sRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdELE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQTtRQUV6QyxPQUFPLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUMxQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN2QixJQUFJLEVBQUUsT0FBTztZQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztTQUNyQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFBO1FBRXpDLE9BQU8sTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLElBQUk7WUFDSixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7U0FDbEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSTtRQUM5QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBQyxDQUFBO1FBQ3RDLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxNQUFNLFlBQVksR0FBRyxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFZLElBQUksT0FBTyxDQUFBO1FBRWpILElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsTUFBTSxFQUFDLFVBQVUsRUFBQyxHQUFHLHNFQUFzRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDckcsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLElBQUksRUFBRSxFQUFDLENBQUE7UUFDbkUsQ0FBQztRQUVELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQTtJQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBCYWNrZ3JvdW5kSm9ic0NsaWVudCBmcm9tIFwiLi9jbGllbnQuanNcIlxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGJhY2tncm91bmQgam9icy5cbiAqXG4gKiBgVEFyZ3NgIGlzIHRoZSB0dXBsZSBvZiBhcmd1bWVudHMgdGhlIHN1YmNsYXNzJ3MgYHBlcmZvcm1gIGFjY2VwdHMsIHNvIGEgam9iIHRoYXRcbiAqIG5lZWRzIGFyZ3VtZW50cyBkZWNsYXJlcyB0aGVtIGFzIHJlcXVpcmVkIGFuZCB0eXBlZCDigJQgZm9yIGV4YW1wbGVcbiAqIGBjbGFzcyBSdW5CdWlsZEpvYiBleHRlbmRzIFZlbG9jaW91c0pvYjxbc3RyaW5nXT5gIHdpdGggYGFzeW5jIHBlcmZvcm0oYnVpbGRJZClgLlxuICogVGhlIGRlZmF1bHQgZW1wdHkgdHVwbGUga2VlcHMgYXJndW1lbnQtbGVzcyBqb2JzIChgZXh0ZW5kcyBWZWxvY2lvdXNKb2JgLFxuICogYGFzeW5jIHBlcmZvcm0oKWApIHdvcmtpbmcgdW5jaGFuZ2VkLlxuICogQHRlbXBsYXRlIHtBcnJheTw/Pn0gW1RBcmdzPVtdXVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNKb2Ige1xuICAvKipcbiAgICogUXVldWUgdGhpcyBqb2IgY2xhc3MgcnVucyBvbi4gU3ViY2xhc3NlcyBzZXQgZS5nLiBgc3RhdGljIHF1ZXVlID0gXCJidWlsZHNcImBcbiAgICogdG8gcm91dGUgb250byBhIHF1ZXVlIHdpdGggaXRzIG93biBjbHVzdGVyLXdpZGUgY29uY3VycmVuY3kgY2FwIChjb25maWd1cmVkXG4gICAqIHZpYSBgYmFja2dyb3VuZEpvYnMucXVldWVzYCkuIFRoZSBge3F1ZXVlfWAgZW5xdWV1ZSBvcHRpb24gb3ZlcnJpZGVzIGl0LlxuICAgKiBMZWZ0IHVuZGVmaW5lZCwgam9icyBydW4gb24gdGhlIGBcImRlZmF1bHRcImAgcXVldWUuXG4gICAqIEB0eXBlIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gICAqL1xuICBzdGF0aWMgcXVldWUgPSB1bmRlZmluZWRcblxuICAvKipcbiAgICogUnVucyBqb2IgbmFtZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBKb2IgbmFtZS5cbiAgICovXG4gIHN0YXRpYyBqb2JOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWVcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2xkcyB0aGlzIGpvYiBjbGFzcydzIHN0YXRpYyBgcXVldWVgIGludG8gdGhlIGVucXVldWUgb3B0aW9ucyB1bmxlc3MgdGhlXG4gICAqIGNhbGxlciBhbHJlYWR5IHNwZWNpZmllZCBvbmUuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9ucyB8IHVuZGVmaW5lZH0gb3B0aW9ucyAtIEpvYiBvcHRpb25zLlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9uc30gLSBPcHRpb25zIGluY2x1ZGluZyB0aGUgcmVzb2x2ZWQgcXVldWUuXG4gICAqL1xuICBzdGF0aWMgX3dpdGhRdWV1ZShvcHRpb25zKSB7XG4gICAgY29uc3QgbWVyZ2VkID0gb3B0aW9ucyA/IHsuLi5vcHRpb25zfSA6IHt9XG5cbiAgICBpZiAobWVyZ2VkLnF1ZXVlID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIHRoaXMucXVldWUgPT09IFwic3RyaW5nXCIgJiYgdGhpcy5xdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICBtZXJnZWQucXVldWUgPSB0aGlzLnF1ZXVlXG4gICAgfVxuXG4gICAgcmV0dXJuIG1lcmdlZFxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcGVyZm9ybSBsYXRlci5cbiAgICogQHBhcmFtIHsuLi4/fSBhcmdzIC0gSm9iIGFyZ3MuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IC0gSm9iIGlkLlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIHBlcmZvcm1MYXRlciguLi5hcmdzKSB7XG4gICAgY29uc3Qge2pvYkFyZ3MsIGpvYk9wdGlvbnN9ID0gdGhpcy5fc3BsaXRBcmdzQW5kT3B0aW9ucyhhcmdzKVxuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBCYWNrZ3JvdW5kSm9ic0NsaWVudCgpXG5cbiAgICByZXR1cm4gYXdhaXQgY2xpZW50LmVucXVldWUoe1xuICAgICAgam9iTmFtZTogdGhpcy5qb2JOYW1lKCksXG4gICAgICBhcmdzOiBqb2JBcmdzLFxuICAgICAgb3B0aW9uczogdGhpcy5fd2l0aFF1ZXVlKGpvYk9wdGlvbnMpXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHBlcmZvcm0gbGF0ZXIgd2l0aCBvcHRpb25zLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMuXG4gICAqIEBwYXJhbSB7QXJyYXk8Pz59IGFyZ3MuYXJncyAtIEpvYiBhcmdzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnN9IFthcmdzLm9wdGlvbnNdIC0gSm9iIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IC0gSm9iIGlkLlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIHBlcmZvcm1MYXRlcldpdGhPcHRpb25zKHthcmdzLCBvcHRpb25zfSkge1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBCYWNrZ3JvdW5kSm9ic0NsaWVudCgpXG5cbiAgICByZXR1cm4gYXdhaXQgY2xpZW50LmVucXVldWUoe1xuICAgICAgam9iTmFtZTogdGhpcy5qb2JOYW1lKCksXG4gICAgICBhcmdzLFxuICAgICAgb3B0aW9uczogdGhpcy5fd2l0aFF1ZXVlKG9wdGlvbnMpXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHNwbGl0IGFyZ3MgYW5kIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7QXJyYXk8Pz59IGFyZ3MgLSBKb2IgYXJncy5cbiAgICogQHJldHVybnMge3tqb2JBcmdzOiBBcnJheTw/Piwgam9iT3B0aW9uczogaW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9uc319IC0gU3BsaXQgYXJncyBhbmQgb3B0aW9ucy5cbiAgICovXG4gIHN0YXRpYyBfc3BsaXRBcmdzQW5kT3B0aW9ucyhhcmdzKSB7XG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4ge2pvYkFyZ3M6IFtdLCBqb2JPcHRpb25zOiB7fX1cbiAgICB9XG5cbiAgICBjb25zdCBsYXN0QXJnID0gYXJnc1thcmdzLmxlbmd0aCAtIDFdXG4gICAgY29uc3QgaXNPcHRpb25zQXJnID0gbGFzdEFyZyAmJiB0eXBlb2YgbGFzdEFyZyA9PT0gXCJvYmplY3RcIiAmJiAhQXJyYXkuaXNBcnJheShsYXN0QXJnKSAmJiBcImpvYk9wdGlvbnNcIiBpbiBsYXN0QXJnXG5cbiAgICBpZiAoaXNPcHRpb25zQXJnKSB7XG4gICAgICBjb25zdCB7am9iT3B0aW9uc30gPSAvKiogQHR5cGUge3tqb2JPcHRpb25zOiBpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zfX0gKi8gKGxhc3RBcmcpXG4gICAgICByZXR1cm4ge2pvYkFyZ3M6IGFyZ3Muc2xpY2UoMCwgLTEpLCBqb2JPcHRpb25zOiBqb2JPcHRpb25zIHx8IHt9fVxuICAgIH1cblxuICAgIHJldHVybiB7am9iQXJnczogYXJncywgam9iT3B0aW9uczoge319XG4gIH1cblxuICAvKipcbiAgICogT3ZlcnJpZGUgaW4gc3ViY2xhc3Nlcy5cbiAgICogQHBhcmFtIHtUQXJnc30gX2FyZ3MgLSBKb2IgYXJncyAodGhlIHR1cGxlIHRoaXMgam9iIGNsYXNzIHdhcyBwYXJhbWV0ZXJpemVkIHdpdGgpLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgcGVyZm9ybSguLi5fYXJncykge1xuICAgIHRocm93IG5ldyBFcnJvcihcInBlcmZvcm0gbm90IGltcGxlbWVudGVkXCIpXG4gIH1cbn1cbiJdfQ==
@@ -180,6 +180,12 @@ export default class BackgroundJobsStore {
180
180
  * @returns {Promise<void>} - Resolves when cleared.
181
181
  */
182
182
  clearAll(): Promise<void>;
183
+ /**
184
+ * Cancels a queued or handed-off job and releases any durable concurrency reservation.
185
+ * @param {string} jobId - Job id.
186
+ * @returns {Promise<boolean>} - Whether the job was cancelled.
187
+ */
188
+ cancel(jobId: string): Promise<boolean>;
183
189
  /**
184
190
  * Runs get retry delay ms.
185
191
  * @param {number} retryCount - Retry attempt count (1-based).
@@ -218,6 +224,14 @@ export default class BackgroundJobsStore {
218
224
  * @returns {Promise<void>} - Resolves when complete.
219
225
  */
220
226
  _ensureJobsTableColumns(db: import("../database/drivers/base.js").default): Promise<void>;
227
+ /**
228
+ * Idempotently adds the `queue` column to an existing jobs table. Existing
229
+ * rows read back as the default queue (see {@link _normalizeJobRow}), so no
230
+ * data backfill is required.
231
+ * @param {import("../database/drivers/base.js").default} db - Database connection.
232
+ * @returns {Promise<void>} - Resolves when ensured.
233
+ */
234
+ _ensureQueueColumn(db: import("../database/drivers/base.js").default): Promise<void>;
221
235
  /**
222
236
  * Runs backfill execution modes once.
223
237
  * @param {import("../database/drivers/base.js").default} db - Database connection.
@@ -309,6 +323,99 @@ export default class BackgroundJobsStore {
309
323
  * @returns {import("./types.js").BackgroundJobRow} - Normalized job row.
310
324
  */
311
325
  _normalizeJobRow(row: Record<string, unknown>): import("./types.js").BackgroundJobRow;
326
+ /**
327
+ * Validates concurrency options.
328
+ * @param {import("./types.js").BackgroundJobOptions | undefined} options - Job options.
329
+ * @returns {{concurrencyKey: string, maxConcurrency: number} | null} - Normalized configuration.
330
+ */
331
+ _normalizeConcurrencyOptions(options: import("./types.js").BackgroundJobOptions | undefined): {
332
+ concurrencyKey: string;
333
+ maxConcurrency: number;
334
+ } | null;
335
+ /**
336
+ * Normalizes a job's queue name, defaulting to "default".
337
+ * @param {import("./types.js").BackgroundJobOptions | undefined} options - Job options.
338
+ * @returns {string} - Queue name.
339
+ */
340
+ _normalizeQueue(options: import("./types.js").BackgroundJobOptions | undefined): string;
341
+ /**
342
+ * Resolves a job's durable concurrency. An explicit concurrencyKey/maxConcurrency
343
+ * pair always wins. Otherwise, when the job's queue has a configured cap
344
+ * (`backgroundJobs.queues[queue].maxConcurrent`), derive a queue-scoped
345
+ * concurrency key so the queue cap is enforced cluster-wide through the
346
+ * existing durable concurrency mechanism.
347
+ * @param {import("./types.js").BackgroundJobOptions | undefined} options - Job options.
348
+ * @param {string} queue - Normalized queue name.
349
+ * @returns {{concurrencyKey: string, maxConcurrency: number, queueDerived: boolean} | null} - Resolved concurrency.
350
+ */
351
+ _resolveConcurrency(options: import("./types.js").BackgroundJobOptions | undefined, queue: string): {
352
+ concurrencyKey: string;
353
+ maxConcurrency: number;
354
+ queueDerived: boolean;
355
+ } | null;
356
+ /**
357
+ * Reads the configured max concurrency for a queue from the background-jobs config.
358
+ * @param {string} queue - Queue name.
359
+ * @returns {number | null} - Positive integer cap, or null when the queue has no configured cap.
360
+ */
361
+ _queueMaxConcurrency(queue: string): number | null;
362
+ /**
363
+ * Like {@link _ensureConcurrencyKey}, but for queue-derived keys the configured
364
+ * queue cap is the source of truth: if it changed, update the stored cap
365
+ * instead of throwing on conflict (config-driven caps must be tunable).
366
+ * @param {import("../database/drivers/base.js").default} db - Database connection.
367
+ * @param {{concurrencyKey: string, maxConcurrency: number}} concurrency - Concurrency configuration.
368
+ * @returns {Promise<void>} - Resolves when ensured.
369
+ */
370
+ _ensureQueueConcurrencyKey(db: import("../database/drivers/base.js").default, { concurrencyKey, maxConcurrency }: {
371
+ concurrencyKey: string;
372
+ maxConcurrency: number;
373
+ }): Promise<void>;
374
+ /**
375
+ * Ensures the concurrency state table exists.
376
+ * @param {import("../database/drivers/base.js").default} db - Database connection.
377
+ * @returns {Promise<void>} - Resolves when ready.
378
+ */
379
+ _ensureConcurrencyTable(db: import("../database/drivers/base.js").default): Promise<void>;
380
+ /**
381
+ * Registers or verifies a stable key configuration.
382
+ * @param {import("../database/drivers/base.js").default} db - Database connection.
383
+ * @param {object} concurrency - Concurrency configuration.
384
+ * @param {string} concurrency.concurrencyKey - Concurrency key.
385
+ * @param {number} concurrency.maxConcurrency - Stable cap.
386
+ * @returns {Promise<void>} - Resolves when verified.
387
+ */
388
+ _ensureConcurrencyKey(db: import("../database/drivers/base.js").default, { concurrencyKey, maxConcurrency }: {
389
+ concurrencyKey: string;
390
+ maxConcurrency: number;
391
+ }): Promise<void>;
392
+ /**
393
+ * Atomically reserves capacity for a key.
394
+ * @param {import("../database/drivers/base.js").default} db - Database connection.
395
+ * @param {string} concurrencyKey - Concurrency key.
396
+ * @returns {Promise<boolean>} - Whether capacity was reserved.
397
+ */
398
+ _reserveConcurrency(db: import("../database/drivers/base.js").default, concurrencyKey: string): Promise<boolean>;
399
+ /**
400
+ * Runs a portable update and returns its affected-row count.
401
+ * @param {import("../database/drivers/base.js").default} db - Database connection.
402
+ * @param {import("../database/drivers/base.js").UpdateSqlArgsType} args - Update options.
403
+ * @returns {Promise<number>} - Affected row count.
404
+ */
405
+ _updateAffectedRows(db: import("../database/drivers/base.js").default, args: import("../database/drivers/base.js").UpdateSqlArgsType): Promise<number>;
406
+ /**
407
+ * Releases capacity for a key.
408
+ * @param {import("../database/drivers/base.js").default} db - Database connection.
409
+ * @param {string | null} concurrencyKey - Concurrency key.
410
+ * @returns {Promise<void>} - Resolves when released.
411
+ */
412
+ _releaseConcurrency(db: import("../database/drivers/base.js").default, concurrencyKey: string | null): Promise<void>;
413
+ /**
414
+ * Rebuilds durable counts from active handoffs after startup.
415
+ * @param {import("../database/drivers/base.js").default} db - Database connection.
416
+ * @returns {Promise<void>} - Resolves when reconciled.
417
+ */
418
+ _reconcileConcurrency(db: import("../database/drivers/base.js").default): Promise<void>;
312
419
  /**
313
420
  * Runs normalize number.
314
421
  * @param {?} value - Input value.
@@ -347,18 +454,13 @@ export default class BackgroundJobsStore {
347
454
  */
348
455
  _withDb<T>(callback: (db: import("../database/drivers/base.js").default) => Promise<T>): Promise<T>;
349
456
  /**
350
- * Serializes reports for one job so duplicate reports cannot both appear accepted.
457
+ * Runs a value-returning callback inside the driver's void-typed transaction API.
351
458
  * @template T
352
- * @param {object} args - Options.
353
- * @param {import("../database/drivers/base.js").default} args.db - Database connection.
354
- * @param {string} args.jobId - Job id.
355
- * @param {() => Promise<T>} callback - Locked callback.
459
+ * @param {import("../database/drivers/base.js").default} db - Database connection.
460
+ * @param {() => Promise<T>} callback - Transaction callback.
356
461
  * @returns {Promise<T>} - Callback result.
357
462
  */
358
- _withHandoffLock<T>({ db, jobId }: {
359
- db: import("../database/drivers/base.js").default;
360
- jobId: string;
361
- }, callback: () => Promise<T>): Promise<T>;
463
+ _transactionResult<T>(db: import("../database/drivers/base.js").default, callback: () => Promise<T>): Promise<T>;
362
464
  /**
363
465
  * Runs should accept report.
364
466
  * @param {object} args - Options.
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/store.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/store.js"],"names":[],"mappings":"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"}