@dbos-inc/dbos-sdk 3.0.54-preview → 3.0.56-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/dbos-config.schema.json +5 -3
- package/dist/dbos-config.schema.json +5 -3
- package/dist/src/context.d.ts +0 -6
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +6 -9
- package/dist/src/context.js.map +1 -1
- package/dist/src/datasource.d.ts +0 -7
- package/dist/src/datasource.d.ts.map +1 -1
- package/dist/src/datasource.js +1 -2
- package/dist/src/datasource.js.map +1 -1
- package/dist/src/dbos-executor.d.ts +8 -3
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +45 -14
- 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 +3 -22
- package/dist/src/dbos-runtime/cli.js.map +1 -1
- package/dist/src/dbos-runtime/config.d.ts +3 -6
- package/dist/src/dbos-runtime/config.d.ts.map +1 -1
- package/dist/src/dbos-runtime/config.js +4 -12
- package/dist/src/dbos-runtime/config.js.map +1 -1
- package/dist/src/dbos.d.ts.map +1 -1
- package/dist/src/dbos.js +1 -2
- package/dist/src/dbos.js.map +1 -1
- package/dist/src/index.d.ts +1 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -3
- package/dist/src/dbos-runtime/debug.d.ts +0 -4
- package/dist/src/dbos-runtime/debug.d.ts.map +0 -1
- package/dist/src/dbos-runtime/debug.js +0 -49
- package/dist/src/dbos-runtime/debug.js.map +0 -1
- package/dist/src/dbos-runtime/runtime.d.ts +0 -33
- package/dist/src/dbos-runtime/runtime.d.ts.map +0 -1
- package/dist/src/dbos-runtime/runtime.js +0 -145
- package/dist/src/dbos-runtime/runtime.js.map +0 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@dbos-inc/dbos-sdk",
|
3
|
-
"version": "3.0.
|
3
|
+
"version": "3.0.56-preview",
|
4
4
|
"description": "A Typescript framework built on the database",
|
5
5
|
"license": "MIT",
|
6
6
|
"repository": {
|
@@ -42,7 +42,6 @@
|
|
42
42
|
"@types/koa": "^2.15.0",
|
43
43
|
"@types/koa__cors": "^5.0.0",
|
44
44
|
"@types/koa__router": "^12.0.4",
|
45
|
-
"@types/lodash": "^4.14.202",
|
46
45
|
"@types/node": "^20.19.1",
|
47
46
|
"@types/pg": "^8.11.2",
|
48
47
|
"@types/supertest": "^6.0.2",
|
@@ -80,7 +79,6 @@
|
|
80
79
|
"commander": "12.0.0",
|
81
80
|
"knex": "3.1.0",
|
82
81
|
"koa": "^2.15.4",
|
83
|
-
"lodash": "4.17.21",
|
84
82
|
"pg": "8.11.3",
|
85
83
|
"pg-protocol": "^1.6.1",
|
86
84
|
"reflect-metadata": "^0.2.2",
|
@@ -1,4 +0,0 @@
|
|
1
|
-
import { DBOSConfigInternal } from '../dbos-executor';
|
2
|
-
import { DBOSRuntimeConfig } from './runtime';
|
3
|
-
export declare function debugWorkflow(dbosConfig: DBOSConfigInternal, runtimeConfig: DBOSRuntimeConfig, workflowUUID: string): Promise<void>;
|
4
|
-
//# sourceMappingURL=debug.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAgB,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAe,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE3D,wBAAsB,aAAa,CACjC,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,iBAAiB,EAChC,YAAY,EAAE,MAAM,iBAyCrB"}
|
@@ -1,49 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.debugWorkflow = void 0;
|
4
|
-
const dbos_executor_1 = require("../dbos-executor");
|
5
|
-
const error_1 = require("../error");
|
6
|
-
const logs_1 = require("../telemetry/logs");
|
7
|
-
const runtime_1 = require("./runtime");
|
8
|
-
async function debugWorkflow(dbosConfig, runtimeConfig, workflowUUID) {
|
9
|
-
const logger = new logs_1.GlobalLogger();
|
10
|
-
try {
|
11
|
-
const dbosExec = new dbos_executor_1.DBOSExecutor(dbosConfig, { debugMode: true });
|
12
|
-
dbosExec.logger.debug(`Loading classes from entrypoints: ${JSON.stringify(runtimeConfig.entrypoints)}`);
|
13
|
-
await runtime_1.DBOSRuntime.loadClasses(runtimeConfig.entrypoints);
|
14
|
-
await dbosExec.init();
|
15
|
-
// Invoke the workflow in debug mode.
|
16
|
-
const handle = await dbosExec.executeWorkflowUUID(workflowUUID);
|
17
|
-
await handle.getResult();
|
18
|
-
// Destroy testing runtime.
|
19
|
-
await dbosExec.destroy();
|
20
|
-
}
|
21
|
-
catch (e) {
|
22
|
-
const errorLabel = `Debug mode error`;
|
23
|
-
logger.error(`${errorLabel}: ${e.message}`);
|
24
|
-
if (e instanceof AggregateError) {
|
25
|
-
console.error(e.errors);
|
26
|
-
for (const err of e.errors) {
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
28
|
-
if (err.code && err.code === 'ECONNREFUSED') {
|
29
|
-
const url = new URL(dbosConfig.databaseUrl);
|
30
|
-
console.error('\x1b[31m%s\x1b[0m', `Is database running at ${url.hostname} ?`);
|
31
|
-
break;
|
32
|
-
}
|
33
|
-
}
|
34
|
-
}
|
35
|
-
else if (e instanceof error_1.DBOSFailLoadOperationsError) {
|
36
|
-
console.error('\x1b[31m%s\x1b[0m', 'Did you compile this application? Hint: run `npm run build` and try again');
|
37
|
-
}
|
38
|
-
else if (e instanceof error_1.DBOSNotRegisteredError) {
|
39
|
-
console.error('\x1b[31m%s\x1b[0m', 'Did you modify this application? Hint: make sure the above function exists in your application, then run `npm run build` to re-compile and try again');
|
40
|
-
}
|
41
|
-
else if (e instanceof error_1.DBOSInitializationError) {
|
42
|
-
console.error('\x1b[31m%s\x1b[0m', 'Please check your configuration file and try again');
|
43
|
-
}
|
44
|
-
process.exit(1);
|
45
|
-
}
|
46
|
-
return;
|
47
|
-
}
|
48
|
-
exports.debugWorkflow = debugWorkflow;
|
49
|
-
//# sourceMappingURL=debug.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/dbos-runtime/debug.ts"],"names":[],"mappings":";;;AAAA,oDAAoE;AACpE,oCAAwG;AACxG,4CAAiD;AACjD,uCAA2D;AAEpD,KAAK,UAAU,aAAa,CACjC,UAA8B,EAC9B,aAAgC,EAChC,YAAoB;IAEpB,MAAM,MAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,4BAAY,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACxG,MAAM,qBAAW,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEtB,qCAAqC;QACrC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAEzB,2BAA2B;QAC3B,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,UAAU,GAAG,kBAAkB,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,cAAc,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC3B,sEAAsE;gBACtE,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC5C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;oBAC5C,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,0BAA0B,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;oBAC/E,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,YAAY,mCAA2B,EAAE,CAAC;YACpD,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,2EAA2E,CAAC,CAAC;QAClH,CAAC;aAAM,IAAI,CAAC,YAAY,8BAAsB,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,CACX,mBAAmB,EACnB,sJAAsJ,CACvJ,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,YAAY,+BAAuB,EAAE,CAAC;YAChD,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,oDAAoD,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO;AACT,CAAC;AA5CD,sCA4CC"}
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import { DBOSConfigInternal } from '../dbos-executor';
|
2
|
-
export interface DBOSRuntimeConfig {
|
3
|
-
entrypoints: string[];
|
4
|
-
port: number;
|
5
|
-
admin_port: number;
|
6
|
-
runAdminServer: boolean;
|
7
|
-
start: string[];
|
8
|
-
setup: string[];
|
9
|
-
}
|
10
|
-
export declare const defaultEntryPoint = "dist/operations.js";
|
11
|
-
export declare class DBOSRuntime {
|
12
|
-
private readonly runtimeConfig;
|
13
|
-
private dbosConfig;
|
14
|
-
private dbosExec?;
|
15
|
-
private servers;
|
16
|
-
private scheduler;
|
17
|
-
private wfQueueRunner?;
|
18
|
-
constructor(dbosConfig: DBOSConfigInternal, runtimeConfig: DBOSRuntimeConfig);
|
19
|
-
/**
|
20
|
-
* Initialize the runtime and start the server
|
21
|
-
*/
|
22
|
-
initAndStart(): Promise<void>;
|
23
|
-
/**
|
24
|
-
* Load an application's workflow functions, assumed to be in src/operations.ts (which is compiled to dist/operations.js).
|
25
|
-
*/
|
26
|
-
static loadClasses(entrypoints: string[]): Promise<object[]>;
|
27
|
-
onSigterm(): void;
|
28
|
-
/**
|
29
|
-
* Shut down the HTTP and other services and destroy workflow executor.
|
30
|
-
*/
|
31
|
-
destroy(): Promise<void>;
|
32
|
-
}
|
33
|
-
//# sourceMappingURL=runtime.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAiBpE,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AACD,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AAEtD,qBAAa,WAAW;IASpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IARhC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAA2B;IAC5C,OAAO,CAAC,OAAO,CAA0D;IACzE,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,aAAa,CAAC,CAA4B;gBAGhD,UAAU,EAAE,kBAAkB,EACb,aAAa,EAAE,iBAAiB;IAOnD;;OAEG;IACG,YAAY;IAmClB;;OAEG;WACU,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAyBlE,SAAS,IAAI,IAAI;IAOjB;;OAEG;IACG,OAAO;CAed"}
|
@@ -1,145 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
-
if (k2 === undefined) k2 = k;
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
-
}
|
8
|
-
Object.defineProperty(o, k2, desc);
|
9
|
-
}) : (function(o, m, k, k2) {
|
10
|
-
if (k2 === undefined) k2 = k;
|
11
|
-
o[k2] = m[k];
|
12
|
-
}));
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
-
}) : function(o, v) {
|
16
|
-
o["default"] = v;
|
17
|
-
});
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
-
if (mod && mod.__esModule) return mod;
|
20
|
-
var result = {};
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
-
__setModuleDefault(result, mod);
|
23
|
-
return result;
|
24
|
-
};
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
|
-
};
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
-
exports.DBOSRuntime = exports.defaultEntryPoint = void 0;
|
30
|
-
const dbos_executor_1 = require("../dbos-executor");
|
31
|
-
const server_1 = require("../httpServer/server");
|
32
|
-
const fs = __importStar(require("fs"));
|
33
|
-
const lodash_1 = require("lodash");
|
34
|
-
const error_1 = require("../error");
|
35
|
-
const node_path_1 = __importDefault(require("node:path"));
|
36
|
-
const url_1 = require("url");
|
37
|
-
const scheduler_1 = require("../scheduler/scheduler");
|
38
|
-
const wfqueue_1 = require("../wfqueue");
|
39
|
-
const dbos_1 = require("../dbos");
|
40
|
-
exports.defaultEntryPoint = 'dist/operations.js';
|
41
|
-
class DBOSRuntime {
|
42
|
-
runtimeConfig;
|
43
|
-
dbosConfig;
|
44
|
-
dbosExec = undefined;
|
45
|
-
servers;
|
46
|
-
scheduler = new scheduler_1.ScheduledReceiver();
|
47
|
-
wfQueueRunner = undefined;
|
48
|
-
constructor(dbosConfig, runtimeConfig) {
|
49
|
-
this.runtimeConfig = runtimeConfig;
|
50
|
-
// Initialize workflow executor.
|
51
|
-
this.dbosConfig = dbosConfig;
|
52
|
-
dbos_1.DBOS.setConfig(dbosConfig);
|
53
|
-
}
|
54
|
-
/**
|
55
|
-
* Initialize the runtime and start the server
|
56
|
-
*/
|
57
|
-
async initAndStart() {
|
58
|
-
try {
|
59
|
-
if (!this.dbosConfig.databaseUrl) {
|
60
|
-
throw new Error('DBOS pool configuration is not initialized');
|
61
|
-
}
|
62
|
-
this.dbosExec = new dbos_executor_1.DBOSExecutor(this.dbosConfig);
|
63
|
-
this.dbosExec.logger.debug(`Loading classes from entrypoints ${JSON.stringify(this.runtimeConfig.entrypoints)}`);
|
64
|
-
await DBOSRuntime.loadClasses(this.runtimeConfig.entrypoints);
|
65
|
-
await this.dbosExec.init();
|
66
|
-
const server = new server_1.DBOSHttpServer(this.dbosExec);
|
67
|
-
this.servers = await server.listen(this.runtimeConfig.port, this.runtimeConfig.admin_port);
|
68
|
-
this.dbosExec.logRegisteredHTTPUrls();
|
69
|
-
await this.scheduler.initialize();
|
70
|
-
this.scheduler.logRegisteredEndpoints();
|
71
|
-
wfqueue_1.wfQueueRunner.logRegisteredEndpoints(this.dbosExec);
|
72
|
-
this.wfQueueRunner = wfqueue_1.wfQueueRunner.dispatchLoop(this.dbosExec);
|
73
|
-
}
|
74
|
-
catch (error) {
|
75
|
-
if (!this.dbosExec) {
|
76
|
-
throw error;
|
77
|
-
}
|
78
|
-
this.dbosExec.logger.error(error);
|
79
|
-
if (error instanceof error_1.DBOSFailLoadOperationsError) {
|
80
|
-
console.error('\x1b[31m%s\x1b[0m', 'Did you compile this application? Hint: run `npm run build` and try again');
|
81
|
-
process.exit(1);
|
82
|
-
}
|
83
|
-
await this.destroy(); //wrap up, i.e. flush log contents to OpenTelemetry exporters
|
84
|
-
process.exit(1);
|
85
|
-
}
|
86
|
-
const onSigterm = this.onSigterm.bind(this);
|
87
|
-
process.on('SIGTERM', onSigterm);
|
88
|
-
process.on('SIGQUIT', onSigterm);
|
89
|
-
}
|
90
|
-
/**
|
91
|
-
* Load an application's workflow functions, assumed to be in src/operations.ts (which is compiled to dist/operations.js).
|
92
|
-
*/
|
93
|
-
static async loadClasses(entrypoints) {
|
94
|
-
const allClasses = [];
|
95
|
-
for (const entrypoint of entrypoints) {
|
96
|
-
const operations = node_path_1.default.isAbsolute(entrypoint) ? entrypoint : node_path_1.default.join(process.cwd(), entrypoint);
|
97
|
-
let exports;
|
98
|
-
if (fs.existsSync(operations)) {
|
99
|
-
const operationsURL = (0, url_1.pathToFileURL)(operations).href;
|
100
|
-
exports = (await import(operationsURL));
|
101
|
-
}
|
102
|
-
else {
|
103
|
-
throw new error_1.DBOSFailLoadOperationsError(`Failed to load operations from the entrypoint ${entrypoint}`);
|
104
|
-
}
|
105
|
-
const classes = [];
|
106
|
-
for (const key in exports) {
|
107
|
-
if ((0, lodash_1.isObject)(exports[key])) {
|
108
|
-
classes.push(exports[key]);
|
109
|
-
}
|
110
|
-
}
|
111
|
-
allClasses.push(...classes);
|
112
|
-
}
|
113
|
-
if (allClasses.length === 0) {
|
114
|
-
throw new error_1.DBOSFailLoadOperationsError('operations not found');
|
115
|
-
}
|
116
|
-
return allClasses;
|
117
|
-
}
|
118
|
-
onSigterm() {
|
119
|
-
this.dbosExec?.logger.info('Stopping application: received a termination signal');
|
120
|
-
void this.destroy().finally(() => {
|
121
|
-
process.exit(1);
|
122
|
-
});
|
123
|
-
}
|
124
|
-
/**
|
125
|
-
* Shut down the HTTP and other services and destroy workflow executor.
|
126
|
-
*/
|
127
|
-
async destroy() {
|
128
|
-
await this.scheduler.destroy();
|
129
|
-
try {
|
130
|
-
wfqueue_1.wfQueueRunner.stop();
|
131
|
-
await this.wfQueueRunner;
|
132
|
-
}
|
133
|
-
catch (err) {
|
134
|
-
const e = err;
|
135
|
-
this.dbosExec?.logger.warn(`Error destroying workflow queue runner: ${e.message}`);
|
136
|
-
}
|
137
|
-
if (this.servers) {
|
138
|
-
this.servers.appServer?.close();
|
139
|
-
this.servers.adminServer.close();
|
140
|
-
}
|
141
|
-
await this.dbosExec?.destroy();
|
142
|
-
}
|
143
|
-
}
|
144
|
-
exports.DBOSRuntime = DBOSRuntime;
|
145
|
-
//# sourceMappingURL=runtime.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/dbos-runtime/runtime.ts"],"names":[],"mappings":"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"}
|