@dbos-inc/dbos-sdk 3.0.23-preview → 3.0.37-preview.gfd7eaf193c

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.
Files changed (76) hide show
  1. package/dist/src/authdecorators.d.ts +0 -7
  2. package/dist/src/authdecorators.d.ts.map +1 -1
  3. package/dist/src/authdecorators.js +1 -29
  4. package/dist/src/authdecorators.js.map +1 -1
  5. package/dist/src/context.d.ts +9 -43
  6. package/dist/src/context.d.ts.map +1 -1
  7. package/dist/src/context.js +28 -113
  8. package/dist/src/context.js.map +1 -1
  9. package/dist/src/datasource.d.ts +14 -3
  10. package/dist/src/datasource.d.ts.map +1 -1
  11. package/dist/src/datasource.js +12 -11
  12. package/dist/src/datasource.js.map +1 -1
  13. package/dist/src/dbos-executor.d.ts +37 -79
  14. package/dist/src/dbos-executor.d.ts.map +1 -1
  15. package/dist/src/dbos-executor.js +297 -498
  16. package/dist/src/dbos-executor.js.map +1 -1
  17. package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
  18. package/dist/src/dbos-runtime/cli.js +1 -3
  19. package/dist/src/dbos-runtime/cli.js.map +1 -1
  20. package/dist/src/dbos-runtime/debug.d.ts +1 -1
  21. package/dist/src/dbos-runtime/debug.d.ts.map +1 -1
  22. package/dist/src/dbos-runtime/debug.js +2 -3
  23. package/dist/src/dbos-runtime/debug.js.map +1 -1
  24. package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
  25. package/dist/src/dbos-runtime/runtime.js +0 -9
  26. package/dist/src/dbos-runtime/runtime.js.map +1 -1
  27. package/dist/src/dbos.d.ts +9 -34
  28. package/dist/src/dbos.d.ts.map +1 -1
  29. package/dist/src/dbos.js +95 -273
  30. package/dist/src/dbos.js.map +1 -1
  31. package/dist/src/decorators.d.ts +35 -60
  32. package/dist/src/decorators.d.ts.map +1 -1
  33. package/dist/src/decorators.js +157 -184
  34. package/dist/src/decorators.js.map +1 -1
  35. package/dist/src/httpServer/handler.d.ts +1 -9
  36. package/dist/src/httpServer/handler.d.ts.map +1 -1
  37. package/dist/src/httpServer/handler.js +1 -1
  38. package/dist/src/httpServer/handler.js.map +1 -1
  39. package/dist/src/httpServer/server.d.ts.map +1 -1
  40. package/dist/src/httpServer/server.js +5 -7
  41. package/dist/src/httpServer/server.js.map +1 -1
  42. package/dist/src/index.d.ts +5 -8
  43. package/dist/src/index.d.ts.map +1 -1
  44. package/dist/src/index.js +7 -17
  45. package/dist/src/index.js.map +1 -1
  46. package/dist/src/paramdecorators.d.ts.map +1 -1
  47. package/dist/src/paramdecorators.js +0 -6
  48. package/dist/src/paramdecorators.js.map +1 -1
  49. package/dist/src/procedure.d.ts +0 -22
  50. package/dist/src/procedure.d.ts.map +1 -1
  51. package/dist/src/procedure.js +0 -16
  52. package/dist/src/procedure.js.map +1 -1
  53. package/dist/src/scheduler/scheduler.d.ts.map +1 -1
  54. package/dist/src/scheduler/scheduler.js +3 -2
  55. package/dist/src/scheduler/scheduler.js.map +1 -1
  56. package/dist/src/step.d.ts +0 -25
  57. package/dist/src/step.d.ts.map +1 -1
  58. package/dist/src/step.js +0 -20
  59. package/dist/src/step.js.map +1 -1
  60. package/dist/src/system_database.d.ts +1 -2
  61. package/dist/src/system_database.d.ts.map +1 -1
  62. package/dist/src/system_database.js.map +1 -1
  63. package/dist/src/transaction.d.ts +0 -25
  64. package/dist/src/transaction.d.ts.map +1 -1
  65. package/dist/src/transaction.js +1 -15
  66. package/dist/src/transaction.js.map +1 -1
  67. package/dist/src/workflow.d.ts +4 -148
  68. package/dist/src/workflow.d.ts.map +1 -1
  69. package/dist/src/workflow.js +7 -226
  70. package/dist/src/workflow.js.map +1 -1
  71. package/dist/tsconfig.tsbuildinfo +1 -1
  72. package/package.json +1 -1
  73. package/dist/src/eventreceiver.d.ts +0 -155
  74. package/dist/src/eventreceiver.d.ts.map +0 -1
  75. package/dist/src/eventreceiver.js +0 -3
  76. package/dist/src/eventreceiver.js.map +0 -1
@@ -1,9 +1,2 @@
1
- import { DBOSContext } from './context';
2
1
  export declare function registerAuthChecker(): void;
3
- /** @deprecated Use `DBOS.defaultRequiredRole` */
4
- export declare function DefaultRequiredRole(anyOf: string[]): <T extends new (...args: any[]) => object>(ctor: T) => void;
5
- /**
6
- * @deprecated - use `DBOS.requiredRole`
7
- */
8
- 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>>;
9
2
  //# sourceMappingURL=authdecorators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authdecorators.d.ts","sourceRoot":"","sources":["../../src/authdecorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkE,MAAM,WAAW,CAAC;AA2DxG,wBAAgB,mBAAmB,SAElC;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,4BAEP,GAAG,EAAE,KAAG,MAAM,QAAU,CAAC,UAMpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,2EAEhC,MAAM,eACD,MAAM,gBACL,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,QAAQ,MAAM,CAAC,CAAC,oCAAlD,IAAI,OAAO,GAAG,WAAW,IAAI,KAAK,QAAQ,MAAM,CAAC,EAajG"}
1
+ {"version":3,"file":"authdecorators.d.ts","sourceRoot":"","sources":["../../src/authdecorators.ts"],"names":[],"mappings":"AAsDA,wBAAgB,mBAAmB,SAElC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RequiredRole = exports.DefaultRequiredRole = exports.registerAuthChecker = void 0;
3
+ exports.registerAuthChecker = void 0;
4
4
  const context_1 = require("./context");
5
5
  const dbos_1 = require("./dbos");
6
6
  const decorators_1 = require("./decorators");
@@ -16,9 +16,6 @@ function checkMethodAuth(methReg, args) {
16
16
  for (const role of requiredRoles) {
17
17
  if (set.has(role)) {
18
18
  authorized = true;
19
- if ((0, context_1.getCurrentDBOSContext)()) {
20
- (0, context_1.getCurrentDBOSContext)().assumedRole = role;
21
- }
22
19
  if ((0, context_1.getCurrentContextStore)()) {
23
20
  (0, context_1.getCurrentContextStore)().assumedRole = role;
24
21
  }
@@ -48,29 +45,4 @@ function registerAuthChecker() {
48
45
  (0, decorators_1.registerMiddlewareInstaller)(authChecker);
49
46
  }
50
47
  exports.registerAuthChecker = registerAuthChecker;
51
- /** @deprecated Use `DBOS.defaultRequiredRole` */
52
- function DefaultRequiredRole(anyOf) {
53
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
54
- function clsdec(ctor) {
55
- const clsreg = (0, decorators_1.associateClassWithExternal)(decorators_1.DBOS_AUTH, ctor);
56
- clsreg.requiredRole = anyOf;
57
- registerAuthChecker();
58
- }
59
- return clsdec;
60
- }
61
- exports.DefaultRequiredRole = DefaultRequiredRole;
62
- /**
63
- * @deprecated - use `DBOS.requiredRole`
64
- */
65
- function RequiredRole(anyOf) {
66
- function apidec(target, propertyKey, inDescriptor) {
67
- const rr = (0, decorators_1.associateMethodWithExternal)(decorators_1.DBOS_AUTH, target, undefined, propertyKey.toString(), inDescriptor.value);
68
- rr.regInfo.requiredRole = anyOf;
69
- inDescriptor.value = rr.registration.wrappedFunction ?? rr.registration.registeredFunction;
70
- registerAuthChecker();
71
- return inDescriptor;
72
- }
73
- return apidec;
74
- }
75
- exports.RequiredRole = RequiredRole;
76
48
  //# sourceMappingURL=authdecorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authdecorators.js","sourceRoot":"","sources":["../../src/authdecorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authdecorators.js","sourceRoot":"","sources":["../../src/authdecorators.ts"],"names":[],"mappings":";;;AAAA,uCAAmD;AACnD,iCAA8B;AAC9B,6CAOsB;AACtB,mCAAiD;AAEjD,SAAS,eAAe,CAAC,OAA+B,EAAE,IAAe;IACvE,+DAA+D;IAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IACjD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,WAAI,CAAC,IAAI,EAAE,YAAY,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,WAAI,CAAC,kBAAkB,CAAC;QACzC,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,UAAU,GAAG,IAAI,CAAC;gBAClB,IAAI,IAAA,gCAAsB,GAAE,EAAE,CAAC;oBAC7B,IAAA,gCAAsB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC/C,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,8BAAsB,CAAC,qDAAqD,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;YACjH,WAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,wBAAwB,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,WAAW;IACf,iBAAiB,CAAC,OAA+B;QAC/C,MAAM,SAAS,GAAG,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC,sBAAS,CAAsB,CAAC;QACvF,MAAM,UAAU,GAAG,OAAO,EAAE,iBAAiB,CAAC,sBAAS,CAAe,CAAC;QAEvE,MAAM,WAAW,GAAG,SAAS,EAAE,YAAY,KAAK,SAAS,IAAI,UAAU,EAAE,YAAY,KAAK,SAAS,CAAC;QAEpG,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,mBAAmB,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;CACF;AAED,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAEtC,SAAgB,mBAAmB;IACjC,IAAA,wCAA2B,EAAC,WAAW,CAAC,CAAC;AAC3C,CAAC;AAFD,kDAEC"}
@@ -3,15 +3,11 @@
3
3
  /// <reference types="node" />
4
4
  /// <reference types="node/http" />
5
5
  import { Span } from '@opentelemetry/sdk-trace-base';
6
- import { GlobalLogger as Logger, Logger as DBOSLogger } from './telemetry/logs';
6
+ import { Logger as DBOSLogger } from './telemetry/logs';
7
7
  import { IncomingHttpHeaders } from 'http';
8
8
  import { ParsedUrlQuery } from 'querystring';
9
9
  import { UserDatabaseClient } from './user_database';
10
10
  import { AsyncLocalStorage } from 'async_hooks';
11
- import { WorkflowContext, WorkflowContextImpl } from './workflow';
12
- import { TransactionContextImpl } from './transaction';
13
- import { StepContextImpl } from './step';
14
- import { StoredProcedureContextImpl } from './procedure';
15
11
  import Koa from 'koa';
16
12
  export interface StepStatus {
17
13
  stepID: number;
@@ -22,6 +18,7 @@ export interface DBOSContextOptions {
22
18
  idAssignedForNextWorkflow?: string;
23
19
  queueAssignedForWorkflows?: string;
24
20
  span?: Span;
21
+ logger?: DBOSLogger;
25
22
  authenticatedUser?: string;
26
23
  authenticatedRoles?: string[];
27
24
  assumedRole?: string;
@@ -31,9 +28,12 @@ export interface DBOSContextOptions {
31
28
  workflowTimeoutMS?: number | null;
32
29
  }
33
30
  export interface DBOSLocalCtx extends DBOSContextOptions {
34
- ctx?: DBOSContext;
35
31
  parentCtx?: DBOSLocalCtx;
36
32
  workflowId?: string;
33
+ curWFFunctionId?: number;
34
+ presetID?: boolean;
35
+ timeoutMS?: number | null;
36
+ deadlineEpochMS?: number;
37
37
  inRecovery?: boolean;
38
38
  curStepFunctionId?: number;
39
39
  stepStatus?: StepStatus;
@@ -48,16 +48,12 @@ export declare function isInTxnCtx(ctx: DBOSLocalCtx): boolean;
48
48
  export declare function isInWorkflowCtx(ctx: DBOSLocalCtx): boolean;
49
49
  export declare const asyncLocalCtx: AsyncLocalStorage<DBOSLocalCtx>;
50
50
  export declare function getCurrentContextStore(): DBOSLocalCtx | undefined;
51
- export declare function getCurrentDBOSContext(): DBOSContext | undefined;
52
- export declare function assertCurrentDBOSContext(): DBOSContext;
53
- export declare function assertCurrentWorkflowContext(): WorkflowContextImpl;
54
51
  export declare function getNextWFID(assignedID?: string): string | undefined;
52
+ export declare function functionIDGetIncrement(): number;
55
53
  export declare function runWithTopContext<R>(ctx: DBOSLocalCtx, callback: () => Promise<R>): Promise<R>;
56
- export declare function runWithTransactionContext<Client extends UserDatabaseClient, R>(ctx: TransactionContextImpl<Client>, callback: () => Promise<R>): Promise<R>;
57
- export declare function runWithStoredProcContext<R>(ctx: StoredProcedureContextImpl, callback: () => Promise<R>): Promise<R>;
54
+ export declare function runWithParentContext<R>(pctx: DBOSLocalCtx | undefined, ctx: DBOSLocalCtx, callback: () => Promise<R>): Promise<R>;
58
55
  export declare function runWithDataSourceContext<R>(callnum: number, callback: () => Promise<R>): Promise<R>;
59
- export declare function runWithStepContext<R>(ctx: StepContextImpl, currentAttempt: number | undefined, callback: () => Promise<R>): Promise<R>;
60
- export declare function runWithWorkflowContext<R>(ctx: WorkflowContext, callback: () => Promise<R>): Promise<R>;
56
+ export declare function runInStepContext<R>(pctx: DBOSLocalCtx, stepID: number, maxAttempts: number | undefined, currentAttempt: number | undefined, callback: () => Promise<R>): Promise<R>;
61
57
  /**
62
58
  * HTTPRequest includes useful information from http.IncomingMessage and parsed body,
63
59
  * URL parameters, and parsed query string.
@@ -76,34 +72,4 @@ export interface HTTPRequest {
76
72
  readonly ip?: string;
77
73
  readonly requestID?: string;
78
74
  }
79
- /**
80
- * @deprecated Use `DBOS.workflow`, `DBOS.step`, `DBOS.transaction`, and other decorators that do not pass contexts around.
81
- */
82
- export interface DBOSContext {
83
- readonly request: object;
84
- readonly workflowUUID: string;
85
- readonly authenticatedUser: string;
86
- readonly authenticatedRoles: string[];
87
- readonly assumedRole: string;
88
- readonly logger: DBOSLogger;
89
- readonly span: Span;
90
- getConfig<T>(key: string): T | undefined;
91
- getConfig<T>(key: string, defaultValue: T): T;
92
- }
93
- export declare class DBOSContextImpl implements DBOSContext {
94
- readonly operationName: string;
95
- readonly span: Span;
96
- request: object;
97
- authenticatedUser: string;
98
- authenticatedRoles: string[];
99
- assumedRole: string;
100
- workflowUUID: string;
101
- executorID: string;
102
- applicationID: string;
103
- readonly logger: DBOSLogger;
104
- constructor(operationName: string, span: Span, logger: Logger, parentCtx?: DBOSContextImpl);
105
- applicationConfig?: object;
106
- getConfig<T>(key: string): T | undefined;
107
- getConfig<T>(key: string, defaultValue: T): T;
108
- }
109
75
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DBOSContextImpl = exports.runWithWorkflowContext = exports.runWithStepContext = exports.runWithDataSourceContext = exports.runWithStoredProcContext = exports.runWithTransactionContext = exports.runWithTopContext = exports.getNextWFID = exports.assertCurrentWorkflowContext = exports.assertCurrentDBOSContext = exports.getCurrentDBOSContext = exports.getCurrentContextStore = exports.asyncLocalCtx = exports.isInWorkflowCtx = exports.isInTxnCtx = exports.isInStepCtx = exports.isWithinWorkflowCtx = void 0;
4
- const logs_1 = require("./telemetry/logs");
5
- const lodash_1 = require("lodash");
6
- const error_1 = require("./error");
3
+ exports.runInStepContext = exports.runWithDataSourceContext = exports.runWithParentContext = exports.runWithTopContext = exports.functionIDGetIncrement = exports.getNextWFID = exports.getCurrentContextStore = exports.asyncLocalCtx = exports.isInWorkflowCtx = exports.isInTxnCtx = exports.isInStepCtx = exports.isWithinWorkflowCtx = void 0;
7
4
  const async_hooks_1 = require("async_hooks");
8
- const error_2 = require("./error");
9
- const utils_1 = require("./utils");
5
+ const error_1 = require("./error");
10
6
  function isWithinWorkflowCtx(ctx) {
11
7
  if (ctx.workflowId === undefined)
12
8
  return false;
@@ -44,26 +40,6 @@ function getCurrentContextStore() {
44
40
  return exports.asyncLocalCtx.getStore();
45
41
  }
46
42
  exports.getCurrentContextStore = getCurrentContextStore;
47
- function getCurrentDBOSContext() {
48
- return exports.asyncLocalCtx.getStore()?.ctx;
49
- }
50
- exports.getCurrentDBOSContext = getCurrentDBOSContext;
51
- function assertCurrentDBOSContext() {
52
- const ctx = exports.asyncLocalCtx.getStore()?.ctx;
53
- if (!ctx)
54
- throw new error_2.DBOSInvalidWorkflowTransitionError('No current DBOS Context');
55
- return ctx;
56
- }
57
- exports.assertCurrentDBOSContext = assertCurrentDBOSContext;
58
- function assertCurrentWorkflowContext() {
59
- const ctxs = getCurrentContextStore();
60
- if (!ctxs || !isInWorkflowCtx(ctxs)) {
61
- throw new error_2.DBOSInvalidWorkflowTransitionError();
62
- }
63
- const ctx = assertCurrentDBOSContext();
64
- return ctx;
65
- }
66
- exports.assertCurrentWorkflowContext = assertCurrentWorkflowContext;
67
43
  function getNextWFID(assignedID) {
68
44
  let wfId = assignedID;
69
45
  if (!wfId) {
@@ -77,117 +53,56 @@ function getNextWFID(assignedID) {
77
53
  return wfId;
78
54
  }
79
55
  exports.getNextWFID = getNextWFID;
80
- async function runWithTopContext(ctx, callback) {
81
- return await exports.asyncLocalCtx.run(ctx, callback);
82
- }
83
- exports.runWithTopContext = runWithTopContext;
84
- async function runWithTransactionContext(ctx, callback) {
85
- // Check we are in a workflow context and not in a step / transaction already
56
+ function functionIDGetIncrement() {
86
57
  const pctx = getCurrentContextStore();
87
58
  if (!pctx)
88
- throw new error_2.DBOSInvalidWorkflowTransitionError();
59
+ throw new error_1.DBOSInvalidWorkflowTransitionError(`Attempt to get a call ID number outside of a workflow`);
89
60
  if (!isInWorkflowCtx(pctx))
90
- throw new error_2.DBOSInvalidWorkflowTransitionError();
91
- return await exports.asyncLocalCtx.run({
92
- ctx,
93
- workflowId: ctx.workflowUUID,
94
- curTxFunctionId: ctx.functionID,
95
- parentCtx: pctx,
96
- }, callback);
61
+ throw new error_1.DBOSInvalidWorkflowTransitionError(`Attempt to get a call ID number in a workflow that is already in a call`);
62
+ if (pctx.curWFFunctionId === undefined)
63
+ pctx.curWFFunctionId = 0;
64
+ return pctx.curWFFunctionId++;
97
65
  }
98
- exports.runWithTransactionContext = runWithTransactionContext;
99
- async function runWithStoredProcContext(ctx, callback) {
100
- // Check we are in a workflow context and not in a step / transaction already
101
- const pctx = getCurrentContextStore();
102
- if (!pctx)
103
- throw new error_2.DBOSInvalidWorkflowTransitionError();
104
- if (!isInWorkflowCtx(pctx))
105
- throw new error_2.DBOSInvalidWorkflowTransitionError();
66
+ exports.functionIDGetIncrement = functionIDGetIncrement;
67
+ async function runWithTopContext(ctx, callback) {
68
+ return await exports.asyncLocalCtx.run(ctx, callback);
69
+ }
70
+ exports.runWithTopContext = runWithTopContext;
71
+ async function runWithParentContext(pctx, ctx, callback) {
106
72
  return await exports.asyncLocalCtx.run({
107
- ctx,
108
- workflowId: ctx.workflowUUID,
109
- curTxFunctionId: ctx.functionID,
73
+ ...pctx,
74
+ workflowTimeoutMS: undefined, // Becomes deadline
110
75
  parentCtx: pctx,
111
- isInStoredProc: true,
76
+ ...ctx,
112
77
  }, callback);
113
78
  }
114
- exports.runWithStoredProcContext = runWithStoredProcContext;
79
+ exports.runWithParentContext = runWithParentContext;
115
80
  async function runWithDataSourceContext(callnum, callback) {
116
81
  // Check we are in a workflow context and not in a step / transaction already
117
- const pctx = getCurrentContextStore();
82
+ const pctx = getCurrentContextStore() ?? {};
118
83
  return await exports.asyncLocalCtx.run({
119
- workflowId: pctx?.workflowId,
84
+ ...pctx,
120
85
  curTxFunctionId: callnum,
121
86
  parentCtx: pctx,
122
87
  }, callback);
123
88
  }
124
89
  exports.runWithDataSourceContext = runWithDataSourceContext;
125
- async function runWithStepContext(ctx, currentAttempt, callback) {
90
+ async function runInStepContext(pctx, stepID, maxAttempts, currentAttempt, callback) {
126
91
  // Check we are in a workflow context and not in a step / transaction already
127
- const pctx = getCurrentContextStore();
128
92
  if (!pctx)
129
- throw new error_2.DBOSInvalidWorkflowTransitionError();
93
+ throw new error_1.DBOSInvalidWorkflowTransitionError();
130
94
  if (!isInWorkflowCtx(pctx))
131
- throw new error_2.DBOSInvalidWorkflowTransitionError();
95
+ throw new error_1.DBOSInvalidWorkflowTransitionError();
132
96
  const stepStatus = {
133
- stepID: ctx.functionID,
97
+ stepID: stepID,
134
98
  currentAttempt: currentAttempt,
135
- maxAttempts: currentAttempt ? ctx.maxAttempts : undefined,
99
+ maxAttempts: currentAttempt ? maxAttempts : undefined,
136
100
  };
137
- return await exports.asyncLocalCtx.run({
138
- ctx,
101
+ return await runWithParentContext(pctx, {
139
102
  stepStatus: stepStatus,
140
- workflowId: ctx.workflowUUID,
141
- curStepFunctionId: ctx.functionID,
103
+ curStepFunctionId: stepID,
142
104
  parentCtx: pctx,
143
105
  }, callback);
144
106
  }
145
- exports.runWithStepContext = runWithStepContext;
146
- async function runWithWorkflowContext(ctx, callback) {
147
- // TODO: Check context, this could be a child workflow?
148
- return await exports.asyncLocalCtx.run({
149
- ctx,
150
- workflowId: ctx.workflowUUID,
151
- }, callback);
152
- }
153
- exports.runWithWorkflowContext = runWithWorkflowContext;
154
- class DBOSContextImpl {
155
- operationName;
156
- span;
157
- request = {}; // Raw incoming HTTP request.
158
- authenticatedUser = ''; // The user that has been authenticated
159
- authenticatedRoles = []; // All roles the user has according to authentication
160
- assumedRole = ''; // Role in use - that user has and provided authorization to current function
161
- workflowUUID = ''; // Workflow UUID. Empty for HandlerContexts.
162
- executorID = utils_1.globalParams.executorID; // Executor ID. Gathered from the environment and "local" otherwise
163
- applicationID = utils_1.globalParams.appID; // Application ID. Gathered from the environment and empty otherwise
164
- logger; // Wrapper around the global logger for this context.
165
- constructor(operationName, span, logger, parentCtx) {
166
- this.operationName = operationName;
167
- this.span = span;
168
- if (parentCtx) {
169
- this.request = parentCtx.request;
170
- this.authenticatedUser = parentCtx.authenticatedUser;
171
- this.authenticatedRoles = parentCtx.authenticatedRoles;
172
- this.assumedRole = parentCtx.assumedRole;
173
- this.workflowUUID = parentCtx.workflowUUID;
174
- }
175
- else {
176
- this.authenticatedUser = getCurrentContextStore()?.authenticatedUser ?? '';
177
- this.authenticatedRoles = getCurrentContextStore()?.authenticatedRoles ?? [];
178
- this.assumedRole = getCurrentContextStore()?.assumedRole ?? '';
179
- }
180
- this.logger = new logs_1.Logger(logger, this);
181
- }
182
- applicationConfig;
183
- getConfig(key, defaultValue) {
184
- const value = (0, lodash_1.get)(this.applicationConfig, key, defaultValue);
185
- // If the key is found and the default value is provided, check whether the value is of the same type.
186
- if (value && defaultValue && typeof value !== typeof defaultValue) {
187
- throw new error_1.DBOSConfigKeyTypeError(key, typeof defaultValue, typeof value);
188
- }
189
- return value;
190
- }
191
- }
192
- exports.DBOSContextImpl = DBOSContextImpl;
107
+ exports.runInStepContext = runInStepContext;
193
108
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { Notification } from 'pg';
1
2
  /**
2
3
  * This interface is to be used for implementers of transactional data sources
3
4
  * This is what gets registered for the transaction control framework
@@ -42,11 +43,14 @@ export interface DBOSDataSource<Config extends {
42
43
  * Providing a static version of this functionality is optional.
43
44
  *
44
45
  * @param func - Function to wrap
45
- * @param name - Name of function
46
- * @param config - Transaction settings
46
+ * @param config - Transaction settings, including function `name`
47
+ * @param target - Class name, or class ctor/prototype
47
48
  * @returns Wrapped function, to be called instead of `func`
48
49
  */
49
- registerTransaction<This, Args extends unknown[], Return>(func: (this: This, ...args: Args) => Promise<Return>, config?: Config): (this: This, ...args: Args) => Promise<Return>;
50
+ registerTransaction<This, Args extends unknown[], Return>(func: (this: This, ...args: Args) => Promise<Return>, config?: Config, target?: {
51
+ ctorOrProto?: object;
52
+ className?: string;
53
+ }): (this: This, ...args: Args) => Promise<Return>;
50
54
  /**
51
55
  * Produce a Stage 2 method decorator
52
56
  * @param config - Configuration to apply to the decorated method
@@ -69,6 +73,8 @@ export declare function runTransaction<T>(callback: () => Promise<T>, funcName:
69
73
  config?: unknown;
70
74
  }): Promise<T>;
71
75
  export declare function registerTransaction<This, Args extends unknown[], Return>(dsName: string, func: (this: This, ...args: Args) => Promise<Return>, options: {
76
+ ctorOrProto?: object;
77
+ className?: string;
72
78
  name: string;
73
79
  }, config?: unknown): (this: This, ...args: Args) => Promise<Return>;
74
80
  /**
@@ -102,5 +108,10 @@ export declare function getPGErrorCode(error: unknown): string | undefined;
102
108
  export declare function isPGRetriableTransactionError(error: unknown): boolean;
103
109
  export declare function isPGKeyConflictError(error: unknown): boolean;
104
110
  export declare function isPGFailedSqlTransactionError(error: unknown): boolean;
111
+ export type PGDBNotification = Notification;
112
+ export type PGDBNotificationCallback = (n: PGDBNotification) => void;
113
+ export interface PGDBNotificationListener {
114
+ close(): Promise<void>;
115
+ }
105
116
  export {};
106
117
  //# sourceMappingURL=datasource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../src/datasource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../src/datasource.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAEvC;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,yBAAyB,CAAC,IAAI,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,EAC5D,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,IAAI,EACZ,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,EACpD,GAAG,IAAI,EAAE,IAAI,GACZ,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;;OAMG;IACH,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3E;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,IAAI,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,EACtD,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,EACpD,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACpD,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD;;;OAGG;IACH,WAAW,CACT,MAAM,CAAC,EAAE,MAAM,GACd,CAAC,IAAI,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,EACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,uBAAuB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,KAChF,uBAAuB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CAa9E;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,cA0DpD;AAGD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,EACtE,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,EACpD,OAAO,EAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,EACD,MAAM,CAAC,EAAE,OAAO,GACf,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAoDhD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,4BAA4B,QAElE;AAID,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB;;;;;EAKlB,CAAC;AAEZ,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,mCAAmC,sCAAsC,CAAC;AAEvF,eAAO,MAAM,kCAAkC,2SAS9C,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAErE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5D;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAErE;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAC5C,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;AACrE,MAAM,WAAW,wBAAwB;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
@@ -33,16 +33,15 @@ async function runTransaction(callback, funcName, options = {}) {
33
33
  if (!dbos_1.DBOS.isInWorkflow()) {
34
34
  throw new error_1.DBOSInvalidWorkflowTransitionError(`Invalid call to \`${funcName}\` inside a \`step\`, \`transaction\`, or \`procedure\``);
35
35
  }
36
- const wfctx = (0, context_1.assertCurrentWorkflowContext)();
37
- const callnum = wfctx.functionIDGetIncrement();
36
+ const callnum = (0, context_1.functionIDGetIncrement)();
38
37
  const span = dbos_executor_1.DBOSExecutor.globalInstance.tracer.startSpan(funcName, {
39
- operationUUID: wfctx.workflowUUID,
38
+ operationUUID: dbos_1.DBOS.workflowID,
40
39
  operationType: dbos_executor_1.OperationType.TRANSACTION,
41
- authenticatedUser: wfctx.authenticatedUser,
42
- assumedRole: wfctx.assumedRole,
43
- authenticatedRoles: wfctx.authenticatedRoles,
40
+ authenticatedUser: dbos_1.DBOS.authenticatedUser,
41
+ assumedRole: dbos_1.DBOS.assumedRole,
42
+ authenticatedRoles: dbos_1.DBOS.authenticatedRoles,
44
43
  // isolationLevel: txnInfo.config.isolationLevel, // TODO: Pluggable
45
- }, wfctx.span);
44
+ }, dbos_1.DBOS.span);
46
45
  try {
47
46
  const res = await dbos_executor_1.DBOSExecutor.globalInstance.runInternalStep(async () => {
48
47
  return await (0, context_1.runWithDataSourceContext)(callnum, async () => {
@@ -66,27 +65,29 @@ exports.runTransaction = runTransaction;
66
65
  // Transaction wrapper
67
66
  function registerTransaction(dsName, func, options, config) {
68
67
  const dsn = dsName ?? '<default>';
68
+ const reg = (0, decorators_1.registerAndWrapDBOSFunctionByName)(options?.ctorOrProto, options.className, options.name || func.name, func);
69
69
  const invokeWrapper = async function (...rawArgs) {
70
70
  const ds = (0, decorators_1.getTransactionalDataSource)(dsn);
71
+ const callFunc = reg.registration.registeredFunction ?? reg.registration.origFunction;
71
72
  if (!dbos_1.DBOS.isWithinWorkflow()) {
72
73
  if ((0, context_1.getNextWFID)(undefined)) {
73
74
  throw new error_1.DBOSInvalidWorkflowTransitionError(`Call to transaction '${options.name}' made without starting workflow`);
74
75
  }
75
76
  return await (0, context_1.runWithDataSourceContext)(0, async () => {
76
- return await ds.invokeTransactionFunction(config, this, func, ...rawArgs);
77
+ return await ds.invokeTransactionFunction(config, this, callFunc, ...rawArgs);
77
78
  });
78
79
  }
79
80
  if (dbos_1.DBOS.isInTransaction() || dbos_1.DBOS.isInStep()) {
80
81
  throw new error_1.DBOSInvalidWorkflowTransitionError('Invalid call to a `trasaction` function from within a `step` or `transaction`');
81
82
  }
82
- const wfctx = (0, context_1.assertCurrentWorkflowContext)();
83
- const callnum = wfctx.functionIDGetIncrement();
83
+ const callnum = (0, context_1.functionIDGetIncrement)();
84
84
  return dbos_executor_1.DBOSExecutor.globalInstance.runInternalStep(async () => {
85
85
  return await (0, context_1.runWithDataSourceContext)(callnum, async () => {
86
- return await ds.invokeTransactionFunction(config, this, func, ...rawArgs);
86
+ return await ds.invokeTransactionFunction(config, this, callFunc, ...rawArgs);
87
87
  });
88
88
  }, options.name, dbos_1.DBOS.workflowID, callnum);
89
89
  };
90
+ (0, decorators_1.registerFunctionWrapper)(invokeWrapper, reg.registration);
90
91
  Object.defineProperty(invokeWrapper, 'name', {
91
92
  value: options.name,
92
93
  });
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/datasource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/datasource.ts"],"names":[],"mappings":"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"}