@dbos-inc/dbos-sdk 0.8.45-preview.g56ba028de5 → 0.8.48-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/packages/dbos-cloud/applications/delete-app.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/applications/delete-app.js +1 -2
- package/dist/packages/dbos-cloud/applications/delete-app.js.map +1 -1
- package/dist/packages/dbos-cloud/applications/deploy-app-code.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/applications/deploy-app-code.js +5 -7
- package/dist/packages/dbos-cloud/applications/deploy-app-code.js.map +1 -1
- package/dist/packages/dbos-cloud/applications/get-app-logs.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/applications/get-app-logs.js +1 -2
- package/dist/packages/dbos-cloud/applications/get-app-logs.js.map +1 -1
- package/dist/packages/dbos-cloud/applications/list-apps.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/applications/list-apps.js +1 -2
- package/dist/packages/dbos-cloud/applications/list-apps.js.map +1 -1
- package/dist/packages/dbos-cloud/applications/register-app.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/applications/register-app.js +1 -2
- package/dist/packages/dbos-cloud/applications/register-app.js.map +1 -1
- package/dist/packages/dbos-cloud/applications/update-app.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/applications/update-app.js +1 -2
- package/dist/packages/dbos-cloud/applications/update-app.js.map +1 -1
- package/dist/packages/dbos-cloud/cli.js +0 -12
- package/dist/packages/dbos-cloud/cli.js.map +1 -1
- package/dist/packages/dbos-cloud/cloudutils.d.ts +7 -0
- package/dist/packages/dbos-cloud/cloudutils.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/cloudutils.js +44 -3
- package/dist/packages/dbos-cloud/cloudutils.js.map +1 -1
- package/dist/packages/dbos-cloud/login.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/login.js +3 -4
- package/dist/packages/dbos-cloud/login.js.map +1 -1
- package/dist/packages/dbos-cloud/register.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/register.js +1 -2
- package/dist/packages/dbos-cloud/register.js.map +1 -1
- package/dist/packages/dbos-cloud/userdb.d.ts +0 -2
- package/dist/packages/dbos-cloud/userdb.d.ts.map +1 -1
- package/dist/packages/dbos-cloud/userdb.js +4 -177
- package/dist/packages/dbos-cloud/userdb.js.map +1 -1
- package/dist/src/context.d.ts +1 -0
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/dbos-executor.d.ts +0 -1
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +4 -8
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
- package/dist/src/dbos-runtime/cli.js +15 -2
- package/dist/src/dbos-runtime/cli.js.map +1 -1
- package/dist/src/dbos-runtime/migrate.d.ts +3 -0
- package/dist/src/dbos-runtime/migrate.d.ts.map +1 -0
- package/dist/src/dbos-runtime/migrate.js +175 -0
- package/dist/src/dbos-runtime/migrate.js.map +1 -0
- package/dist/src/dbos-runtime/runtime.d.ts +7 -9
- package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
- package/dist/src/dbos-runtime/runtime.js +35 -21
- package/dist/src/dbos-runtime/runtime.js.map +1 -1
- package/dist/src/httpServer/handler.d.ts.map +1 -1
- package/dist/src/httpServer/handler.js +3 -2
- package/dist/src/httpServer/handler.js.map +1 -1
- package/dist/src/httpServer/server.d.ts +10 -7
- package/dist/src/httpServer/server.d.ts.map +1 -1
- package/dist/src/httpServer/server.js +23 -29
- package/dist/src/httpServer/server.js.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/system_database.d.ts +2 -0
- package/dist/src/system_database.d.ts.map +1 -1
- package/dist/src/system_database.js +31 -16
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/telemetry/collector.d.ts.map +1 -1
- package/dist/src/telemetry/collector.js +1 -0
- package/dist/src/telemetry/collector.js.map +1 -1
- package/dist/src/telemetry/exporters.d.ts +2 -0
- package/dist/src/telemetry/exporters.d.ts.map +1 -1
- package/dist/src/telemetry/exporters.js +4 -0
- package/dist/src/telemetry/exporters.js.map +1 -1
- package/dist/src/telemetry/logs.d.ts.map +1 -1
- package/dist/src/telemetry/logs.js +15 -33
- package/dist/src/telemetry/logs.js.map +1 -1
- package/dist/src/telemetry/traces.js +2 -2
- package/dist/src/telemetry/traces.js.map +1 -1
- package/dist/src/testing/testing_runtime.d.ts +4 -1
- package/dist/src/testing/testing_runtime.d.ts.map +1 -1
- package/dist/src/testing/testing_runtime.js +6 -0
- package/dist/src/testing/testing_runtime.js.map +1 -1
- package/dist/src/utils.d.ts +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +20 -4
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/examples/hello/start_postgres_docker.sh +1 -1
- package/migrations/20240123182943_schema.js +8 -0
- package/migrations/20240123183021_tables.js +48 -0
- package/migrations/20240123183025_indexes.js +14 -0
- package/migrations/20240123183030_triggers.js +39 -0
- package/migrations/20240124015239_status_timestamp.js +22 -0
- package/package.json +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/delete-app.d.ts.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/delete-app.js +1 -2
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/delete-app.js.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/deploy-app-code.d.ts.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/deploy-app-code.js +5 -7
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/deploy-app-code.js.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/get-app-logs.d.ts.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/get-app-logs.js +1 -2
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/get-app-logs.js.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/list-apps.d.ts.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/list-apps.js +1 -2
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/list-apps.js.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/register-app.d.ts.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/register-app.js +1 -2
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/register-app.js.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/update-app.d.ts.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/update-app.js +1 -2
- package/packages/dbos-cloud/dist/packages/dbos-cloud/applications/update-app.js.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/cli.js +0 -12
- package/packages/dbos-cloud/dist/packages/dbos-cloud/cli.js.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/cloudutils.d.ts +7 -0
- package/packages/dbos-cloud/dist/packages/dbos-cloud/cloudutils.d.ts.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/cloudutils.js +44 -3
- package/packages/dbos-cloud/dist/packages/dbos-cloud/cloudutils.js.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/login.d.ts.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/login.js +3 -4
- package/packages/dbos-cloud/dist/packages/dbos-cloud/login.js.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/register.d.ts.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/register.js +1 -2
- package/packages/dbos-cloud/dist/packages/dbos-cloud/register.js.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/userdb.d.ts +0 -2
- package/packages/dbos-cloud/dist/packages/dbos-cloud/userdb.d.ts.map +1 -1
- package/packages/dbos-cloud/dist/packages/dbos-cloud/userdb.js +4 -177
- package/packages/dbos-cloud/dist/packages/dbos-cloud/userdb.js.map +1 -1
- package/packages/dbos-cloud/dist/src/utils.d.ts +1 -1
- package/packages/dbos-cloud/dist/src/utils.d.ts.map +1 -1
- package/packages/dbos-cloud/dist/src/utils.js +20 -4
- package/packages/dbos-cloud/dist/src/utils.js.map +1 -1
- package/packages/dbos-cloud/package.json +1 -1
- package/packages/dbos-openapi/package.json +1 -1
- package/packages/dbos-cloud/dist/schemas/system_db_schema.d.ts +0 -34
- package/packages/dbos-cloud/dist/schemas/system_db_schema.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/schemas/system_db_schema.js +0 -77
- package/packages/dbos-cloud/dist/schemas/system_db_schema.js.map +0 -1
- package/packages/dbos-cloud/dist/schemas/user_db_schema.d.ts +0 -11
- package/packages/dbos-cloud/dist/schemas/user_db_schema.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/schemas/user_db_schema.js +0 -16
- package/packages/dbos-cloud/dist/schemas/user_db_schema.js.map +0 -1
- package/packages/dbos-cloud/dist/src/communicator.d.ts +0 -25
- package/packages/dbos-cloud/dist/src/communicator.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/communicator.js +0 -26
- package/packages/dbos-cloud/dist/src/communicator.js.map +0 -1
- package/packages/dbos-cloud/dist/src/context.d.ts +0 -64
- package/packages/dbos-cloud/dist/src/context.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/context.js +0 -96
- package/packages/dbos-cloud/dist/src/context.js.map +0 -1
- package/packages/dbos-cloud/dist/src/data_validation.d.ts +0 -3
- package/packages/dbos-cloud/dist/src/data_validation.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/data_validation.js +0 -168
- package/packages/dbos-cloud/dist/src/data_validation.js.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-executor.d.ts +0 -102
- package/packages/dbos-cloud/dist/src/dbos-executor.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-executor.js +0 -631
- package/packages/dbos-cloud/dist/src/dbos-executor.js.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-runtime/applicationVersion.d.ts +0 -3
- package/packages/dbos-cloud/dist/src/dbos-runtime/applicationVersion.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-runtime/applicationVersion.js +0 -13
- package/packages/dbos-cloud/dist/src/dbos-runtime/applicationVersion.js.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-runtime/cli.d.ts +0 -8
- package/packages/dbos-cloud/dist/src/dbos-runtime/cli.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-runtime/cli.js +0 -47
- package/packages/dbos-cloud/dist/src/dbos-runtime/cli.js.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-runtime/config.d.ts +0 -29
- package/packages/dbos-cloud/dist/src/dbos-runtime/config.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-runtime/config.js +0 -111
- package/packages/dbos-cloud/dist/src/dbos-runtime/config.js.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-runtime/debug.d.ts +0 -4
- package/packages/dbos-cloud/dist/src/dbos-runtime/debug.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-runtime/debug.js +0 -21
- package/packages/dbos-cloud/dist/src/dbos-runtime/debug.js.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-runtime/init.d.ts +0 -7
- package/packages/dbos-cloud/dist/src/dbos-runtime/init.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-runtime/init.js +0 -51
- package/packages/dbos-cloud/dist/src/dbos-runtime/init.js.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-runtime/runtime.d.ts +0 -28
- package/packages/dbos-cloud/dist/src/dbos-runtime/runtime.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/dbos-runtime/runtime.js +0 -95
- package/packages/dbos-cloud/dist/src/dbos-runtime/runtime.js.map +0 -1
- package/packages/dbos-cloud/dist/src/debugger/debug_workflow.d.ts +0 -38
- package/packages/dbos-cloud/dist/src/debugger/debug_workflow.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/debugger/debug_workflow.js +0 -211
- package/packages/dbos-cloud/dist/src/debugger/debug_workflow.js.map +0 -1
- package/packages/dbos-cloud/dist/src/decorators.d.ts +0 -118
- package/packages/dbos-cloud/dist/src/decorators.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/decorators.js +0 -467
- package/packages/dbos-cloud/dist/src/decorators.js.map +0 -1
- package/packages/dbos-cloud/dist/src/error.d.ts +0 -47
- package/packages/dbos-cloud/dist/src/error.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/error.js +0 -171
- package/packages/dbos-cloud/dist/src/error.js.map +0 -1
- package/packages/dbos-cloud/dist/src/httpServer/handler.d.ts +0 -54
- package/packages/dbos-cloud/dist/src/httpServer/handler.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/httpServer/handler.js +0 -175
- package/packages/dbos-cloud/dist/src/httpServer/handler.js.map +0 -1
- package/packages/dbos-cloud/dist/src/httpServer/handlerTypes.d.ts +0 -11
- package/packages/dbos-cloud/dist/src/httpServer/handlerTypes.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/httpServer/handlerTypes.js +0 -19
- package/packages/dbos-cloud/dist/src/httpServer/handlerTypes.js.map +0 -1
- package/packages/dbos-cloud/dist/src/httpServer/middleware.d.ts +0 -56
- package/packages/dbos-cloud/dist/src/httpServer/middleware.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/httpServer/middleware.js +0 -57
- package/packages/dbos-cloud/dist/src/httpServer/middleware.js.map +0 -1
- package/packages/dbos-cloud/dist/src/httpServer/server.d.ts +0 -45
- package/packages/dbos-cloud/dist/src/httpServer/server.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/httpServer/server.js +0 -253
- package/packages/dbos-cloud/dist/src/httpServer/server.js.map +0 -1
- package/packages/dbos-cloud/dist/src/system_database.d.ts +0 -89
- package/packages/dbos-cloud/dist/src/system_database.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/system_database.js +0 -447
- package/packages/dbos-cloud/dist/src/system_database.js.map +0 -1
- package/packages/dbos-cloud/dist/src/telemetry/collector.d.ts +0 -16
- package/packages/dbos-cloud/dist/src/telemetry/collector.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/telemetry/collector.js +0 -65
- package/packages/dbos-cloud/dist/src/telemetry/collector.js.map +0 -1
- package/packages/dbos-cloud/dist/src/telemetry/exporters.d.ts +0 -15
- package/packages/dbos-cloud/dist/src/telemetry/exporters.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/telemetry/exporters.js +0 -59
- package/packages/dbos-cloud/dist/src/telemetry/exporters.js.map +0 -1
- package/packages/dbos-cloud/dist/src/telemetry/index.d.ts +0 -11
- package/packages/dbos-cloud/dist/src/telemetry/index.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/telemetry/index.js +0 -19
- package/packages/dbos-cloud/dist/src/telemetry/index.js.map +0 -1
- package/packages/dbos-cloud/dist/src/telemetry/logs.d.ts +0 -47
- package/packages/dbos-cloud/dist/src/telemetry/logs.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/telemetry/logs.js +0 -195
- package/packages/dbos-cloud/dist/src/telemetry/logs.js.map +0 -1
- package/packages/dbos-cloud/dist/src/telemetry/traces.d.ts +0 -14
- package/packages/dbos-cloud/dist/src/telemetry/traces.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/telemetry/traces.js +0 -52
- package/packages/dbos-cloud/dist/src/telemetry/traces.js.map +0 -1
- package/packages/dbos-cloud/dist/src/transaction.d.ts +0 -29
- package/packages/dbos-cloud/dist/src/transaction.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/transaction.js +0 -27
- package/packages/dbos-cloud/dist/src/transaction.js.map +0 -1
- package/packages/dbos-cloud/dist/src/user_database.d.ts +0 -132
- package/packages/dbos-cloud/dist/src/user_database.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/user_database.js +0 -332
- package/packages/dbos-cloud/dist/src/user_database.js.map +0 -1
- package/packages/dbos-cloud/dist/src/workflow.d.ts +0 -195
- package/packages/dbos-cloud/dist/src/workflow.d.ts.map +0 -1
- package/packages/dbos-cloud/dist/src/workflow.js +0 -498
- package/packages/dbos-cloud/dist/src/workflow.js.map +0 -1
@@ -1,498 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.RetrievedHandle = exports.InvokedHandle = exports.WorkflowContextImpl = exports.StatusString = void 0;
|
4
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
5
|
-
const dbos_executor_1 = require("./dbos-executor");
|
6
|
-
const transaction_1 = require("./transaction");
|
7
|
-
const communicator_1 = require("./communicator");
|
8
|
-
const error_1 = require("./error");
|
9
|
-
const serialize_error_1 = require("serialize-error");
|
10
|
-
const utils_1 = require("./utils");
|
11
|
-
const api_1 = require("@opentelemetry/api");
|
12
|
-
const context_1 = require("./context");
|
13
|
-
const decorators_1 = require("./decorators");
|
14
|
-
exports.StatusString = {
|
15
|
-
PENDING: "PENDING",
|
16
|
-
SUCCESS: "SUCCESS",
|
17
|
-
ERROR: "ERROR",
|
18
|
-
};
|
19
|
-
class WorkflowContextImpl extends context_1.DBOSContextImpl {
|
20
|
-
workflowConfig;
|
21
|
-
presetUUID;
|
22
|
-
functionID = 0;
|
23
|
-
#dbosExec;
|
24
|
-
resultBuffer = new Map();
|
25
|
-
isTempWorkflow;
|
26
|
-
// For temporary workflows
|
27
|
-
tempWfOperationType; // "transaction", "external", or "send"
|
28
|
-
tempWfOperationName; // The name of that operation.
|
29
|
-
constructor(dbosExec, parentCtx, workflowUUID, workflowConfig, workflowName, presetUUID) {
|
30
|
-
const span = dbosExec.tracer.startSpan(workflowName, {
|
31
|
-
status: exports.StatusString.PENDING,
|
32
|
-
operationUUID: workflowUUID,
|
33
|
-
operationType: dbos_executor_1.OperationType.WORKFLOW,
|
34
|
-
authenticatedUser: parentCtx?.authenticatedUser ?? "",
|
35
|
-
authenticatedRoles: parentCtx?.authenticatedRoles ?? [],
|
36
|
-
assumedRole: parentCtx?.assumedRole ?? "",
|
37
|
-
executorID: parentCtx?.executorID,
|
38
|
-
});
|
39
|
-
super(workflowName, span, dbosExec.logger, parentCtx);
|
40
|
-
this.workflowConfig = workflowConfig;
|
41
|
-
this.presetUUID = presetUUID;
|
42
|
-
this.workflowUUID = workflowUUID;
|
43
|
-
this.#dbosExec = dbosExec;
|
44
|
-
this.isTempWorkflow = dbos_executor_1.DBOSExecutor.tempWorkflowName === workflowName;
|
45
|
-
this.tempWfOperationType = "";
|
46
|
-
this.tempWfOperationName = "";
|
47
|
-
if (dbosExec.config.application) {
|
48
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
49
|
-
this.applicationConfig = dbosExec.config.application;
|
50
|
-
}
|
51
|
-
}
|
52
|
-
functionIDGetIncrement() {
|
53
|
-
return this.functionID++;
|
54
|
-
}
|
55
|
-
/**
|
56
|
-
* Retrieve the transaction snapshot information of the current transaction
|
57
|
-
*/
|
58
|
-
async retrieveSnapshot(client) {
|
59
|
-
const rows = await this.#dbosExec.userDatabase.queryWithClient(client, "SELECT pg_current_snapshot()::text as txn_snapshot;");
|
60
|
-
return rows[0].txn_snapshot;
|
61
|
-
}
|
62
|
-
/**
|
63
|
-
* Check if an operation has already executed in a workflow.
|
64
|
-
* If it previously executed successfully, return its output.
|
65
|
-
* If it previously executed and threw an error, throw that error.
|
66
|
-
* Otherwise, return DBOSNull.
|
67
|
-
* Also return the transaction snapshot information of this current transaction.
|
68
|
-
*/
|
69
|
-
async checkExecution(client, funcID) {
|
70
|
-
// Note: we read the current snapshot, not the recorded one!
|
71
|
-
const rows = await this.#dbosExec.userDatabase.queryWithClient(client, "(SELECT output, error, txn_snapshot, true as recorded FROM dbos.transaction_outputs WHERE workflow_uuid=$1 AND function_id=$2 UNION ALL SELECT null as output, null as error, pg_current_snapshot()::text as txn_snapshot, false as recorded) ORDER BY recorded", this.workflowUUID, funcID);
|
72
|
-
if (rows.length === 0 || rows.length > 2) {
|
73
|
-
this.logger.error("Unexpected! This should never happen. Returned rows: " + rows.toString());
|
74
|
-
throw new error_1.DBOSError("This should never happen. Returned rows: " + rows.toString());
|
75
|
-
}
|
76
|
-
const res = {
|
77
|
-
output: dbos_executor_1.dbosNull,
|
78
|
-
txn_snapshot: ""
|
79
|
-
};
|
80
|
-
// recorded=false row will be first because we used ORDER BY.
|
81
|
-
res.txn_snapshot = rows[0].txn_snapshot;
|
82
|
-
if (rows.length === 2) {
|
83
|
-
if (JSON.parse(rows[1].error) !== null) {
|
84
|
-
throw (0, serialize_error_1.deserializeError)(JSON.parse(rows[1].error));
|
85
|
-
}
|
86
|
-
else {
|
87
|
-
res.output = JSON.parse(rows[1].output);
|
88
|
-
}
|
89
|
-
}
|
90
|
-
return res;
|
91
|
-
}
|
92
|
-
/**
|
93
|
-
* Write all entries in the workflow result buffer to the database.
|
94
|
-
* If it encounters a primary key error, this indicates a concurrent execution with the same UUID, so throw an DBOSError.
|
95
|
-
*/
|
96
|
-
async flushResultBuffer(client) {
|
97
|
-
const funcIDs = Array.from(this.resultBuffer.keys());
|
98
|
-
if (funcIDs.length === 0) {
|
99
|
-
return;
|
100
|
-
}
|
101
|
-
funcIDs.sort();
|
102
|
-
try {
|
103
|
-
let sqlStmt = "INSERT INTO dbos.transaction_outputs (workflow_uuid, function_id, output, error, txn_id, txn_snapshot) VALUES ";
|
104
|
-
let paramCnt = 1;
|
105
|
-
const values = [];
|
106
|
-
for (const funcID of funcIDs) {
|
107
|
-
// Capture output and also transaction snapshot information.
|
108
|
-
// Initially, no txn_id because no queries executed.
|
109
|
-
const recorded = this.resultBuffer.get(funcID);
|
110
|
-
const output = recorded.output;
|
111
|
-
const txnSnapshot = recorded.txn_snapshot;
|
112
|
-
if (paramCnt > 1) {
|
113
|
-
sqlStmt += ", ";
|
114
|
-
}
|
115
|
-
sqlStmt += `($${paramCnt++}, $${paramCnt++}, $${paramCnt++}, $${paramCnt++}, null, $${paramCnt++})`;
|
116
|
-
values.push(this.workflowUUID, funcID, JSON.stringify(output), JSON.stringify(null), txnSnapshot);
|
117
|
-
}
|
118
|
-
this.logger.debug(sqlStmt);
|
119
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
120
|
-
await this.#dbosExec.userDatabase.queryWithClient(client, sqlStmt, ...values);
|
121
|
-
}
|
122
|
-
catch (error) {
|
123
|
-
if (this.#dbosExec.userDatabase.isKeyConflictError(error)) {
|
124
|
-
// Serialization and primary key conflict (Postgres).
|
125
|
-
throw new error_1.DBOSWorkflowConflictUUIDError(this.workflowUUID);
|
126
|
-
}
|
127
|
-
else {
|
128
|
-
throw error;
|
129
|
-
}
|
130
|
-
}
|
131
|
-
}
|
132
|
-
/**
|
133
|
-
* Buffer a placeholder value to guard an operation against concurrent executions with the same UUID.
|
134
|
-
*/
|
135
|
-
guardOperation(funcID, txnSnapshot) {
|
136
|
-
const guardOutput = {
|
137
|
-
output: null,
|
138
|
-
txn_snapshot: txnSnapshot,
|
139
|
-
};
|
140
|
-
this.resultBuffer.set(funcID, guardOutput);
|
141
|
-
}
|
142
|
-
/**
|
143
|
-
* Write a guarded operation's output to the database.
|
144
|
-
*/
|
145
|
-
async recordGuardedOutput(client, funcID, output) {
|
146
|
-
const serialOutput = JSON.stringify(output);
|
147
|
-
const rows = await this.#dbosExec.userDatabase.queryWithClient(client, "UPDATE dbos.transaction_outputs SET output=$1, txn_id=(select pg_current_xact_id_if_assigned()::text) WHERE workflow_uuid=$2 AND function_id=$3 RETURNING txn_id;", serialOutput, this.workflowUUID, funcID);
|
148
|
-
return rows[0].txn_id; // Must have a transaction ID because we inserted the guard before.
|
149
|
-
}
|
150
|
-
/**
|
151
|
-
* Write an unguarded operation's output to the database.
|
152
|
-
*/
|
153
|
-
async recordUnguardedOutput(client, funcID, output) {
|
154
|
-
const serialOutput = JSON.stringify(output);
|
155
|
-
const rows = await this.#dbosExec.userDatabase.queryWithClient(client, "INSERT INTO dbos.transaction_outputs (workflow_uuid, function_id, output, txn_id, txn_snapshot) VALUES ($1, $2, $3, (select pg_current_xact_id_if_assigned()::text), (select pg_current_snapshot()::text)) RETURNING txn_id;", this.workflowUUID, funcID, serialOutput);
|
156
|
-
return rows[0].txn_id;
|
157
|
-
}
|
158
|
-
/**
|
159
|
-
* Record an error in a guarded operation to the database.
|
160
|
-
*/
|
161
|
-
async recordGuardedError(client, funcID, err) {
|
162
|
-
const serialErr = JSON.stringify((0, serialize_error_1.serializeError)(err));
|
163
|
-
await this.#dbosExec.userDatabase.queryWithClient(client, "UPDATE dbos.transaction_outputs SET error=$1 WHERE workflow_uuid=$2 AND function_id=$3;", serialErr, this.workflowUUID, funcID);
|
164
|
-
}
|
165
|
-
/**
|
166
|
-
* Record an error in an unguarded operation to the database.
|
167
|
-
*/
|
168
|
-
async recordUnguardedError(client, funcID, err) {
|
169
|
-
const serialErr = JSON.stringify((0, serialize_error_1.serializeError)(err));
|
170
|
-
const rows = await this.#dbosExec.userDatabase.queryWithClient(client, "INSERT INTO dbos.transaction_outputs (workflow_uuid, function_id, error, txn_id, txn_snapshot) VALUES ($1, $2, $3, (select pg_current_xact_id_if_assigned()::text), (select pg_current_snapshot()::text)) RETURNING txn_id;", this.workflowUUID, funcID, serialErr);
|
171
|
-
return rows[0].txn_id;
|
172
|
-
}
|
173
|
-
/**
|
174
|
-
* Invoke another workflow as its child workflow and return a workflow handle.
|
175
|
-
* The child workflow is guaranteed to be executed exactly once, even if the workflow is retried with the same UUID.
|
176
|
-
* We pass in itself as a parent context adn assign the child workflow with a deterministic UUID "this.workflowUUID-functionID", which appends a function ID to its own UUID.
|
177
|
-
* We also pass in its own workflowUUID and function ID so the invoked handle is deterministic.
|
178
|
-
*/
|
179
|
-
async childWorkflow(wf, ...args) {
|
180
|
-
// Note: cannot use invoke for childWorkflow because of potential recursive types on the workflow itself.
|
181
|
-
const funcId = this.functionIDGetIncrement();
|
182
|
-
const childUUID = this.workflowUUID + "-" + funcId;
|
183
|
-
return this.#dbosExec.internalWorkflow(wf, { parentCtx: this, workflowUUID: childUUID }, this.workflowUUID, funcId, ...args);
|
184
|
-
}
|
185
|
-
/**
|
186
|
-
* Execute a transactional function.
|
187
|
-
* The transaction is guaranteed to execute exactly once, even if the workflow is retried with the same UUID.
|
188
|
-
* If the transaction encounters a Postgres serialization error, retry it.
|
189
|
-
* If it encounters any other error, throw it.
|
190
|
-
*/
|
191
|
-
async transaction(txn, ...args) {
|
192
|
-
const txnInfo = this.#dbosExec.transactionInfoMap.get(txn.name);
|
193
|
-
if (txnInfo === undefined) {
|
194
|
-
throw new error_1.DBOSNotRegisteredError(txn.name);
|
195
|
-
}
|
196
|
-
const readOnly = txnInfo.config.readOnly ?? false;
|
197
|
-
let retryWaitMillis = 1;
|
198
|
-
const backoffFactor = 2;
|
199
|
-
const funcId = this.functionIDGetIncrement();
|
200
|
-
const span = this.#dbosExec.tracer.startSpan(txn.name, {
|
201
|
-
operationUUID: this.workflowUUID,
|
202
|
-
operationType: dbos_executor_1.OperationType.TRANSACTION,
|
203
|
-
authenticatedUser: this.authenticatedUser,
|
204
|
-
assumedRole: this.assumedRole,
|
205
|
-
authenticatedRoles: this.authenticatedRoles,
|
206
|
-
readOnly: readOnly,
|
207
|
-
isolationLevel: txnInfo.config.isolationLevel,
|
208
|
-
executorID: this.executorID,
|
209
|
-
}, this.span);
|
210
|
-
// eslint-disable-next-line no-constant-condition
|
211
|
-
while (true) {
|
212
|
-
const wrappedTransaction = async (client) => {
|
213
|
-
const tCtxt = new transaction_1.TransactionContextImpl(this.#dbosExec.userDatabase.getName(), client, this, span, this.#dbosExec.logger, funcId, txn.name);
|
214
|
-
// If the UUID is preset, it is possible this execution previously happened. Check, and return its original result if it did.
|
215
|
-
// Note: It is possible to retrieve a generated ID from a workflow handle, run a concurrent execution, and cause trouble for yourself. We recommend against this.
|
216
|
-
let txn_snapshot;
|
217
|
-
if (this.presetUUID) {
|
218
|
-
const check = await this.checkExecution(client, funcId);
|
219
|
-
txn_snapshot = check.txn_snapshot;
|
220
|
-
if (check.output !== dbos_executor_1.dbosNull) {
|
221
|
-
tCtxt.span.setAttribute("cached", true);
|
222
|
-
tCtxt.span.setStatus({ code: api_1.SpanStatusCode.OK });
|
223
|
-
this.#dbosExec.tracer.endSpan(tCtxt.span);
|
224
|
-
return check.output;
|
225
|
-
}
|
226
|
-
}
|
227
|
-
else if (readOnly) {
|
228
|
-
// Collect snapshot information for read-only transactions, if not already collected above
|
229
|
-
txn_snapshot = await this.retrieveSnapshot(client);
|
230
|
-
}
|
231
|
-
// If the UUID is preset, set a guard to block concurrent executions with the same UUID.
|
232
|
-
if (this.presetUUID) {
|
233
|
-
this.guardOperation(funcId, txn_snapshot);
|
234
|
-
}
|
235
|
-
// For non-read-only transactions, flush the result buffer, including the guard if present.
|
236
|
-
if (!readOnly) {
|
237
|
-
await this.flushResultBuffer(client);
|
238
|
-
}
|
239
|
-
// Execute the user's transaction.
|
240
|
-
const result = await txn(tCtxt, ...args);
|
241
|
-
// Record the execution, commit, and return.
|
242
|
-
if (readOnly) {
|
243
|
-
// Buffer the output of read-only transactions instead of synchronously writing it.
|
244
|
-
const guardOutput = {
|
245
|
-
output: result,
|
246
|
-
txn_snapshot: txn_snapshot,
|
247
|
-
};
|
248
|
-
this.resultBuffer.set(funcId, guardOutput);
|
249
|
-
}
|
250
|
-
else {
|
251
|
-
// Synchronously record the output of write transactions and obtain the transaction ID.
|
252
|
-
const pg_txn_id = this.presetUUID ? await this.recordGuardedOutput(client, funcId, result) : await this.recordUnguardedOutput(client, funcId, result);
|
253
|
-
tCtxt.span.setAttribute("pg_txn_id", pg_txn_id);
|
254
|
-
this.resultBuffer.clear();
|
255
|
-
}
|
256
|
-
return result;
|
257
|
-
};
|
258
|
-
try {
|
259
|
-
const result = await this.#dbosExec.userDatabase.transaction(wrappedTransaction, txnInfo.config);
|
260
|
-
span.setStatus({ code: api_1.SpanStatusCode.OK });
|
261
|
-
return result;
|
262
|
-
}
|
263
|
-
catch (err) {
|
264
|
-
if (this.#dbosExec.userDatabase.isRetriableTransactionError(err)) {
|
265
|
-
// serialization_failure in PostgreSQL
|
266
|
-
span.addEvent("TXN SERIALIZATION FAILURE", { retryWaitMillis });
|
267
|
-
// Retry serialization failures.
|
268
|
-
await (0, utils_1.sleep)(retryWaitMillis);
|
269
|
-
retryWaitMillis *= backoffFactor;
|
270
|
-
continue;
|
271
|
-
}
|
272
|
-
// Record and throw other errors.
|
273
|
-
const e = err;
|
274
|
-
await this.#dbosExec.userDatabase.transaction(async (client) => {
|
275
|
-
await this.flushResultBuffer(client);
|
276
|
-
this.presetUUID ? await this.recordGuardedError(client, funcId, e) : await this.recordUnguardedError(client, funcId, e);
|
277
|
-
}, { isolationLevel: transaction_1.IsolationLevel.ReadCommitted });
|
278
|
-
this.resultBuffer.clear();
|
279
|
-
span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: e.message });
|
280
|
-
throw err;
|
281
|
-
}
|
282
|
-
finally {
|
283
|
-
this.#dbosExec.tracer.endSpan(span);
|
284
|
-
}
|
285
|
-
}
|
286
|
-
}
|
287
|
-
/**
|
288
|
-
* Execute a communicator function.
|
289
|
-
* If it encounters any error, retry according to its configured retry policy until the maximum number of attempts is reached, then throw an DBOSError.
|
290
|
-
* The communicator may execute many times, but once it is complete, it will not re-execute.
|
291
|
-
*/
|
292
|
-
async external(commFn, ...args) {
|
293
|
-
const commInfo = this.#dbosExec.communicatorInfoMap.get(commFn.name);
|
294
|
-
if (commInfo === undefined) {
|
295
|
-
throw new error_1.DBOSNotRegisteredError(commFn.name);
|
296
|
-
}
|
297
|
-
const funcID = this.functionIDGetIncrement();
|
298
|
-
const span = this.#dbosExec.tracer.startSpan(commFn.name, {
|
299
|
-
operationUUID: this.workflowUUID,
|
300
|
-
operationType: dbos_executor_1.OperationType.COMMUNICATOR,
|
301
|
-
authenticatedUser: this.authenticatedUser,
|
302
|
-
assumedRole: this.assumedRole,
|
303
|
-
authenticatedRoles: this.authenticatedRoles,
|
304
|
-
executorID: this.executorID,
|
305
|
-
retriesAllowed: commInfo.config.retriesAllowed,
|
306
|
-
intervalSeconds: commInfo.config.intervalSeconds,
|
307
|
-
maxAttempts: commInfo.config.maxAttempts,
|
308
|
-
backoffRate: commInfo.config.backoffRate,
|
309
|
-
}, this.span);
|
310
|
-
const ctxt = new communicator_1.CommunicatorContextImpl(this, funcID, span, this.#dbosExec.logger, commInfo.config, commFn.name);
|
311
|
-
await this.#dbosExec.userDatabase.transaction(async (client) => {
|
312
|
-
await this.flushResultBuffer(client);
|
313
|
-
}, { isolationLevel: transaction_1.IsolationLevel.ReadCommitted });
|
314
|
-
this.resultBuffer.clear();
|
315
|
-
// Check if this execution previously happened, returning its original result if it did.
|
316
|
-
const check = await this.#dbosExec.systemDatabase.checkOperationOutput(this.workflowUUID, ctxt.functionID);
|
317
|
-
if (check !== dbos_executor_1.dbosNull) {
|
318
|
-
ctxt.span.setAttribute("cached", true);
|
319
|
-
ctxt.span.setStatus({ code: api_1.SpanStatusCode.OK });
|
320
|
-
this.#dbosExec.tracer.endSpan(ctxt.span);
|
321
|
-
return check;
|
322
|
-
}
|
323
|
-
// Execute the communicator function. If it throws an exception, retry with exponential backoff.
|
324
|
-
// After reaching the maximum number of retries, throw an DBOSError.
|
325
|
-
let result = dbos_executor_1.dbosNull;
|
326
|
-
let err = dbos_executor_1.dbosNull;
|
327
|
-
if (ctxt.retriesAllowed) {
|
328
|
-
let numAttempts = 0;
|
329
|
-
let intervalSeconds = ctxt.intervalSeconds;
|
330
|
-
while (result === dbos_executor_1.dbosNull && numAttempts++ < ctxt.maxAttempts) {
|
331
|
-
try {
|
332
|
-
result = await commFn(ctxt, ...args);
|
333
|
-
}
|
334
|
-
catch (error) {
|
335
|
-
if (numAttempts < ctxt.maxAttempts) {
|
336
|
-
// Sleep for an interval, then increase the interval by backoffRate.
|
337
|
-
await (0, utils_1.sleep)(intervalSeconds);
|
338
|
-
intervalSeconds *= ctxt.backoffRate;
|
339
|
-
}
|
340
|
-
ctxt.span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: error.message });
|
341
|
-
this.#dbosExec.tracer.endSpan(ctxt.span);
|
342
|
-
}
|
343
|
-
}
|
344
|
-
}
|
345
|
-
else {
|
346
|
-
try {
|
347
|
-
result = await commFn(ctxt, ...args);
|
348
|
-
}
|
349
|
-
catch (error) {
|
350
|
-
err = error;
|
351
|
-
ctxt.span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: error.message });
|
352
|
-
this.#dbosExec.tracer.endSpan(ctxt.span);
|
353
|
-
}
|
354
|
-
}
|
355
|
-
// `result` can only be dbosNull when the communicator timed out
|
356
|
-
if (result === dbos_executor_1.dbosNull) {
|
357
|
-
// Record the error, then throw it.
|
358
|
-
err = err === dbos_executor_1.dbosNull ? new error_1.DBOSError("Communicator reached maximum retries.", 1) : err;
|
359
|
-
await this.#dbosExec.systemDatabase.recordOperationError(this.workflowUUID, ctxt.functionID, err);
|
360
|
-
ctxt.span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: err.message });
|
361
|
-
this.#dbosExec.tracer.endSpan(ctxt.span);
|
362
|
-
throw err;
|
363
|
-
}
|
364
|
-
else {
|
365
|
-
// Record the execution and return.
|
366
|
-
await this.#dbosExec.systemDatabase.recordOperationOutput(this.workflowUUID, ctxt.functionID, result);
|
367
|
-
ctxt.span.setStatus({ code: api_1.SpanStatusCode.OK });
|
368
|
-
this.#dbosExec.tracer.endSpan(ctxt.span);
|
369
|
-
return result;
|
370
|
-
}
|
371
|
-
}
|
372
|
-
/**
|
373
|
-
* Send a message to a workflow identified by a UUID.
|
374
|
-
* The message can optionally be tagged with a topic.
|
375
|
-
*/
|
376
|
-
async send(destinationUUID, message, topic) {
|
377
|
-
const functionID = this.functionIDGetIncrement();
|
378
|
-
await this.#dbosExec.userDatabase.transaction(async (client) => {
|
379
|
-
await this.flushResultBuffer(client);
|
380
|
-
}, { isolationLevel: transaction_1.IsolationLevel.ReadCommitted });
|
381
|
-
this.resultBuffer.clear();
|
382
|
-
await this.#dbosExec.systemDatabase.send(this.workflowUUID, functionID, destinationUUID, message, topic);
|
383
|
-
}
|
384
|
-
/**
|
385
|
-
* Consume and return the oldest unconsumed message sent to your UUID.
|
386
|
-
* If a topic is specified, retrieve the oldest message tagged with that topic.
|
387
|
-
* Otherwise, retrieve the oldest message with no topic.
|
388
|
-
*/
|
389
|
-
async recv(topic, timeoutSeconds = dbos_executor_1.DBOSExecutor.defaultNotificationTimeoutSec) {
|
390
|
-
const functionID = this.functionIDGetIncrement();
|
391
|
-
await this.#dbosExec.userDatabase.transaction(async (client) => {
|
392
|
-
await this.flushResultBuffer(client);
|
393
|
-
}, { isolationLevel: transaction_1.IsolationLevel.ReadCommitted });
|
394
|
-
this.resultBuffer.clear();
|
395
|
-
return this.#dbosExec.systemDatabase.recv(this.workflowUUID, functionID, topic, timeoutSeconds);
|
396
|
-
}
|
397
|
-
/**
|
398
|
-
* Emit a workflow event, represented as a key-value pair.
|
399
|
-
* Events are immutable once set.
|
400
|
-
*/
|
401
|
-
async setEvent(key, value) {
|
402
|
-
const functionID = this.functionIDGetIncrement();
|
403
|
-
await this.#dbosExec.userDatabase.transaction(async (client) => {
|
404
|
-
await this.flushResultBuffer(client);
|
405
|
-
}, { isolationLevel: transaction_1.IsolationLevel.ReadCommitted });
|
406
|
-
this.resultBuffer.clear();
|
407
|
-
await this.#dbosExec.systemDatabase.setEvent(this.workflowUUID, functionID, key, value);
|
408
|
-
}
|
409
|
-
/**
|
410
|
-
* Generate a proxy object for the provided class that wraps direct calls (i.e. OpClass.someMethod(param))
|
411
|
-
* to use WorkflowContext.Transaction(OpClass.someMethod, param);
|
412
|
-
*/
|
413
|
-
invoke(object) {
|
414
|
-
const ops = (0, decorators_1.getRegisteredOperations)(object);
|
415
|
-
const proxy = {};
|
416
|
-
for (const op of ops) {
|
417
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
418
|
-
proxy[op.name] = op.txnConfig
|
419
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
420
|
-
? (...args) => this.transaction(op.registeredFunction, ...args)
|
421
|
-
: op.commConfig
|
422
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
423
|
-
? (...args) => this.external(op.registeredFunction, ...args)
|
424
|
-
: undefined;
|
425
|
-
}
|
426
|
-
return proxy;
|
427
|
-
}
|
428
|
-
/**
|
429
|
-
* Wait for a workflow to emit an event, then return its value.
|
430
|
-
*/
|
431
|
-
getEvent(targetUUID, key, timeoutSeconds = dbos_executor_1.DBOSExecutor.defaultNotificationTimeoutSec) {
|
432
|
-
const functionID = this.functionIDGetIncrement();
|
433
|
-
return this.#dbosExec.systemDatabase.getEvent(targetUUID, key, timeoutSeconds, this.workflowUUID, functionID);
|
434
|
-
}
|
435
|
-
/**
|
436
|
-
* Retrieve a handle for a workflow UUID.
|
437
|
-
*/
|
438
|
-
retrieveWorkflow(targetUUID) {
|
439
|
-
const functionID = this.functionIDGetIncrement();
|
440
|
-
return new RetrievedHandle(this.#dbosExec.systemDatabase, targetUUID, this.workflowUUID, functionID);
|
441
|
-
}
|
442
|
-
}
|
443
|
-
exports.WorkflowContextImpl = WorkflowContextImpl;
|
444
|
-
/**
|
445
|
-
* The handle returned when invoking a workflow with DBOSExecutor.workflow
|
446
|
-
*/
|
447
|
-
class InvokedHandle {
|
448
|
-
systemDatabase;
|
449
|
-
workflowPromise;
|
450
|
-
workflowUUID;
|
451
|
-
workflowName;
|
452
|
-
callerUUID;
|
453
|
-
callerFunctionID;
|
454
|
-
constructor(systemDatabase, workflowPromise, workflowUUID, workflowName, callerUUID, callerFunctionID) {
|
455
|
-
this.systemDatabase = systemDatabase;
|
456
|
-
this.workflowPromise = workflowPromise;
|
457
|
-
this.workflowUUID = workflowUUID;
|
458
|
-
this.workflowName = workflowName;
|
459
|
-
this.callerUUID = callerUUID;
|
460
|
-
this.callerFunctionID = callerFunctionID;
|
461
|
-
}
|
462
|
-
getWorkflowUUID() {
|
463
|
-
return this.workflowUUID;
|
464
|
-
}
|
465
|
-
async getStatus() {
|
466
|
-
return this.systemDatabase.getWorkflowStatus(this.workflowUUID, this.callerUUID, this.callerFunctionID);
|
467
|
-
}
|
468
|
-
async getResult() {
|
469
|
-
return this.workflowPromise;
|
470
|
-
}
|
471
|
-
}
|
472
|
-
exports.InvokedHandle = InvokedHandle;
|
473
|
-
/**
|
474
|
-
* The handle returned when retrieving a workflow with DBOSExecutor.retrieve
|
475
|
-
*/
|
476
|
-
class RetrievedHandle {
|
477
|
-
systemDatabase;
|
478
|
-
workflowUUID;
|
479
|
-
callerUUID;
|
480
|
-
callerFunctionID;
|
481
|
-
constructor(systemDatabase, workflowUUID, callerUUID, callerFunctionID) {
|
482
|
-
this.systemDatabase = systemDatabase;
|
483
|
-
this.workflowUUID = workflowUUID;
|
484
|
-
this.callerUUID = callerUUID;
|
485
|
-
this.callerFunctionID = callerFunctionID;
|
486
|
-
}
|
487
|
-
getWorkflowUUID() {
|
488
|
-
return this.workflowUUID;
|
489
|
-
}
|
490
|
-
async getStatus() {
|
491
|
-
return await this.systemDatabase.getWorkflowStatus(this.workflowUUID, this.callerUUID, this.callerFunctionID);
|
492
|
-
}
|
493
|
-
async getResult() {
|
494
|
-
return await this.systemDatabase.getWorkflowResult(this.workflowUUID);
|
495
|
-
}
|
496
|
-
}
|
497
|
-
exports.RetrievedHandle = RetrievedHandle;
|
498
|
-
//# sourceMappingURL=workflow.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../../src/workflow.ts"],"names":[],"mappings":"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"}
|