@dbos-inc/dbos-sdk 4.26.3-preview → 4.26.5-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.
- package/dist/schemas/system_db_schema.d.ts +5 -0
- package/dist/schemas/system_db_schema.d.ts.map +1 -1
- package/dist/schemas/system_db_schema.js.map +1 -1
- package/dist/src/adminserver.js +1 -1
- package/dist/src/adminserver.js.map +1 -1
- package/dist/src/cli/cli.d.ts.map +1 -1
- package/dist/src/cli/cli.js +64 -0
- package/dist/src/cli/cli.js.map +1 -1
- package/dist/src/cli/schema.d.ts.map +1 -1
- package/dist/src/cli/schema.js +26 -16
- package/dist/src/cli/schema.js.map +1 -1
- package/dist/src/client.d.ts +62 -4
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +58 -8
- package/dist/src/client.js.map +1 -1
- package/dist/src/conductor/conductor.d.ts.map +1 -1
- package/dist/src/conductor/conductor.js +13 -2
- package/dist/src/conductor/conductor.js.map +1 -1
- package/dist/src/conductor/protocol.d.ts +16 -2
- package/dist/src/conductor/protocol.d.ts.map +1 -1
- package/dist/src/conductor/protocol.js +10 -2
- package/dist/src/conductor/protocol.js.map +1 -1
- package/dist/src/context.d.ts +1 -0
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +2 -1
- package/dist/src/context.js.map +1 -1
- package/dist/src/dbos-executor.d.ts +1 -0
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +11 -2
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/dbos.d.ts +41 -7
- package/dist/src/dbos.d.ts.map +1 -1
- package/dist/src/dbos.js +61 -4
- package/dist/src/dbos.js.map +1 -1
- package/dist/src/debouncer.d.ts +4 -0
- package/dist/src/debouncer.d.ts.map +1 -1
- package/dist/src/debouncer.js +32 -8
- package/dist/src/debouncer.js.map +1 -1
- package/dist/src/enqueue_options.d.ts +59 -0
- package/dist/src/enqueue_options.d.ts.map +1 -0
- package/dist/src/enqueue_options.js +61 -0
- package/dist/src/enqueue_options.js.map +1 -0
- package/dist/src/enqueue_workflow.d.ts +12 -0
- package/dist/src/enqueue_workflow.d.ts.map +1 -0
- package/dist/src/enqueue_workflow.js +91 -0
- package/dist/src/enqueue_workflow.js.map +1 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/scheduler/scheduler.d.ts +1 -0
- package/dist/src/scheduler/scheduler.d.ts.map +1 -1
- package/dist/src/scheduler/scheduler.js +13 -5
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/sysdb_migrations/internal/migrations.d.ts +2 -1
- package/dist/src/sysdb_migrations/internal/migrations.d.ts.map +1 -1
- package/dist/src/sysdb_migrations/internal/migrations.js +186 -2
- package/dist/src/sysdb_migrations/internal/migrations.js.map +1 -1
- package/dist/src/sysdb_migrations/migration_runner.d.ts +5 -0
- package/dist/src/sysdb_migrations/migration_runner.d.ts.map +1 -1
- package/dist/src/sysdb_migrations/migration_runner.js +48 -10
- package/dist/src/sysdb_migrations/migration_runner.js.map +1 -1
- package/dist/src/system_database.d.ts +65 -10
- package/dist/src/system_database.d.ts.map +1 -1
- package/dist/src/system_database.js +599 -175
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/utils.d.ts +1 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +1 -0
- package/dist/src/utils.js.map +1 -1
- package/dist/src/wfqueue.d.ts +2 -0
- package/dist/src/wfqueue.d.ts.map +1 -1
- package/dist/src/wfqueue.js +5 -1
- package/dist/src/wfqueue.js.map +1 -1
- package/dist/src/workflow.d.ts +2 -0
- package/dist/src/workflow.d.ts.map +1 -1
- package/dist/src/workflow.js.map +1 -1
- package/dist/src/workflow_management.d.ts.map +1 -1
- package/dist/src/workflow_management.js +4 -9
- package/dist/src/workflow_management.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/src/debouncer.js
CHANGED
|
@@ -23,10 +23,14 @@ function isQueueDeduplicatedError(e) {
|
|
|
23
23
|
/**
|
|
24
24
|
* A debounce owns the workflow's deduplication ID (the debounce key) and its delay
|
|
25
25
|
* (the debounce period), so a caller must not also set them. Priority and partition
|
|
26
|
-
* keys are rejected because they cannot apply to a debounced enqueue.
|
|
26
|
+
* keys are rejected because they cannot apply to a debounced enqueue. A server-side
|
|
27
|
+
* debounce also rejects a caller-set applicationName; the client accepts it as a fallback.
|
|
27
28
|
*/
|
|
28
|
-
function rejectConflictingOptions(params) {
|
|
29
|
+
function rejectConflictingOptions(params, rejectApplicationName = false) {
|
|
29
30
|
const enqueueOptions = params?.enqueueOptions;
|
|
31
|
+
if (rejectApplicationName && enqueueOptions?.applicationName !== undefined) {
|
|
32
|
+
throw new error_1.DBOSError("Cannot debounce a workflow with an applicationName set: the debouncer's own applicationName option names the target application.");
|
|
33
|
+
}
|
|
30
34
|
if (enqueueOptions?.deduplicationID !== undefined) {
|
|
31
35
|
throw new error_1.DBOSError('Cannot debounce a workflow with a deduplicationID set: the debounce key is used as the workflow deduplication ID.');
|
|
32
36
|
}
|
|
@@ -47,11 +51,11 @@ function rejectConflictingOptions(params) {
|
|
|
47
51
|
* Decide what a debounce caller should do after a bounce attempt.
|
|
48
52
|
* - 'return': an existing debounced workflow was extended; return a handle to it.
|
|
49
53
|
* - 'enqueue': the key is unheld; enqueue a fresh debounced workflow.
|
|
50
|
-
* - 'raise': the key is held by a non-debounced workflow
|
|
51
|
-
* whose debounce key collides; surface the
|
|
54
|
+
* - 'raise': the key is held by a non-debounced workflow, by a different workflow
|
|
55
|
+
* whose debounce key collides, or by an application other than the target; surface the conflict.
|
|
52
56
|
* - 'retry': a same-name debounced holder flipped out of DELAYED mid-bounce (a rare race); retry.
|
|
53
57
|
*/
|
|
54
|
-
function classifyBounce(result, workflowName, workflowClassName) {
|
|
58
|
+
function classifyBounce(result, workflowName, workflowClassName, targetApplicationName) {
|
|
55
59
|
if (result.bouncedWorkflowID !== null) {
|
|
56
60
|
return 'return';
|
|
57
61
|
}
|
|
@@ -64,6 +68,14 @@ function classifyBounce(result, workflowName, workflowClassName) {
|
|
|
64
68
|
if (result.holderWorkflowName !== workflowName || (result.holderWorkflowClassName ?? '') !== workflowClassName) {
|
|
65
69
|
return 'raise';
|
|
66
70
|
}
|
|
71
|
+
// A foreign holder never leaves DELAYED on the target's account, so retrying would spin.
|
|
72
|
+
// Missing on a checkpoint recorded before holders carried an owner, which reads as unclaimed.
|
|
73
|
+
const holderApplicationName = result.holderApplicationName ?? null;
|
|
74
|
+
if (targetApplicationName !== undefined &&
|
|
75
|
+
holderApplicationName !== null &&
|
|
76
|
+
holderApplicationName !== targetApplicationName) {
|
|
77
|
+
return 'raise';
|
|
78
|
+
}
|
|
67
79
|
return 'retry';
|
|
68
80
|
}
|
|
69
81
|
class Debouncer {
|
|
@@ -75,6 +87,7 @@ class Debouncer {
|
|
|
75
87
|
workflowClassName: (0, decorators_1.getRegisteredFunctionClassName)(params.workflow),
|
|
76
88
|
startWorkflowParams: params.startWorkflowParams,
|
|
77
89
|
debounceTimeoutMs: params.debounceTimeoutMs,
|
|
90
|
+
applicationName: params.applicationName,
|
|
78
91
|
};
|
|
79
92
|
}
|
|
80
93
|
async debounce(debounceKey, debouncePeriodMs, ...args) {
|
|
@@ -82,7 +95,7 @@ class Debouncer {
|
|
|
82
95
|
throw Error(`debouncePeriodMs must be positive, not ${debouncePeriodMs}`);
|
|
83
96
|
}
|
|
84
97
|
(0, decorators_1.ensureDBOSIsLaunched)('debounce');
|
|
85
|
-
rejectConflictingOptions(this.cfg.startWorkflowParams);
|
|
98
|
+
rejectConflictingOptions(this.cfg.startWorkflowParams, true);
|
|
86
99
|
const exec = dbos_executor_1.DBOSExecutor.globalInstance;
|
|
87
100
|
const queueName = this.cfg.startWorkflowParams?.queueName ?? utils_1.INTERNAL_QUEUE_NAME;
|
|
88
101
|
const deduplicationID = `${this.cfg.workflowClassName}.${this.cfg.workflowName}-${debounceKey}`;
|
|
@@ -96,6 +109,8 @@ class Debouncer {
|
|
|
96
109
|
}
|
|
97
110
|
const func = methReg.registeredFunction;
|
|
98
111
|
const serializationType = methReg.workflowConfig?.serialization;
|
|
112
|
+
// One owner for the whole operation: the bounce scope, the conflict check, and the fresh enqueue must agree.
|
|
113
|
+
const targetApp = this.cfg.applicationName ?? exec.systemDatabase.appName;
|
|
99
114
|
while (true) {
|
|
100
115
|
// Try to extend an existing debounced workflow for this key first (the sole coalescing mechanism).
|
|
101
116
|
// In a workflow, the bounce commits atomically with its step checkpoint so a crash can never
|
|
@@ -109,9 +124,10 @@ class Debouncer {
|
|
|
109
124
|
delayUntilEpochMS: Date.now() + debouncePeriodMs,
|
|
110
125
|
input: funcArgs.stringified,
|
|
111
126
|
serialization: funcArgs.sername,
|
|
127
|
+
applicationName: targetApp,
|
|
112
128
|
};
|
|
113
129
|
const result = await (0, dbos_1.runTransactionalInternalStep)((client) => exec.systemDatabase.debounceDelayedWorkflow(bounceParams, client), 'DBOS.debounceDelayedWorkflow');
|
|
114
|
-
const action = classifyBounce(result, this.cfg.workflowName, this.cfg.workflowClassName);
|
|
130
|
+
const action = classifyBounce(result, this.cfg.workflowName, this.cfg.workflowClassName, targetApp);
|
|
115
131
|
if (action === 'return') {
|
|
116
132
|
return _1.DBOS.retrieveWorkflow(result.bouncedWorkflowID);
|
|
117
133
|
}
|
|
@@ -137,6 +153,7 @@ class Debouncer {
|
|
|
137
153
|
delaySeconds: debouncePeriodMs / 1000,
|
|
138
154
|
debounceDeadlineEpochMS,
|
|
139
155
|
isDebounced: true,
|
|
156
|
+
applicationName: this.cfg.applicationName,
|
|
140
157
|
},
|
|
141
158
|
})(...args);
|
|
142
159
|
return handle;
|
|
@@ -163,6 +180,7 @@ class DebouncerClient {
|
|
|
163
180
|
workflowClassName: params.workflowClassName || '',
|
|
164
181
|
startWorkflowParams: params.startWorkflowParams,
|
|
165
182
|
debounceTimeoutMs: params.debounceTimeoutMs,
|
|
183
|
+
applicationName: params.applicationName,
|
|
166
184
|
};
|
|
167
185
|
this.serializationType = params.serializationType;
|
|
168
186
|
}
|
|
@@ -173,6 +191,10 @@ class DebouncerClient {
|
|
|
173
191
|
rejectConflictingOptions(this.cfg.startWorkflowParams);
|
|
174
192
|
const queueName = this.cfg.startWorkflowParams?.queueName ?? utils_1.INTERNAL_QUEUE_NAME;
|
|
175
193
|
const deduplicationID = `${this.cfg.workflowClassName}.${this.cfg.workflowName}-${debounceKey}`;
|
|
194
|
+
// One owner for the whole operation: the debouncer's target wins, then the workflow options', then the client's.
|
|
195
|
+
const targetApp = this.cfg.applicationName ??
|
|
196
|
+
this.cfg.startWorkflowParams?.enqueueOptions?.applicationName ??
|
|
197
|
+
this.client.applicationName;
|
|
176
198
|
while (true) {
|
|
177
199
|
// Try to extend an existing debounced workflow for this key first (the sole coalescing mechanism).
|
|
178
200
|
const serparam = await (0, serialization_1.serializeArgs)(args, undefined, this.client.serializer, this.serializationType);
|
|
@@ -184,8 +206,9 @@ class DebouncerClient {
|
|
|
184
206
|
delayUntilEpochMS: Date.now() + debouncePeriodMs,
|
|
185
207
|
input: serparam.serializedValue,
|
|
186
208
|
serialization: serparam.serialization,
|
|
209
|
+
applicationName: targetApp,
|
|
187
210
|
});
|
|
188
|
-
const action = classifyBounce(result, this.cfg.workflowName, this.cfg.workflowClassName);
|
|
211
|
+
const action = classifyBounce(result, this.cfg.workflowName, this.cfg.workflowClassName, targetApp);
|
|
189
212
|
if (action === 'return') {
|
|
190
213
|
return this.client.retrieveWorkflow(result.bouncedWorkflowID);
|
|
191
214
|
}
|
|
@@ -209,6 +232,7 @@ class DebouncerClient {
|
|
|
209
232
|
deduplicationID,
|
|
210
233
|
delaySeconds: debouncePeriodMs / 1000,
|
|
211
234
|
serializationType: this.serializationType,
|
|
235
|
+
applicationName: targetApp,
|
|
212
236
|
}, debounceDeadlineEpochMS, args);
|
|
213
237
|
return this.client.retrieveWorkflow(workflowID);
|
|
214
238
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debouncer.js","sourceRoot":"","sources":["../../src/debouncer.ts"],"names":[],"mappings":";;;AAAA,wBAAqC;AACrC,iCAA2E;AAC3E,mDAA+C;AAC/C,uCAAwC;AACxC,6CAMsB;AACtB,mCAAwG;AACxG,mDAA8E;AAE9E,mCAA8C;AAE9C,kEAAoE;
|
|
1
|
+
{"version":3,"file":"debouncer.js","sourceRoot":"","sources":["../../src/debouncer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status-row construction for enqueueing a workflow from options alone, backing `DBOS.enqueueWorkflowWithOptions`.
|
|
3
|
+
* It builds the same ENQUEUED row a `DBOSClient.enqueue` would, indistinguishable to the executor that runs it.
|
|
4
|
+
*/
|
|
5
|
+
import type { WorkflowStatusInternal } from './system_database';
|
|
6
|
+
import { type WorkflowSerializationFormat } from './workflow';
|
|
7
|
+
import { type DBOSSerializer } from './serialization';
|
|
8
|
+
/**
|
|
9
|
+
* Options describing a workflow to enqueue by name, without a reference to its
|
|
10
|
+
* function. The workflow may be implemented by another process, or in another
|
|
11
|
+
* language, as long as it shares this system database.
|
|
12
|
+
*/
|
|
13
|
+
export interface EnqueueWorkflowOptions {
|
|
14
|
+
/** The name of the queue to which the workflow will be enqueued. */
|
|
15
|
+
queueName: string;
|
|
16
|
+
/** The name of the method that will be invoked when the workflow runs. */
|
|
17
|
+
workflowName: string;
|
|
18
|
+
/** The class containing the method to invoke, if any. */
|
|
19
|
+
workflowClassName?: string;
|
|
20
|
+
/** The ConfiguredInstance containing the method to invoke, if any. */
|
|
21
|
+
workflowConfigName?: string;
|
|
22
|
+
/** An identifier for the workflow, for idempotency. A new UUID if unset. */
|
|
23
|
+
workflowID?: string;
|
|
24
|
+
/**
|
|
25
|
+
* The application version this workflow requires. If unset, only an executor
|
|
26
|
+
* running the latest registered application version dequeues it.
|
|
27
|
+
*/
|
|
28
|
+
appVersion?: string;
|
|
29
|
+
/** Timeout in milliseconds, measured from the moment the workflow is dequeued. */
|
|
30
|
+
workflowTimeoutMS?: number;
|
|
31
|
+
/** Deduplication ID on the queue; no deduplication is performed if unset. */
|
|
32
|
+
deduplicationID?: string;
|
|
33
|
+
/** Serialization for the enqueued arguments. */
|
|
34
|
+
serializationType?: WorkflowSerializationFormat;
|
|
35
|
+
/** Priority on the queue, 1 ~ 2,147,483,647. Default 0 (highest priority). */
|
|
36
|
+
priority?: number;
|
|
37
|
+
/** Partition key for partitioned queues. */
|
|
38
|
+
queuePartitionKey?: string;
|
|
39
|
+
/** Seconds to delay before the workflow becomes eligible to run. */
|
|
40
|
+
delaySeconds?: number;
|
|
41
|
+
/** Custom key-value attributes to attach to the workflow at creation. */
|
|
42
|
+
attributes?: Record<string, unknown>;
|
|
43
|
+
/** The authenticated user recorded on the workflow. Defaults to the caller's ambient authenticated user, if any. */
|
|
44
|
+
authenticatedUser?: string;
|
|
45
|
+
/** The authenticated roles recorded on the workflow. Defaults to the caller's ambient authenticated roles, if any. */
|
|
46
|
+
authenticatedRoles?: string[];
|
|
47
|
+
/**
|
|
48
|
+
* The application that owns and runs this workflow. Defaults to the enqueuer's own
|
|
49
|
+
* application. Leaving both unset enqueues an unclaimed workflow, which any
|
|
50
|
+
* application sharing the system database may run.
|
|
51
|
+
*/
|
|
52
|
+
applicationName?: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Build (without persisting) the ENQUEUED row these options describe. Fields DBOS internals
|
|
56
|
+
* own (parent linkage, executor, application ID) are left unset here and stamped by the caller.
|
|
57
|
+
*/
|
|
58
|
+
export declare function buildEnqueueStatus(options: EnqueueWorkflowOptions, serializer: DBOSSerializer, positionalArgs: unknown[], namedArgs?: Record<string, unknown>, defaultSerialization?: WorkflowSerializationFormat): Promise<WorkflowStatusInternal>;
|
|
59
|
+
//# sourceMappingURL=enqueue_options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enqueue_options.d.ts","sourceRoot":"","sources":["../../src/enqueue_options.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAA4C,KAAK,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACxG,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,iBAAiB,CAAC;AAIrE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,2BAA2B,CAAC;IAChD,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,oHAAoH;IACpH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sHAAsH;IACtH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,sBAAsB,EAC/B,UAAU,EAAE,cAAc,EAC1B,cAAc,EAAE,OAAO,EAAE,EACzB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,oBAAoB,CAAC,EAAE,2BAA2B,GACjD,OAAO,CAAC,sBAAsB,CAAC,CAqDjC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Status-row construction for enqueueing a workflow from options alone, backing `DBOS.enqueueWorkflowWithOptions`.
|
|
4
|
+
* It builds the same ENQUEUED row a `DBOSClient.enqueue` would, indistinguishable to the executor that runs it.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.buildEnqueueStatus = void 0;
|
|
8
|
+
const node_crypto_1 = require("node:crypto");
|
|
9
|
+
const workflow_1 = require("./workflow");
|
|
10
|
+
const serialization_1 = require("./serialization");
|
|
11
|
+
const error_1 = require("./error");
|
|
12
|
+
const dbos_executor_1 = require("./dbos-executor");
|
|
13
|
+
/**
|
|
14
|
+
* Build (without persisting) the ENQUEUED row these options describe. Fields DBOS internals
|
|
15
|
+
* own (parent linkage, executor, application ID) are left unset here and stamped by the caller.
|
|
16
|
+
*/
|
|
17
|
+
async function buildEnqueueStatus(options, serializer, positionalArgs, namedArgs, defaultSerialization) {
|
|
18
|
+
(0, workflow_1.validateWorkflowAttributes)(options.attributes);
|
|
19
|
+
if (options.priority !== undefined &&
|
|
20
|
+
(options.priority < dbos_executor_1.DBOS_QUEUE_MIN_PRIORITY || options.priority > dbos_executor_1.DBOS_QUEUE_MAX_PRIORITY)) {
|
|
21
|
+
throw new error_1.DBOSInvalidQueuePriorityError(options.priority, dbos_executor_1.DBOS_QUEUE_MIN_PRIORITY, dbos_executor_1.DBOS_QUEUE_MAX_PRIORITY);
|
|
22
|
+
}
|
|
23
|
+
if (options.workflowID !== undefined && options.workflowID.trim() === '') {
|
|
24
|
+
throw new error_1.DBOSError(`Invalid workflow ID '${options.workflowID}': workflow IDs must be non-empty and cannot be only whitespace.`);
|
|
25
|
+
}
|
|
26
|
+
const workflowUUID = options.workflowID ?? (0, node_crypto_1.randomUUID)();
|
|
27
|
+
const serparam = await (0, serialization_1.serializeArgs)(positionalArgs, namedArgs, serializer, options.serializationType ?? defaultSerialization);
|
|
28
|
+
const delayUntilEpochMS = options.delaySeconds !== undefined && options.delaySeconds > 0
|
|
29
|
+
? Date.now() + options.delaySeconds * 1000
|
|
30
|
+
: undefined;
|
|
31
|
+
return {
|
|
32
|
+
workflowUUID,
|
|
33
|
+
status: delayUntilEpochMS !== undefined ? workflow_1.StatusString.DELAYED : workflow_1.StatusString.ENQUEUED,
|
|
34
|
+
workflowName: options.workflowName,
|
|
35
|
+
workflowClassName: options.workflowClassName ?? '',
|
|
36
|
+
workflowConfigName: options.workflowConfigName ?? '',
|
|
37
|
+
queueName: options.queueName,
|
|
38
|
+
authenticatedUser: options.authenticatedUser ?? '',
|
|
39
|
+
output: null,
|
|
40
|
+
error: null,
|
|
41
|
+
assumedRole: '',
|
|
42
|
+
authenticatedRoles: options.authenticatedRoles ?? [],
|
|
43
|
+
request: {},
|
|
44
|
+
executorId: '',
|
|
45
|
+
applicationVersion: options.appVersion,
|
|
46
|
+
applicationID: '',
|
|
47
|
+
createdAt: Date.now(),
|
|
48
|
+
timeoutMS: options.workflowTimeoutMS,
|
|
49
|
+
deadlineEpochMS: undefined,
|
|
50
|
+
input: serparam.serializedValue,
|
|
51
|
+
deduplicationID: options.deduplicationID,
|
|
52
|
+
priority: options.priority ?? 0,
|
|
53
|
+
queuePartitionKey: options.queuePartitionKey,
|
|
54
|
+
serialization: serparam.serialization,
|
|
55
|
+
delayUntilEpochMS,
|
|
56
|
+
attributes: options.attributes,
|
|
57
|
+
applicationName: options.applicationName,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
exports.buildEnqueueStatus = buildEnqueueStatus;
|
|
61
|
+
//# sourceMappingURL=enqueue_options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enqueue_options.js","sourceRoot":"","sources":["../../src/enqueue_options.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6CAAyC;AAEzC,yCAAwG;AACxG,mDAAqE;AACrE,mCAAmE;AACnE,mDAAmF;AAiDnF;;;GAGG;AACI,KAAK,UAAU,kBAAkB,CACtC,OAA+B,EAC/B,UAA0B,EAC1B,cAAyB,EACzB,SAAmC,EACnC,oBAAkD;IAElD,IAAA,qCAA0B,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,IACE,OAAO,CAAC,QAAQ,KAAK,SAAS;QAC9B,CAAC,OAAO,CAAC,QAAQ,GAAG,uCAAuB,IAAI,OAAO,CAAC,QAAQ,GAAG,uCAAuB,CAAC,EAC1F,CAAC;QACD,MAAM,IAAI,qCAA6B,CAAC,OAAO,CAAC,QAAQ,EAAE,uCAAuB,EAAE,uCAAuB,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzE,MAAM,IAAI,iBAAS,CACjB,wBAAwB,OAAO,CAAC,UAAU,kEAAkE,CAC7G,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,IAAI,IAAA,wBAAU,GAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAa,EAClC,cAAc,EACd,SAAS,EACT,UAAU,EACV,OAAO,CAAC,iBAAiB,IAAI,oBAAoB,CAClD,CAAC;IACF,MAAM,iBAAiB,GACrB,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC;QAC5D,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI;QAC1C,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,YAAY;QACZ,MAAM,EAAE,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAY,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAY,CAAC,QAAQ;QACtF,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE;QAClD,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,EAAE;QACpD,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE;QAClD,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,EAAE;QACf,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,EAAE;QACpD,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;QACd,kBAAkB,EAAE,OAAO,CAAC,UAAU;QACtC,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,SAAS,EAAE,OAAO,CAAC,iBAAiB;QACpC,eAAe,EAAE,SAAS;QAC1B,KAAK,EAAE,QAAQ,CAAC,eAAe;QAC/B,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;QAC/B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,iBAAiB;QACjB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC;AACJ,CAAC;AA3DD,gDA2DC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enqueue a workflow from inside an application using options alone, without a reference to its
|
|
3
|
+
* function. The target may live in another process or language, so nothing checks the local registry.
|
|
4
|
+
*/
|
|
5
|
+
import { type EnqueueWorkflowOptions } from './enqueue_options';
|
|
6
|
+
import type { WorkflowHandle } from './workflow';
|
|
7
|
+
/**
|
|
8
|
+
* Enqueue the row, recording it as a child of the calling workflow when there is one. Replay-safe:
|
|
9
|
+
* a recorded enqueue returns its original child ID or rethrows its recorded failure.
|
|
10
|
+
*/
|
|
11
|
+
export declare function enqueueWorkflowWithOptions<T = unknown>(options: EnqueueWorkflowOptions, positionalArgs: unknown[], namedArgs?: Record<string, unknown>): Promise<WorkflowHandle<T>>;
|
|
12
|
+
//# sourceMappingURL=enqueue_workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enqueue_workflow.d.ts","sourceRoot":"","sources":["../../src/enqueue_workflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,OAAO,EAAsB,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA6BjD;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,GAAG,OAAO,EAC1D,OAAO,EAAE,sBAAsB,EAC/B,cAAc,EAAE,OAAO,EAAE,EACzB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAiF5B"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Enqueue a workflow from inside an application using options alone, without a reference to its
|
|
4
|
+
* function. The target may live in another process or language, so nothing checks the local registry.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.enqueueWorkflowWithOptions = void 0;
|
|
8
|
+
const dbos_executor_1 = require("./dbos-executor");
|
|
9
|
+
const context_1 = require("./context");
|
|
10
|
+
const enqueue_options_1 = require("./enqueue_options");
|
|
11
|
+
const workflow_1 = require("./workflow");
|
|
12
|
+
const error_1 = require("./error");
|
|
13
|
+
const serialization_1 = require("./serialization");
|
|
14
|
+
const utils_1 = require("./utils");
|
|
15
|
+
/**
|
|
16
|
+
* Resolve options against the ambient context, except `appVersion`, which would strand a row aimed at another
|
|
17
|
+
* executor. In a workflow the derived ID makes a crash-replay collide instead of enqueueing a second workflow.
|
|
18
|
+
*/
|
|
19
|
+
function resolveOptions(options, assignedID, callerID, callerFunctionID) {
|
|
20
|
+
const pctx = (0, context_1.getCurrentContextStore)();
|
|
21
|
+
const derivedID = callerID !== undefined && callerFunctionID !== undefined ? `${callerID}-${callerFunctionID}` : undefined;
|
|
22
|
+
return {
|
|
23
|
+
...options,
|
|
24
|
+
workflowID: assignedID ?? derivedID,
|
|
25
|
+
authenticatedUser: options.authenticatedUser ?? pctx?.authenticatedUser,
|
|
26
|
+
authenticatedRoles: options.authenticatedRoles ?? pctx?.authenticatedRoles,
|
|
27
|
+
// No explicit target, so this application owns it.
|
|
28
|
+
applicationName: options.applicationName ?? utils_1.globalParams.appName,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Enqueue the row, recording it as a child of the calling workflow when there is one. Replay-safe:
|
|
33
|
+
* a recorded enqueue returns its original child ID or rethrows its recorded failure.
|
|
34
|
+
*/
|
|
35
|
+
async function enqueueWorkflowWithOptions(options, positionalArgs, namedArgs) {
|
|
36
|
+
const exec = dbos_executor_1.DBOSExecutor.globalInstance;
|
|
37
|
+
const sysdb = exec.systemDatabase;
|
|
38
|
+
const pctx = (0, context_1.getCurrentContextStore)();
|
|
39
|
+
const inWorkflow = pctx !== undefined && (0, context_1.isInWorkflowCtx)(pctx);
|
|
40
|
+
if (pctx !== undefined && (0, context_1.isWithinWorkflowCtx)(pctx) && !inWorkflow) {
|
|
41
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError('Invalid call to `enqueueWorkflowWithOptions` from within a `step` or `transaction`');
|
|
42
|
+
}
|
|
43
|
+
const callerID = inWorkflow ? pctx.workflowId : undefined;
|
|
44
|
+
const callerFunctionID = inWorkflow ? (0, context_1.functionIDGetIncrement)() : undefined;
|
|
45
|
+
// Consume an ambient withNextWorkflowID assignment even on a replay, so it cannot leak to a later workflow start.
|
|
46
|
+
const assignedID = (0, context_1.getNextWFID)(options.workflowID);
|
|
47
|
+
if (callerID !== undefined && callerFunctionID !== undefined) {
|
|
48
|
+
const recorded = await sysdb.getOperationResultAndThrowIfCancelled(callerID, callerFunctionID);
|
|
49
|
+
if (recorded) {
|
|
50
|
+
if (recorded.error) {
|
|
51
|
+
throw await (0, serialization_1.deserializeResError)(recorded.error, recorded.serialization ?? null, exec.serializer);
|
|
52
|
+
}
|
|
53
|
+
return new workflow_1.RetrievedHandle(sysdb, recorded.childWorkflowID);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const resolved = resolveOptions(options, assignedID, callerID, callerFunctionID);
|
|
57
|
+
if (resolved.queuePartitionKey !== undefined && resolved.deduplicationID !== undefined) {
|
|
58
|
+
throw new error_1.DBOSError('Deduplication is not supported for partitioned queues');
|
|
59
|
+
}
|
|
60
|
+
const internalStatus = await (0, enqueue_options_1.buildEnqueueStatus)(resolved, exec.serializer, positionalArgs, namedArgs);
|
|
61
|
+
// Fields DBOS internals own, which buildEnqueueStatus leaves for its caller to stamp.
|
|
62
|
+
internalStatus.parentWorkflowID = callerID;
|
|
63
|
+
internalStatus.applicationID = utils_1.globalParams.appID;
|
|
64
|
+
// Without an explicit timeout, inherit an ambient withWorkflowTimeout, else the parent's propagated deadline.
|
|
65
|
+
if (resolved.workflowTimeoutMS === undefined) {
|
|
66
|
+
if (pctx?.workflowTimeoutMS) {
|
|
67
|
+
internalStatus.timeoutMS = pctx.workflowTimeoutMS;
|
|
68
|
+
}
|
|
69
|
+
else if (pctx?.workflowTimeoutMS !== null) {
|
|
70
|
+
// A null ambient timeout explicitly detaches the parent's deadline.
|
|
71
|
+
internalStatus.deadlineEpochMS = pctx?.deadlineEpochMS;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const childStartTime = Date.now();
|
|
75
|
+
try {
|
|
76
|
+
await sysdb.initWorkflowStatus(internalStatus, null);
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
if (e instanceof error_1.DBOSQueueDuplicatedError && callerID !== undefined && callerFunctionID !== undefined) {
|
|
80
|
+
const sererr = await (0, serialization_1.serializeResError)(e, exec.serializer, undefined);
|
|
81
|
+
await sysdb.recordOperationResult(callerID, callerFunctionID, internalStatus.workflowName, true, childStartTime, Date.now(), { error: sererr.serializedValue, serialization: sererr.serialization });
|
|
82
|
+
}
|
|
83
|
+
throw e;
|
|
84
|
+
}
|
|
85
|
+
if (callerID !== undefined && callerFunctionID !== undefined) {
|
|
86
|
+
await sysdb.recordOperationResult(callerID, callerFunctionID, internalStatus.workflowName, true, childStartTime, Date.now(), { childWorkflowID: internalStatus.workflowUUID });
|
|
87
|
+
}
|
|
88
|
+
return new workflow_1.RetrievedHandle(sysdb, internalStatus.workflowUUID);
|
|
89
|
+
}
|
|
90
|
+
exports.enqueueWorkflowWithOptions = enqueueWorkflowWithOptions;
|
|
91
|
+
//# sourceMappingURL=enqueue_workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enqueue_workflow.js","sourceRoot":"","sources":["../../src/enqueue_workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -14,5 +14,6 @@ export { FunctionName, ConfiguredInstance, MethodParameter } from './decorators'
|
|
|
14
14
|
export { DBOSConfig, DBOSExternalState, OtelAttributeFormat } from './dbos-executor';
|
|
15
15
|
export { DLogger, ContextualMetadata, StackTrace } from './telemetry/logs';
|
|
16
16
|
export { DBOSSpan } from './telemetry/traces';
|
|
17
|
-
export { VersionInfo } from './system_database';
|
|
17
|
+
export { VersionInfo, ApplicationRowCounts, DEFAULT_RENAME_BATCH_SIZE } from './system_database';
|
|
18
|
+
export { EnqueueWorkflowOptions } from './enqueue_options';
|
|
18
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,uBAAuB,GACxB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/F,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,OAAO,GACR,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,IAAI,uBAAuB,EAC5C,wBAAwB,EACxB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAErF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,uBAAuB,GACxB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/F,OAAO,EACL,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,6BAA6B,EAC7B,oBAAoB,EACpB,sBAAsB,EACtB,OAAO,GACR,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,IAAI,uBAAuB,EAC5C,wBAAwB,EACxB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAErF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.MethodParameter = exports.ConfiguredInstance = exports.DebouncerClient = exports.Debouncer = exports.StatusString = exports.DBOSWorkflowConflictError = exports.Error = exports.WorkflowQueue = exports.ArgName = exports.DBOSDataType = exports.SchedulerMode = exports.DBOSClient = exports.DBOS = void 0;
|
|
26
|
+
exports.DEFAULT_RENAME_BATCH_SIZE = exports.MethodParameter = exports.ConfiguredInstance = exports.DebouncerClient = exports.Debouncer = exports.StatusString = exports.DBOSWorkflowConflictError = exports.Error = exports.WorkflowQueue = exports.ArgName = exports.DBOSDataType = exports.SchedulerMode = exports.DBOSClient = exports.DBOS = void 0;
|
|
27
27
|
var dbos_1 = require("./dbos");
|
|
28
28
|
Object.defineProperty(exports, "DBOS", { enumerable: true, get: function () { return dbos_1.DBOS; } });
|
|
29
29
|
var client_1 = require("./client");
|
|
@@ -46,4 +46,6 @@ Object.defineProperty(exports, "DebouncerClient", { enumerable: true, get: funct
|
|
|
46
46
|
var decorators_2 = require("./decorators");
|
|
47
47
|
Object.defineProperty(exports, "ConfiguredInstance", { enumerable: true, get: function () { return decorators_2.ConfiguredInstance; } });
|
|
48
48
|
Object.defineProperty(exports, "MethodParameter", { enumerable: true, get: function () { return decorators_2.MethodParameter; } });
|
|
49
|
+
var system_database_1 = require("./system_database");
|
|
50
|
+
Object.defineProperty(exports, "DEFAULT_RENAME_BATCH_SIZE", { enumerable: true, get: function () { return system_database_1.DEFAULT_RENAME_BATCH_SIZE; } });
|
|
49
51
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BASgB;AARd,4FAAA,IAAI,OAAA;AAUN,mCAAsC;AAA7B,oGAAA,UAAU,OAAA;AAEnB,uEAAiF;AAAxE,oHAAA,aAAa,OAAA;AAItB,2CASsB;AANpB,0GAAA,YAAY,OAAA;AAKZ,qGAAA,OAAO,OAAA;AAGT,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AAEtB,iDAAiC;AAEjC,iCAAoD;AAA3C,kHAAA,yBAAyB,OAAA;AAElC,uCAUoB;AANlB,wGAAA,YAAY,OAAA;AAQd,yCAAyD;AAAhD,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAMnC,2CAAiF;AAA1D,gHAAA,kBAAkB,OAAA;AAAE,6GAAA,eAAe,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BASgB;AARd,4FAAA,IAAI,OAAA;AAUN,mCAAsC;AAA7B,oGAAA,UAAU,OAAA;AAEnB,uEAAiF;AAAxE,oHAAA,aAAa,OAAA;AAItB,2CASsB;AANpB,0GAAA,YAAY,OAAA;AAKZ,qGAAA,OAAO,OAAA;AAGT,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AAEtB,iDAAiC;AAEjC,iCAAoD;AAA3C,kHAAA,yBAAyB,OAAA;AAElC,uCAUoB;AANlB,wGAAA,YAAY,OAAA;AAQd,yCAAyD;AAAhD,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAMnC,2CAAiF;AAA1D,gHAAA,kBAAkB,OAAA;AAAE,6GAAA,eAAe,OAAA;AAQ1D,qDAAiG;AAArD,4HAAA,yBAAyB,OAAA"}
|
|
@@ -19,6 +19,7 @@ export interface WorkflowSchedule {
|
|
|
19
19
|
automaticBackfill: boolean;
|
|
20
20
|
cronTimezone: string | null;
|
|
21
21
|
queueName: string | null;
|
|
22
|
+
applicationName?: string;
|
|
22
23
|
}
|
|
23
24
|
export declare function toWorkflowSchedule(internal: WorkflowScheduleInternal, serializer: DBOSSerializer): Promise<WorkflowSchedule>;
|
|
24
25
|
export declare function createScheduleId(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,wBAAwB,EAA+B,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,cAAc,EAAiB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAUtD,MAAM,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,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,OAAO,CAAC;IACjB,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,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,wBAAwB,EAClC,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,wBAAwB,EAA+B,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,cAAc,EAAiB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAUtD,MAAM,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,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,OAAO,CAAC;IACjB,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;IAEzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,wBAAwB,EAClC,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAiB3B;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAyBD,qBAAa,oBAAqB,YAAW,qBAAqB;;gBAMpD,iBAAiB,CAAC,EAAE,MAAM;IAKhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA+L/B;AA6CD,wBAAsB,eAAe,CACnC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,IAAI,EACX,GAAG,EAAE,IAAI,GACR,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB"}
|
|
@@ -23,6 +23,7 @@ async function toWorkflowSchedule(internal, serializer) {
|
|
|
23
23
|
automaticBackfill: internal.automaticBackfill,
|
|
24
24
|
cronTimezone: internal.cronTimezone,
|
|
25
25
|
queueName: internal.queueName,
|
|
26
|
+
applicationName: internal.applicationName,
|
|
26
27
|
};
|
|
27
28
|
}
|
|
28
29
|
exports.toWorkflowSchedule = toWorkflowSchedule;
|
|
@@ -83,7 +84,9 @@ class DynamicSchedulerLoop {
|
|
|
83
84
|
let schedules;
|
|
84
85
|
try {
|
|
85
86
|
const executor = dbos_executor_1.DBOSExecutor.globalInstance;
|
|
86
|
-
schedules = await executor.systemDatabase.listSchedules(
|
|
87
|
+
schedules = await executor.systemDatabase.listSchedules({
|
|
88
|
+
applicationName: executor.systemDatabase.appName,
|
|
89
|
+
});
|
|
87
90
|
}
|
|
88
91
|
catch (e) {
|
|
89
92
|
__1.DBOS.logger.warn(`Dynamic scheduler: error listing schedules: ${e.message}`);
|
|
@@ -133,7 +136,7 @@ class DynamicSchedulerLoop {
|
|
|
133
136
|
// Active and no running loop — start one
|
|
134
137
|
const controller = new AbortController();
|
|
135
138
|
const executor = dbos_executor_1.DBOSExecutor.globalInstance;
|
|
136
|
-
const promise = DynamicSchedulerLoop.#scheduleLoop(sched.scheduleName, sched.workflowName, sched.workflowClassName, sched.schedule, sched.context, executor.serializer, controller.signal, sched.cronTimezone ?? undefined, sched.queueName ?? undefined);
|
|
139
|
+
const promise = DynamicSchedulerLoop.#scheduleLoop(sched.scheduleName, sched.workflowName, sched.workflowClassName, sched.schedule, sched.context, executor.serializer, controller.signal, sched.cronTimezone ?? undefined, sched.queueName ?? undefined, sched.applicationName);
|
|
137
140
|
this.#scheduleLoops.set(sched.scheduleName, { controller, promise, signature });
|
|
138
141
|
}
|
|
139
142
|
}
|
|
@@ -141,7 +144,7 @@ class DynamicSchedulerLoop {
|
|
|
141
144
|
await (0, utils_1.interruptibleSleep)(pollTimeout(), signal);
|
|
142
145
|
}
|
|
143
146
|
}
|
|
144
|
-
static async #scheduleLoop(scheduleName, workflowName, workflowClassName, cronExpression, serializedContext, serializer, signal, cronTimezone, queueName) {
|
|
147
|
+
static async #scheduleLoop(scheduleName, workflowName, workflowClassName, cronExpression, serializedContext, serializer, signal, cronTimezone, queueName, applicationName) {
|
|
145
148
|
const timeMatcher = new crontab_1.TimeMatcher(cronExpression, cronTimezone);
|
|
146
149
|
const sched = {
|
|
147
150
|
scheduleId: '',
|
|
@@ -155,6 +158,7 @@ class DynamicSchedulerLoop {
|
|
|
155
158
|
automaticBackfill: false,
|
|
156
159
|
cronTimezone: cronTimezone ?? null,
|
|
157
160
|
queueName: queueName ?? null,
|
|
161
|
+
applicationName,
|
|
158
162
|
};
|
|
159
163
|
let lastExec = new Date().setMilliseconds(0);
|
|
160
164
|
while (!signal.aborted) {
|
|
@@ -201,8 +205,10 @@ class DynamicSchedulerLoop {
|
|
|
201
205
|
exports.DynamicSchedulerLoop = DynamicSchedulerLoop;
|
|
202
206
|
async function enqueueScheduledWorkflow(systemDatabase, serializer, sched, workflowID, scheduledDate, context) {
|
|
203
207
|
const serparam = await (0, serialization_1.serializeArgs)([scheduledDate, context], undefined, serializer, undefined);
|
|
204
|
-
//
|
|
205
|
-
const
|
|
208
|
+
// The schedule's owner routes its runs, whoever fires them; an unclaimed one falls back to the firing handle, which may have no identity itself.
|
|
209
|
+
const owner = sched.applicationName ?? systemDatabase.appName;
|
|
210
|
+
// Scheduled workflows are always enqueued to their owner's latest application version
|
|
211
|
+
const latestVersion = await systemDatabase.getLatestApplicationVersion(owner);
|
|
206
212
|
const internalStatus = {
|
|
207
213
|
workflowUUID: workflowID,
|
|
208
214
|
status: workflow_1.StatusString.ENQUEUED,
|
|
@@ -226,6 +232,8 @@ async function enqueueScheduledWorkflow(systemDatabase, serializer, sched, workf
|
|
|
226
232
|
queuePartitionKey: undefined,
|
|
227
233
|
serialization: serparam.serialization,
|
|
228
234
|
scheduleName: sched.scheduleName,
|
|
235
|
+
// Owned where possible: the internal queue's shared name cannot route an unclaimed row.
|
|
236
|
+
applicationName: owner,
|
|
229
237
|
};
|
|
230
238
|
await systemDatabase.initWorkflowStatus(internalStatus, null);
|
|
231
239
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":";;;AACA,oDAAiE;AACjE,mCAAoC;AACpC,0BAA0B;AAE1B,oCAAmE;AACnE,uCAAwC;AACxC,oDAAgD;AAChD,oCAAqC;AACrC,0CAA2C;
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":";;;AACA,oDAAiE;AACjE,mCAAoC;AACpC,0BAA0B;AAE1B,oCAAmE;AACnE,uCAAwC;AACxC,oDAAgD;AAChD,oCAAqC;AACrC,0CAA2C;AA6BpC,KAAK,UAAU,kBAAkB,CACtC,QAAkC,EAClC,UAA0B;IAE1B,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEzD,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO;QACP,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,eAAe,EAAE,QAAQ,CAAC,eAAe;KAC1C,CAAC;AACJ,CAAC;AApBD,gDAoBC;AAED,SAAgB,gBAAgB;IAC9B,OAAO,IAAA,mBAAU,GAAE,CAAC;AACtB,CAAC;AAFD,4CAEC;AAQD,yMAAyM;AACzM,SAAS,iBAAiB,CAAC,KAA+B;IACxD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,iBAAiB;QACvB,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,YAAY,IAAI,IAAI;QAC1B,KAAK,CAAC,SAAS,IAAI,IAAI;KACxB,CAAC,CAAC;AACL,CAAC;AAED,sFAAsF;AACtF,6FAA6F;AAC7F,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAC7C,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAE5C,MAAa,oBAAoB;IACtB,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IACjD,eAAe,CAA4B;IAClC,cAAc,GAAG,IAAI,GAAG,EAA6B,CAAC;IACtD,kBAAkB,CAAS;IAEpC,YAAY,iBAA0B;QACpC,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,IAAI,KAAK,CAAC;QACrD,QAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACtE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,+BAA+B;QAC/B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,WAAW,GAAoB,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAmB;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,6BAA6B,CAAC;QACnE,MAAM,WAAW,GAAG,GAAG,EAAE,CACvB,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe;YAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAE9B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,SAAqC,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,4BAAY,CAAC,cAAe,CAAC;gBAC9C,SAAS,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;oBACtD,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO;iBACjD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAAgD,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxF,MAAM,IAAA,0BAAkB,EAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YAED,sCAAsC;YACtC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YAEnE,mCAAmC;YACnC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAChD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC7D,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAE3C,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;oBAC1C,0CAA0C;oBAC1C,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBAC5B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACjD,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACrC,8FAA8F;oBAC9F,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBACjD,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;wBAC5B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACjD,CAAC;oBAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;wBACjD,yDAAyD;wBACzD,yDAAyD;wBACzD,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;4BACjD,IAAI,CAAC;gCACH,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gCAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gCACvB,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;oCACpB,MAAM,QAAQ,GAAG,4BAAY,CAAC,cAAe,CAAC;oCAC9C,MAAM,gBAAgB,CACpB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,UAAU,EACnB,KAAK,CAAC,YAAY,EAClB,SAAS,EACT,GAAG,CACJ,CAAC;gCACJ,CAAC;4BACH,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,QAAI,CAAC,MAAM,CAAC,IAAI,CACd,kDAAkD,KAAK,CAAC,YAAY,MAAO,CAAW,CAAC,OAAO,EAAE,CACjG,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAED,yCAAyC;wBACzC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;wBACzC,MAAM,QAAQ,GAAG,4BAAY,CAAC,cAAe,CAAC;wBAC9C,MAAM,OAAO,GAAG,oBAAoB,CAAC,aAAa,CAChD,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,OAAO,EACb,QAAQ,CAAC,UAAU,EACnB,UAAU,CAAC,MAAM,EACjB,KAAK,CAAC,YAAY,IAAI,SAAS,EAC/B,KAAK,CAAC,SAAS,IAAI,SAAS,EAC5B,KAAK,CAAC,eAAe,CACtB,CAAC;wBACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,IAAA,0BAAkB,EAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,YAAoB,EACpB,YAAoB,EACpB,iBAAyB,EACzB,cAAsB,EACtB,iBAAyB,EACzB,UAA0B,EAC1B,MAAmB,EACnB,YAAqB,EACrB,SAAkB,EAClB,eAAwB;QAExB,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAElE,MAAM,KAAK,GAA6B;YACtC,UAAU,EAAE,EAAE;YACd,YAAY;YACZ,YAAY;YACZ,iBAAiB;YACjB,QAAQ,EAAE,cAAc;YACxB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,IAAI;YACjB,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,YAAY,IAAI,IAAI;YAClC,SAAS,EAAE,SAAS,IAAI,IAAI;YAC5B,eAAe;SAChB,CAAC;QAEF,IAAI,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAE7C,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YAChE,IAAI,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEtC,0CAA0C;YAC1C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;gBAClD,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;YACzC,CAAC;YAED,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAA,0BAAkB,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM;YACR,CAAC;YAED,uEAAuE;YACvE,kDAAkD;YAClD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,QAAQ,GAAG,QAAQ,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,SAAS,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAEjE,IAAI,CAAC;gBACH,wEAAwE;gBACxE,MAAM,QAAQ,GAAG,MAAM,QAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAC1D,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,GAAG,QAAQ,CAAC;oBACpB,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC1D,MAAM,cAAc,GAAG,4BAAY,CAAC,cAAe,CAAC,cAAc,CAAC;gBACnE,MAAM,wBAAwB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC7F,MAAM,cAAc,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAI,CAAC,MAAM,CAAC,IAAI,CACd,0DAA0D,YAAY,MAAO,CAAW,CAAC,OAAO,EAAE,CACnG,CAAC;YACJ,CAAC;YAED,QAAQ,GAAG,QAAQ,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AA/MD,oDA+MC;AAED,KAAK,UAAU,wBAAwB,CACrC,cAA8B,EAC9B,UAA0B,EAC1B,KAA+B,EAC/B,UAAkB,EAClB,aAAmB,EACnB,OAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAa,EAAC,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACjG,iJAAiJ;IACjJ,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,IAAI,cAAc,CAAC,OAAO,CAAC;IAC9D,sFAAsF;IACtF,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,cAAc,GAA2B;QAC7C,YAAY,EAAE,UAAU;QACxB,MAAM,EAAE,uBAAY,CAAC,QAAQ;QAC7B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,kBAAkB,EAAE,EAAE;QACtB,kBAAkB,EAAE,aAAa,CAAC,WAAW;QAC7C,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,2BAAmB;QACjD,iBAAiB,EAAE,EAAE;QACrB,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,EAAE;QACf,kBAAkB,EAAE,EAAE;QACtB,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,KAAK,EAAE,QAAQ,CAAC,eAAe;QAC/B,eAAe,EAAE,SAAS;QAC1B,QAAQ,EAAE,CAAC;QACX,iBAAiB,EAAE,SAAS;QAC5B,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,wFAAwF;QACxF,eAAe,EAAE,KAAK;KACvB,CAAC;IACF,MAAM,cAAc,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC9D,OAAO;AACT,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,cAA8B,EAC9B,UAA0B,EAC1B,IAAY;IAEZ,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,iBAAS,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,SAAS,IAAI,YAAY,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;IAChE,MAAM,wBAAwB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5F,OAAO,UAAU,CAAC;AACpB,CAAC;AAdD,0CAcC;AAEM,KAAK,UAAU,gBAAgB,CACpC,cAA8B,EAC9B,UAA0B,EAC1B,IAAY,EACZ,KAAW,EACX,GAAS;IAET,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,iBAAS,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC;IACrF,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAE9B,OAAO,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEjD,uEAAuE;QACvE,kDAAkD;QAClD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;YAAE,MAAM;QAE3C,MAAM,UAAU,GAAG,SAAS,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACzD,MAAM,wBAAwB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7F,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAnCD,4CAmCC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { SHARED_MIGRATION_BASE, type DBMigration } from '../migration_runner';
|
|
2
|
+
export { SHARED_MIGRATION_BASE };
|
|
2
3
|
export declare function allMigrations(schemaName?: string, opts?: {
|
|
3
4
|
useListenNotify?: boolean;
|
|
4
5
|
isCockroach?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../../src/sysdb_migrations/internal/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../../src/sysdb_migrations/internal/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAajC,wBAAgB,aAAa,CAC3B,UAAU,GAAE,MAAe,EAC3B,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1D,aAAa,CAAC,WAAW,CAAC,CA2tB5B"}
|