@dbos-inc/dbos-sdk 4.24.11-preview → 4.24.13-preview

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.
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getQueue = exports.getOrCreateQueue = exports.registerPollerQueue = exports.enqueueWorkflows = exports.prepareEnqueuedWorkflow = void 0;
4
+ /**
5
+ * Entry point for event receivers (Kafka, SQS, ...) that live in their own packages.
6
+ *
7
+ * This is not part of the user-facing API: it exists so a receiver can reach the internals it
8
+ * needs — chiefly durable batch enqueue — without those internals landing on the `DBOS` class.
9
+ */
10
+ const dbos_executor_1 = require("./dbos-executor");
11
+ const decorators_1 = require("./decorators");
12
+ const wfqueue_1 = require("./wfqueue");
13
+ /**
14
+ * Build, without persisting, an ENQUEUED row for `workflow`, to be durably enqueued in bulk by
15
+ * {@link enqueueWorkflows}. Together they let a receiver enqueue a batch of workflows in one
16
+ * transaction instead of one transaction per workflow.
17
+ *
18
+ * Any ambient DBOS context is ignored: the row inherits no parent, auth, or attributes.
19
+ */
20
+ async function prepareEnqueuedWorkflow(workflow, args, options) {
21
+ (0, decorators_1.ensureDBOSIsLaunched)('prepareEnqueuedWorkflow');
22
+ return await dbos_executor_1.DBOSExecutor.globalInstance.prepareEnqueuedWorkflow(workflow, args, options);
23
+ }
24
+ exports.prepareEnqueuedWorkflow = prepareEnqueuedWorkflow;
25
+ /**
26
+ * Durably enqueue a batch of workflows built by {@link prepareEnqueuedWorkflow}, in a single
27
+ * transaction. Workflows whose ID already exists are skipped rather than updated, so redelivering
28
+ * the same batch is a no-op and each workflow runs exactly once.
29
+ *
30
+ * Throws rather than retrying if the database is unreachable, so the caller keeps control: retry
31
+ * the same batch until it succeeds, and commit nothing to the source until it does.
32
+ *
33
+ * @returns The IDs of the workflows actually enqueued by this call.
34
+ */
35
+ async function enqueueWorkflows(workflows) {
36
+ (0, decorators_1.ensureDBOSIsLaunched)('enqueueWorkflows');
37
+ return await dbos_executor_1.DBOSExecutor.globalInstance.systemDatabase.enqueueWorkflows(workflows);
38
+ }
39
+ exports.enqueueWorkflows = enqueueWorkflows;
40
+ /**
41
+ * Mark a queue as fed by this process's own poller (e.g. a Kafka consumer), so it is always
42
+ * dispatched even when a `listenQueues` filter names only other queues. Without this, workflows
43
+ * the poller enqueues would sit ENQUEUED forever.
44
+ *
45
+ * Must be called before `DBOS.launch`, when the queue dispatcher takes its snapshot.
46
+ */
47
+ function registerPollerQueue(name) {
48
+ wfqueue_1.wfQueueRunner.pollerQueueNames.add(name);
49
+ }
50
+ exports.registerPollerQueue = registerPollerQueue;
51
+ /**
52
+ * Get the in-memory queue registered under `name` in this process, creating it if there is none.
53
+ *
54
+ * A receiver must resolve its internal queues through this rather than caching them: a registry
55
+ * clear (`DBOS.shutdown({ deregister: true })`) drops the registration, and a cached queue would
56
+ * silently stop being dispatched, leaving its workflows ENQUEUED forever.
57
+ */
58
+ function getOrCreateQueue(name, params = {}) {
59
+ return wfqueue_1.wfQueueRunner.wfQueuesByName.get(name) ?? new wfqueue_1.WorkflowQueue(name, params);
60
+ }
61
+ exports.getOrCreateQueue = getOrCreateQueue;
62
+ /**
63
+ * Look up a queue by name: an in-memory queue registered in this process if there is one,
64
+ * otherwise a database-backed queue. Returns `null` if neither exists.
65
+ */
66
+ async function getQueue(name) {
67
+ const inMemory = wfqueue_1.wfQueueRunner.wfQueuesByName.get(name);
68
+ if (inMemory)
69
+ return inMemory;
70
+ (0, decorators_1.ensureDBOSIsLaunched)('getQueue');
71
+ const record = await dbos_executor_1.DBOSExecutor.globalInstance.systemDatabase.getQueue(name);
72
+ return record === null ? null : wfqueue_1.WorkflowQueue._fromRecord(record);
73
+ }
74
+ exports.getQueue = getQueue;
75
+ //# sourceMappingURL=eventreceiver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventreceiver.js","sourceRoot":"","sources":["../../src/eventreceiver.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,mDAA+E;AAC/E,6CAAwE;AAExE,uCAA0E;AAU1E;;;;;;GAMG;AACI,KAAK,UAAU,uBAAuB,CAC3C,QAAkC,EAClC,IAAO,EACP,OAAuC;IAEvC,IAAA,iCAAoB,EAAC,yBAAyB,CAAC,CAAC;IAChD,OAAO,MAAM,4BAAY,CAAC,cAAe,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7F,CAAC;AAPD,0DAOC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,gBAAgB,CAAC,SAA6B;IAClE,IAAA,iCAAoB,EAAC,kBAAkB,CAAC,CAAC;IACzC,OAAO,MAAM,4BAAY,CAAC,cAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACvF,CAAC;AAHD,4CAGC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,uBAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAFD,kDAEC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,IAAY,EAAE,SAA0B,EAAE;IACzE,OAAO,uBAAa,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnF,CAAC;AAFD,4CAEC;AAED;;;GAGG;AACI,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAA,iCAAoB,EAAC,UAAU,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,4BAAY,CAAC,cAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChF,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpE,CAAC;AAND,4BAMC"}
@@ -258,6 +258,17 @@ export declare class SystemDatabase {
258
258
  deadlineEpochMS?: number;
259
259
  serialization: SysDBSerializationFormat | null;
260
260
  }>;
261
+ /**
262
+ * Batch-insert ENQUEUED workflow status rows in a single transaction.
263
+ *
264
+ * Rows whose workflow_uuid already exists are skipped rather than updated, making this
265
+ * idempotent under redelivery (e.g. Kafka). Returns the IDs of the rows actually inserted.
266
+ *
267
+ * Deliberately not `@dbRetry()`-decorated, unlike its neighbours: that loop is unabortable, so a
268
+ * connection outage would trap the caller in it rather than let it back off and observe a
269
+ * shutdown. Callers retry this themselves.
270
+ */
271
+ enqueueWorkflows(statuses: WorkflowStatusInternal[]): Promise<Set<string>>;
261
272
  recordWorkflowOutput(workflowID: string, status: WorkflowStatusInternal): Promise<void>;
262
273
  recordWorkflowError(workflowID: string, status: WorkflowStatusInternal): Promise<void>;
263
274
  getPendingWorkflows(executorID: string, appVersion: string): Promise<GetPendingWorkflowsOutput[]>;
@@ -327,8 +338,8 @@ export declare class SystemDatabase {
327
338
  awaitWorkflowIds(workflowIds: string[], callerID?: string, pollingIntervalMs?: number): Promise<void>;
328
339
  durableSleepms(workflowID: string, functionID: number, durationMS: number): Promise<void>;
329
340
  readonly nullTopic = "__null__topic__";
330
- send(workflowID: string, functionID: number, destinationID: string, message: string | null, topic: string | undefined, serialization: string | null, messageUUID?: string): Promise<void>;
331
- sendDirect(destinationID: string, message: string | null, topic: string | undefined, serialization: string | null, messageUUID?: string): Promise<void>;
341
+ send(workflowID: string, functionID: number, destinationID: string, message: string | null, topic: string | undefined, serialization: string | null, idempotencyKey?: string): Promise<void>;
342
+ sendDirect(destinationID: string, message: string | null, topic: string | undefined, serialization: string | null, idempotencyKey?: string): Promise<void>;
332
343
  recv(workflowID: string, functionID: number, timeoutFunctionID: number, topic?: string, timeoutSeconds?: number, pollingIntervalMs?: number): Promise<{
333
344
  serializedValue: string | null;
334
345
  serialization: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"system_database.d.ts","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":";AAAA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAiB,IAAI,EAAE,UAAU,EAAgD,MAAM,IAAI,CAAC;AAWnG,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAEL,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,OAAO,EAKP,wBAAwB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAuD,SAAS,EAAwB,MAAM,SAAS,CAAC;AAC/G,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAY1C,OAAO,EAAoB,cAAc,EAAa,MAAM,iBAAiB,CAAC;AAG9E,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,uBAAuB,EAAE,uBAAuB,EAAE,CAAC;IACnD,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAC9C,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAC9C,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAChD,eAAO,MAAM,uBAAuB,cAAc,CAAC;AACnD,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAC5D,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAC5D,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAEpE,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,uEAAuE;AACvE,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAyBnE,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAGD,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAE7B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAID,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAE7B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,iBAAiB,EAAE,OAAO,CAAC;IAE3B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAOD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,iBAAiB,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,UAAU,GAAE,MAAe,GAC1B,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,IAAI,EACjB,UAAU,GAAE,MAAe,EAC3B,eAAe,GAAE,OAAc,iBA6ChC;AAED,cAAM,eAAe,CAAC,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAa;IAC/D,KAAK,EAAE,MAAM,CAAK;IAElB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI;;;;IASrD,kBAAkB,CAAC,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE;IAUjD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;CAOrC;AAgND;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;;IA6CvB,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY;IAC7B,QAAQ,CAAC,UAAU,EAAE,cAAc;IA7CrC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAoB5B,mBAAmB,EAAE,UAAU,GAAG,IAAI,CAAQ;IAC9C,yBAAyB,EAAE,MAAM,CAAQ;IACzC,wBAAwB,EAAE,MAAM,CAAS;IACzC,wBAAwB,EAAE,OAAO,CAAQ;IACzC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAyB;IACzE,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAyB;IAC1E,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,CAAyB;IACnE,UAAU,EAAE,OAAO,CAAS;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAEhC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAC9B,MAAM,EACN;QAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAC9E,CAAa;gBAGH,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,cAAc,EACnC,aAAa,GAAE,MAA0B,EACzC,kBAAkB,CAAC,EAAE,IAAI,EACzB,UAAU,GAAE,MAAe,EAC3B,eAAe,GAAE,OAAc,EAC/B,kBAAkB,CAAC,EAAE,MAAM;IAiC7B,aAAa,IAAI,cAAc;IAIzB,IAAI;IAcJ,OAAO;IAgBP,kBAAkB,CACtB,UAAU,EAAE,sBAAsB,EAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,OAAO,CAAC,EAAE;QACR,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA,OAAO,CAAC;QACT,MAAM,EAAE,MAAM,CAAC;QACf,2BAA2B,EAAE,OAAO,CAAC;QACrC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,wBAAwB,GAAG,IAAI,CAAC;KAChD,CAAC;IAiFI,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvF,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCtF,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAgBjG,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB1F,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IA2BnC,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,EACxD,qBAAqB,EAAE,OAAO,EAC9B,eAAe,CAAC,EAAE;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA,OAAO,CAAC,IAAI,CAAC;IAaV,qCAAqC,CACzC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAS5C,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAgBzG,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,OAAO,EACtB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE;QACP,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GACL,OAAO,CAAC,IAAI,CAAC;IAmBV,oBAAoB,CACxB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GACvD,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAmC5C,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IA4C/C,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtF,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAczE,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxE,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpF;;;;;;;;OAQG;IACG,uBAAuB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC;YAQrF,iCAAiC;IAyFzC,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc1D,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAetF,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QACP,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC,GACL,OAAO,CAAC,MAAM,CAAC;IAMZ,eAAe,CACnB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE;QACP,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KAClB,GACL,OAAO,CAAC,MAAM,EAAE,CAAC;YA2DN,iBAAiB;IA2MzB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,GAAE,OAAe,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAuFhG,cAAc,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8HlE,uBAAuB,CACrB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,EACjC,SAAS,EAAE,MAAM,IAAI,EACrB,SAAS,CAAC,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,MAAM;IAiB5B,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIpD,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI9C,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM;IAQ9E,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCtC,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAmD5C,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B3G,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BrG,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/F,QAAQ,CAAC,SAAS,qBAAqB;IAGjC,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAgCV,UAAU,CACd,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAoBV,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,cAAc,GAAE,MAAmD,EACnE,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAyHtE,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,OAAO,CAAC,IAAI,CAAC;IAmCV,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,EACD,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IA0GtE,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAuBnC,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgC9E,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,OAAO,CAAC,IAAI,CAAC;IAkCV,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAqCV,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/E,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAuB/D,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAkBlE,mBAAmB,CACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IA6B/F,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IA2B3E,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3C,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa1D,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAe3F,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYxD,6BAA6B,CACjC,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC;IA4Kd,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAwL1E,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAoLzF,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA4H7E,cAAc,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCtF,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA6CrE,cAAc,CAAC,QAAQ,EAAE,wBAAwB,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BtF,aAAa,CACjB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,EAClH,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAwDhC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAyBxF,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnF,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnE,cAAc,CAAC,SAAS,EAAE,wBAAwB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CpE,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3F,uBAAuB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAcjD,2BAA2B,IAAI,OAAO,CAAC,WAAW,CAAC;IAqBnD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAWnD,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IASpC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzE;;iCAE6B;IACvB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAiDnE,oBAAoB;YAgHpB,sBAAsB;YAQtB,oBAAoB;YAqGpB,6BAA6B;IA6J3C;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAQ;CA+EhD"}
1
+ {"version":3,"file":"system_database.d.ts","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":"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"}
@@ -397,6 +397,8 @@ class SystemDatabase {
397
397
  */
398
398
  pollLimiter;
399
399
  runningWorkflowMap = new Map(); // Map from workflowID to workflow promise, queue name and partition key
400
+ // Per-partition-key created_at cursors: keep per-key queue order monotonic across batches
401
+ #batchCreatedAtCursors = new Map();
400
402
  constructor(systemDatabaseUrl, logger, serializer, sysDbPoolSize = exports.DEFAULT_POOL_SIZE, systemDatabasePool, schemaName = 'dbos', useListenNotify = true, pollingConcurrency) {
401
403
  this.systemDatabaseUrl = systemDatabaseUrl;
402
404
  this.logger = logger;
@@ -527,6 +529,150 @@ class SystemDatabase {
527
529
  }
528
530
  }
529
531
  }
532
+ /** Highest created_at among still-active rows per partition key, used to seed the in-memory cursor. */
533
+ async #maxPartitionKeyCreatedAt(keys) {
534
+ const maxima = new Map();
535
+ if (keys.length === 0)
536
+ return maxima;
537
+ const { rows } = await this.pool.query(`SELECT queue_partition_key, MAX(created_at) AS max_created_at
538
+ FROM "${this.schemaName}".workflow_status
539
+ WHERE queue_partition_key = ANY($1) AND status = ANY($2)
540
+ GROUP BY queue_partition_key`, [keys, [workflow_1.StatusString.ENQUEUED, workflow_1.StatusString.PENDING]]);
541
+ for (const row of rows) {
542
+ if (row.max_created_at !== null) {
543
+ maxima.set(row.queue_partition_key, Number(row.max_created_at));
544
+ }
545
+ }
546
+ return maxima;
547
+ }
548
+ /**
549
+ * Stamp created_at monotonic within each partition key so per-key order holds across batches.
550
+ * Unordered rows (no partition key) get wall-clock time and never touch the cursors.
551
+ */
552
+ async #assignBatchCreatedAt(statuses) {
553
+ const nowMS = Date.now();
554
+ const batchKeys = new Set();
555
+ for (const status of statuses) {
556
+ if (status.queuePartitionKey !== undefined) {
557
+ batchKeys.add(status.queuePartitionKey);
558
+ }
559
+ }
560
+ // On first sight of a key, seed its cursor from the DB high-water mark so per-key order
561
+ // survives a restart or rebalance instead of resetting to wall-clock.
562
+ const unseen = Array.from(batchKeys).filter((key) => !this.#batchCreatedAtCursors.has(key));
563
+ const seeds = await this.#maxPartitionKeyCreatedAt(unseen);
564
+ // Synchronous from here, so a concurrent batch cannot interleave with these cursor updates.
565
+ for (const [key, seededMax] of seeds) {
566
+ // max() guards against a concurrent batch that already advanced this key.
567
+ this.#batchCreatedAtCursors.set(key, Math.max(this.#batchCreatedAtCursors.get(key) ?? 0, seededMax + 1));
568
+ }
569
+ const createdAts = [];
570
+ const nextForKey = new Map();
571
+ for (const status of statuses) {
572
+ const key = status.queuePartitionKey;
573
+ if (key === undefined) {
574
+ createdAts.push(nowMS);
575
+ continue;
576
+ }
577
+ const value = nextForKey.get(key) ?? Math.max(nowMS, this.#batchCreatedAtCursors.get(key) ?? 0);
578
+ createdAts.push(value);
579
+ nextForKey.set(key, value + 1);
580
+ }
581
+ for (const [key, next] of nextForKey) {
582
+ this.#batchCreatedAtCursors.set(key, next);
583
+ }
584
+ return createdAts;
585
+ }
586
+ /**
587
+ * Batch-insert ENQUEUED workflow status rows in a single transaction.
588
+ *
589
+ * Rows whose workflow_uuid already exists are skipped rather than updated, making this
590
+ * idempotent under redelivery (e.g. Kafka). Returns the IDs of the rows actually inserted.
591
+ *
592
+ * Deliberately not `@dbRetry()`-decorated, unlike its neighbours: that loop is unabortable, so a
593
+ * connection outage would trap the caller in it rather than let it back off and observe a
594
+ * shutdown. Callers retry this themselves.
595
+ */
596
+ async enqueueWorkflows(statuses) {
597
+ const inserted = new Set();
598
+ if (statuses.length === 0)
599
+ return inserted;
600
+ for (const status of statuses) {
601
+ if (status.status !== workflow_1.StatusString.ENQUEUED) {
602
+ throw new error_1.DBOSError(`enqueueWorkflows only accepts ${workflow_1.StatusString.ENQUEUED} workflows, but ${status.workflowUUID} is ${status.status}`);
603
+ }
604
+ if (status.deduplicationID !== undefined) {
605
+ throw new error_1.DBOSError(`enqueueWorkflows does not support deduplication IDs, but ${status.workflowUUID} has one`);
606
+ }
607
+ }
608
+ const createdAts = await this.#assignBatchCreatedAt(statuses);
609
+ const columns = [
610
+ 'workflow_uuid',
611
+ 'status',
612
+ 'name',
613
+ 'class_name',
614
+ 'config_name',
615
+ 'queue_name',
616
+ 'authenticated_user',
617
+ 'assumed_role',
618
+ 'authenticated_roles',
619
+ 'request',
620
+ 'executor_id',
621
+ 'application_version',
622
+ 'application_id',
623
+ 'created_at',
624
+ 'recovery_attempts',
625
+ 'updated_at',
626
+ 'workflow_timeout_ms',
627
+ 'workflow_deadline_epoch_ms',
628
+ 'inputs',
629
+ 'deduplication_id',
630
+ 'priority',
631
+ 'queue_partition_key',
632
+ 'parent_workflow_id',
633
+ 'serialization',
634
+ 'owner_xid',
635
+ 'delay_until_epoch_ms',
636
+ 'attributes',
637
+ 'schedule_name',
638
+ ];
639
+ const client = await this.pool.connect();
640
+ try {
641
+ await client.query('BEGIN ISOLATION LEVEL READ COMMITTED');
642
+ // Chunk to stay well under the bind-parameter limit.
643
+ const chunkSize = 500;
644
+ for (let start = 0; start < statuses.length; start += chunkSize) {
645
+ const chunk = statuses.slice(start, start + chunkSize);
646
+ const tuples = [];
647
+ const params = [];
648
+ let paramIdx = 1;
649
+ for (let i = 0; i < chunk.length; i++) {
650
+ const status = chunk[i];
651
+ const createdAt = createdAts[start + i];
652
+ tuples.push(`(${columns.map(() => `$${paramIdx++}`).join(', ')})`);
653
+ params.push(status.workflowUUID, status.status, status.workflowName,
654
+ // For cross-language compatibility, these MUST be NULL in the database when not set
655
+ status.workflowClassName === '' ? null : status.workflowClassName, status.workflowConfigName === '' ? null : status.workflowConfigName, status.queueName ?? null, status.authenticatedUser, status.assumedRole, JSON.stringify(status.authenticatedRoles), JSON.stringify(status.request), status.executorId, status.applicationVersion ?? null, status.applicationID, createdAt, 0, createdAt, status.timeoutMS ?? null, status.deadlineEpochMS ?? null, status.input, null, status.priority, status.queuePartitionKey ?? null, status.parentWorkflowID ?? null, status.serialization, null, status.delayUntilEpochMS ?? null, status.attributes ? JSON.stringify(status.attributes) : null, status.scheduleName ?? null);
656
+ }
657
+ const { rows } = await client.query(`INSERT INTO "${this.schemaName}".workflow_status (${columns.join(', ')})
658
+ VALUES ${tuples.join(', ')}
659
+ ON CONFLICT (workflow_uuid) DO NOTHING
660
+ RETURNING workflow_uuid`, params);
661
+ for (const row of rows) {
662
+ inserted.add(row.workflow_uuid);
663
+ }
664
+ }
665
+ await client.query('COMMIT');
666
+ }
667
+ catch (e) {
668
+ await client.query('ROLLBACK');
669
+ throw e;
670
+ }
671
+ finally {
672
+ client.release();
673
+ }
674
+ return inserted;
675
+ }
530
676
  async recordWorkflowOutput(workflowID, status) {
531
677
  const client = await this.pool.connect();
532
678
  try {
@@ -1409,9 +1555,9 @@ class SystemDatabase {
1409
1555
  }
1410
1556
  // ==================== Messaging ====================
1411
1557
  nullTopic = '__null__topic__';
1412
- async send(workflowID, functionID, destinationID, message, topic, serialization, messageUUID) {
1558
+ async send(workflowID, functionID, destinationID, message, topic, serialization, idempotencyKey) {
1413
1559
  topic = topic ?? this.nullTopic;
1414
- messageUUID = messageUUID ?? (0, crypto_1.randomUUID)();
1560
+ const messageUUID = idempotencyKey ? `${idempotencyKey}::${destinationID}` : (0, crypto_1.randomUUID)();
1415
1561
  const client = await this.pool.connect();
1416
1562
  try {
1417
1563
  await client.query('BEGIN ISOLATION LEVEL READ COMMITTED');
@@ -1438,9 +1584,10 @@ class SystemDatabase {
1438
1584
  client.release();
1439
1585
  }
1440
1586
  }
1441
- async sendDirect(destinationID, message, topic, serialization, messageUUID) {
1587
+ async sendDirect(destinationID, message, topic, serialization, idempotencyKey) {
1442
1588
  topic = topic ?? this.nullTopic;
1443
- messageUUID = messageUUID ?? (0, crypto_1.randomUUID)();
1589
+ // Same per-destination scoping as send() above.
1590
+ const messageUUID = idempotencyKey ? `${idempotencyKey}::${destinationID}` : (0, crypto_1.randomUUID)();
1444
1591
  try {
1445
1592
  await this.pool.query(`INSERT INTO "${this.schemaName}".notifications (destination_uuid, topic, message, serialization, message_uuid)
1446
1593
  VALUES ($1, $2, $3, $4, $5)