@dbos-inc/dbos-sdk 1.6.8-preview → 1.6.10-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/src/dbos-runtime/cli.d.ts +0 -1
- package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
- package/dist/src/dbos-runtime/cli.js +13 -15
- package/dist/src/dbos-runtime/cli.js.map +1 -1
- package/dist/src/dbos-runtime/config.d.ts.map +1 -1
- package/dist/src/dbos-runtime/config.js +13 -5
- package/dist/src/dbos-runtime/config.js.map +1 -1
- package/dist/src/dbos-runtime/debug.d.ts.map +1 -1
- package/dist/src/dbos-runtime/debug.js +2 -1
- package/dist/src/dbos-runtime/debug.js.map +1 -1
- package/dist/src/dbos-runtime/runtime.d.ts +5 -4
- package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
- package/dist/src/dbos-runtime/runtime.js +28 -22
- package/dist/src/dbos-runtime/runtime.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAuD,MAAM,UAAU,CAAC;AAK3F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWjD,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAuD,MAAM,UAAU,CAAC;AAK3F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWjD,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2ED,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,iBA2BxG"}
|
@@ -13,30 +13,28 @@ const exporters_1 = require("../telemetry/exporters");
|
|
13
13
|
const configure_1 = require("./configure");
|
14
14
|
const program = new commander_1.Command();
|
15
15
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
16
|
-
const packageJson = require(
|
16
|
+
const packageJson = require("../../../package.json");
|
17
17
|
program.version(packageJson.version);
|
18
18
|
program
|
19
|
-
.command(
|
20
|
-
.description(
|
21
|
-
.option(
|
22
|
-
.option(
|
23
|
-
.option(
|
24
|
-
.option('-e, --entrypoint <string>', 'Specify the entrypoint file path')
|
19
|
+
.command("start")
|
20
|
+
.description("Start the server")
|
21
|
+
.option("-p, --port <number>", "Specify the port number")
|
22
|
+
.option("-l, --loglevel <string>", "Specify log level")
|
23
|
+
.option("-c, --configfile <string>", "Specify the config file path", config_1.dbosConfigFilePath)
|
25
24
|
.action(async (options) => {
|
26
25
|
const [dbosConfig, runtimeConfig] = (0, config_1.parseConfigFile)(options);
|
27
26
|
const runtime = new runtime_1.DBOSRuntime(dbosConfig, runtimeConfig);
|
28
27
|
await runtime.initAndStart();
|
29
28
|
});
|
30
29
|
program
|
31
|
-
.command(
|
32
|
-
.description(
|
33
|
-
.option(
|
34
|
-
.requiredOption(
|
35
|
-
.option(
|
36
|
-
.option(
|
37
|
-
.option('-e, --entrypoint <string>', 'Specify the entrypoint file path')
|
30
|
+
.command("debug")
|
31
|
+
.description("Debug a workflow")
|
32
|
+
.option("-x, --proxy <string>", "Specify the time-travel debug proxy URL for debugging cloud traces")
|
33
|
+
.requiredOption("-u, --uuid <string>", "Specify the workflow UUID to replay")
|
34
|
+
.option("-l, --loglevel <string>", "Specify log level")
|
35
|
+
.option("-c, --configfile <string>", "Specify the config file path", config_1.dbosConfigFilePath)
|
38
36
|
.action(async (options) => {
|
39
|
-
const [dbosConfig, runtimeConfig] = (0, config_1.parseConfigFile)(options,
|
37
|
+
const [dbosConfig, runtimeConfig] = (0, config_1.parseConfigFile)(options, options.proxy !== undefined);
|
40
38
|
await (0, debug_1.debugWorkflow)(dbosConfig, runtimeConfig, options.uuid, options.proxy);
|
41
39
|
});
|
42
40
|
program
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/dbos-runtime/cli.ts"],"names":[],"mappings":";;;;AACA,uCAA2D;AAC3D,qCAA2F;AAC3F,yCAAoC;AAEpC,mCAAwC;AACxC,uCAAuD;AACvD,4CAAiD;AACjD,sDAA4D;AAC5D,sDAA2D;AAC3D,2CAAwC;AAExC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/dbos-runtime/cli.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,OAAO,EAAE,iBAAiB,
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAqB,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,gBAAgB,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;IACF,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B,WAAW,EAAE,GAAG,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAElC,gBAAgB,CAAC,EAAE,GAAG,CAAC;CACxB;AAOD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKzD;AAED,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,UAAU,CAajE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,QAW7E;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,GAAE,OAAe,cA2CpF;AAMD,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,mBAAmB,EAAE,QAAQ,GAAE,OAAe,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CA+D5H"}
|
@@ -7,15 +7,16 @@ exports.parseConfigFile = exports.constructPoolConfig = exports.writeConfigFile
|
|
7
7
|
const error_1 = require("../error");
|
8
8
|
const utils_1 = require("../utils");
|
9
9
|
const yaml_1 = __importDefault(require("yaml"));
|
10
|
+
const runtime_1 = require("./runtime");
|
10
11
|
const user_database_1 = require("../user_database");
|
11
12
|
const applicationVersion_1 = require("./applicationVersion");
|
12
13
|
const fs_1 = require("fs");
|
13
14
|
exports.dbosConfigFilePath = "dbos-config.yaml";
|
14
15
|
/*
|
15
|
-
* Substitute environment variables using a regex for matching.
|
16
|
-
* Will find anything in curly braces.
|
17
|
-
* TODO: Use a more robust solution.
|
18
|
-
*/
|
16
|
+
* Substitute environment variables using a regex for matching.
|
17
|
+
* Will find anything in curly braces.
|
18
|
+
* TODO: Use a more robust solution.
|
19
|
+
*/
|
19
20
|
function substituteEnvVars(content) {
|
20
21
|
const regex = /\${([^}]+)}/g; // Regex to match ${VAR_NAME} style placeholders
|
21
22
|
return content.replace(regex, (_, g1) => {
|
@@ -150,8 +151,15 @@ function parseConfigFile(cliOptions, useProxy = false) {
|
|
150
151
|
/*************************************/
|
151
152
|
/* Build final runtime Configuration */
|
152
153
|
/*************************************/
|
154
|
+
const entrypoints = new Set();
|
155
|
+
if (configFile.runtimeConfig?.entrypoints) {
|
156
|
+
configFile.runtimeConfig.entrypoints.forEach((entry) => entrypoints.add(entry));
|
157
|
+
}
|
158
|
+
else {
|
159
|
+
entrypoints.add(runtime_1.defaultEntryPoint);
|
160
|
+
}
|
153
161
|
const runtimeConfig = {
|
154
|
-
|
162
|
+
entrypoints: [...entrypoints],
|
155
163
|
port: Number(cliOptions?.port) || Number(configFile.runtimeConfig?.port) || 3000,
|
156
164
|
};
|
157
165
|
return [dbosConfig, runtimeConfig];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dbos-runtime/config.ts"],"names":[],"mappings":";;;;;;AAAA,oCAAmD;AACnD,oCAAwC;AAGxC,gDAAwB;
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dbos-runtime/config.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAe,iBAAiB,
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAG5D,OAAO,EAAe,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE3D,wBAAsB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,iBAyCjI"}
|
@@ -10,7 +10,8 @@ async function debugWorkflow(dbosConfig, runtimeConfig, workflowUUID, proxy) {
|
|
10
10
|
const logger = new logs_1.GlobalLogger();
|
11
11
|
try {
|
12
12
|
const dbosExec = new dbos_executor_1.DBOSExecutor(dbosConfig);
|
13
|
-
|
13
|
+
dbosExec.logger.debug(`Loading classes from entrypoints: ${JSON.stringify(runtimeConfig.entrypoints)}`);
|
14
|
+
const classes = await runtime_1.DBOSRuntime.loadClasses(runtimeConfig.entrypoints);
|
14
15
|
await dbosExec.init(...classes);
|
15
16
|
// Invoke the workflow in debug mode.
|
16
17
|
const handle = await dbosExec.executeWorkflowUUID(workflowUUID);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/dbos-runtime/debug.ts"],"names":[],"mappings":";;;AAAA,oDAA4D;AAC5D,oCAAwG;AACxG,4CAAiD;AACjD,
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/dbos-runtime/debug.ts"],"names":[],"mappings":";;;AAAA,oDAA4D;AAC5D,oCAAwG;AACxG,4CAAiD;AACjD,uCAA2D;AAEpD,KAAK,UAAU,aAAa,CAAC,UAAsB,EAAE,aAAgC,EAAE,YAAoB,EAAE,KAAc;IAChI,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,4BAAY,CAAC,UAAU,CAAC,CAAC;QAC9C,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACxG,MAAM,OAAO,GAAG,MAAM,qBAAW,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACzE,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAEhC,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,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,8CAA8C,KAAK,IAAI,CAAC,CAAC;oBAC9F,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,0BAA0B,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;oBAC/F,CAAC;oBACD,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,CAAC,mBAAmB,EAAE,sJAAsJ,CAAC,CAAC;QAC7L,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;AAzCD,sCAyCC"}
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import { DBOSConfig } from '../dbos-executor';
|
2
2
|
export interface DBOSRuntimeConfig {
|
3
|
-
|
3
|
+
entrypoints: string[];
|
4
4
|
port: number;
|
5
5
|
}
|
6
|
+
export declare const defaultEntryPoint = "dist/operations.js";
|
6
7
|
export declare class DBOSRuntime {
|
7
8
|
private readonly runtimeConfig;
|
8
9
|
private dbosConfig;
|
@@ -17,11 +18,11 @@ export declare class DBOSRuntime {
|
|
17
18
|
/**
|
18
19
|
* Load an application's workflow functions, assumed to be in src/operations.ts (which is compiled to dist/operations.js).
|
19
20
|
*/
|
20
|
-
static loadClasses(
|
21
|
+
static loadClasses(entrypoints: string[]): Promise<object[]>;
|
21
22
|
onSigterm(): void;
|
22
23
|
/**
|
23
|
-
|
24
|
-
|
24
|
+
* Shut down the HTTP server and destroy workflow executor.
|
25
|
+
*/
|
25
26
|
destroy(): Promise<void>;
|
26
27
|
}
|
27
28
|
//# sourceMappingURL=runtime.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAe5D,MAAM,WAAW,iBAAiB;IAChC,
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/dbos-runtime/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAe5D,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AACD,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AAEtD,qBAAa,WAAW;IAMc,OAAO,CAAC,QAAQ,CAAC,aAAa;IALlE,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,OAAO,CAAyD;IACxE,OAAO,CAAC,KAAK,CAA0B;gBAE3B,UAAU,EAAE,UAAU,EAAmB,aAAa,EAAE,iBAAiB;IAKrF;;OAEG;IACG,YAAY;IAyBlB;;OAEG;WACU,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAyBlE,SAAS,IAAI,IAAI;IAOjB;;OAEG;IACG,OAAO;CAQd"}
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
27
|
};
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
-
exports.DBOSRuntime = void 0;
|
29
|
+
exports.DBOSRuntime = exports.defaultEntryPoint = void 0;
|
30
30
|
const dbos_executor_1 = require("../dbos-executor");
|
31
31
|
const server_1 = require("../httpServer/server");
|
32
32
|
const fs = __importStar(require("fs"));
|
@@ -35,6 +35,7 @@ const error_1 = require("../error");
|
|
35
35
|
const node_path_1 = __importDefault(require("node:path"));
|
36
36
|
const url_1 = require("url");
|
37
37
|
const kafka_1 = require("../kafka/kafka");
|
38
|
+
exports.defaultEntryPoint = "dist/operations.js";
|
38
39
|
class DBOSRuntime {
|
39
40
|
runtimeConfig;
|
40
41
|
dbosConfig;
|
@@ -52,10 +53,8 @@ class DBOSRuntime {
|
|
52
53
|
async initAndStart() {
|
53
54
|
try {
|
54
55
|
this.dbosExec = new dbos_executor_1.DBOSExecutor(this.dbosConfig);
|
55
|
-
|
56
|
-
|
57
|
-
throw new error_1.DBOSFailLoadOperationsError("operations not found");
|
58
|
-
}
|
56
|
+
this.dbosExec.logger.debug(`Loading classes from entrypoints ${JSON.stringify(this.runtimeConfig.entrypoints)}`);
|
57
|
+
const classes = await DBOSRuntime.loadClasses(this.runtimeConfig.entrypoints);
|
59
58
|
await this.dbosExec.init(...classes);
|
60
59
|
const server = new server_1.DBOSHttpServer(this.dbosExec);
|
61
60
|
this.servers = await server.listen(this.runtimeConfig.port);
|
@@ -79,23 +78,30 @@ class DBOSRuntime {
|
|
79
78
|
/**
|
80
79
|
* Load an application's workflow functions, assumed to be in src/operations.ts (which is compiled to dist/operations.js).
|
81
80
|
*/
|
82
|
-
static async loadClasses(
|
83
|
-
const
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
for (const key in exports) {
|
94
|
-
if ((0, lodash_1.isObject)(exports[key])) {
|
95
|
-
classes.push(exports[key]);
|
81
|
+
static async loadClasses(entrypoints) {
|
82
|
+
const allClasses = [];
|
83
|
+
for (const entrypoint of entrypoints) {
|
84
|
+
const operations = node_path_1.default.isAbsolute(entrypoint) ? entrypoint : node_path_1.default.join(process.cwd(), entrypoint);
|
85
|
+
let exports;
|
86
|
+
if (fs.existsSync(operations)) {
|
87
|
+
const operationsURL = (0, url_1.pathToFileURL)(operations).href;
|
88
|
+
exports = (await import(operationsURL));
|
89
|
+
}
|
90
|
+
else {
|
91
|
+
throw new error_1.DBOSFailLoadOperationsError(`Failed to load operations from the entrypoint ${entrypoint}`);
|
96
92
|
}
|
93
|
+
const classes = [];
|
94
|
+
for (const key in exports) {
|
95
|
+
if ((0, lodash_1.isObject)(exports[key])) {
|
96
|
+
classes.push(exports[key]);
|
97
|
+
}
|
98
|
+
}
|
99
|
+
allClasses.push(...classes);
|
100
|
+
}
|
101
|
+
if (allClasses.length === 0) {
|
102
|
+
throw new error_1.DBOSFailLoadOperationsError("operations not found");
|
97
103
|
}
|
98
|
-
return
|
104
|
+
return allClasses;
|
99
105
|
}
|
100
106
|
onSigterm() {
|
101
107
|
this.dbosExec?.logger.info("Stopping application: received a termination signal");
|
@@ -104,8 +110,8 @@ class DBOSRuntime {
|
|
104
110
|
});
|
105
111
|
}
|
106
112
|
/**
|
107
|
-
|
108
|
-
|
113
|
+
* Shut down the HTTP server and destroy workflow executor.
|
114
|
+
*/
|
109
115
|
async destroy() {
|
110
116
|
await this.kafka?.destroyKafka();
|
111
117
|
if (this.servers) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/dbos-runtime/runtime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4D;AAC5D,iDAAsD;AACtD,uCAAyB;AACzB,mCAAkC;AAClC,oCAAuD;AACvD,0DAA6B;AAE7B,6BAAoC;AACpC,0CAA2C;
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/dbos-runtime/runtime.ts"],"names":[],"mappings":"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"}
|