@dbos-inc/dbos-sdk 1.12.6-preview → 1.12.8-preview
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/schemas/system_db_schema.d.ts +2 -0
- package/dist/schemas/system_db_schema.d.ts.map +1 -1
- package/dist/src/communicator.d.ts +1 -1
- package/dist/src/communicator.d.ts.map +1 -1
- package/dist/src/communicator.js.map +1 -1
- package/dist/src/dbos-executor.d.ts +27 -11
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +147 -47
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/debugger/debug_workflow.d.ts +14 -5
- package/dist/src/debugger/debug_workflow.d.ts.map +1 -1
- package/dist/src/debugger/debug_workflow.js +74 -18
- package/dist/src/debugger/debug_workflow.js.map +1 -1
- package/dist/src/decorators.d.ts +19 -2
- package/dist/src/decorators.d.ts.map +1 -1
- package/dist/src/decorators.js +104 -27
- package/dist/src/decorators.js.map +1 -1
- package/dist/src/httpServer/handler.d.ts +19 -15
- package/dist/src/httpServer/handler.d.ts.map +1 -1
- package/dist/src/httpServer/handler.js +24 -22
- package/dist/src/httpServer/handler.js.map +1 -1
- package/dist/src/httpServer/server.d.ts.map +1 -1
- package/dist/src/httpServer/server.js +6 -1
- package/dist/src/httpServer/server.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/kafka/kafka.d.ts +2 -3
- package/dist/src/kafka/kafka.d.ts.map +1 -1
- package/dist/src/kafka/kafka.js +2 -13
- package/dist/src/kafka/kafka.js.map +1 -1
- package/dist/src/scheduler/scheduler.d.ts +4 -8
- package/dist/src/scheduler/scheduler.d.ts.map +1 -1
- package/dist/src/scheduler/scheduler.js +2 -9
- package/dist/src/scheduler/scheduler.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 +61 -4
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/testing/testing_runtime.d.ts +9 -5
- package/dist/src/testing/testing_runtime.d.ts.map +1 -1
- package/dist/src/testing/testing_runtime.js +24 -12
- package/dist/src/testing/testing_runtime.js.map +1 -1
- package/dist/src/transaction.d.ts +1 -1
- package/dist/src/transaction.d.ts.map +1 -1
- package/dist/src/workflow.d.ts +46 -10
- package/dist/src/workflow.d.ts.map +1 -1
- package/dist/src/workflow.js +72 -20
- package/dist/src/workflow.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/migrations/20240517000000_status_class_config.js +18 -0
- package/package.json +2 -2
@@ -3,7 +3,9 @@ import { Transaction } from "../transaction";
|
|
3
3
|
import { Communicator } from "../communicator";
|
4
4
|
import { UserDatabaseClient } from "../user_database";
|
5
5
|
import { DBOSContextImpl } from "../context";
|
6
|
-
import {
|
6
|
+
import { ConfiguredInstance } from "../decorators";
|
7
|
+
import { WFInvokeFuncs, WfInvokeWfs, WfInvokeWfsAsync, Workflow, WorkflowConfig, WorkflowContext, WorkflowHandle } from "../workflow";
|
8
|
+
import { InvokeFuncsInst } from "../httpServer/handler";
|
7
9
|
interface RecordedResult<R> {
|
8
10
|
output: R;
|
9
11
|
txn_snapshot: string;
|
@@ -19,16 +21,23 @@ export declare class WorkflowContextDebug extends DBOSContextImpl implements Wor
|
|
19
21
|
readonly isTempWorkflow: boolean;
|
20
22
|
constructor(dbosExec: DBOSExecutor, parentCtx: DBOSContextImpl | undefined, workflowUUID: string, workflowConfig: WorkflowConfig, workflowName: string);
|
21
23
|
functionIDGetIncrement(): number;
|
22
|
-
invoke<T extends object>(object: T): WFInvokeFuncs<T>;
|
24
|
+
invoke<T extends object>(object: T | ConfiguredInstance): WFInvokeFuncs<T> | InvokeFuncsInst<T>;
|
23
25
|
checkExecution<R>(client: UserDatabaseClient, funcID: number): Promise<RecordedResult<R> | Error>;
|
24
26
|
/**
|
25
27
|
* Execute a transactional function in debug mode.
|
26
28
|
* If a debug proxy is provided, it connects to a debug proxy and everything should be read-only.
|
27
29
|
*/
|
28
|
-
transaction<T extends
|
29
|
-
external<T extends
|
30
|
+
transaction<T extends unknown[], R>(txn: Transaction<T, R>, clsinst: ConfiguredInstance | null, ...args: T): Promise<R>;
|
31
|
+
external<T extends unknown[], R>(commFn: Communicator<T, R>, _clsinst: ConfiguredInstance | null, ..._args: T): Promise<R>;
|
30
32
|
startChildWorkflow<T extends any[], R>(wf: Workflow<T, R>, ...args: T): Promise<WorkflowHandle<R>>;
|
31
|
-
invokeChildWorkflow<T extends
|
33
|
+
invokeChildWorkflow<T extends unknown[], R>(wf: Workflow<T, R>, ...args: T): Promise<R>;
|
34
|
+
/**
|
35
|
+
* Generate a proxy object for the provided class that wraps direct calls (i.e. OpClass.someMethod(param))
|
36
|
+
* to use WorkflowContext.Transaction(OpClass.someMethod, param);
|
37
|
+
*/
|
38
|
+
proxyInvokeWF<T extends object>(object: T, workflowUUID: string | undefined, asyncWf: boolean, configuredInstance: ConfiguredInstance | null): WfInvokeWfsAsync<T>;
|
39
|
+
startWorkflow<T extends object>(target: T, workflowUUID?: string): WfInvokeWfsAsync<T>;
|
40
|
+
invokeWorkflow<T extends object>(target: T, workflowUUID?: string): WfInvokeWfs<T>;
|
32
41
|
childWorkflow<T extends any[], R>(wf: Workflow<T, R>, ...args: T): Promise<WorkflowHandle<R>>;
|
33
42
|
send<T>(_destinationUUID: string, _message: T, _topic?: string | undefined): Promise<void>;
|
34
43
|
recv<T>(_topic?: string | undefined, _timeoutSeconds?: number | undefined): Promise<T | null>;
|
@@ -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,EAAE,WAAW,EAA0B,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
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,EAAE,WAAW,EAA0B,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAA2B,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAC;AACtJ,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,UAAU,cAAc,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC;IACV,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAgB,YAAW,eAAe;;IAKgB,QAAQ,CAAC,cAAc,EAAE,cAAc;IAJzI,UAAU,EAAE,MAAM,CAAK;IAEvB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;gBAErB,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,EAAW,cAAc,EAAE,cAAc,EACvI,YAAY,EAAE,MAAM;IAoBtB,sBAAsB,IAAI,MAAM;IAIhC,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAI,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAoC1F,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IA6BvG;;;OAGG;IACG,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,EAAG,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqExH,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmB1H,kBAAkB,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAMlG,mBAAmB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7F;;;OAGG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,GACxI,gBAAgB,CAAC,CAAC,CAAC;IA0BvB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAQtF,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IAS5E,aAAa,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAI7F,IAAI,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1F,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAY7F,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnD,QAAQ,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAY/G,gBAAgB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAMpD,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtC"}
|
@@ -35,19 +35,35 @@ class WorkflowContextDebug extends context_1.DBOSContextImpl {
|
|
35
35
|
return this.functionID++;
|
36
36
|
}
|
37
37
|
invoke(object) {
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
38
|
+
if (typeof object === 'function') {
|
39
|
+
const ops = (0, decorators_1.getRegisteredOperations)(object);
|
40
|
+
const proxy = {};
|
41
|
+
for (const op of ops) {
|
42
|
+
proxy[op.name] = op.txnConfig
|
43
|
+
?
|
44
|
+
(...args) => this.transaction(op.registeredFunction, null, ...args)
|
45
|
+
: op.commConfig
|
46
|
+
?
|
47
|
+
(...args) => this.external(op.registeredFunction, null, ...args)
|
48
|
+
: undefined;
|
49
|
+
}
|
50
|
+
return proxy;
|
51
|
+
}
|
52
|
+
else {
|
53
|
+
const targetInst = object;
|
54
|
+
const ops = (0, decorators_1.getRegisteredOperations)(targetInst);
|
55
|
+
const proxy = {};
|
56
|
+
for (const op of ops) {
|
57
|
+
proxy[op.name] = op.txnConfig
|
58
|
+
?
|
59
|
+
(...args) => this.transaction(op.registeredFunction, targetInst, ...args)
|
60
|
+
: op.commConfig
|
61
|
+
?
|
62
|
+
(...args) => this.external(op.registeredFunction, targetInst, ...args)
|
63
|
+
: undefined;
|
64
|
+
}
|
65
|
+
return proxy;
|
49
66
|
}
|
50
|
-
return proxy;
|
51
67
|
}
|
52
68
|
async checkExecution(client, funcID) {
|
53
69
|
// Note: we read the recorded snapshot and transaction ID!
|
@@ -75,8 +91,8 @@ class WorkflowContextDebug extends context_1.DBOSContextImpl {
|
|
75
91
|
* Execute a transactional function in debug mode.
|
76
92
|
* If a debug proxy is provided, it connects to a debug proxy and everything should be read-only.
|
77
93
|
*/
|
78
|
-
async transaction(txn, ...args) {
|
79
|
-
const txnInfo = this.#dbosExec.
|
94
|
+
async transaction(txn, clsinst, ...args) {
|
95
|
+
const txnInfo = this.#dbosExec.getTransactionInfo(txn);
|
80
96
|
if (txnInfo === undefined) {
|
81
97
|
throw new error_1.DBOSDebuggerError(`Transaction ${txn.name} not registered!`);
|
82
98
|
}
|
@@ -109,7 +125,7 @@ class WorkflowContextDebug extends context_1.DBOSContextImpl {
|
|
109
125
|
return check.output;
|
110
126
|
}
|
111
127
|
// If we have a proxy, then execute the user's transaction.
|
112
|
-
const result = await txn(tCtxt, ...args);
|
128
|
+
const result = await txn.call(clsinst, tCtxt, ...args);
|
113
129
|
return result;
|
114
130
|
};
|
115
131
|
let result;
|
@@ -133,8 +149,8 @@ class WorkflowContextDebug extends context_1.DBOSContextImpl {
|
|
133
149
|
}
|
134
150
|
return check.output; // Always return the recorded result.
|
135
151
|
}
|
136
|
-
async external(commFn, ..._args) {
|
137
|
-
const commConfig = this.#dbosExec.
|
152
|
+
async external(commFn, _clsinst, ..._args) {
|
153
|
+
const commConfig = this.#dbosExec.getCommunicatorInfo(commFn);
|
138
154
|
if (commConfig === undefined) {
|
139
155
|
throw new error_1.DBOSDebuggerError(`Communicator ${commFn.name} not registered!`);
|
140
156
|
}
|
@@ -157,7 +173,47 @@ class WorkflowContextDebug extends context_1.DBOSContextImpl {
|
|
157
173
|
async invokeChildWorkflow(wf, ...args) {
|
158
174
|
return this.startChildWorkflow(wf, ...args).then((handle) => handle.getResult());
|
159
175
|
}
|
160
|
-
|
176
|
+
/**
|
177
|
+
* Generate a proxy object for the provided class that wraps direct calls (i.e. OpClass.someMethod(param))
|
178
|
+
* to use WorkflowContext.Transaction(OpClass.someMethod, param);
|
179
|
+
*/
|
180
|
+
proxyInvokeWF(object, workflowUUID, asyncWf, configuredInstance) {
|
181
|
+
const ops = (0, decorators_1.getRegisteredOperations)(object);
|
182
|
+
const proxy = {};
|
183
|
+
const funcId = this.functionIDGetIncrement();
|
184
|
+
const childUUID = workflowUUID || (this.workflowUUID + "-" + funcId);
|
185
|
+
const params = { workflowUUID: childUUID, parentCtx: this, configuredInstance };
|
186
|
+
for (const op of ops) {
|
187
|
+
if (asyncWf) {
|
188
|
+
proxy[op.name] = op.workflowConfig
|
189
|
+
? (...args) => this.#dbosExec.debugWorkflow(op.registeredFunction, params, this.workflowUUID, funcId, ...args)
|
190
|
+
: undefined;
|
191
|
+
}
|
192
|
+
else {
|
193
|
+
proxy[op.name] = op.workflowConfig
|
194
|
+
? (...args) => this.#dbosExec.debugWorkflow(op.registeredFunction, params, this.workflowUUID, funcId, ...args)
|
195
|
+
.then((handle) => handle.getResult())
|
196
|
+
: undefined;
|
197
|
+
}
|
198
|
+
}
|
199
|
+
return proxy;
|
200
|
+
}
|
201
|
+
startWorkflow(target, workflowUUID) {
|
202
|
+
if (typeof target === 'function') {
|
203
|
+
return this.proxyInvokeWF(target, workflowUUID, true, null);
|
204
|
+
}
|
205
|
+
else {
|
206
|
+
return this.proxyInvokeWF(target, workflowUUID, true, target);
|
207
|
+
}
|
208
|
+
}
|
209
|
+
invokeWorkflow(target, workflowUUID) {
|
210
|
+
if (typeof target === 'function') {
|
211
|
+
return this.proxyInvokeWF(target, workflowUUID, false, null);
|
212
|
+
}
|
213
|
+
else {
|
214
|
+
return this.proxyInvokeWF(target, workflowUUID, false, target);
|
215
|
+
}
|
216
|
+
}
|
161
217
|
async childWorkflow(wf, ...args) {
|
162
218
|
return this.startChildWorkflow(wf, ...args);
|
163
219
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"debug_workflow.js","sourceRoot":"","sources":["../../../src/debugger/debug_workflow.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"debug_workflow.js","sourceRoot":"","sources":["../../../src/debugger/debug_workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/src/decorators.d.ts
CHANGED
@@ -47,22 +47,26 @@ export interface RegistrationDefaults {
|
|
47
47
|
}
|
48
48
|
export interface MethodRegistrationBase {
|
49
49
|
name: string;
|
50
|
+
className: string;
|
50
51
|
args: MethodParameter[];
|
51
52
|
defaults?: RegistrationDefaults;
|
52
53
|
getRequiredRoles(): string[];
|
53
54
|
workflowConfig?: WorkflowConfig;
|
54
55
|
txnConfig?: TransactionConfig;
|
55
56
|
commConfig?: CommunicatorConfig;
|
57
|
+
isInstance: boolean;
|
56
58
|
registeredFunction: Function | undefined;
|
57
59
|
invoke(pthis: unknown, args: unknown[]): unknown;
|
58
60
|
}
|
59
61
|
export declare class MethodRegistration<This, Args extends unknown[], Return> implements MethodRegistrationBase {
|
60
62
|
defaults?: RegistrationDefaults | undefined;
|
61
63
|
name: string;
|
64
|
+
className: string;
|
62
65
|
requiredRole: string[] | undefined;
|
63
66
|
args: MethodParameter[];
|
64
|
-
constructor(origFunc: (this: This, ...args: Args) => Promise<Return
|
67
|
+
constructor(origFunc: (this: This, ...args: Args) => Promise<Return>, isInstance: boolean);
|
65
68
|
needInitialized: boolean;
|
69
|
+
isInstance: boolean;
|
66
70
|
origFunction: (this: This, ...args: Args) => Promise<Return>;
|
67
71
|
registeredFunction: ((this: This, ...args: Args) => Promise<Return>) | undefined;
|
68
72
|
workflowConfig?: WorkflowConfig;
|
@@ -72,6 +76,11 @@ export declare class MethodRegistration<This, Args extends unknown[], Return> im
|
|
72
76
|
invoke(pthis: This, args: Args): Promise<Return>;
|
73
77
|
getRequiredRoles(): string[];
|
74
78
|
}
|
79
|
+
export declare abstract class ConfiguredInstance {
|
80
|
+
readonly name: string;
|
81
|
+
constructor(name: string);
|
82
|
+
abstract initialize(ctx: InitContext): Promise<void>;
|
83
|
+
}
|
75
84
|
export declare class ClassRegistration<CT extends {
|
76
85
|
new (...args: unknown[]): object;
|
77
86
|
}> implements RegistrationDefaults {
|
@@ -80,18 +89,24 @@ export declare class ClassRegistration<CT extends {
|
|
80
89
|
defaultArgRequired: ArgRequiredOptions;
|
81
90
|
needsInitialized: boolean;
|
82
91
|
ormEntities: Function[];
|
92
|
+
registeredOperations: Map<string, MethodRegistrationBase>;
|
93
|
+
configuredInstances: Map<string, ConfiguredInstance>;
|
83
94
|
ctor: CT;
|
84
95
|
constructor(ctor: CT);
|
85
96
|
}
|
97
|
+
export declare function getRegisteredMethodClassName(func: unknown): string;
|
98
|
+
export declare function getRegisteredMethodName(func: unknown): string;
|
86
99
|
export declare function getRegisteredOperations(target: object): ReadonlyArray<MethodRegistrationBase>;
|
100
|
+
export declare function getConfiguredInstance(clsname: string, cfgname: string): ConfiguredInstance | null;
|
87
101
|
export declare function getOrCreateMethodArgsRegistration(target: object, propertyKey: string | symbol): MethodParameter[];
|
88
102
|
export declare function registerAndWrapFunction<This, Args extends unknown[], Return>(target: object, propertyKey: string, descriptor: TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>): {
|
89
103
|
descriptor: TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>;
|
90
104
|
registration: MethodRegistration<This, Args, Return>;
|
91
105
|
};
|
106
|
+
type AnyConstructor = new (...args: unknown[]) => object;
|
92
107
|
export declare function getOrCreateClassRegistration<CT extends {
|
93
108
|
new (...args: unknown[]): object;
|
94
|
-
}>(ctor: CT): ClassRegistration<
|
109
|
+
}>(ctor: CT): ClassRegistration<AnyConstructor>;
|
95
110
|
export declare function ArgRequired(target: object, propertyKey: string | symbol, parameterIndex: number): void;
|
96
111
|
export declare function ArgOptional(target: object, propertyKey: string | symbol, parameterIndex: number): void;
|
97
112
|
export declare function SkipLogging(target: object, propertyKey: string | symbol, parameterIndex: number): void;
|
@@ -106,6 +121,7 @@ export declare function DefaultArgRequired<T extends {
|
|
106
121
|
export declare function DefaultArgOptional<T extends {
|
107
122
|
new (...args: unknown[]): object;
|
108
123
|
}>(ctor: T): void;
|
124
|
+
export declare function configureInstance<R extends ConfiguredInstance, T extends unknown[]>(cls: new (name: string, ...args: T) => R, name: string, ...args: T): R;
|
109
125
|
export declare function RequiredRole(anyOf: string[]): <This, Ctx extends DBOSContext, Args extends unknown[], Return>(target: object, propertyKey: string, inDescriptor: TypedPropertyDescriptor<(this: This, ctx: Ctx, ...args: Args) => Promise<Return>>) => TypedPropertyDescriptor<(this: This, ctx: Ctx, ...args: Args) => Promise<Return>>;
|
110
126
|
export declare function Workflow(config?: WorkflowConfig): <This, Args extends unknown[], Return>(target: object, propertyKey: string, inDescriptor: TypedPropertyDescriptor<(this: This, ctx: WorkflowContext, ...args: Args) => Promise<Return>>) => TypedPropertyDescriptor<(this: This, ctx: WorkflowContext, ...args: Args) => Promise<Return>>;
|
111
127
|
export declare function Transaction(config?: TransactionConfig): <This, Args extends unknown[], Return>(target: object, propertyKey: string, inDescriptor: TypedPropertyDescriptor<(this: This, ctx: TransactionContext<any>, ...args: Args) => Promise<Return>>) => TypedPropertyDescriptor<(this: This, ctx: TransactionContext<any>, ...args: Args) => Promise<Return>>;
|
@@ -113,4 +129,5 @@ export declare function Communicator(config?: CommunicatorConfig): <This, Args e
|
|
113
129
|
export declare function OrmEntities(entities: Function[]): <T extends new (...args: unknown[]) => object>(ctor: T) => void;
|
114
130
|
export declare function DBOSInitializer(): <This, Args extends unknown[], Return>(target: object, propertyKey: string, inDescriptor: TypedPropertyDescriptor<(this: This, ctx: InitContext, ...args: Args) => Promise<Return>>) => TypedPropertyDescriptor<(this: This, ctx: InitContext, ...args: Args) => Promise<Return>>;
|
115
131
|
export declare function DBOSDeploy(): <This, Args extends unknown[], Return>(target: object, propertyKey: string, inDescriptor: TypedPropertyDescriptor<(this: This, ctx: InitContext, ...args: Args) => Promise<Return>>) => TypedPropertyDescriptor<(this: This, ctx: InitContext, ...args: Args) => Promise<Return>>;
|
132
|
+
export {};
|
116
133
|
//# sourceMappingURL=decorators.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAmB,WAAW,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAIzE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9H,qBAAa,YAAY;IACvB,QAAQ,EAAE,aAAa,CAAU;IACjC,MAAM,EAAE,MAAM,CAAM;IACpB,SAAS,EAAE,MAAM,CAAM;IACvB,KAAK,EAAE,MAAM,CAAM;IAEnB,yBAAyB;IACzB,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM;IAO7B,gFAAgF;IAChF,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAS/C,sCAAsC;IAEtC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ;IAkB5B,cAAc,IAAI,MAAM;CAczB;
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
|
package/dist/src/decorators.js
CHANGED
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
23
|
return result;
|
24
24
|
};
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
26
|
-
exports.DBOSDeploy = exports.DBOSInitializer = exports.OrmEntities = exports.Communicator = exports.Transaction = exports.Workflow = exports.RequiredRole = exports.DefaultArgOptional = exports.DefaultArgRequired = exports.DefaultRequiredRole = exports.ArgVarchar = exports.ArgDate = exports.ArgName = exports.LogMask = exports.SkipLogging = exports.ArgOptional = exports.ArgRequired = exports.getOrCreateClassRegistration = exports.registerAndWrapFunction = exports.getOrCreateMethodArgsRegistration = exports.getRegisteredOperations = exports.ClassRegistration = exports.MethodRegistration = exports.MethodParameter = exports.ArgRequiredOptions = exports.LogMasks = exports.DBOSDataType = void 0;
|
26
|
+
exports.DBOSDeploy = exports.DBOSInitializer = exports.OrmEntities = exports.Communicator = exports.Transaction = exports.Workflow = exports.RequiredRole = exports.configureInstance = exports.DefaultArgOptional = exports.DefaultArgRequired = exports.DefaultRequiredRole = exports.ArgVarchar = exports.ArgDate = exports.ArgName = exports.LogMask = exports.SkipLogging = exports.ArgOptional = exports.ArgRequired = exports.getOrCreateClassRegistration = exports.registerAndWrapFunction = exports.getOrCreateMethodArgsRegistration = exports.getConfiguredInstance = exports.getRegisteredOperations = exports.getRegisteredMethodName = exports.getRegisteredMethodClassName = exports.ClassRegistration = exports.ConfiguredInstance = exports.MethodRegistration = exports.MethodParameter = exports.ArgRequiredOptions = exports.LogMasks = exports.DBOSDataType = void 0;
|
27
27
|
require("reflect-metadata");
|
28
28
|
const crypto = __importStar(require("crypto"));
|
29
29
|
const error_1 = require("./error");
|
@@ -87,8 +87,6 @@ class DBOSDataType {
|
|
87
87
|
}
|
88
88
|
exports.DBOSDataType = DBOSDataType;
|
89
89
|
const paramMetadataKey = Symbol.for("dbos:parameter");
|
90
|
-
const methodMetadataKey = Symbol.for("dbos:method");
|
91
|
-
const classMetadataKey = Symbol.for("dbos:class");
|
92
90
|
/* Arguments parsing heuristic:
|
93
91
|
* - Convert the function to a string
|
94
92
|
* - Minify the function
|
@@ -135,12 +133,15 @@ exports.MethodParameter = MethodParameter;
|
|
135
133
|
class MethodRegistration {
|
136
134
|
defaults;
|
137
135
|
name = "";
|
136
|
+
className = "";
|
138
137
|
requiredRole = undefined;
|
139
138
|
args = [];
|
140
|
-
constructor(origFunc) {
|
139
|
+
constructor(origFunc, isInstance) {
|
141
140
|
this.origFunction = origFunc;
|
141
|
+
this.isInstance = isInstance;
|
142
142
|
}
|
143
143
|
needInitialized = true;
|
144
|
+
isInstance;
|
144
145
|
origFunction;
|
145
146
|
registeredFunction;
|
146
147
|
workflowConfig;
|
@@ -158,6 +159,13 @@ class MethodRegistration {
|
|
158
159
|
}
|
159
160
|
}
|
160
161
|
exports.MethodRegistration = MethodRegistration;
|
162
|
+
class ConfiguredInstance {
|
163
|
+
name;
|
164
|
+
constructor(name) {
|
165
|
+
this.name = name;
|
166
|
+
}
|
167
|
+
}
|
168
|
+
exports.ConfiguredInstance = ConfiguredInstance;
|
161
169
|
class ClassRegistration {
|
162
170
|
name = "";
|
163
171
|
requiredRole;
|
@@ -165,36 +173,75 @@ class ClassRegistration {
|
|
165
173
|
needsInitialized = true;
|
166
174
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
167
175
|
ormEntities = [];
|
176
|
+
registeredOperations = new Map();
|
177
|
+
configuredInstances = new Map();
|
168
178
|
ctor;
|
169
179
|
constructor(ctor) {
|
170
180
|
this.ctor = ctor;
|
171
181
|
}
|
172
182
|
}
|
173
183
|
exports.ClassRegistration = ClassRegistration;
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
184
|
+
// This is a bit ugly, if we got the class / instance it would help avoid this auxiliary structure
|
185
|
+
const methodToRegistration = new Map();
|
186
|
+
function getRegisteredMethodClassName(func) {
|
187
|
+
let rv = "";
|
188
|
+
if (methodToRegistration.has(func)) {
|
189
|
+
rv = methodToRegistration.get(func).className;
|
190
|
+
}
|
191
|
+
return rv;
|
192
|
+
}
|
193
|
+
exports.getRegisteredMethodClassName = getRegisteredMethodClassName;
|
194
|
+
function getRegisteredMethodName(func) {
|
195
|
+
let rv = "";
|
196
|
+
if (methodToRegistration.has(func)) {
|
197
|
+
rv = methodToRegistration.get(func).name;
|
198
|
+
}
|
199
|
+
return rv;
|
200
|
+
}
|
201
|
+
exports.getRegisteredMethodName = getRegisteredMethodName;
|
180
202
|
function getRegisteredOperations(target) {
|
181
203
|
const registeredOperations = [];
|
182
|
-
|
183
|
-
const
|
184
|
-
|
185
|
-
|
204
|
+
if (typeof target === 'function') { // Constructor case
|
205
|
+
const classReg = classesByName.get(target.name);
|
206
|
+
classReg?.registeredOperations?.forEach((m) => registeredOperations.push(m));
|
207
|
+
}
|
208
|
+
else {
|
209
|
+
let current = target;
|
210
|
+
while (current) {
|
211
|
+
const cname = current.constructor.name;
|
212
|
+
if (classesByName.has(cname)) {
|
213
|
+
registeredOperations.push(...getRegisteredOperations(current.constructor));
|
214
|
+
}
|
215
|
+
current = Object.getPrototypeOf(current);
|
186
216
|
}
|
187
217
|
}
|
188
218
|
return registeredOperations;
|
189
219
|
}
|
190
220
|
exports.getRegisteredOperations = getRegisteredOperations;
|
221
|
+
function getConfiguredInstance(clsname, cfgname) {
|
222
|
+
const classReg = classesByName.get(clsname);
|
223
|
+
if (!classReg)
|
224
|
+
return null;
|
225
|
+
return classReg.configuredInstances.get(cfgname) ?? null;
|
226
|
+
}
|
227
|
+
exports.getConfiguredInstance = getConfiguredInstance;
|
228
|
+
////////////////////////////////////////////////////////////////////////////////
|
229
|
+
// DECORATOR REGISTRATION
|
230
|
+
// These manage registration objects, creating them at decorator evaluation time
|
231
|
+
// and making wrapped methods available for function registration at runtime
|
232
|
+
// initialization time.
|
233
|
+
////////////////////////////////////////////////////////////////////////////////
|
191
234
|
function getOrCreateMethodArgsRegistration(target, propertyKey) {
|
192
|
-
let
|
235
|
+
let regtarget = target;
|
236
|
+
if (typeof regtarget !== 'function') {
|
237
|
+
regtarget = regtarget.constructor;
|
238
|
+
}
|
239
|
+
let mParameters = Reflect.getOwnMetadata(paramMetadataKey, regtarget, propertyKey) || [];
|
193
240
|
if (!mParameters.length) {
|
194
241
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
195
242
|
const designParamTypes = Reflect.getMetadata("design:paramtypes", target, propertyKey);
|
196
243
|
mParameters = designParamTypes.map((value, index) => new MethodParameter(index, value));
|
197
|
-
Reflect.defineMetadata(paramMetadataKey, mParameters,
|
244
|
+
Reflect.defineMetadata(paramMetadataKey, mParameters, regtarget, propertyKey);
|
198
245
|
}
|
199
246
|
return mParameters;
|
200
247
|
}
|
@@ -205,9 +252,28 @@ function generateSaltedHash(data, salt) {
|
|
205
252
|
return hash.digest("hex");
|
206
253
|
}
|
207
254
|
function getOrCreateMethodRegistration(target, propertyKey, descriptor) {
|
208
|
-
|
255
|
+
let regtarget;
|
256
|
+
let isInstance = false;
|
257
|
+
if (typeof target === 'function') {
|
258
|
+
// Static method case
|
259
|
+
regtarget = target;
|
260
|
+
}
|
261
|
+
else {
|
262
|
+
// Instance method case
|
263
|
+
regtarget = target.constructor;
|
264
|
+
isInstance = true;
|
265
|
+
}
|
266
|
+
const classReg = getOrCreateClassRegistration(regtarget);
|
267
|
+
const fname = propertyKey.toString();
|
268
|
+
if (!classReg.registeredOperations.has(fname)) {
|
269
|
+
classReg.registeredOperations.set(fname, new MethodRegistration(descriptor.value, isInstance));
|
270
|
+
}
|
271
|
+
const methReg = classReg.registeredOperations.get(fname);
|
209
272
|
if (methReg.needInitialized) {
|
210
|
-
methReg.
|
273
|
+
methReg.needInitialized = false;
|
274
|
+
methReg.name = fname;
|
275
|
+
methReg.className = classReg.name;
|
276
|
+
methReg.defaults = classReg;
|
211
277
|
methReg.args = getOrCreateMethodArgsRegistration(target, propertyKey);
|
212
278
|
const argNames = getArgNames(descriptor.value);
|
213
279
|
methReg.args.forEach((e) => {
|
@@ -221,7 +287,6 @@ function getOrCreateMethodRegistration(target, propertyKey, descriptor) {
|
|
221
287
|
// TODO else warn/log something
|
222
288
|
}
|
223
289
|
});
|
224
|
-
Reflect.defineMetadata(methodMetadataKey, methReg, target, propertyKey);
|
225
290
|
const wrappedMethod = async function (...rawArgs) {
|
226
291
|
let opCtx = undefined;
|
227
292
|
// Validate the user authentication and populate the role field
|
@@ -281,7 +346,8 @@ function getOrCreateMethodRegistration(target, propertyKey, descriptor) {
|
|
281
346
|
});
|
282
347
|
descriptor.value = wrappedMethod;
|
283
348
|
methReg.registeredFunction = wrappedMethod;
|
284
|
-
methReg.
|
349
|
+
methodToRegistration.set(methReg.registeredFunction, methReg);
|
350
|
+
methodToRegistration.set(methReg.origFunction, methReg);
|
285
351
|
}
|
286
352
|
return methReg;
|
287
353
|
}
|
@@ -293,15 +359,16 @@ function registerAndWrapFunction(target, propertyKey, descriptor) {
|
|
293
359
|
return { descriptor, registration };
|
294
360
|
}
|
295
361
|
exports.registerAndWrapFunction = registerAndWrapFunction;
|
362
|
+
const classesByName = new Map();
|
296
363
|
function getOrCreateClassRegistration(ctor) {
|
297
|
-
const
|
364
|
+
const name = ctor.name;
|
365
|
+
if (!classesByName.has(name)) {
|
366
|
+
classesByName.set(name, new ClassRegistration(ctor));
|
367
|
+
}
|
368
|
+
const clsReg = classesByName.get(name);
|
298
369
|
if (clsReg.needsInitialized) {
|
299
|
-
clsReg.name =
|
300
|
-
|
301
|
-
const ops = getRegisteredOperations(ctor);
|
302
|
-
ops.forEach((op) => {
|
303
|
-
op.defaults = clsReg;
|
304
|
-
});
|
370
|
+
clsReg.name = name;
|
371
|
+
clsReg.needsInitialized = false;
|
305
372
|
}
|
306
373
|
return clsReg;
|
307
374
|
}
|
@@ -380,6 +447,16 @@ function DefaultArgOptional(ctor) {
|
|
380
447
|
clsreg.defaultArgRequired = ArgRequiredOptions.OPTIONAL;
|
381
448
|
}
|
382
449
|
exports.DefaultArgOptional = DefaultArgOptional;
|
450
|
+
function configureInstance(cls, name, ...args) {
|
451
|
+
const inst = new cls(name, ...args);
|
452
|
+
const creg = getOrCreateClassRegistration(cls);
|
453
|
+
if (creg.configuredInstances.has(name)) {
|
454
|
+
throw new error_1.DBOSError(`Registration: Class ${cls.name} configuration ${name} is not unique`);
|
455
|
+
}
|
456
|
+
creg.configuredInstances.set(name, inst);
|
457
|
+
return inst;
|
458
|
+
}
|
459
|
+
exports.configureInstance = configureInstance;
|
383
460
|
///////////////////////
|
384
461
|
/* METHOD DECORATORS */
|
385
462
|
///////////////////////
|