@dbos-inc/dbos-sdk 1.28.14-preview.g65f6845035 → 1.29.84-preview.gd5bdeb6a8d
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/src/context.d.ts +36 -0
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +104 -1
- package/dist/src/context.js.map +1 -1
- package/dist/src/data_validation.d.ts.map +1 -1
- package/dist/src/data_validation.js +6 -2
- package/dist/src/data_validation.js.map +1 -1
- package/dist/src/dbos-executor.d.ts +36 -20
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +309 -21
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/dbos-runtime/runtime.d.ts +3 -8
- package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
- package/dist/src/dbos-runtime/runtime.js +7 -11
- package/dist/src/dbos-runtime/runtime.js.map +1 -1
- package/dist/src/dbos.d.ts +109 -0
- package/dist/src/dbos.d.ts.map +1 -0
- package/dist/src/dbos.js +551 -0
- package/dist/src/dbos.js.map +1 -0
- package/dist/src/debugger/debug_workflow.d.ts.map +1 -1
- package/dist/src/debugger/debug_workflow.js +5 -1
- package/dist/src/debugger/debug_workflow.js.map +1 -1
- package/dist/src/decorators.d.ts +11 -2
- package/dist/src/decorators.d.ts.map +1 -1
- package/dist/src/decorators.js +30 -8
- package/dist/src/decorators.js.map +1 -1
- package/dist/src/error.d.ts +6 -0
- package/dist/src/error.d.ts.map +1 -1
- package/dist/src/error.js +20 -2
- package/dist/src/error.js.map +1 -1
- package/dist/src/eventreceiver.d.ts +6 -2
- package/dist/src/eventreceiver.d.ts.map +1 -1
- package/dist/src/httpServer/handler.d.ts +0 -1
- package/dist/src/httpServer/handler.d.ts.map +1 -1
- package/dist/src/httpServer/handler.js +5 -13
- package/dist/src/httpServer/handler.js.map +1 -1
- package/dist/src/httpServer/middleware.d.ts +13 -2
- package/dist/src/httpServer/middleware.d.ts.map +1 -1
- package/dist/src/httpServer/middleware.js +101 -1
- package/dist/src/httpServer/middleware.js.map +1 -1
- package/dist/src/httpServer/server.d.ts +3 -2
- package/dist/src/httpServer/server.d.ts.map +1 -1
- package/dist/src/httpServer/server.js +40 -30
- package/dist/src/httpServer/server.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/procedure.d.ts +1 -0
- package/dist/src/procedure.d.ts.map +1 -1
- package/dist/src/procedure.js.map +1 -1
- package/dist/src/scheduler/scheduler.d.ts.map +1 -1
- package/dist/src/scheduler/scheduler.js +3 -1
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/system_database.d.ts.map +1 -1
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/telemetry/logs.d.ts +11 -5
- package/dist/src/telemetry/logs.d.ts.map +1 -1
- package/dist/src/telemetry/logs.js +8 -11
- package/dist/src/telemetry/logs.js.map +1 -1
- package/dist/src/testing/testing_runtime.d.ts.map +1 -1
- package/dist/src/testing/testing_runtime.js +10 -4
- package/dist/src/testing/testing_runtime.js.map +1 -1
- package/dist/src/user_database.d.ts +1 -1
- package/dist/src/user_database.d.ts.map +1 -1
- package/dist/src/wfqueue.d.ts.map +1 -1
- package/dist/src/wfqueue.js +17 -2
- package/dist/src/wfqueue.js.map +1 -1
- package/dist/src/workflow.d.ts +7 -6
- package/dist/src/workflow.d.ts.map +1 -1
- package/dist/src/workflow.js +10 -187
- package/dist/src/workflow.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +5 -1
package/dist/src/dbos.js
ADDED
@@ -0,0 +1,551 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.DBOS = void 0;
|
4
|
+
const context_1 = require("./context");
|
5
|
+
const dbos_executor_1 = require("./dbos-executor");
|
6
|
+
const logs_1 = require("./telemetry/logs");
|
7
|
+
const error_1 = require("./error");
|
8
|
+
const config_1 = require("./dbos-runtime/config");
|
9
|
+
const scheduler_1 = require("./scheduler/scheduler");
|
10
|
+
const decorators_1 = require("./decorators");
|
11
|
+
const utils_1 = require("./utils");
|
12
|
+
const server_1 = require("./httpServer/server");
|
13
|
+
const middleware_1 = require("./httpServer/middleware");
|
14
|
+
const wfqueue_1 = require("./wfqueue");
|
15
|
+
class DBOS {
|
16
|
+
///////
|
17
|
+
// Lifecycle
|
18
|
+
///////
|
19
|
+
static adminServer = undefined;
|
20
|
+
static setConfig(config, runtimeConfig) {
|
21
|
+
DBOS.dbosConfig = config;
|
22
|
+
DBOS.runtimeConfig = runtimeConfig;
|
23
|
+
}
|
24
|
+
static async launch(httpApps) {
|
25
|
+
// Do nothing is DBOS is already initialized
|
26
|
+
if (dbos_executor_1.DBOSExecutor.globalInstance)
|
27
|
+
return;
|
28
|
+
// Initialize the DBOS executor
|
29
|
+
if (!DBOS.dbosConfig) {
|
30
|
+
const [dbosConfig, runtimeConfig] = (0, config_1.parseConfigFile)();
|
31
|
+
DBOS.dbosConfig = dbosConfig;
|
32
|
+
DBOS.runtimeConfig = runtimeConfig;
|
33
|
+
}
|
34
|
+
dbos_executor_1.DBOSExecutor.globalInstance = new dbos_executor_1.DBOSExecutor(DBOS.dbosConfig);
|
35
|
+
const executor = dbos_executor_1.DBOSExecutor.globalInstance;
|
36
|
+
await executor.init();
|
37
|
+
dbos_executor_1.DBOSExecutor.globalInstance.scheduler = new scheduler_1.DBOSScheduler(dbos_executor_1.DBOSExecutor.globalInstance);
|
38
|
+
dbos_executor_1.DBOSExecutor.globalInstance.scheduler.initScheduler();
|
39
|
+
dbos_executor_1.DBOSExecutor.globalInstance.wfqEnded = wfqueue_1.wfQueueRunner.dispatchLoop(dbos_executor_1.DBOSExecutor.globalInstance);
|
40
|
+
for (const evtRcvr of dbos_executor_1.DBOSExecutor.globalInstance.eventReceivers) {
|
41
|
+
await evtRcvr.initialize(dbos_executor_1.DBOSExecutor.globalInstance);
|
42
|
+
}
|
43
|
+
// Start the DBOS admin server
|
44
|
+
const logger = DBOS.logger;
|
45
|
+
if (DBOS.runtimeConfig) {
|
46
|
+
const adminApp = server_1.DBOSHttpServer.setupAdminApp(executor);
|
47
|
+
await server_1.DBOSHttpServer.checkPortAvailabilityIPv4Ipv6(DBOS.runtimeConfig.admin_port, logger);
|
48
|
+
DBOS.adminServer = adminApp.listen(DBOS.runtimeConfig.admin_port, () => {
|
49
|
+
this.logger.info(`DBOS Admin Server is running at http://localhost:${DBOS.runtimeConfig?.admin_port}`);
|
50
|
+
});
|
51
|
+
}
|
52
|
+
if (httpApps) {
|
53
|
+
if (httpApps.koaApp) {
|
54
|
+
DBOS.logger.info("Setting up Koa tracing middleware");
|
55
|
+
httpApps.koaApp.use(middleware_1.koaTracingMiddleware);
|
56
|
+
}
|
57
|
+
if (httpApps.expressApp) {
|
58
|
+
DBOS.logger.info("Setting up Express tracing middleware");
|
59
|
+
httpApps.expressApp.use(middleware_1.expressTracingMiddleware);
|
60
|
+
}
|
61
|
+
if (httpApps.fastifyApp) {
|
62
|
+
// Fastify can use express or middie under the hood, for middlewares.
|
63
|
+
// Middie happens to have the same semantic than express.
|
64
|
+
// See https://fastify.dev/docs/latest/Reference/Middleware/
|
65
|
+
DBOS.logger.info("Setting up Fastify tracing middleware");
|
66
|
+
httpApps.fastifyApp.use(middleware_1.expressTracingMiddleware);
|
67
|
+
}
|
68
|
+
if (httpApps.nestApp) {
|
69
|
+
// Nest.kj can use express or fastify under the hood. With fastify, Nest.js uses middie.
|
70
|
+
DBOS.logger.info("Setting up NestJS tracing middleware");
|
71
|
+
httpApps.nestApp.use(middleware_1.expressTracingMiddleware);
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
static async shutdown() {
|
76
|
+
// Stop the admin server
|
77
|
+
if (DBOS.adminServer) {
|
78
|
+
DBOS.adminServer.close();
|
79
|
+
DBOS.adminServer = undefined;
|
80
|
+
}
|
81
|
+
// Stop the executor
|
82
|
+
if (dbos_executor_1.DBOSExecutor.globalInstance) {
|
83
|
+
await dbos_executor_1.DBOSExecutor.globalInstance.deactivateEventReceivers();
|
84
|
+
await dbos_executor_1.DBOSExecutor.globalInstance.destroy();
|
85
|
+
dbos_executor_1.DBOSExecutor.globalInstance = undefined;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
static get executor() {
|
89
|
+
if (!dbos_executor_1.DBOSExecutor.globalInstance) {
|
90
|
+
throw new error_1.DBOSExecutorNotInitializedError();
|
91
|
+
}
|
92
|
+
return dbos_executor_1.DBOSExecutor.globalInstance;
|
93
|
+
}
|
94
|
+
//////
|
95
|
+
// Globals
|
96
|
+
//////
|
97
|
+
static globalLogger;
|
98
|
+
static dbosConfig;
|
99
|
+
static runtimeConfig = undefined;
|
100
|
+
static invokeWrappers = new Map();
|
101
|
+
//////
|
102
|
+
// Context
|
103
|
+
//////
|
104
|
+
static get logger() {
|
105
|
+
const ctx = (0, context_1.getCurrentDBOSContext)();
|
106
|
+
if (ctx)
|
107
|
+
return ctx.logger;
|
108
|
+
const executor = DBOS.executor;
|
109
|
+
if (executor)
|
110
|
+
return executor.logger;
|
111
|
+
return new logs_1.GlobalLogger();
|
112
|
+
}
|
113
|
+
static get span() {
|
114
|
+
const ctx = (0, context_1.getCurrentDBOSContext)();
|
115
|
+
if (ctx)
|
116
|
+
return ctx.span;
|
117
|
+
return undefined;
|
118
|
+
}
|
119
|
+
static get request() {
|
120
|
+
return (0, context_1.getCurrentDBOSContext)()?.request;
|
121
|
+
}
|
122
|
+
static get workflowID() {
|
123
|
+
return (0, context_1.getCurrentDBOSContext)()?.workflowUUID;
|
124
|
+
}
|
125
|
+
static get authenticatedUser() {
|
126
|
+
return (0, context_1.getCurrentDBOSContext)()?.authenticatedUser ?? "";
|
127
|
+
}
|
128
|
+
static get authenticatedRoles() {
|
129
|
+
return (0, context_1.getCurrentDBOSContext)()?.authenticatedRoles ?? [];
|
130
|
+
}
|
131
|
+
static get assumedRole() {
|
132
|
+
return (0, context_1.getCurrentDBOSContext)()?.assumedRole ?? "";
|
133
|
+
}
|
134
|
+
static isInTransaction() {
|
135
|
+
return (0, context_1.getCurrentContextStore)()?.curTxFunctionId !== undefined;
|
136
|
+
}
|
137
|
+
static isInStep() {
|
138
|
+
return (0, context_1.getCurrentContextStore)()?.curStepFunctionId !== undefined;
|
139
|
+
}
|
140
|
+
static isWithinWorkflow() {
|
141
|
+
return (0, context_1.getCurrentContextStore)()?.workflowId !== undefined;
|
142
|
+
}
|
143
|
+
static isInWorkflow() {
|
144
|
+
return DBOS.isWithinWorkflow() && !DBOS.isInTransaction() && !DBOS.isInStep();
|
145
|
+
}
|
146
|
+
// TODO CTX parent workflow ID
|
147
|
+
// sql session (various forms)
|
148
|
+
static get sqlClient() {
|
149
|
+
if (!DBOS.isInTransaction())
|
150
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError();
|
151
|
+
const ctx = (0, context_1.assertCurrentDBOSContext)();
|
152
|
+
return ctx.client;
|
153
|
+
}
|
154
|
+
static get pgClient() {
|
155
|
+
const client = DBOS.sqlClient;
|
156
|
+
// TODO CTX check!
|
157
|
+
return client;
|
158
|
+
}
|
159
|
+
static get knexClient() {
|
160
|
+
const client = DBOS.sqlClient;
|
161
|
+
// TODO CTX check!
|
162
|
+
return client;
|
163
|
+
}
|
164
|
+
static get prismaClient() {
|
165
|
+
const client = DBOS.sqlClient;
|
166
|
+
// TODO CTX check!
|
167
|
+
return client;
|
168
|
+
}
|
169
|
+
static get typeORMClient() {
|
170
|
+
const client = DBOS.sqlClient;
|
171
|
+
// TODO CTX check!
|
172
|
+
return client;
|
173
|
+
}
|
174
|
+
static get drizzleClient() {
|
175
|
+
const client = DBOS.sqlClient;
|
176
|
+
// TODO CTX check!
|
177
|
+
return client;
|
178
|
+
}
|
179
|
+
static getConfig(key, defaultValue) {
|
180
|
+
const ctx = (0, context_1.getCurrentDBOSContext)();
|
181
|
+
if (ctx && defaultValue)
|
182
|
+
return ctx.getConfig(key, defaultValue);
|
183
|
+
if (ctx)
|
184
|
+
return ctx.getConfig(key);
|
185
|
+
if (DBOS.executor)
|
186
|
+
return DBOS.executor.getConfig(key, defaultValue);
|
187
|
+
return defaultValue;
|
188
|
+
}
|
189
|
+
//////
|
190
|
+
// Workflow and other operations
|
191
|
+
//////
|
192
|
+
static getWorkflowStatus(workflowID) {
|
193
|
+
return DBOS.executor.getWorkflowStatus(workflowID);
|
194
|
+
}
|
195
|
+
static retrieveWorkflow(workflowID) {
|
196
|
+
return DBOS.executor.retrieveWorkflow(workflowID);
|
197
|
+
}
|
198
|
+
static async getWorkflows(input) {
|
199
|
+
return await DBOS.executor.getWorkflows(input);
|
200
|
+
}
|
201
|
+
static async getWorkflowQueue(input) {
|
202
|
+
return await DBOS.executor.getWorkflowQueue(input);
|
203
|
+
}
|
204
|
+
static async sleepms(durationMS) {
|
205
|
+
if (DBOS.isWithinWorkflow()) {
|
206
|
+
if (DBOS.isInTransaction() || DBOS.isInStep()) {
|
207
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError();
|
208
|
+
}
|
209
|
+
return (0, context_1.getCurrentDBOSContext)().sleepms(durationMS);
|
210
|
+
}
|
211
|
+
await (0, utils_1.sleepms)(durationMS);
|
212
|
+
}
|
213
|
+
static async sleep(durationSec) {
|
214
|
+
return this.sleepms(durationSec * 1000);
|
215
|
+
}
|
216
|
+
static async withNextWorkflowID(wfid, callback) {
|
217
|
+
const pctx = (0, context_1.getCurrentContextStore)();
|
218
|
+
if (pctx) {
|
219
|
+
const pcwfid = pctx.idAssignedForNextWorkflow;
|
220
|
+
try {
|
221
|
+
pctx.idAssignedForNextWorkflow = wfid;
|
222
|
+
return callback();
|
223
|
+
}
|
224
|
+
finally {
|
225
|
+
pctx.idAssignedForNextWorkflow = pcwfid;
|
226
|
+
}
|
227
|
+
}
|
228
|
+
else {
|
229
|
+
return (0, context_1.runWithTopContext)({ idAssignedForNextWorkflow: wfid }, callback);
|
230
|
+
}
|
231
|
+
}
|
232
|
+
static async withTracedContext(span, request, callback) {
|
233
|
+
const pctx = (0, context_1.getCurrentContextStore)();
|
234
|
+
if (pctx) {
|
235
|
+
pctx.span = span;
|
236
|
+
pctx.request = request;
|
237
|
+
return callback();
|
238
|
+
}
|
239
|
+
else {
|
240
|
+
return (0, context_1.runWithTopContext)({ span, request }, callback);
|
241
|
+
}
|
242
|
+
}
|
243
|
+
static async withAuthedContext(authedUser, authedRoles, callback) {
|
244
|
+
const pctx = (0, context_1.getCurrentContextStore)();
|
245
|
+
if (pctx) {
|
246
|
+
pctx.authenticatedUser = authedUser;
|
247
|
+
pctx.authenticatedRoles = authedRoles;
|
248
|
+
return callback();
|
249
|
+
}
|
250
|
+
else {
|
251
|
+
return (0, context_1.runWithTopContext)({ authenticatedUser: authedUser, authenticatedRoles: authedRoles }, callback);
|
252
|
+
}
|
253
|
+
}
|
254
|
+
static async withWorkflowQueue(wfq, callback) {
|
255
|
+
const pctx = (0, context_1.getCurrentContextStore)();
|
256
|
+
if (pctx) {
|
257
|
+
const pcwfq = pctx.queueAssignedForWorkflows;
|
258
|
+
try {
|
259
|
+
pctx.queueAssignedForWorkflows = wfq;
|
260
|
+
return callback();
|
261
|
+
}
|
262
|
+
finally {
|
263
|
+
pctx.queueAssignedForWorkflows = pcwfq;
|
264
|
+
}
|
265
|
+
}
|
266
|
+
else {
|
267
|
+
return (0, context_1.runWithTopContext)({ queueAssignedForWorkflows: wfq }, callback);
|
268
|
+
}
|
269
|
+
}
|
270
|
+
static startWorkflow(target) {
|
271
|
+
if (typeof target === 'function') {
|
272
|
+
return DBOS.proxyInvokeWF(target, null);
|
273
|
+
}
|
274
|
+
else {
|
275
|
+
return DBOS.proxyInvokeWF(target, target);
|
276
|
+
}
|
277
|
+
}
|
278
|
+
static proxyInvokeWF(object, configuredInstance) {
|
279
|
+
const ops = (0, decorators_1.getRegisteredOperations)(object);
|
280
|
+
const proxy = {};
|
281
|
+
const pctx = (0, context_1.getCurrentContextStore)();
|
282
|
+
let wfId = pctx?.idAssignedForNextWorkflow;
|
283
|
+
// If this is called from within a workflow, this is a child workflow,
|
284
|
+
// For OAOO, we will need a consistent ID formed from the parent WF and call number
|
285
|
+
if (DBOS.isWithinWorkflow()) {
|
286
|
+
const wfctx = (0, context_1.assertCurrentWorkflowContext)();
|
287
|
+
const funcId = wfctx.functionIDGetIncrement();
|
288
|
+
wfId = wfId || (wfctx.workflowUUID + "-" + funcId);
|
289
|
+
const params = {
|
290
|
+
workflowUUID: wfId,
|
291
|
+
parentCtx: wfctx,
|
292
|
+
configuredInstance,
|
293
|
+
queueName: pctx?.queueAssignedForWorkflows
|
294
|
+
};
|
295
|
+
for (const op of ops) {
|
296
|
+
proxy[op.name] = op.workflowConfig
|
297
|
+
? (...args) => dbos_executor_1.DBOSExecutor.globalInstance.internalWorkflow(op.registeredFunction, params, wfctx.workflowUUID, funcId, ...args)
|
298
|
+
: undefined;
|
299
|
+
}
|
300
|
+
return proxy;
|
301
|
+
}
|
302
|
+
const wfParams = {
|
303
|
+
workflowUUID: wfId,
|
304
|
+
queueName: pctx?.queueAssignedForWorkflows,
|
305
|
+
configuredInstance,
|
306
|
+
};
|
307
|
+
for (const op of ops) {
|
308
|
+
proxy[op.name] = op.workflowConfig
|
309
|
+
? (...args) => DBOS.executor.workflow(op.registeredFunction, wfParams, ...args)
|
310
|
+
: undefined;
|
311
|
+
}
|
312
|
+
// TODO CTX - should we put helpful errors for any function that may have "compiled" but is not a workflow?
|
313
|
+
return proxy;
|
314
|
+
}
|
315
|
+
static invoke(object) {
|
316
|
+
const wfctx = (0, context_1.assertCurrentWorkflowContext)();
|
317
|
+
if (typeof object === 'function') {
|
318
|
+
const ops = (0, decorators_1.getRegisteredOperations)(object);
|
319
|
+
const proxy = {};
|
320
|
+
for (const op of ops) {
|
321
|
+
proxy[op.name] = op.txnConfig
|
322
|
+
? (...args) => dbos_executor_1.DBOSExecutor.globalInstance.callTransactionFunction(op.registeredFunction, null, wfctx, ...args)
|
323
|
+
: op.commConfig
|
324
|
+
? (...args) => dbos_executor_1.DBOSExecutor.globalInstance.callStepFunction(op.registeredFunction, null, wfctx, ...args)
|
325
|
+
: op.procConfig
|
326
|
+
? (...args) => wfctx.procedure(op.registeredFunction, ...args)
|
327
|
+
: undefined;
|
328
|
+
}
|
329
|
+
return proxy;
|
330
|
+
}
|
331
|
+
else {
|
332
|
+
const targetInst = object;
|
333
|
+
const ops = (0, decorators_1.getRegisteredOperations)(targetInst);
|
334
|
+
const proxy = {};
|
335
|
+
for (const op of ops) {
|
336
|
+
proxy[op.name] = op.txnConfig
|
337
|
+
? (...args) => dbos_executor_1.DBOSExecutor.globalInstance.callTransactionFunction(op.registeredFunction, targetInst, wfctx, ...args)
|
338
|
+
: op.commConfig
|
339
|
+
? (...args) => dbos_executor_1.DBOSExecutor.globalInstance.callStepFunction(op.registeredFunction, targetInst, wfctx, ...args)
|
340
|
+
: undefined;
|
341
|
+
}
|
342
|
+
return proxy;
|
343
|
+
}
|
344
|
+
}
|
345
|
+
static async send(destinationID, message, topic) {
|
346
|
+
if (DBOS.isWithinWorkflow()) {
|
347
|
+
if (!DBOS.isInWorkflow()) {
|
348
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError();
|
349
|
+
}
|
350
|
+
return (0, context_1.getCurrentDBOSContext)().send(destinationID, message, topic);
|
351
|
+
}
|
352
|
+
return DBOS.executor.send(destinationID, message, topic);
|
353
|
+
}
|
354
|
+
static async recv(topic, timeoutSeconds) {
|
355
|
+
if (DBOS.isWithinWorkflow()) {
|
356
|
+
if (!DBOS.isInWorkflow()) {
|
357
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError();
|
358
|
+
}
|
359
|
+
return (0, context_1.getCurrentDBOSContext)().recv(topic, timeoutSeconds);
|
360
|
+
}
|
361
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError(); // Only workflows can recv
|
362
|
+
}
|
363
|
+
static async setEvent(key, value) {
|
364
|
+
if (DBOS.isWithinWorkflow()) {
|
365
|
+
if (!DBOS.isInWorkflow()) {
|
366
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError();
|
367
|
+
}
|
368
|
+
return (0, context_1.getCurrentDBOSContext)().setEvent(key, value);
|
369
|
+
}
|
370
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError(); // Only workflows can set event
|
371
|
+
}
|
372
|
+
static async getEvent(workflowID, key, timeoutSeconds) {
|
373
|
+
if (DBOS.isWithinWorkflow()) {
|
374
|
+
if (!DBOS.isInWorkflow()) {
|
375
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError();
|
376
|
+
}
|
377
|
+
return (0, context_1.getCurrentDBOSContext)().getEvent(workflowID, key, timeoutSeconds);
|
378
|
+
}
|
379
|
+
return DBOS.executor.getEvent(workflowID, key, timeoutSeconds);
|
380
|
+
}
|
381
|
+
//////
|
382
|
+
// Decorators
|
383
|
+
//////
|
384
|
+
static scheduled(schedulerConfig) {
|
385
|
+
function scheddec(target, propertyKey, inDescriptor) {
|
386
|
+
const { descriptor, registration } = (0, decorators_1.registerAndWrapContextFreeFunction)(target, propertyKey, inDescriptor);
|
387
|
+
const schedRegistration = registration;
|
388
|
+
schedRegistration.schedulerConfig = schedulerConfig;
|
389
|
+
return descriptor;
|
390
|
+
}
|
391
|
+
return scheddec;
|
392
|
+
}
|
393
|
+
static workflow(config = {}) {
|
394
|
+
function decorator(target, propertyKey, inDescriptor) {
|
395
|
+
const { descriptor, registration } = (0, decorators_1.registerAndWrapContextFreeFunction)(target, propertyKey, inDescriptor);
|
396
|
+
registration.workflowConfig = config;
|
397
|
+
const invokeWrapper = async function (...rawArgs) {
|
398
|
+
const pctx = (0, context_1.getCurrentContextStore)();
|
399
|
+
let inst = undefined;
|
400
|
+
if (typeof this === 'function') {
|
401
|
+
// This is static
|
402
|
+
}
|
403
|
+
else {
|
404
|
+
inst = this;
|
405
|
+
if (!("name" in inst)) {
|
406
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError();
|
407
|
+
}
|
408
|
+
}
|
409
|
+
let wfId = pctx?.idAssignedForNextWorkflow;
|
410
|
+
// If this is called from within a workflow, this is a child workflow,
|
411
|
+
// For OAOO, we will need a consistent ID formed from the parent WF and call number
|
412
|
+
if (DBOS.isWithinWorkflow()) {
|
413
|
+
const wfctx = (0, context_1.assertCurrentWorkflowContext)();
|
414
|
+
const funcId = wfctx.functionIDGetIncrement();
|
415
|
+
wfId = wfId || (wfctx.workflowUUID + "-" + funcId);
|
416
|
+
const params = {
|
417
|
+
workflowUUID: wfId,
|
418
|
+
parentCtx: wfctx,
|
419
|
+
configuredInstance: inst,
|
420
|
+
queueName: pctx?.queueAssignedForWorkflows
|
421
|
+
};
|
422
|
+
const cwfh = await dbos_executor_1.DBOSExecutor.globalInstance.internalWorkflow(registration.registeredFunction, params, wfctx.workflowUUID, funcId, ...rawArgs);
|
423
|
+
return await cwfh.getResult();
|
424
|
+
}
|
425
|
+
const wfParams = {
|
426
|
+
workflowUUID: wfId,
|
427
|
+
queueName: pctx?.queueAssignedForWorkflows,
|
428
|
+
configuredInstance: inst
|
429
|
+
};
|
430
|
+
if (pctx) {
|
431
|
+
pctx.idAssignedForNextWorkflow = undefined;
|
432
|
+
}
|
433
|
+
const handle = await DBOS.executor.workflow(registration.registeredFunction, wfParams, ...rawArgs);
|
434
|
+
return await handle.getResult();
|
435
|
+
};
|
436
|
+
descriptor.value = invokeWrapper;
|
437
|
+
registration.wrappedFunction = invokeWrapper;
|
438
|
+
Object.defineProperty(invokeWrapper, "name", {
|
439
|
+
value: registration.name,
|
440
|
+
});
|
441
|
+
(0, decorators_1.registerFunctionWrapper)(invokeWrapper, registration);
|
442
|
+
// TODO CTX this should not be in here already, or if it is we need to do something different...
|
443
|
+
DBOS.invokeWrappers.set(invokeWrapper, registration.registeredFunction);
|
444
|
+
return descriptor;
|
445
|
+
}
|
446
|
+
return decorator;
|
447
|
+
}
|
448
|
+
static transaction(config = {}) {
|
449
|
+
function decorator(target, propertyKey, inDescriptor) {
|
450
|
+
const { descriptor, registration } = (0, decorators_1.registerAndWrapContextFreeFunction)(target, propertyKey, inDescriptor);
|
451
|
+
registration.txnConfig = config;
|
452
|
+
const invokeWrapper = async function (...rawArgs) {
|
453
|
+
let inst = undefined;
|
454
|
+
if (typeof this === 'function') {
|
455
|
+
// This is static
|
456
|
+
}
|
457
|
+
else {
|
458
|
+
inst = this;
|
459
|
+
if (!("name" in inst)) {
|
460
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError();
|
461
|
+
}
|
462
|
+
}
|
463
|
+
if (DBOS.isWithinWorkflow()) {
|
464
|
+
const wfctx = (0, context_1.assertCurrentWorkflowContext)();
|
465
|
+
return await dbos_executor_1.DBOSExecutor.globalInstance.callTransactionFunction(registration.registeredFunction, inst ?? null, wfctx, ...rawArgs);
|
466
|
+
}
|
467
|
+
const wfParams = {
|
468
|
+
configuredInstance: inst
|
469
|
+
};
|
470
|
+
return await DBOS.executor.transaction(registration.registeredFunction, wfParams, ...rawArgs);
|
471
|
+
};
|
472
|
+
descriptor.value = invokeWrapper;
|
473
|
+
registration.wrappedFunction = invokeWrapper;
|
474
|
+
Object.defineProperty(invokeWrapper, "name", {
|
475
|
+
value: registration.name,
|
476
|
+
});
|
477
|
+
return descriptor;
|
478
|
+
}
|
479
|
+
return decorator;
|
480
|
+
}
|
481
|
+
static step(config = {}) {
|
482
|
+
function decorator(target, propertyKey, inDescriptor) {
|
483
|
+
const { descriptor, registration } = (0, decorators_1.registerAndWrapContextFreeFunction)(target, propertyKey, inDescriptor);
|
484
|
+
registration.commConfig = config;
|
485
|
+
const invokeWrapper = async function (...rawArgs) {
|
486
|
+
let inst = undefined;
|
487
|
+
if (typeof this === 'function') {
|
488
|
+
// This is static
|
489
|
+
}
|
490
|
+
else {
|
491
|
+
inst = this;
|
492
|
+
if (!("name" in inst)) {
|
493
|
+
throw new error_1.DBOSInvalidWorkflowTransitionError();
|
494
|
+
}
|
495
|
+
}
|
496
|
+
if (DBOS.isWithinWorkflow()) {
|
497
|
+
const wfctx = (0, context_1.assertCurrentWorkflowContext)();
|
498
|
+
return await dbos_executor_1.DBOSExecutor.globalInstance.callStepFunction(registration.registeredFunction, inst ?? null, wfctx, ...rawArgs);
|
499
|
+
}
|
500
|
+
const wfParams = {
|
501
|
+
configuredInstance: inst
|
502
|
+
};
|
503
|
+
return await DBOS.executor.external(registration.registeredFunction, wfParams, ...rawArgs);
|
504
|
+
};
|
505
|
+
descriptor.value = invokeWrapper;
|
506
|
+
registration.wrappedFunction = invokeWrapper;
|
507
|
+
Object.defineProperty(invokeWrapper, "name", {
|
508
|
+
value: registration.name,
|
509
|
+
});
|
510
|
+
return descriptor;
|
511
|
+
}
|
512
|
+
return decorator;
|
513
|
+
}
|
514
|
+
static defaultRequiredRole(anyOf) {
|
515
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
516
|
+
function clsdec(ctor) {
|
517
|
+
const clsreg = (0, decorators_1.getOrCreateClassRegistration)(ctor);
|
518
|
+
clsreg.requiredRole = anyOf;
|
519
|
+
}
|
520
|
+
return clsdec;
|
521
|
+
}
|
522
|
+
static requiredRole(anyOf) {
|
523
|
+
function apidec(target, propertyKey, inDescriptor) {
|
524
|
+
const { descriptor, registration } = (0, decorators_1.registerAndWrapContextFreeFunction)(target, propertyKey, inDescriptor);
|
525
|
+
registration.requiredRole = anyOf;
|
526
|
+
return descriptor;
|
527
|
+
}
|
528
|
+
return apidec;
|
529
|
+
}
|
530
|
+
/////
|
531
|
+
// Registration, etc
|
532
|
+
/////
|
533
|
+
// Function registration
|
534
|
+
static registerAndWrapContextFreeFunction(target, propertyKey, descriptor) {
|
535
|
+
return (0, decorators_1.registerAndWrapContextFreeFunction)(target, propertyKey, descriptor);
|
536
|
+
}
|
537
|
+
static async executeWorkflowById(workflowId, startNewWorkflow = false) {
|
538
|
+
if (!dbos_executor_1.DBOSExecutor.globalInstance) {
|
539
|
+
throw new error_1.DBOSExecutorNotInitializedError();
|
540
|
+
}
|
541
|
+
return dbos_executor_1.DBOSExecutor.globalInstance.executeWorkflowUUID(workflowId, startNewWorkflow);
|
542
|
+
}
|
543
|
+
static async recoverPendingWorkflows(executorIDs = ["local"]) {
|
544
|
+
if (!dbos_executor_1.DBOSExecutor.globalInstance) {
|
545
|
+
throw new error_1.DBOSExecutorNotInitializedError();
|
546
|
+
}
|
547
|
+
return dbos_executor_1.DBOSExecutor.globalInstance.recoverPendingWorkflows(executorIDs);
|
548
|
+
}
|
549
|
+
}
|
550
|
+
exports.DBOS = DBOS;
|
551
|
+
//# sourceMappingURL=dbos.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dbos.js","sourceRoot":"","sources":["../../src/dbos.ts"],"names":[],"mappings":";;;AACA,uCAOmB;AACnB,mDAAmF;AAWnF,2CAAyD;AACzD,mCAA8F;AAC9F,kDAAwD;AAExD,qDAAiH;AACjH,6CAAsK;AACtK,mCAAkC;AAClC,gDAAqD;AACrD,wDAAyF;AAczF,uCAA0C;AA6D1C,MAAa,IAAI;IACf,OAAO;IACP,YAAY;IACZ,OAAO;IACP,MAAM,CAAC,WAAW,GAAuB,SAAS,CAAC;IAEnD,MAAM,CAAC,SAAS,CAAC,MAAkB,EAAE,aAAiC;QACpE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAuB;QACzC,4CAA4C;QAC5C,IAAI,4BAAY,CAAC,cAAc;YAAE,OAAO;QAExC,+BAA+B;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAoC,IAAA,wBAAe,GAAE,CAAC;YACvF,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACrC,CAAC;QACD,4BAAY,CAAC,cAAc,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAiB,4BAAY,CAAC,cAAc,CAAC;QAC3D,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtB,4BAAY,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,yBAAa,CAAC,4BAAY,CAAC,cAAc,CAAC,CAAC;QACvF,4BAAY,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;QAEtD,4BAAY,CAAC,cAAc,CAAC,QAAQ,GAAG,uBAAa,CAAC,YAAY,CAAC,4BAAY,CAAC,cAAc,CAAC,CAAC;QAE/F,KAAK,MAAM,OAAO,IAAI,4BAAY,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;YACjE,MAAM,OAAO,CAAC,UAAU,CAAC,4BAAY,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC;QAED,8BAA8B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,uBAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxD,MAAM,uBAAc,CAAC,6BAA6B,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,MAAsB,CAAC,CAAC;YAE1G,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE;gBACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;YACzG,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACtD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAoB,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBAC1D,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,qCAAwB,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACxB,qEAAqE;gBACrE,yDAAyD;gBACzD,4DAA4D;gBAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBAC1D,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,qCAAwB,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,wFAAwF;gBACxF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBACzD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qCAAwB,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,wBAAwB;QACxB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,oBAAoB;QACpB,IAAI,4BAAY,CAAC,cAAc,EAAE,CAAC;YAChC,MAAM,4BAAY,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAC;YAC7D,MAAM,4BAAY,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC5C,4BAAY,CAAC,cAAc,GAAG,SAAS,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,IAAI,CAAC,4BAAY,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,IAAI,uCAA+B,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,4BAAY,CAAC,cAAqC,CAAC;IAC5D,CAAC;IAED,MAAM;IACN,UAAU;IACV,MAAM;IACN,MAAM,CAAC,YAAY,CAAW;IAC9B,MAAM,CAAC,UAAU,CAAc;IAC/B,MAAM,CAAC,aAAa,GAAuB,SAAS,CAAC;IACrD,MAAM,CAAC,cAAc,GAA0B,IAAI,GAAG,EAAE,CAAC;IAEzD,MAAM;IACN,UAAU;IACV,MAAM;IACN,MAAM,KAAK,MAAM;QACf,MAAM,GAAG,GAAG,IAAA,+BAAqB,GAAE,CAAC;QACpC,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;QACrC,OAAO,IAAI,mBAAY,EAAE,CAAC;IAC5B,CAAC;IACD,MAAM,KAAK,IAAI;QACb,MAAM,GAAG,GAAG,IAAA,+BAAqB,GAAE,CAAC;QACpC,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,OAAO;QAChB,OAAO,IAAA,+BAAqB,GAAE,EAAE,OAAO,CAAC;IAC1C,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,OAAO,IAAA,+BAAqB,GAAE,EAAE,YAAY,CAAC;IAC/C,CAAC;IACD,MAAM,KAAK,iBAAiB;QAC1B,OAAO,IAAA,+BAAqB,GAAE,EAAE,iBAAiB,IAAI,EAAE,CAAC;IAC1D,CAAC;IACD,MAAM,KAAK,kBAAkB;QAC3B,OAAO,IAAA,+BAAqB,GAAE,EAAE,kBAAkB,IAAI,EAAE,CAAC;IAC3D,CAAC;IACD,MAAM,KAAK,WAAW;QACpB,OAAO,IAAA,+BAAqB,GAAE,EAAE,WAAW,IAAI,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,eAAe;QACpB,OAAO,IAAA,gCAAsB,GAAE,EAAE,eAAe,KAAK,SAAS,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,QAAQ;QACb,OAAO,IAAA,gCAAsB,GAAE,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,gBAAgB;QACrB,OAAO,IAAA,gCAAsB,GAAE,EAAE,UAAU,KAAK,SAAS,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChF,CAAC;IAED,8BAA8B;IAE9B,8BAA8B;IAC9B,MAAM,KAAK,SAAS;QAClB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAAE,MAAM,IAAI,0CAAkC,EAAE,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAA,kCAAwB,GAAgD,CAAC;QACrF,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,QAAQ;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,kBAAkB;QAClB,OAAO,MAAoB,CAAC;IAC9B,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,kBAAkB;QAClB,OAAO,MAAc,CAAC;IACxB,CAAC;IAED,MAAM,KAAK,YAAY;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,kBAAkB;QAClB,OAAO,MAAsB,CAAC;IAChC,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,kBAAkB;QAClB,OAAO,MAA8B,CAAC;IACxC,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,kBAAkB;QAClB,OAAO,MAAuB,CAAC;IACjC,CAAC;IAID,MAAM,CAAC,SAAS,CAAI,GAAW,EAAE,YAAgB;QAC/C,MAAM,GAAG,GAAG,IAAA,+BAAqB,GAAE,CAAC;QACpC,IAAI,GAAG,IAAI,YAAY;YAAE,OAAO,GAAG,CAAC,SAAS,CAAI,GAAG,EAAE,YAAY,CAAC,CAAC;QACpE,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,SAAS,CAAI,GAAG,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACrE,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,MAAM;IACN,gCAAgC;IAChC,MAAM;IACN,MAAM,CAAC,iBAAiB,CAAC,UAAkB;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,UAAkB;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAwB;QAChD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAA4B;QACxD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAkB;QACrC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAC9C,MAAM,IAAI,0CAAkC,EAAE,CAAC;YACjD,CAAC;YACD,OAAQ,IAAA,+BAAqB,GAAuB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,IAAA,eAAO,EAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,WAAmB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAI,IAAY,EAAE,QAAwB;QACvE,MAAM,IAAI,GAAG,IAAA,gCAAsB,GAAE,CAAC;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,IAAI,CAAC,yBAAyB,CAAC;YAC9C,IAAI,CAAC;gBACH,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;gBACtC,OAAO,QAAQ,EAAE,CAAC;YACpB,CAAC;oBACO,CAAC;gBACP,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAA,2BAAiB,EAAC,EAAE,yBAAyB,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAI,IAAU,EAAE,OAAoB,EAAE,QAA0B;QAC5F,MAAM,IAAI,GAAG,IAAA,gCAAsB,GAAE,CAAC;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,IAAA,2BAAiB,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAI,UAAkB,EAAE,WAAqB,EAAE,QAA0B;QACrG,MAAM,IAAI,GAAG,IAAA,gCAAsB,GAAE,CAAC;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;YACpC,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;YACtC,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,IAAA,2BAAiB,EAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAI,GAAW,EAAE,QAAwB;QACrE,MAAM,IAAI,GAAG,IAAA,gCAAsB,GAAE,CAAC;QACtC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC;YAC7C,IAAI,CAAC;gBACH,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC;gBACrC,OAAO,QAAQ,EAAE,CAAC;YACpB,CAAC;oBACO,CAAC;gBACP,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACzC,CAAC;QACH,CAAC;aACI,CAAC;YACJ,OAAO,IAAA,2BAAiB,EAAC,EAAC,yBAAyB,EAAE,GAAG,EAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAID,MAAM,CAAC,aAAa,CAAmB,MAAS;QAC9C,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAuC,CAAC;QAChF,CAAC;aACI,CAAC;YACJ,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAA4B,CAAuC,CAAC;QACxG,CAAC;IACH,CAAC;IAED,MAAM,CAAC,aAAa,CAAmB,MAAS,EAAE,kBAA6C;QAG7F,MAAM,GAAG,GAAG,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,KAAK,GAA4B,EAAE,CAAC;QAE1C,MAAM,IAAI,GAAG,IAAA,gCAAsB,GAAE,CAAC;QACtC,IAAI,IAAI,GAAG,IAAI,EAAE,yBAAyB,CAAC;QAE3C,sEAAsE;QACtE,oFAAoF;QACpF,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,IAAA,sCAA4B,GAAE,CAAC;YAE7C,MAAM,MAAM,GAAG,KAAK,CAAC,sBAAsB,EAAE,CAAC;YAC9C,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC;YACnD,MAAM,MAAM,GAAoB;gBAC9B,YAAY,EAAE,IAAI;gBAClB,SAAS,EAAE,KAAK;gBAChB,kBAAkB;gBAClB,SAAS,EAAE,IAAI,EAAE,yBAAyB;aAC3C,CAAC;YAEF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc;oBAChC,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,4BAAY,CAAC,cAAe,CAAC,gBAAgB,CACnE,EAAE,CAAC,kBAA2D,EAC/D,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;oBAC/C,CAAC,CAAC,SAAS,CAAC;YAChB,CAAC;YAED,OAAO,KAAgC,CAAC;QAC1C,CAAC;QAED,MAAM,QAAQ,GAA2B;YACvC,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,IAAI,EAAE,yBAAyB;YAC1C,kBAAkB;SACnB,CAAC;QAEF,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc;gBAChC,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAE,EAAE,CAAC,kBAA2D,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBACpI,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QAED,2GAA2G;QAE3G,OAAO,KAAgC,CAAC;IAC1C,CAAC;IAID,MAAM,CAAC,MAAM,CAAmB,MAA8B;QAC5D,MAAM,KAAK,GAAG,IAAA,sCAA4B,GAAE,CAAC;QAC7C,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC;YAE5C,MAAM,KAAK,GAA4B,EAAE,CAAC;YAC1C,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS;oBAC3B,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,4BAAY,CAAC,cAAe,CAAC,uBAAuB,CAC5E,EAAE,CAAC,kBAA6D,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;oBACzF,CAAC,CAAC,EAAE,CAAC,UAAU;wBACb,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,4BAAY,CAAC,cAAe,CAAC,gBAAgB,CACrE,EAAE,CAAC,kBAAsD,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;wBAClF,CAAC,CAAC,EAAE,CAAC,UAAU;4BACb,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAU,EAAE,CAAC,kBAAkD,EAAE,GAAG,IAAI,CAAC;4BAClH,CAAC,CAAC,SAAS,CAAC;YACpB,CAAC;YACD,OAAO,KAAuB,CAAC;QACjC,CAAC;aACI,CAAC;YACJ,MAAM,UAAU,GAAG,MAA4B,CAAC;YAChD,MAAM,GAAG,GAAG,IAAA,oCAAuB,EAAC,UAAU,CAAC,CAAC;YAEhD,MAAM,KAAK,GAA4B,EAAE,CAAC;YAC1C,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS;oBAC3B,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,4BAAY,CAAC,cAAe,CAAC,uBAAuB,CAC1E,EAAE,CAAC,kBAA6D,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;oBACjG,CAAC,CAAC,EAAE,CAAC,UAAU;wBACb,CAAC,CAAC,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,4BAAY,CAAC,cAAe,CAAC,gBAAgB,CACrE,EAAE,CAAC,kBAAsD,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;wBACxF,CAAC,CAAC,SAAS,CAAC;YAClB,CAAC;YACD,OAAO,KAA2B,CAAC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAI,aAAqB,EAAE,OAAU,EAAE,KAAc;QACpE,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,0CAAkC,EAAE,CAAC;YACjD,CAAC;YACD,OAAQ,IAAA,+BAAqB,GAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAI,KAAc,EAAE,cAAuB;QAC1D,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,0CAAkC,EAAE,CAAC;YACjD,CAAC;YACD,OAAQ,IAAA,+BAAqB,GAAsB,CAAC,IAAI,CAAI,KAAK,EAAE,cAAc,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,IAAI,0CAAkC,EAAE,CAAC,CAAC,0BAA0B;IAC5E,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAI,GAAW,EAAE,KAAQ;QAC5C,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,0CAAkC,EAAE,CAAC;YACjD,CAAC;YACD,OAAQ,IAAA,+BAAqB,GAAsB,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,IAAI,0CAAkC,EAAE,CAAC,CAAC,+BAA+B;IACjF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAI,UAAkB,EAAE,GAAW,EAAE,cAAuB;QAC/E,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,0CAAkC,EAAE,CAAC;YACjD,CAAC;YACD,OAAQ,IAAA,+BAAqB,GAAsB,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IACjE,CAAC;IAED,MAAM;IACN,aAAa;IACb,MAAM;IACN,MAAM,CAAC,SAAS,CAAC,eAAgC;QAC/C,SAAS,QAAQ,CACf,MAAc,EACd,WAAmB,EACnB,YAA8F;YAE9F,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAA,+CAAkC,EAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YAC3G,MAAM,iBAAiB,GAAG,YAAoD,CAAC;YAC/E,iBAAiB,CAAC,eAAe,GAAG,eAAe,CAAC;YAEpD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAuB,EAAE;QAEvC,SAAS,SAAS,CAMhB,MAAc,EACd,WAAmB,EACnB,YAAqF;YAGrF,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAA,+CAAkC,EAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YAC3G,YAAY,CAAC,cAAc,GAAG,MAAM,CAAC;YAErC,MAAM,aAAa,GAAG,KAAK,WAAuB,GAAG,OAAa;gBAChE,MAAM,IAAI,GAAG,IAAA,gCAAsB,GAAE,CAAC;gBACtC,IAAI,IAAI,GAAmC,SAAS,CAAC;gBACrD,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/B,2BAA2B;gBAC7B,CAAC;qBACI,CAAC;oBACJ,IAAI,GAAG,IAA0B,CAAC;oBAClC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;wBACtB,MAAM,IAAI,0CAAkC,EAAE,CAAC;oBACjD,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,GAAG,IAAI,EAAE,yBAAyB,CAAC;gBAE3C,sEAAsE;gBACtE,oFAAoF;gBACpF,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,IAAA,sCAA4B,GAAE,CAAC;oBAE7C,MAAM,MAAM,GAAG,KAAK,CAAC,sBAAsB,EAAE,CAAC;oBAC9C,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC;oBACnD,MAAM,MAAM,GAAmB;wBAC7B,YAAY,EAAE,IAAI;wBAClB,SAAS,EAAE,KAAK;wBAChB,kBAAkB,EAAE,IAAI;wBACxB,SAAS,EAAE,IAAI,EAAE,yBAAyB;qBAC3C,CAAC;oBAEF,MAAM,IAAI,GAAG,MAAM,4BAAY,CAAC,cAAe,CAAC,gBAAgB,CAC9D,YAAY,CAAC,kBAA+D,EAC5E,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAC/C,CAAC;oBACF,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,CAAC;gBAED,MAAM,QAAQ,GAA2B;oBACvC,YAAY,EAAE,IAAI;oBAClB,SAAS,EAAE,IAAI,EAAE,yBAAyB;oBAC1C,kBAAkB,EAAG,IAAI;iBAC1B,CAAC;gBACF,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;gBAC7C,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACzC,YAAY,CAAC,kBAA+D,EAC5E,QAAQ,EAAE,GAAG,OAAO,CACrB,CAAC;gBACF,OAAO,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YAClC,CAAC,CAAC;YAEF,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC;YACjC,YAAY,CAAC,eAAe,GAAG,aAAa,CAAC;YAC7C,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE;gBAC3C,KAAK,EAAE,YAAY,CAAC,IAAI;aACzB,CAAC,CAAC;YAEH,IAAA,oCAAuB,EAAC,aAAa,EAAE,YAA+D,CAAC,CAAC;YACxG,gGAAgG;YAChG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;YAExE,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,SAA0B,EAAE;QAC7C,SAAS,SAAS,CAChB,MAAc,EACd,WAAmB,EACnB,YAAqF;YAErF,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAA,+CAAkC,EAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YAC3G,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC;YAEhC,MAAM,aAAa,GAAG,KAAK,WAAuB,GAAG,OAAa;gBAChE,IAAI,IAAI,GAAmC,SAAS,CAAC;gBACrD,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/B,2BAA2B;gBAC7B,CAAC;qBACI,CAAC;oBACJ,IAAI,GAAG,IAA0B,CAAC;oBAClC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;wBACtB,MAAM,IAAI,0CAAkC,EAAE,CAAC;oBACjD,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,IAAA,sCAA4B,GAAE,CAAC;oBAC7C,OAAO,MAAM,4BAAY,CAAC,cAAe,CAAC,uBAAuB,CAC/D,YAAY,CAAC,kBAAkE,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC;gBACtH,CAAC;gBAED,MAAM,QAAQ,GAAmB;oBAC/B,kBAAkB,EAAE,IAAI;iBACzB,CAAC;gBAEF,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CACpC,YAAY,CAAC,kBAAkE,EAC/E,QAAQ,EAAE,GAAG,OAAO,CACrB,CAAC;YACJ,CAAC,CAAC;YAEF,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC;YACjC,YAAY,CAAC,eAAe,GAAG,aAAa,CAAC;YAE7C,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE;gBAC3C,KAAK,EAAE,YAAY,CAAC,IAAI;aACzB,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,SAAmB,EAAE;QAC/B,SAAS,SAAS,CAChB,MAAc,EACd,WAAmB,EACnB,YAAqF;YAErF,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAA,+CAAkC,EAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YAC3G,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;YAEjC,MAAM,aAAa,GAAG,KAAK,WAAuB,GAAG,OAAa;gBAChE,IAAI,IAAI,GAAmC,SAAS,CAAC;gBACrD,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/B,2BAA2B;gBAC7B,CAAC;qBACI,CAAC;oBACJ,IAAI,GAAG,IAA0B,CAAC;oBAClC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;wBACtB,MAAM,IAAI,0CAAkC,EAAE,CAAC;oBACjD,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,IAAA,sCAA4B,GAAE,CAAC;oBAC7C,OAAO,MAAM,4BAAY,CAAC,cAAe,CAAC,gBAAgB,CACxD,YAAY,CAAC,kBAA2D,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC;gBAC/G,CAAC;gBAED,MAAM,QAAQ,GAAmB;oBAC/B,kBAAkB,EAAE,IAAI;iBACzB,CAAC;gBACF,OAAQ,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAClC,YAAY,CAAC,kBAA2D,EACxE,QAAQ,EAAE,GAAG,OAAO,CACrB,CAAC;YACJ,CAAC,CAAC;YAEF,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC;YACjC,YAAY,CAAC,eAAe,GAAG,aAAa,CAAC;YAE7C,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE;gBAC3C,KAAK,EAAE,YAAY,CAAC,IAAI;aACzB,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,KAAe;QACxC,8DAA8D;QAC9D,SAAS,MAAM,CAA8C,IAAO;YAElE,MAAM,MAAM,GAAG,IAAA,yCAA4B,EAAC,IAAI,CAAC,CAAC;YAClD,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;QAC9B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,KAAe;QACjC,SAAS,MAAM,CACb,MAAc,EACd,WAAmB,EACnB,YAAqF;YAErF,MAAM,EAAC,UAAU,EAAE,YAAY,EAAC,GAAG,IAAA,+CAAkC,EAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YACzG,YAAY,CAAC,YAAY,GAAG,KAAK,CAAC;YAElC,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK;IACL,oBAAoB;IACpB,KAAK;IAEL,wBAAwB;IACxB,MAAM,CAAC,kCAAkC,CACvC,MAAc,EACd,WAAmB,EACnB,UAAmF;QAGnF,OAAO,IAAA,+CAAkC,EAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,UAAkB,EAAE,mBAA4B,KAAK;QAEpF,IAAI,CAAC,4BAAY,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,IAAI,uCAA+B,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,4BAAY,CAAC,cAAc,CAAC,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,cAAwB,CAAC,OAAO,CAAC;QACpE,IAAI,CAAC,4BAAY,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,IAAI,uCAA+B,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,4BAAY,CAAC,cAAc,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC1E,CAAC;;AAjqBH,oBAqqBC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"debug_workflow.d.ts","sourceRoot":"","sources":["../../../src/debugger/debug_workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqC,MAAM,kBAAkB,CAAC;AAEnF,OAAO,EAAkB,WAAW,EAA0B,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,eAAe,
|
1
|
+
{"version":3,"file":"debug_workflow.d.ts","sourceRoot":"","sources":["../../../src/debugger/debug_workflow.ts"],"names":[],"mappings":"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"}
|
@@ -137,7 +137,11 @@ class WorkflowContextDebug extends context_1.DBOSContextImpl {
|
|
137
137
|
return check.output;
|
138
138
|
}
|
139
139
|
// If we have a proxy, then execute the user's transaction.
|
140
|
-
|
140
|
+
let cresult;
|
141
|
+
await (0, context_1.runWithTransactionContext)(tCtxt, async () => {
|
142
|
+
cresult = await txn.call(clsinst, tCtxt, ...args);
|
143
|
+
});
|
144
|
+
const result = cresult;
|
141
145
|
return result;
|
142
146
|
};
|
143
147
|
let result;
|