prostgles-server 4.2.689 → 4.2.690

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 (56) hide show
  1. package/dist/Auth/AuthHandler.d.ts +2 -0
  2. package/dist/Auth/AuthHandler.d.ts.map +1 -1
  3. package/dist/Auth/AuthHandler.js +17 -4
  4. package/dist/Auth/AuthHandler.js.map +1 -1
  5. package/dist/Auth/AuthTypes.d.ts +10 -8
  6. package/dist/Auth/AuthTypes.d.ts.map +1 -1
  7. package/dist/Auth/AuthTypes.js.map +1 -1
  8. package/dist/Auth/endpoints/setOAuthRequestHandlers.js +1 -1
  9. package/dist/Auth/endpoints/setOAuthRequestHandlers.js.map +1 -1
  10. package/dist/Auth/endpoints/setRegisterRequestHandler.d.ts +1 -1
  11. package/dist/Auth/endpoints/setRegisterRequestHandler.d.ts.map +1 -1
  12. package/dist/Auth/endpoints/setRegisterRequestHandler.js +20 -6
  13. package/dist/Auth/endpoints/setRegisterRequestHandler.js.map +1 -1
  14. package/dist/Auth/getClientAuth.d.ts +1 -1
  15. package/dist/Auth/getClientAuth.d.ts.map +1 -1
  16. package/dist/Auth/getClientAuth.js +18 -8
  17. package/dist/Auth/getClientAuth.js.map +1 -1
  18. package/dist/Auth/setupAuthRoutes.d.ts.map +1 -1
  19. package/dist/Auth/setupAuthRoutes.js +5 -0
  20. package/dist/Auth/setupAuthRoutes.js.map +1 -1
  21. package/dist/Auth/utils/upsertNamedExpressMiddleware.d.ts +2 -2
  22. package/dist/Auth/utils/upsertNamedExpressMiddleware.d.ts.map +1 -1
  23. package/dist/Auth/utils/upsertNamedExpressMiddleware.js +2 -2
  24. package/dist/Auth/utils/upsertNamedExpressMiddleware.js.map +1 -1
  25. package/dist/Jobs/JobManager.d.ts +2 -0
  26. package/dist/Jobs/JobManager.d.ts.map +1 -1
  27. package/dist/Jobs/JobManager.js +11 -0
  28. package/dist/Jobs/JobManager.js.map +1 -1
  29. package/dist/Jobs/JobTypes.d.ts +35 -18
  30. package/dist/Jobs/JobTypes.d.ts.map +1 -1
  31. package/dist/Jobs/JobTypes.js.map +1 -1
  32. package/dist/Jobs/enqueueJob.d.ts +1 -0
  33. package/dist/Jobs/enqueueJob.d.ts.map +1 -1
  34. package/dist/Jobs/enqueueJob.js.map +1 -1
  35. package/dist/Jobs/enqueueSchedules.d.ts.map +1 -1
  36. package/dist/Jobs/enqueueSchedules.js +15 -6
  37. package/dist/Jobs/enqueueSchedules.js.map +1 -1
  38. package/dist/Jobs/getJobRetention.d.ts +10 -0
  39. package/dist/Jobs/getJobRetention.d.ts.map +1 -0
  40. package/dist/Jobs/getJobRetention.js +65 -0
  41. package/dist/Jobs/getJobRetention.js.map +1 -0
  42. package/dist/Jobs/jobTableConfig.d.ts +9 -0
  43. package/dist/Jobs/jobTableConfig.d.ts.map +1 -1
  44. package/dist/Jobs/jobTableConfig.js +9 -0
  45. package/dist/Jobs/jobTableConfig.js.map +1 -1
  46. package/dist/Jobs/pruneJobs.d.ts +4 -0
  47. package/dist/Jobs/pruneJobs.d.ts.map +1 -0
  48. package/dist/Jobs/pruneJobs.js +49 -0
  49. package/dist/Jobs/pruneJobs.js.map +1 -0
  50. package/dist/Jobs/runJob.d.ts.map +1 -1
  51. package/dist/Jobs/runJob.js +7 -3
  52. package/dist/Jobs/runJob.js.map +1 -1
  53. package/dist/index.d.ts +1 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js.map +1 -1
  56. package/package.json +2 -2
@@ -42,6 +42,12 @@ export type ScheduleTrigger = {
42
42
  cron: string;
43
43
  timezone?: string;
44
44
  };
45
+ export type JobRetention = "forever" | Partial<Record<Extract<JobStatus, "succeeded" | "failed" | "cancelled">, string | {
46
+ /** Positive milliseconds or a PostgreSQL interval, measured from finished_at. */
47
+ maxAge?: number | string;
48
+ /** Keep the newest runs of this status. Zero removes all eligible runs. */
49
+ maxCount?: number;
50
+ }>>;
45
51
  export type JobContext<S, T extends JobTableName<S> | undefined, P extends ParamsSchema, Context = undefined> = {
46
52
  /** Re-fetched at the start of each attempt. Undefined for schedules. */
47
53
  row: T extends string ? Required<JobRow<S, T>> : undefined;
@@ -64,23 +70,17 @@ export type JobContext<S, T extends JobTableName<S> | undefined, P extends Param
64
70
  };
65
71
  fail: (reason: string) => never;
66
72
  };
67
- export type JobDefinition<S = void, T extends JobTableName<S> | undefined = JobTableName<S> | undefined, P extends ParamsSchema = ParamsSchema, Context = undefined> = {
68
- trigger: T extends JobTableName<S> ? RowTrigger<S, T> : ScheduleTrigger;
69
- params?: P;
70
- /** Defaults to system. User jobs enforce the triggering/rerunning user's publish rules. */
71
- runAs?: "system" | "user";
72
- retry?: {
73
- maxAttempts: number;
74
- backoff?: "exponential" | "fixed";
75
- delayMs?: number;
76
- };
77
- timeoutMs?: number;
78
- /** Conflicts use the job name and row primary key, or just the name for schedules. */
79
- onConflict?: "queue" | "replace" | "skip";
80
- /** Maximum parallel runs across workers. Defaults to 1. Same-key runs are serialized. */
81
- concurrency?: number;
82
- run: (ctx: JobContext<S, T, P, Context>) => Promise<void>;
83
- };
73
+ export type JobDefinition<S = void, T extends JobTableName<S> | undefined = JobTableName<S> | undefined, P extends ParamsSchema = ParamsSchema, Context = undefined> = JobDefinitionOptions<S, T, P, Context> & (T extends JobTableName<S> ? {
74
+ trigger: RowTrigger<S, T>;
75
+ retention?: never;
76
+ } : {
77
+ trigger: ScheduleTrigger;
78
+ /** Required for schedules. "forever" keeps all history.
79
+ * Per-status strings shorthand maxAge; "forever" or omitted statuses keep their history.
80
+ * Cleanup runs periodically and preserves the current scheduling minute for deduplication.
81
+ */
82
+ retention: JobRetention;
83
+ });
84
84
  export type JobsConfig<S = void, Context = undefined> = Record<string, ({
85
85
  [T in JobTableName<S>]: Omit<JobDefinition<S, T, any, Context>, "params">;
86
86
  }[JobTableName<S>] | Omit<JobDefinition<S, undefined, any, Context>, "params">) & {
@@ -94,8 +94,9 @@ export type JobsOptions<S = void, Context = undefined> = {
94
94
  /** Infers a job's params and row while sharing the application's schema/context. */
95
95
  export declare const createJobDefiner: <S = void, Context = undefined>() => DefineJob<S, Context>;
96
96
  type DefineJob<S, Context> = {
97
- <T extends JobTableName<S>, const P extends ParamsSchema = {}>(definition: Omit<JobDefinition<S, T, P, Context>, "trigger"> & {
97
+ <T extends JobTableName<S>, const P extends ParamsSchema = {}>(definition: JobDefinitionOptions<S, T, P, Context> & {
98
98
  trigger: RowTrigger<S, T>;
99
+ retention?: never;
99
100
  }): JobDefinition<S, T, P, Context>;
100
101
  <const P extends ParamsSchema = {}>(definition: JobDefinition<S, undefined, P, Context>): JobDefinition<S, undefined, P, Context>;
101
102
  };
@@ -144,6 +145,22 @@ export type JobTransaction = {
144
145
  dbx: DbTxTableHandlers;
145
146
  };
146
147
  export type RuntimeJobDefinition = JobDefinition<void, string | undefined, ParamsSchema, unknown>;
148
+ type JobDefinitionOptions<S, T extends JobTableName<S> | undefined, P extends ParamsSchema, Context> = {
149
+ params?: P;
150
+ /** Defaults to system. User jobs enforce the triggering/rerunning user's publish rules. */
151
+ runAs?: "system" | "user";
152
+ retry?: {
153
+ maxAttempts: number;
154
+ backoff?: "exponential" | "fixed";
155
+ delayMs?: number;
156
+ };
157
+ timeoutMs?: number;
158
+ /** Conflicts use the job name and row primary key, or just the name for schedules. */
159
+ onConflict?: "queue" | "replace" | "skip";
160
+ /** Maximum parallel runs across workers. Defaults to 1. Same-key runs are serialized. */
161
+ concurrency?: number;
162
+ run: (ctx: JobContext<S, T, P, Context>) => Promise<void>;
163
+ };
147
164
  type JobTableName<S> = S extends DBSchema ? keyof S & string : string;
148
165
  type JobRow<S, T extends string> = S extends Record<T, {
149
166
  columns: infer R extends AnyObject;
@@ -1 +1 @@
1
- {"version":3,"file":"JobTypes.d.ts","sourceRoot":"","sources":["../../lib/Jobs/JobTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JobTypes.d.ts","sourceRoot":"","sources":["../../lib/Jobs/JobTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"JobTypes.js","sourceRoot":"","sources":["../../lib/Jobs/JobTypes.ts"],"names":[],"mappings":";;;AA4GA,oFAAoF;AAC7E,MAAM,gBAAgB,GAAG,GAAkC,EAAE,CAClE,CAAC,CAAC,UAAmB,EAAE,EAAE,CAAC,UAAU,CAA0B,CAAC;AADpD,QAAA,gBAAgB,oBACoC;AAqBpD,QAAA,kBAAkB,GAAsD;IACnF,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;IACrC,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B,CAAC"}
1
+ {"version":3,"file":"JobTypes.js","sourceRoot":"","sources":["../../lib/Jobs/JobTypes.ts"],"names":[],"mappings":";;;AAwHA,oFAAoF;AAC7E,MAAM,gBAAgB,GAAG,GAAkC,EAAE,CAClE,CAAC,CAAC,UAAmB,EAAE,EAAE,CAAC,UAAU,CAA0B,CAAC;AADpD,QAAA,gBAAgB,oBACoC;AAwBpD,QAAA,kBAAkB,GAAsD;IACnF,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC;IACrC,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B,CAAC"}
@@ -5,6 +5,7 @@ export declare const enqueueJob: (prostgles: Prostgles, transaction: JobTransact
5
5
  userId?: string;
6
6
  params?: Record<string, unknown>;
7
7
  reason?: "trigger" | "rerun";
8
+ /** Cron slot timestamp for deduplication; omitted for row-triggered jobs and manual reruns. */
8
9
  occurrence?: Date;
9
10
  }) => Promise<{
10
11
  jobId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"enqueueJob.d.ts","sourceRoot":"","sources":["../../lib/Jobs/enqueueJob.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5D,2FAA2F;AAC3F,eAAO,MAAM,UAAU,GACrB,WAAW,SAAS,EACpB,aAAa,cAAc,EAC3B,MAAM,MAAM,EACZ,eAAe,SAAS,CAAC,iBAAiB,CAAC,EAC3C,UAAS;IACP,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,IAAI,CAAC;CACd;;;EAuFP,CAAC"}
1
+ {"version":3,"file":"enqueueJob.d.ts","sourceRoot":"","sources":["../../lib/Jobs/enqueueJob.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5D,2FAA2F;AAC3F,eAAO,MAAM,UAAU,GACrB,WAAW,SAAS,EACpB,aAAa,cAAc,EAC3B,MAAM,MAAM,EACZ,eAAe,SAAS,CAAC,iBAAiB,CAAC,EAC3C,UAAS;IACP,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC7B,+FAA+F;IAC/F,UAAU,CAAC,EAAE,IAAI,CAAC;CACd;;;EAuFP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"enqueueJob.js","sourceRoot":"","sources":["../../lib/Jobs/enqueueJob.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enqueueJob.js","sourceRoot":"","sources":["../../lib/Jobs/enqueueJob.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"enqueueSchedules.d.ts","sourceRoot":"","sources":["../../lib/Jobs/enqueueSchedules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,gGAAgG;AAChG,eAAO,MAAM,gBAAgB,GAAU,WAAW,SAAS,EAAE,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,kBAe1F,CAAC"}
1
+ {"version":3,"file":"enqueueSchedules.d.ts","sourceRoot":"","sources":["../../lib/Jobs/enqueueSchedules.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,gGAAgG;AAChG,eAAO,MAAM,gBAAgB,GAAU,WAAW,SAAS,EAAE,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,kBAoB1F,CAAC"}
@@ -1,21 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.enqueueSchedules = void 0;
4
+ const prostgles_types_1 = require("prostgles-types");
4
5
  const enqueueJob_1 = require("./enqueueJob");
5
6
  const cronSchedule_1 = require("./cronSchedule");
6
7
  const jobUtils_1 = require("./jobUtils");
7
8
  /** Deduplicate scheduled occurrences in PostgreSQL, including across instances and restarts. */
8
9
  const enqueueSchedules = async (prostgles, schedules) => {
9
- const { now } = await prostgles.db.one("SELECT clock_timestamp() AS now");
10
10
  for (const [name, { trigger }] of Object.entries(prostgles.opts.jobs?.definitions ?? {})) {
11
11
  if (trigger.type !== "schedule")
12
12
  continue;
13
13
  try {
14
- const occurrence = (0, cronSchedule_1.parseCronSchedule)(trigger)(new Date(now));
15
- if (!occurrence || schedules.get(name) === occurrence.toISOString())
16
- continue;
17
- await prostgles.dboBuilder.getTX((dbx, t) => (0, enqueueJob_1.enqueueJob)(prostgles, { dbx, t }, name, {}, { occurrence }));
18
- schedules.set(name, occurrence.toISOString());
14
+ const occurrence = await prostgles.dboBuilder.getTX(async (dbx, t) => {
15
+ /* Protect deduplication rows from selection through enqueue, including lock waits. */
16
+ await t.one("SELECT pg_advisory_xact_lock_shared(hashtextextended(${lockKey}, 0))", {
17
+ lockKey: (0, prostgles_types_1.stableStringify)([prostgles.jobs.tableSQL, name, "schedule"]),
18
+ });
19
+ const { now } = await t.one("SELECT clock_timestamp() AS now");
20
+ const occurrence = (0, cronSchedule_1.parseCronSchedule)(trigger)(new Date(now));
21
+ if (!occurrence || schedules.get(name) === occurrence.toISOString())
22
+ return;
23
+ await (0, enqueueJob_1.enqueueJob)(prostgles, { dbx, t }, name, {}, { occurrence });
24
+ return occurrence.toISOString();
25
+ });
26
+ if (occurrence)
27
+ schedules.set(name, occurrence);
19
28
  }
20
29
  catch (error) {
21
30
  console.error(`Job schedule ${name} failed`, (0, jobUtils_1.jobError)(error));
@@ -1 +1 @@
1
- {"version":3,"file":"enqueueSchedules.js","sourceRoot":"","sources":["../../lib/Jobs/enqueueSchedules.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,iDAAmD;AACnD,yCAAsC;AAEtC,gGAAgG;AACzF,MAAM,gBAAgB,GAAG,KAAK,EAAE,SAAoB,EAAE,SAA8B,EAAE,EAAE;IAC7F,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,SAAS,CAAC,EAAG,CAAC,GAAG,CAAkB,iCAAiC,CAAC,CAAC;IAC5F,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACzF,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QAC1C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAA,gCAAiB,EAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,WAAW,EAAE;gBAAE,SAAS;YAC9E,MAAM,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAC1C,IAAA,uBAAU,EAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAC5D,CAAC;YACF,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,SAAS,EAAE,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAfW,QAAA,gBAAgB,oBAe3B"}
1
+ {"version":3,"file":"enqueueSchedules.js","sourceRoot":"","sources":["../../lib/Jobs/enqueueSchedules.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAElD,6CAA0C;AAC1C,iDAAmD;AACnD,yCAAsC;AAEtC,gGAAgG;AACzF,MAAM,gBAAgB,GAAG,KAAK,EAAE,SAAoB,EAAE,SAA8B,EAAE,EAAE;IAC7F,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACzF,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU;YAAE,SAAS;QAC1C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;gBACnE,sFAAsF;gBACtF,MAAM,CAAC,CAAC,GAAG,CAAC,sEAAsE,EAAE;oBAClF,OAAO,EAAE,IAAA,iCAAe,EAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;iBACtE,CAAC,CAAC;gBACH,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAkB,iCAAiC,CAAC,CAAC;gBAChF,MAAM,UAAU,GAAG,IAAA,gCAAiB,EAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7D,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,WAAW,EAAE;oBAAE,OAAO;gBAC5E,MAAM,IAAA,uBAAU,EAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBAClE,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,IAAI,UAAU;gBAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,SAAS,EAAE,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AApBW,QAAA,gBAAgB,oBAoB3B"}
@@ -0,0 +1,10 @@
1
+ import type { Prostgles } from "../Prostgles";
2
+ import type { JobRetention } from "./JobTypes";
3
+ export declare const getJobRetention: (prostgles: Prostgles) => Promise<JobRetentionPolicy[]>;
4
+ export type JobRetentionPolicy = {
5
+ jobName: string;
6
+ status: keyof Exclude<JobRetention, "forever">;
7
+ maxAge: string | null;
8
+ maxCount: number | null;
9
+ };
10
+ //# sourceMappingURL=getJobRetention.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getJobRetention.d.ts","sourceRoot":"","sources":["../../lib/Jobs/getJobRetention.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,eAAe,GAAU,WAAW,SAAS,kCAiEzD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getJobRetention = void 0;
4
+ const prostgles_types_1 = require("prostgles-types");
5
+ const getJobRetention = async (prostgles) => {
6
+ const policies = [];
7
+ for (const [jobName, definition] of Object.entries(prostgles.opts.jobs?.definitions ?? {})) {
8
+ const retention = definition.retention;
9
+ if (retention === undefined) {
10
+ if (definition.trigger.type === "schedule") {
11
+ throw new Error(`Invalid job retention for ${jobName}: required for scheduled jobs`);
12
+ }
13
+ continue;
14
+ }
15
+ if (definition.trigger.type !== "schedule" || (retention !== "forever" && !(0, prostgles_types_1.isObject)(retention))) {
16
+ throw new Error(`Invalid job retention for ${jobName}: expected a scheduled job's status policies or "forever"`);
17
+ }
18
+ if (retention === "forever")
19
+ continue;
20
+ for (const [status, value] of Object.entries(retention)) {
21
+ const errorMessage = `Invalid job retention for ${jobName}.${status}`;
22
+ if (status !== "succeeded" && status !== "failed" && status !== "cancelled") {
23
+ throw new Error(`${errorMessage}: expected succeeded, failed or cancelled`);
24
+ }
25
+ if (value === undefined || value === "forever")
26
+ continue;
27
+ if (typeof value !== "string" && !(0, prostgles_types_1.isObject)(value)) {
28
+ throw new Error(`${errorMessage}: expected an interval, forever, or maxAge/maxCount`);
29
+ }
30
+ const policy = typeof value === "string" ? { maxAge: value } : value;
31
+ if (Object.keys(policy).some((key) => key !== "maxAge" && key !== "maxCount") ||
32
+ (policy.maxAge === undefined && policy.maxCount === undefined)) {
33
+ throw new Error(`${errorMessage}: expected an interval, forever, or maxAge/maxCount`);
34
+ }
35
+ const { maxAge, maxCount } = policy;
36
+ if (maxCount !== undefined &&
37
+ (typeof maxCount !== "number" || !Number.isSafeInteger(maxCount) || maxCount < 0)) {
38
+ throw new Error(`${errorMessage}: maxCount must be a non-negative safe integer`);
39
+ }
40
+ let interval = null;
41
+ if (maxAge !== undefined) {
42
+ try {
43
+ if (typeof maxAge !== "string" &&
44
+ (typeof maxAge !== "number" || !Number.isFinite(maxAge) || maxAge <= 0)) {
45
+ throw new Error("Expected milliseconds or a PostgreSQL interval");
46
+ }
47
+ interval = typeof maxAge === "number" ? `${maxAge} milliseconds` : maxAge;
48
+ const { valid } = await prostgles.db.one(`SELECT isfinite(age) AND age > interval '0' AS valid
49
+ FROM (SELECT \${interval}::interval AS age) parsed`, { interval });
50
+ if (!valid)
51
+ throw new Error("Expected a positive finite interval");
52
+ }
53
+ catch (cause) {
54
+ throw new Error(`${errorMessage}: maxAge must be a positive finite PostgreSQL interval`, {
55
+ cause,
56
+ });
57
+ }
58
+ }
59
+ policies.push({ jobName, status, maxAge: interval, maxCount: maxCount ?? null });
60
+ }
61
+ }
62
+ return policies;
63
+ };
64
+ exports.getJobRetention = getJobRetention;
65
+ //# sourceMappingURL=getJobRetention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getJobRetention.js","sourceRoot":"","sources":["../../lib/Jobs/getJobRetention.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,11 @@ export declare const jobTableConfig: {
6
6
  readonly target_row_pkey: "JSONB NOT NULL";
7
7
  readonly params: "JSONB NOT NULL";
8
8
  readonly user_id: "TEXT";
9
+ /**
10
+ * Scheduled cron time, rounded to a minute (five fields) or second (six fields).
11
+ * Together with job_name, prevents duplicate scheduling across workers and restarts.
12
+ * Null for row-triggered jobs and manual reruns.
13
+ */
9
14
  readonly occurrence: "TIMESTAMPTZ";
10
15
  readonly reason: "TEXT NOT NULL DEFAULT 'trigger'";
11
16
  readonly status: "TEXT NOT NULL DEFAULT 'pending'";
@@ -141,6 +146,10 @@ export declare const jobTableConfig: {
141
146
  readonly columns: "job_name";
142
147
  readonly where: "status IN ('pending', 'running')";
143
148
  };
149
+ readonly retention: {
150
+ readonly columns: "job_name, status, finished_at, id";
151
+ readonly where: "target_table IS NULL AND status IN ('succeeded', 'failed', 'cancelled')";
152
+ };
144
153
  };
145
154
  };
146
155
  //# sourceMappingURL=jobTableConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobTableConfig.d.ts","sourceRoot":"","sources":["../../lib/Jobs/jobTableConfig.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDS,CAAC"}
1
+ {"version":3,"file":"jobTableConfig.d.ts","sourceRoot":"","sources":["../../lib/Jobs/jobTableConfig.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,cAAc;;;;;;;;QAQvB;;;;WAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+C6B,CAAC"}
@@ -19,6 +19,11 @@ exports.jobTableConfig = {
19
19
  target_row_pkey: "JSONB NOT NULL",
20
20
  params: "JSONB NOT NULL",
21
21
  user_id: "TEXT",
22
+ /**
23
+ * Scheduled cron time, rounded to a minute (five fields) or second (six fields).
24
+ * Together with job_name, prevents duplicate scheduling across workers and restarts.
25
+ * Null for row-triggered jobs and manual reruns.
26
+ */
22
27
  occurrence: "TIMESTAMPTZ",
23
28
  reason: "TEXT NOT NULL DEFAULT 'trigger'",
24
29
  status: "TEXT NOT NULL DEFAULT 'pending'",
@@ -60,6 +65,10 @@ exports.jobTableConfig = {
60
65
  occurrence: { unique: true, columns: "job_name, occurrence", where: "occurrence IS NOT NULL" },
61
66
  pending: { columns: "job_name, run_at", where: "status = 'pending'" },
62
67
  active: { columns: "job_name", where: "status IN ('pending', 'running')" },
68
+ retention: {
69
+ columns: "job_name, status, finished_at, id",
70
+ where: "target_table IS NULL AND status IN ('succeeded', 'failed', 'cancelled')",
71
+ },
63
72
  },
64
73
  };
65
74
  //# sourceMappingURL=jobTableConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jobTableConfig.js","sourceRoot":"","sources":["../../lib/Jobs/jobTableConfig.ts"],"names":[],"mappings":";;;AAEA,MAAM,MAAM,GAAG;IACb,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,EAAE;IACd,gBAAgB,EAAE,EAAE;IACpB,gBAAgB,EAAE,EAAE;IACpB,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;IAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;CAC9B,CAAC;AAEE,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE;QACP,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,eAAe;QACzB,YAAY,EAAE,MAAM;QACpB,eAAe,EAAE,gBAAgB;QACjC,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,aAAa;QACzB,MAAM,EAAE,iCAAiC;QACzC,MAAM,EAAE,iCAAiC;QACzC,QAAQ,EAAE,4BAA4B;QACtC,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,2BAA2B;QACrC,OAAO,EAAE,eAAe;QACxB,gBAAgB,EAAE,gCAAgC;QAClD,UAAU,EAAE,OAAO;QACnB,cAAc,EAAE,gCAAgC;QAChD,gBAAgB,EAAE,MAAM;QACxB,gBAAgB,EAAE;YAChB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;SAC3D;QACD,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,gDAAgD;QACxD,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,aAAa;QAC3B,UAAU,EAAE,gDAAgD;QAC5D,WAAW,EAAE,aAAa;KAC3B;IACD,KAAK,EAAE;QACL,GAAG,EAAE;YACH,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;YAC3C;gBACE,GAAG,MAAM;gBACT,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;gBAC1B,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;aAC5B;YACD,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9D,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACjF,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;SAC1E;KACF;IACD,OAAO,EAAE;QACP,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,wBAAwB,EAAE;QAC9F,OAAO,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,oBAAoB,EAAE;QACrE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,kCAAkC,EAAE;KAC3E;CACiC,CAAC"}
1
+ {"version":3,"file":"jobTableConfig.js","sourceRoot":"","sources":["../../lib/Jobs/jobTableConfig.ts"],"names":[],"mappings":";;;AAEA,MAAM,MAAM,GAAG;IACb,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,EAAE;IACd,gBAAgB,EAAE,EAAE;IACpB,gBAAgB,EAAE,EAAE;IACpB,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;IAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;CAC9B,CAAC;AAEE,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE;QACP,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,eAAe;QACzB,YAAY,EAAE,MAAM;QACpB,eAAe,EAAE,gBAAgB;QACjC,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,MAAM;QACf;;;;WAIG;QACH,UAAU,EAAE,aAAa;QACzB,MAAM,EAAE,iCAAiC;QACzC,MAAM,EAAE,iCAAiC;QACzC,QAAQ,EAAE,4BAA4B;QACtC,YAAY,EAAE,kBAAkB;QAChC,QAAQ,EAAE,2BAA2B;QACrC,OAAO,EAAE,eAAe;QACxB,gBAAgB,EAAE,gCAAgC;QAClD,UAAU,EAAE,OAAO;QACnB,cAAc,EAAE,gCAAgC;QAChD,gBAAgB,EAAE,MAAM;QACxB,gBAAgB,EAAE;YAChB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;SAC3D;QACD,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,gDAAgD;QACxD,WAAW,EAAE,MAAM;QACnB,YAAY,EAAE,aAAa;QAC3B,UAAU,EAAE,gDAAgD;QAC5D,WAAW,EAAE,aAAa;KAC3B;IACD,KAAK,EAAE;QACL,GAAG,EAAE;YACH,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;YAC3C;gBACE,GAAG,MAAM;gBACT,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;gBAC1B,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;aAC5B;YACD,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAC9D,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACjF,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;SAC1E;KACF;IACD,OAAO,EAAE;QACP,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,wBAAwB,EAAE;QAC9F,OAAO,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,oBAAoB,EAAE;QACrE,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,kCAAkC,EAAE;QAC1E,SAAS,EAAE;YACT,OAAO,EAAE,mCAAmC;YAC5C,KAAK,EAAE,yEAAyE;SACjF;KACF;CACiC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Prostgles } from "../Prostgles";
2
+ import type { JobRetentionPolicy } from "./getJobRetention";
3
+ export declare const pruneJobs: (prostgles: Prostgles, policies: JobRetentionPolicy[]) => Promise<void>;
4
+ //# sourceMappingURL=pruneJobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pruneJobs.d.ts","sourceRoot":"","sources":["../../lib/Jobs/pruneJobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,eAAO,MAAM,SAAS,GAAU,WAAW,SAAS,EAAE,UAAU,kBAAkB,EAAE,kBA6CnF,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pruneJobs = void 0;
4
+ const prostgles_types_1 = require("prostgles-types");
5
+ const jobUtils_1 = require("./jobUtils");
6
+ const pruneJobs = async (prostgles, policies) => {
7
+ const tableSQL = prostgles.jobs.tableSQL;
8
+ for (const policy of policies) {
9
+ try {
10
+ await prostgles.db.tx(async (transaction) => {
11
+ /* Skip cleanup while a scheduler may still enqueue an occurrence selected before this minute. */
12
+ const { locked } = await transaction.one("SELECT pg_try_advisory_xact_lock(hashtextextended(${lockKey}, 0)) AS locked", { lockKey: (0, prostgles_types_1.stableStringify)([tableSQL, policy.jobName, "schedule"]) });
13
+ if (!locked)
14
+ return;
15
+ const jobStatusCondition = `job_name = \${jobName} AND status = \${status} AND target_table IS NULL`;
16
+ await transaction.none(`WITH count_boundary AS (
17
+ SELECT finished_at, id
18
+ FROM ${tableSQL}
19
+ WHERE ${jobStatusCondition}
20
+ AND \${maxCount}::bigint IS NOT NULL
21
+ ORDER BY
22
+ finished_at DESC,
23
+ id DESC
24
+ OFFSET \${maxCount}::bigint LIMIT 1
25
+ ), expired AS (
26
+ SELECT id
27
+ FROM ${tableSQL}
28
+ WHERE ${jobStatusCondition}
29
+ AND (occurrence IS NULL OR occurrence < date_trunc('minute', statement_timestamp()))
30
+ AND (
31
+ finished_at < statement_timestamp() - \${maxAge}::interval
32
+ OR (finished_at, id) <= (SELECT finished_at, id FROM count_boundary)
33
+ )
34
+ ORDER BY
35
+ finished_at,
36
+ id
37
+ FOR UPDATE SKIP LOCKED
38
+ LIMIT 1000
39
+ )
40
+ DELETE FROM ${tableSQL} jobs USING expired WHERE jobs.id = expired.id`, policy);
41
+ });
42
+ }
43
+ catch (error) {
44
+ console.error(`Job retention ${policy.jobName}.${policy.status} failed`, (0, jobUtils_1.jobError)(error));
45
+ }
46
+ }
47
+ };
48
+ exports.pruneJobs = pruneJobs;
49
+ //# sourceMappingURL=pruneJobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pruneJobs.js","sourceRoot":"","sources":["../../lib/Jobs/pruneJobs.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAGlD,yCAAsC;AAE/B,MAAM,SAAS,GAAG,KAAK,EAAE,SAAoB,EAAE,QAA8B,EAAE,EAAE;IACtF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,EAAG,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;gBAC3C,iGAAiG;gBACjG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,CACtC,6EAA6E,EAC7E,EAAE,OAAO,EAAE,IAAA,iCAAe,EAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,EAAE,CACrE,CAAC;gBACF,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACpB,MAAM,kBAAkB,GAAG,yEAAyE,CAAC;gBACrG,MAAM,WAAW,CAAC,IAAI,CACpB;;mBAES,QAAQ;oBACP,kBAAkB;;;;;;;;mBAQnB,QAAQ;oBACP,kBAAkB;;;;;;;;;;;;wBAYd,QAAQ,gDAAgD,EACtE,MAAM,CACP,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,SAAS,EAAE,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AA7CW,QAAA,SAAS,aA6CpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"runJob.d.ts","sourceRoot":"","sources":["../../lib/Jobs/runJob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,OAAO,KAAK,EAAc,SAAS,EAAgB,MAAM,YAAY,CAAC;AAGtE,eAAO,MAAM,MAAM,GACjB,WAAW,SAAS,EACpB,KAAK,OAAO,CAAC,SAAS,EAAE;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,EAC9C,YAAY,eAAe,EAC3B,UAAU,MAAM,OAAO,kBAkKxB,CAAC"}
1
+ {"version":3,"file":"runJob.d.ts","sourceRoot":"","sources":["../../lib/Jobs/runJob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,OAAO,KAAK,EAAc,SAAS,EAAgB,MAAM,YAAY,CAAC;AAGtE,eAAO,MAAM,MAAM,GACjB,WAAW,SAAS,EACpB,KAAK,OAAO,CAAC,SAAS,EAAE;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,EAC9C,YAAY,eAAe,EAC3B,UAAU,MAAM,OAAO,kBAsKxB,CAAC"}
@@ -133,9 +133,13 @@ const runJob = async (prostgles, job, controller, stopping) => {
133
133
  const status = !failure ? "succeeded"
134
134
  : retry ? "pending"
135
135
  : "failed";
136
- await db.none(`UPDATE ${tableSQL}
137
- SET status = CASE WHEN cancel_requested THEN 'cancelled' ELSE \${status} END,
138
- error = \${error:json}, lease_token = NULL, locked_until = NULL,
136
+ await db.none(`
137
+ UPDATE ${tableSQL}
138
+ SET
139
+ status = CASE WHEN cancel_requested THEN 'cancelled' ELSE \${status} END,
140
+ error = \${error:json},
141
+ lease_token = NULL,
142
+ locked_until = NULL,
139
143
  run_at = clock_timestamp() + \${delayMs} * interval '1 millisecond',
140
144
  finished_at = CASE WHEN cancel_requested OR \${status} <> 'pending' THEN clock_timestamp() ELSE NULL END
141
145
  WHERE ${owned}
@@ -1 +1 @@
1
- {"version":3,"file":"runJob.js","sourceRoot":"","sources":["../../lib/Jobs/runJob.ts"],"names":[],"mappings":";;;AACA,0DAA6D;AAC7D,yDAAsD;AACtD,mDAAgD;AAEhD,yCAAyE;AAElE,MAAM,MAAM,GAAG,KAAK,EACzB,SAAoB,EACpB,GAA8C,EAC9C,UAA2B,EAC3B,QAAuB,EACvB,EAAE;IACF,MAAM,EAAE,GAAG,SAAS,CAAC,EAAG,CAAC;IACzB,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzC,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;IAC7D,MAAM,KAAK,GACT,2GAA2G,CAAC;IAC9G,MAAM,KAAK,GAAG,KAAK,EAAE,GAAW,EAAE,MAA+B,EAAE,EAAE;QACnE,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,CAC/B,UAAU,QAAQ,QAAQ,GAAG,UAAU,KAAK,wCAAwC,EACpF,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,EAAE,CACxB,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAC3D,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;IACF,IAAI,SAAoD,CAAC;IACzD,IAAI,OAAkD,CAAC;IACvD,IAAI,aAAa,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IACtC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,QAAQ;YAAE,OAAO;QACrB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC1B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,SAAS,CAC5B;mBACS,QAAQ;;kBAET,KAAK;;SAEd,EACC,KAAK,CACN,CAAC;gBACF,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,gBAAgB;oBAC9B,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,EAAE;iBACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAClD,OAAO,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,SAAS,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC,CAAC;IACF,KAAK,EAAE,CAAC;IACR,IAAI,OAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACnC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,mCAAgB,EAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO,GAAG,UAAU,CAClB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,EAClD,UAAU,CAAC,SAAS,CACrB,CAAC;YACF,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAa,EAAC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;QACrF,MAAM,GAAG,GACP,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;YACjC,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC;YAC7E,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG;YAC3C,MAAM,IAAI,4BAAiB,CAAC,qCAAqC,CAAC,CAAC;QACrE,MAAM,UAAU,GAAgE;YAC9E,GAAG,OAAO;YACV,GAAG;YACH,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE;YAC3F,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC9B,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACtB,IAAI,GAAG,CAAC;oBACR,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACvB,KAAK,GAAG,CAAC;oBACT,IAAI,GAAG,KAAK,EACZ,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;gBACJ,CAAC;gBACD,MAAM,KAAK,CAAC,qCAAqC,EAAE;oBACjD,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;iBAC1B,CAAC,CAAC;YACL,CAAC;YACD,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,OAAO,EAAE,CAAC;YACjF,UAAU,EAAE;gBACV,GAAG,EAAE,KAAK,IAAO,EAAE;oBACjB,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,CAC/B,0CAA0C,QAAQ,UAAU,KAAK,2BAA2B,EAC5F,KAAK,CACN,CAAC;oBACF,IAAI,CAAC,MAAM;wBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBAC5D,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/D,CAAC;gBACD,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;oBACxB,IAAA,yBAAc,EAAC,UAAU,CAAC,CAAC;oBAC3B,MAAM,KAAK,CAAC,wDAAwD,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACxF,CAAC;aACF;YACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;gBACf,MAAM,IAAI,4BAAiB,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;SACF,CAAC;QACF,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACnC,MAAM,SAAS,CAAC,gBAAgB,CAC9B;YACE,GAAG,IAAA,yCAAsB,EAAC,SAAS,CAAC;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE;gBACX;oBACE,IAAI,EAAE,UAAU;oBAChB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,YAAY,EAAE,GAAG,CAAC,QAAQ;oBAC1B,cAAc,EACZ,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;wBACjC;4BACE;gCACE,OAAO,EAAE,KAAK;gCACd,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK;gCACnC,OAAO,EAAE,GAAG,CAAC,eAAe;6BAC7B;yBACF;wBACH,CAAC,CAAC,EAAE;iBACP;aACF;SACF,EACD,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CACjC,CAAC;QACF,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,QAAQ,GAAG,IAAI,CAAC;QAChB,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,MAAM,aAAa,CAAC;IACtB,CAAC;IACD,IAAI,QAAQ,EAAE,EAAE,CAAC;QACf,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,QAAQ,+CAA+C,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GACT,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,YAAY,4BAAiB,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC;IAC9F,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACtB,aAAa,EACb,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC7E,CAAC;IACF,MAAM,MAAM,GACV,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;QACtB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;YACnB,CAAC,CAAC,QAAQ,CAAC;IACb,MAAM,EAAE,CAAC,IAAI,CACX,UAAU,QAAQ;;;;;YAKV,KAAK;GACd,EACC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAC/E,CAAC;AACJ,CAAC,CAAC;AAtKW,QAAA,MAAM,UAsKjB"}
1
+ {"version":3,"file":"runJob.js","sourceRoot":"","sources":["../../lib/Jobs/runJob.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export declare const createProstgles: <S = void, SUser extends SessionUser = Ses
9
9
  export * from "./PublishParser/defineServerFunction";
10
10
  export { createJobDefiner } from "./Jobs/JobTypes";
11
11
  export { createJobControlFunctionDefiner } from "./Jobs/createJobControlFunctionDefiner";
12
- export type { JobsConfig, JobsOptions, JobDefinition, JobContext, RowTrigger, ScheduleTrigger, ParamsSchema, ParamsOutput, Jobs, JobRecord, JobStatus, JobControlOperation, JobControlOptions, JobControlFunctionMetadata, JobControlBinding, } from "./Jobs/JobTypes";
12
+ export type { JobsConfig, JobsOptions, JobDefinition, JobRetention, JobContext, RowTrigger, ScheduleTrigger, ParamsSchema, ParamsOutput, Jobs, JobRecord, JobStatus, JobControlOperation, JobControlOptions, JobControlFunctionMetadata, JobControlBinding, } from "./Jobs/JobTypes";
13
13
  export * from "./Auth/AuthTypes";
14
14
  export type { ExecutionContext, FunctionInvocation, TriggerInvocation, JobControlInvocation, } from "./ExecutionContext";
15
15
  export type { PublishContextValue, Publish, PublishObject, PublishAllTables, PublishedResult, BeforeEachTsTrigger, AfterAllTsTrigger, AfterCommitTsTrigger, AfterEachTsTrigger, PublishProfile, PublishParams, } from "./PublishParser/publishTypesAndUtils";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AAExE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE,iBAAS,SAAS,CAChB,CAAC,GAAG,IAAI,EACR,KAAK,SAAS,WAAW,GAAG,WAAW,EACvC,OAAO,GAAG,SAAS,EACnB,YAAY,GAAG,CAAC,EAChB,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAI9B,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CACtE;AAED,qFAAqF;AACrF,eAAO,MAAM,eAAe,GAC1B,CAAC,GAAG,IAAI,EACR,KAAK,SAAS,WAAW,GAAG,WAAW,EACvC,YAAY,GAAG,CAAC,QAER,OAAO,GAAG,SAAS,EAAE,QAAQ,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,yDAE7E,CAAC;AACF,cAAc,sCAAsC,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AACzF,YAAY,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,mBAAmB,EACnB,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,aAAa,GACd,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACpG,YAAY,EACV,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,YAAY,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACvF,cAAc,uCAAuC,CAAC;AACtD,YAAY,EACV,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,EAAE,EACF,UAAU,EACV,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,mBAAmB,gCAAgC,CAAC;AACpD,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,yBAAyB,CAAC;AAC7C,cAAc,2CAA2C,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC/E,eAAe,SAAS,CAAC;AACzB,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA6C;AAsGpC,2FAtGA,4BAAU,OAsGA;AAnGnB,2CAAwC;AAExC,yDAAiE;AAAxD,+GAAA,kBAAkB,OAAA;AAE3B,SAAS,SAAS,CAKhB,MAA+C;IAC/C,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAiE,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAA0C,EAAE;QAClE,IAAI,EAAE,MAAM;KACb,CAAoE,CAAC;AACxE,CAAC;AAED,qFAAqF;AAC9E,MAAM,eAAe,GAAG,GAI3B,EAAE;IACJ,OAAO,CAAsB,MAA+C,EAAE,EAAE,CAC9E,SAAS,CAAkC,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B;AACF,uEAAqD;AACrD,4CAAmD;AAA1C,4GAAA,gBAAgB,OAAA;AACzB,0FAAyF;AAAhF,kJAAA,+BAA+B,OAAA;AAkBxC,mDAAiC;AA+BjC,wEAAsD;AAmBtD,4EAA0D;AAE1D,kBAAe,SAAS,CAAC;AAGzB,4EAA2E;AAAlE,wHAAA,kBAAkB,OAAA;AAC3B,iDAM4B;AAL1B,4HAAA,8BAA8B,OAAA;AAC9B,sHAAA,wBAAwB,OAAA;AACxB,iHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA6C;AAuGpC,2FAvGA,4BAAU,OAuGA;AApGnB,2CAAwC;AAExC,yDAAiE;AAAxD,+GAAA,kBAAkB,OAAA;AAE3B,SAAS,SAAS,CAKhB,MAA+C;IAC/C,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAiE,CAAC,CAAC;IAC9F,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAA0C,EAAE;QAClE,IAAI,EAAE,MAAM;KACb,CAAoE,CAAC;AACxE,CAAC;AAED,qFAAqF;AAC9E,MAAM,eAAe,GAAG,GAI3B,EAAE;IACJ,OAAO,CAAsB,MAA+C,EAAE,EAAE,CAC9E,SAAS,CAAkC,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B;AACF,uEAAqD;AACrD,4CAAmD;AAA1C,4GAAA,gBAAgB,OAAA;AACzB,0FAAyF;AAAhF,kJAAA,+BAA+B,OAAA;AAmBxC,mDAAiC;AA+BjC,wEAAsD;AAmBtD,4EAA0D;AAE1D,kBAAe,SAAS,CAAC;AAGzB,4EAA2E;AAAlE,wHAAA,kBAAkB,OAAA;AAC3B,iDAM4B;AAL1B,4HAAA,8BAA8B,OAAA;AAC9B,sHAAA,wBAAwB,OAAA;AACxB,iHAAA,mBAAmB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.689",
3
+ "version": "4.2.690",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -58,7 +58,7 @@
58
58
  "pg": "^8.23.1",
59
59
  "pg-cursor": "^2.22.1",
60
60
  "pg-promise": "^12.7.1",
61
- "prostgles-types": "^4.0.309"
61
+ "prostgles-types": "^4.0.311"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@eslint/js": "^9.22.0",