@dbos-inc/dbos-sdk 3.0.23-preview → 3.0.29-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.
Files changed (88) 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/client.d.ts.map +1 -1
  6. package/dist/src/client.js.map +1 -1
  7. package/dist/src/context.d.ts +10 -44
  8. package/dist/src/context.d.ts.map +1 -1
  9. package/dist/src/context.js +34 -114
  10. package/dist/src/context.js.map +1 -1
  11. package/dist/src/datasource.d.ts +14 -3
  12. package/dist/src/datasource.d.ts.map +1 -1
  13. package/dist/src/datasource.js +41 -18
  14. package/dist/src/datasource.js.map +1 -1
  15. package/dist/src/dbos-executor.d.ts +43 -84
  16. package/dist/src/dbos-executor.d.ts.map +1 -1
  17. package/dist/src/dbos-executor.js +313 -500
  18. package/dist/src/dbos-executor.js.map +1 -1
  19. package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
  20. package/dist/src/dbos-runtime/cli.js +1 -3
  21. package/dist/src/dbos-runtime/cli.js.map +1 -1
  22. package/dist/src/dbos-runtime/debug.d.ts +1 -1
  23. package/dist/src/dbos-runtime/debug.d.ts.map +1 -1
  24. package/dist/src/dbos-runtime/debug.js +2 -3
  25. package/dist/src/dbos-runtime/debug.js.map +1 -1
  26. package/dist/src/dbos-runtime/runtime.d.ts.map +1 -1
  27. package/dist/src/dbos-runtime/runtime.js +0 -9
  28. package/dist/src/dbos-runtime/runtime.js.map +1 -1
  29. package/dist/src/dbos.d.ts +11 -42
  30. package/dist/src/dbos.d.ts.map +1 -1
  31. package/dist/src/dbos.js +103 -284
  32. package/dist/src/dbos.js.map +1 -1
  33. package/dist/src/decorators.d.ts +33 -60
  34. package/dist/src/decorators.d.ts.map +1 -1
  35. package/dist/src/decorators.js +154 -190
  36. package/dist/src/decorators.js.map +1 -1
  37. package/dist/src/httpServer/handler.d.ts +1 -9
  38. package/dist/src/httpServer/handler.d.ts.map +1 -1
  39. package/dist/src/httpServer/handler.js +1 -1
  40. package/dist/src/httpServer/handler.js.map +1 -1
  41. package/dist/src/httpServer/middleware.d.ts +2 -2
  42. package/dist/src/httpServer/middleware.d.ts.map +1 -1
  43. package/dist/src/httpServer/server.d.ts +3 -3
  44. package/dist/src/httpServer/server.d.ts.map +1 -1
  45. package/dist/src/httpServer/server.js +23 -24
  46. package/dist/src/httpServer/server.js.map +1 -1
  47. package/dist/src/index.d.ts +5 -8
  48. package/dist/src/index.d.ts.map +1 -1
  49. package/dist/src/index.js +7 -17
  50. package/dist/src/index.js.map +1 -1
  51. package/dist/src/paramdecorators.d.ts.map +1 -1
  52. package/dist/src/paramdecorators.js +0 -6
  53. package/dist/src/paramdecorators.js.map +1 -1
  54. package/dist/src/procedure.d.ts +0 -22
  55. package/dist/src/procedure.d.ts.map +1 -1
  56. package/dist/src/procedure.js +0 -16
  57. package/dist/src/procedure.js.map +1 -1
  58. package/dist/src/scheduler/scheduler.d.ts.map +1 -1
  59. package/dist/src/scheduler/scheduler.js +3 -2
  60. package/dist/src/scheduler/scheduler.js.map +1 -1
  61. package/dist/src/step.d.ts +0 -25
  62. package/dist/src/step.d.ts.map +1 -1
  63. package/dist/src/step.js +0 -20
  64. package/dist/src/step.js.map +1 -1
  65. package/dist/src/system_database.d.ts +9 -10
  66. package/dist/src/system_database.d.ts.map +1 -1
  67. package/dist/src/system_database.js.map +1 -1
  68. package/dist/src/telemetry/logs.d.ts +4 -8
  69. package/dist/src/telemetry/logs.d.ts.map +1 -1
  70. package/dist/src/telemetry/logs.js +25 -13
  71. package/dist/src/telemetry/logs.js.map +1 -1
  72. package/dist/src/transaction.d.ts +0 -25
  73. package/dist/src/transaction.d.ts.map +1 -1
  74. package/dist/src/transaction.js +1 -15
  75. package/dist/src/transaction.js.map +1 -1
  76. package/dist/src/user_database.d.ts +2 -2
  77. package/dist/src/user_database.d.ts.map +1 -1
  78. package/dist/src/user_database.js.map +1 -1
  79. package/dist/src/workflow.d.ts +4 -148
  80. package/dist/src/workflow.d.ts.map +1 -1
  81. package/dist/src/workflow.js +7 -226
  82. package/dist/src/workflow.js.map +1 -1
  83. package/dist/tsconfig.tsbuildinfo +1 -1
  84. package/package.json +1 -1
  85. package/dist/src/eventreceiver.d.ts +0 -155
  86. package/dist/src/eventreceiver.d.ts.map +0 -1
  87. package/dist/src/eventreceiver.js +0 -3
  88. 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"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EAGtB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAYpB;;;GAGG;AACH,UAAU,oBAAoB;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,OAAO;IAeP;;;;;OAKG;WACU,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAMtF;;;;OAIG;IACG,OAAO;IAKb;;;;;OAKG;IAEG,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EACtD,OAAO,EAAE,oBAAoB,EAC7B,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAiClD;;;;;;;OAOG;IACG,IAAI,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBxG;;;;;;OAMG;IACG,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAI9F;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAI7E,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,YAAY,CACV,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACpF,OAAO,CAAC,MAAM,CAAC;IAIlB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAIpE,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAIlE,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAI9E,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC;CAGvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;AACA,uDAA6G;AAE7G,2CAAgD;AAChD,6CAAyC;AACzC,yCAQoB;AACpB,kDAA4D;AAC5D,mCAAmC;AACnC,4EAM4C;AAC5C,mDAAwE;AAsDxE;;GAEG;AACH,MAAa,UAAU;IACJ,MAAM,CAAe;IACrB,cAAc,CAAiB;IAC/B,YAAY,CAAe;IAE5C,YAAoB,WAAmB,EAAE,cAAuB;QAC9D,MAAM,UAAU,GAAe,IAAA,4BAAmB,EAAC;YACjD,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,WAAW;YACzB,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,EAAE;SACR,CAAC,CAAC;QAEH,cAAc,KAAK,GAAG,UAAU,CAAC,QAAQ,WAAW,CAAC;QAErD,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,wCAAsB,CAAC,UAAU,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1F,IAAI,CAAC,YAAY,GAAG,IAAI,kCAAkB,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,cAAuB;QAC9D,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC3D,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,8DAA8D;IAC9D,KAAK,CAAC,OAAO,CACX,OAA6B,EAC7B,GAAG,IAAmB;QAEtB,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QAC/F,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,IAAI,IAAA,wBAAU,GAAE,CAAC;QAExD,MAAM,cAAc,GAA2B;YAC7C,YAAY,EAAE,YAAY;YAC1B,MAAM,EAAE,uBAAY,CAAC,QAAQ;YAC7B,YAAY,EAAE,YAAY;YAC1B,iBAAiB,EAAE,iBAAiB,IAAI,EAAE;YAC1C,kBAAkB,EAAE,kBAAkB,IAAI,EAAE;YAC5C,SAAS,EAAE,SAAS;YACpB,iBAAiB,EAAE,EAAE;YACrB,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;YACtB,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,EAAE;YACd,kBAAkB,EAAE,UAAU;YAC9B,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS,EAAE,OAAO,CAAC,iBAAiB;YACpC,eAAe,EAAE,SAAS;YAC1B,KAAK,EAAE,gBAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;YAC/B,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;SAChC,CAAC;QAEF,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAE7D,OAAO,IAAI,0BAAe,CAAyB,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACxF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAI,aAAqB,EAAE,OAAU,EAAE,KAAc,EAAE,cAAuB;QACtF,cAAc,KAAK,IAAA,wBAAU,GAAE,CAAC;QAChC,MAAM,cAAc,GAA2B;YAC7C,YAAY,EAAE,GAAG,aAAa,IAAI,cAAc,EAAE;YAClD,MAAM,EAAE,uBAAY,CAAC,OAAO;YAC5B,YAAY,EAAE,2BAA2B;YACzC,iBAAiB,EAAE,EAAE;YACrB,kBAAkB,EAAE,EAAE;YACtB,iBAAiB,EAAE,EAAE;YACrB,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,EAAE;YACf,kBAAkB,EAAE,EAAE;YACtB,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,gBAAQ,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1D,eAAe,EAAE,SAAS;YAC1B,QAAQ,EAAE,CAAC;SACZ,CAAC;QACF,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,gBAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACpH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,CAAI,UAAkB,EAAE,GAAW,EAAE,cAAuB;QACxE,OAAO,gBAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,cAAc,IAAI,EAAE,CAAC,CAAM,CAAC;IACxG,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAc,UAAkB;QAC9C,OAAO,IAAI,0BAAe,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc,CAAC,UAAkB;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,cAAc,CAAC,UAAkB;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,YAAY,CACV,UAAkB,EAClB,SAAiB,EACjB,OAAqF;QAErF,OAAO,IAAA,kCAAY,EAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9F,CAAC;IAED,WAAW,CAAC,UAAkB;QAC5B,OAAO,IAAA,iCAAW,EAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,aAAa,CAAC,KAAwB;QACpC,OAAO,IAAA,mCAAa,EAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,mBAAmB,CAAC,KAA8B;QAChD,OAAO,IAAA,yCAAmB,EAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,iBAAiB,CAAC,UAAkB;QAClC,OAAO,IAAA,uCAAiB,EAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC/E,CAAC;CACF;AAzKD,gCAyKC"}
@@ -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 { DBOSContextualLogger } 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?: DBOSContextualLogger;
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>;
58
- 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>;
54
+ export declare function runWithParentContext<R>(pctx: DBOSLocalCtx | undefined, ctx: DBOSLocalCtx, callback: () => Promise<R>): Promise<R>;
55
+ export declare function runWithDataSourceContext<R>(span: Span | undefined, callnum: number, callback: () => Promise<R>): Promise<R>;
56
+ export declare function runInStepContext<R>(pctx: DBOSLocalCtx, stepID: number, span: Span, 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,9 @@
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");
6
+ const dbos_executor_1 = require("./dbos-executor");
10
7
  function isWithinWorkflowCtx(ctx) {
11
8
  if (ctx.workflowId === undefined)
12
9
  return false;
@@ -44,26 +41,6 @@ function getCurrentContextStore() {
44
41
  return exports.asyncLocalCtx.getStore();
45
42
  }
46
43
  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
44
  function getNextWFID(assignedID) {
68
45
  let wfId = assignedID;
69
46
  if (!wfId) {
@@ -77,117 +54,60 @@ function getNextWFID(assignedID) {
77
54
  return wfId;
78
55
  }
79
56
  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
57
+ function functionIDGetIncrement() {
86
58
  const pctx = getCurrentContextStore();
87
59
  if (!pctx)
88
- throw new error_2.DBOSInvalidWorkflowTransitionError();
60
+ throw new error_1.DBOSInvalidWorkflowTransitionError(`Attempt to get a call ID number outside of a workflow`);
89
61
  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);
62
+ throw new error_1.DBOSInvalidWorkflowTransitionError(`Attempt to get a call ID number in a workflow that is already in a call`);
63
+ if (pctx.curWFFunctionId === undefined)
64
+ pctx.curWFFunctionId = 0;
65
+ return pctx.curWFFunctionId++;
97
66
  }
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();
67
+ exports.functionIDGetIncrement = functionIDGetIncrement;
68
+ async function runWithTopContext(ctx, callback) {
69
+ return await exports.asyncLocalCtx.run(ctx, callback);
70
+ }
71
+ exports.runWithTopContext = runWithTopContext;
72
+ async function runWithParentContext(pctx, ctx, callback) {
106
73
  return await exports.asyncLocalCtx.run({
107
- ctx,
108
- workflowId: ctx.workflowUUID,
109
- curTxFunctionId: ctx.functionID,
74
+ ...pctx,
75
+ workflowTimeoutMS: undefined, // Becomes deadline
110
76
  parentCtx: pctx,
111
- isInStoredProc: true,
77
+ ...ctx,
112
78
  }, callback);
113
79
  }
114
- exports.runWithStoredProcContext = runWithStoredProcContext;
115
- async function runWithDataSourceContext(callnum, callback) {
80
+ exports.runWithParentContext = runWithParentContext;
81
+ async function runWithDataSourceContext(span, callnum, callback) {
116
82
  // Check we are in a workflow context and not in a step / transaction already
117
- const pctx = getCurrentContextStore();
83
+ const pctx = getCurrentContextStore() ?? {};
118
84
  return await exports.asyncLocalCtx.run({
119
- workflowId: pctx?.workflowId,
85
+ ...pctx,
120
86
  curTxFunctionId: callnum,
121
87
  parentCtx: pctx,
88
+ span: span ? span : pctx.span,
89
+ logger: dbos_executor_1.DBOSExecutor.globalInstance.ctxLogger,
122
90
  }, callback);
123
91
  }
124
92
  exports.runWithDataSourceContext = runWithDataSourceContext;
125
- async function runWithStepContext(ctx, currentAttempt, callback) {
93
+ async function runInStepContext(pctx, stepID, span, maxAttempts, currentAttempt, callback) {
126
94
  // Check we are in a workflow context and not in a step / transaction already
127
- const pctx = getCurrentContextStore();
128
95
  if (!pctx)
129
- throw new error_2.DBOSInvalidWorkflowTransitionError();
96
+ throw new error_1.DBOSInvalidWorkflowTransitionError();
130
97
  if (!isInWorkflowCtx(pctx))
131
- throw new error_2.DBOSInvalidWorkflowTransitionError();
98
+ throw new error_1.DBOSInvalidWorkflowTransitionError();
132
99
  const stepStatus = {
133
- stepID: ctx.functionID,
100
+ stepID: stepID,
134
101
  currentAttempt: currentAttempt,
135
- maxAttempts: currentAttempt ? ctx.maxAttempts : undefined,
102
+ maxAttempts: currentAttempt ? maxAttempts : undefined,
136
103
  };
137
- return await exports.asyncLocalCtx.run({
138
- ctx,
104
+ return await runWithParentContext(pctx, {
139
105
  stepStatus: stepStatus,
140
- workflowId: ctx.workflowUUID,
141
- curStepFunctionId: ctx.functionID,
106
+ curStepFunctionId: stepID,
142
107
  parentCtx: pctx,
108
+ logger: dbos_executor_1.DBOSExecutor.globalInstance.ctxLogger,
109
+ span,
143
110
  }, callback);
144
111
  }
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;
112
+ exports.runInStepContext = runInStepContext;
193
113
  //# 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,cA2DpD;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,CAwEhD;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"}
@@ -26,26 +26,26 @@ async function runTransaction(callback, funcName, options = {}) {
26
26
  if ((0, context_1.getNextWFID)(undefined)) {
27
27
  throw new error_1.DBOSInvalidWorkflowTransitionError(`Invalid call to transaction '${funcName}' outside of a workflow; with directive to start a workflow.`);
28
28
  }
29
- return await (0, context_1.runWithDataSourceContext)(0, async () => {
29
+ return await (0, context_1.runWithDataSourceContext)(undefined, 0, async () => {
30
30
  return await ds.invokeTransactionFunction(options.config ?? {}, undefined, callback);
31
31
  });
32
32
  }
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
+ operationName: funcName,
41
+ authenticatedUser: dbos_1.DBOS.authenticatedUser ?? '',
42
+ assumedRole: dbos_1.DBOS.assumedRole ?? '',
43
+ authenticatedRoles: dbos_1.DBOS.authenticatedRoles ?? [],
44
44
  // isolationLevel: txnInfo.config.isolationLevel, // TODO: Pluggable
45
- }, wfctx.span);
45
+ }, dbos_1.DBOS.span);
46
46
  try {
47
47
  const res = await dbos_executor_1.DBOSExecutor.globalInstance.runInternalStep(async () => {
48
- return await (0, context_1.runWithDataSourceContext)(callnum, async () => {
48
+ return await (0, context_1.runWithDataSourceContext)(span, callnum, async () => {
49
49
  return await ds.invokeTransactionFunction(options.config ?? {}, undefined, callback);
50
50
  });
51
51
  }, funcName,
@@ -66,27 +66,50 @@ exports.runTransaction = runTransaction;
66
66
  // Transaction wrapper
67
67
  function registerTransaction(dsName, func, options, config) {
68
68
  const dsn = dsName ?? '<default>';
69
+ const funcName = options.name ?? func.name;
70
+ const reg = (0, decorators_1.registerAndWrapDBOSFunctionByName)(options?.ctorOrProto, options.className, funcName, func);
69
71
  const invokeWrapper = async function (...rawArgs) {
70
72
  const ds = (0, decorators_1.getTransactionalDataSource)(dsn);
73
+ const callFunc = reg.registration.registeredFunction ?? reg.registration.origFunction;
71
74
  if (!dbos_1.DBOS.isWithinWorkflow()) {
72
75
  if ((0, context_1.getNextWFID)(undefined)) {
73
76
  throw new error_1.DBOSInvalidWorkflowTransitionError(`Call to transaction '${options.name}' made without starting workflow`);
74
77
  }
75
- return await (0, context_1.runWithDataSourceContext)(0, async () => {
76
- return await ds.invokeTransactionFunction(config, this, func, ...rawArgs);
78
+ return await (0, context_1.runWithDataSourceContext)(undefined, 0, async () => {
79
+ return await ds.invokeTransactionFunction(config, this, callFunc, ...rawArgs);
77
80
  });
78
81
  }
79
82
  if (dbos_1.DBOS.isInTransaction() || dbos_1.DBOS.isInStep()) {
80
83
  throw new error_1.DBOSInvalidWorkflowTransitionError('Invalid call to a `trasaction` function from within a `step` or `transaction`');
81
84
  }
82
- const wfctx = (0, context_1.assertCurrentWorkflowContext)();
83
- const callnum = wfctx.functionIDGetIncrement();
84
- return dbos_executor_1.DBOSExecutor.globalInstance.runInternalStep(async () => {
85
- return await (0, context_1.runWithDataSourceContext)(callnum, async () => {
86
- return await ds.invokeTransactionFunction(config, this, func, ...rawArgs);
87
- });
88
- }, options.name, dbos_1.DBOS.workflowID, callnum);
85
+ const span = dbos_executor_1.DBOSExecutor.globalInstance.tracer.startSpan(funcName, {
86
+ operationUUID: dbos_1.DBOS.workflowID,
87
+ operationType: dbos_executor_1.OperationType.TRANSACTION,
88
+ operationName: funcName,
89
+ authenticatedUser: dbos_1.DBOS.authenticatedUser ?? '',
90
+ assumedRole: dbos_1.DBOS.assumedRole ?? '',
91
+ authenticatedRoles: dbos_1.DBOS.authenticatedRoles ?? [],
92
+ // isolationLevel: txnInfo.config.isolationLevel, // TODO: Pluggable
93
+ }, dbos_1.DBOS.span);
94
+ const callnum = (0, context_1.functionIDGetIncrement)();
95
+ try {
96
+ const res = await dbos_executor_1.DBOSExecutor.globalInstance.runInternalStep(async () => {
97
+ return await (0, context_1.runWithDataSourceContext)(span, callnum, async () => {
98
+ return await ds.invokeTransactionFunction(config, this, callFunc, ...rawArgs);
99
+ });
100
+ }, funcName, dbos_1.DBOS.workflowID, callnum);
101
+ span.setStatus({ code: api_1.SpanStatusCode.OK });
102
+ dbos_executor_1.DBOSExecutor.globalInstance.tracer.endSpan(span);
103
+ return res;
104
+ }
105
+ catch (err) {
106
+ const e = err;
107
+ span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: e.message });
108
+ dbos_executor_1.DBOSExecutor.globalInstance.tracer.endSpan(span);
109
+ throw err;
110
+ }
89
111
  };
112
+ (0, decorators_1.registerFunctionWrapper)(invokeWrapper, reg.registration);
90
113
  Object.defineProperty(invokeWrapper, 'name', {
91
114
  value: options.name,
92
115
  });