@solidactions/sdk 0.1.0

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 (167) hide show
  1. package/.claude/settings.local.json +7 -0
  2. package/.clavix/outputs/dbos-http-sdk/full-prd.md +142 -0
  3. package/.clavix/outputs/dbos-http-sdk/quick-prd.md +12 -0
  4. package/.clavix/outputs/dbos-http-sdk/tasks.md +630 -0
  5. package/.clavix/outputs/prompts/dbos-http-api-20260110-033219.md +91 -0
  6. package/.husky/pre-commit +1 -0
  7. package/.prettierignore +3 -0
  8. package/.prettierrc +9 -0
  9. package/CODE_OF_CONDUCT.md +49 -0
  10. package/CONTRIBUTING.md +47 -0
  11. package/LICENSE +21 -0
  12. package/README.md +172 -0
  13. package/dist/dbos-config.schema.json +132 -0
  14. package/dist/schemas/system_db_schema.d.ts +73 -0
  15. package/dist/schemas/system_db_schema.d.ts.map +1 -0
  16. package/dist/schemas/system_db_schema.js +3 -0
  17. package/dist/schemas/system_db_schema.js.map +1 -0
  18. package/dist/src/adminserver.d.ts +79 -0
  19. package/dist/src/adminserver.d.ts.map +1 -0
  20. package/dist/src/adminserver.js +495 -0
  21. package/dist/src/adminserver.js.map +1 -0
  22. package/dist/src/authdecorators.d.ts +2 -0
  23. package/dist/src/authdecorators.d.ts.map +1 -0
  24. package/dist/src/authdecorators.js +48 -0
  25. package/dist/src/authdecorators.js.map +1 -0
  26. package/dist/src/cli/cli.d.ts +9 -0
  27. package/dist/src/cli/cli.d.ts.map +1 -0
  28. package/dist/src/cli/cli.js +116 -0
  29. package/dist/src/cli/cli.js.map +1 -0
  30. package/dist/src/cli/commands.d.ts +3 -0
  31. package/dist/src/cli/commands.d.ts.map +1 -0
  32. package/dist/src/cli/commands.js +46 -0
  33. package/dist/src/cli/commands.js.map +1 -0
  34. package/dist/src/client.d.ts +85 -0
  35. package/dist/src/client.d.ts.map +1 -0
  36. package/dist/src/client.js +186 -0
  37. package/dist/src/client.js.map +1 -0
  38. package/dist/src/conductor/conductor.d.ts +28 -0
  39. package/dist/src/conductor/conductor.d.ts.map +1 -0
  40. package/dist/src/conductor/conductor.js +376 -0
  41. package/dist/src/conductor/conductor.js.map +1 -0
  42. package/dist/src/conductor/protocol.d.ts +238 -0
  43. package/dist/src/conductor/protocol.d.ts.map +1 -0
  44. package/dist/src/conductor/protocol.js +353 -0
  45. package/dist/src/conductor/protocol.js.map +1 -0
  46. package/dist/src/config.d.ts +91 -0
  47. package/dist/src/config.d.ts.map +1 -0
  48. package/dist/src/config.js +199 -0
  49. package/dist/src/config.js.map +1 -0
  50. package/dist/src/context.d.ts +62 -0
  51. package/dist/src/context.d.ts.map +1 -0
  52. package/dist/src/context.js +118 -0
  53. package/dist/src/context.js.map +1 -0
  54. package/dist/src/database_utils.d.ts +17 -0
  55. package/dist/src/database_utils.d.ts.map +1 -0
  56. package/dist/src/database_utils.js +53 -0
  57. package/dist/src/database_utils.js.map +1 -0
  58. package/dist/src/datasource.d.ts +109 -0
  59. package/dist/src/datasource.d.ts.map +1 -0
  60. package/dist/src/datasource.js +204 -0
  61. package/dist/src/datasource.js.map +1 -0
  62. package/dist/src/dbos-executor.d.ts +189 -0
  63. package/dist/src/dbos-executor.d.ts.map +1 -0
  64. package/dist/src/dbos-executor.js +817 -0
  65. package/dist/src/dbos-executor.js.map +1 -0
  66. package/dist/src/dbos.d.ts +519 -0
  67. package/dist/src/dbos.d.ts.map +1 -0
  68. package/dist/src/dbos.js +1282 -0
  69. package/dist/src/dbos.js.map +1 -0
  70. package/dist/src/debouncer.d.ts +33 -0
  71. package/dist/src/debouncer.d.ts.map +1 -0
  72. package/dist/src/debouncer.js +170 -0
  73. package/dist/src/debouncer.js.map +1 -0
  74. package/dist/src/debugpoint.d.ts +26 -0
  75. package/dist/src/debugpoint.d.ts.map +1 -0
  76. package/dist/src/debugpoint.js +65 -0
  77. package/dist/src/debugpoint.js.map +1 -0
  78. package/dist/src/decorators.d.ts +219 -0
  79. package/dist/src/decorators.d.ts.map +1 -0
  80. package/dist/src/decorators.js +873 -0
  81. package/dist/src/decorators.js.map +1 -0
  82. package/dist/src/error.d.ts +130 -0
  83. package/dist/src/error.d.ts.map +1 -0
  84. package/dist/src/error.js +290 -0
  85. package/dist/src/error.js.map +1 -0
  86. package/dist/src/http_client.d.ts +82 -0
  87. package/dist/src/http_client.d.ts.map +1 -0
  88. package/dist/src/http_client.js +286 -0
  89. package/dist/src/http_client.js.map +1 -0
  90. package/dist/src/http_system_database.d.ts +84 -0
  91. package/dist/src/http_system_database.d.ts.map +1 -0
  92. package/dist/src/http_system_database.js +429 -0
  93. package/dist/src/http_system_database.js.map +1 -0
  94. package/dist/src/index.d.ts +14 -0
  95. package/dist/src/index.d.ts.map +1 -0
  96. package/dist/src/index.js +53 -0
  97. package/dist/src/index.js.map +1 -0
  98. package/dist/src/scheduler/crontab.d.ts +14 -0
  99. package/dist/src/scheduler/crontab.d.ts.map +1 -0
  100. package/dist/src/scheduler/crontab.js +308 -0
  101. package/dist/src/scheduler/crontab.js.map +1 -0
  102. package/dist/src/scheduler/scheduler.d.ts +41 -0
  103. package/dist/src/scheduler/scheduler.d.ts.map +1 -0
  104. package/dist/src/scheduler/scheduler.js +165 -0
  105. package/dist/src/scheduler/scheduler.js.map +1 -0
  106. package/dist/src/serialization.d.ts +57 -0
  107. package/dist/src/serialization.d.ts.map +1 -0
  108. package/dist/src/serialization.js +306 -0
  109. package/dist/src/serialization.js.map +1 -0
  110. package/dist/src/solidactions-executor.d.ts +177 -0
  111. package/dist/src/solidactions-executor.d.ts.map +1 -0
  112. package/dist/src/solidactions-executor.js +817 -0
  113. package/dist/src/solidactions-executor.js.map +1 -0
  114. package/dist/src/solidactions.d.ts +519 -0
  115. package/dist/src/solidactions.d.ts.map +1 -0
  116. package/dist/src/solidactions.js +1284 -0
  117. package/dist/src/solidactions.js.map +1 -0
  118. package/dist/src/step.d.ts +16 -0
  119. package/dist/src/step.d.ts.map +1 -0
  120. package/dist/src/step.js +3 -0
  121. package/dist/src/step.js.map +1 -0
  122. package/dist/src/system_database.d.ts +141 -0
  123. package/dist/src/system_database.d.ts.map +1 -0
  124. package/dist/src/system_database.js +25 -0
  125. package/dist/src/system_database.js.map +1 -0
  126. package/dist/src/telemetry/collector.d.ts +13 -0
  127. package/dist/src/telemetry/collector.d.ts.map +1 -0
  128. package/dist/src/telemetry/collector.js +63 -0
  129. package/dist/src/telemetry/collector.js.map +1 -0
  130. package/dist/src/telemetry/exporters.d.ts +13 -0
  131. package/dist/src/telemetry/exporters.d.ts.map +1 -0
  132. package/dist/src/telemetry/exporters.js +101 -0
  133. package/dist/src/telemetry/exporters.js.map +1 -0
  134. package/dist/src/telemetry/logs.d.ts +52 -0
  135. package/dist/src/telemetry/logs.d.ts.map +1 -0
  136. package/dist/src/telemetry/logs.js +287 -0
  137. package/dist/src/telemetry/logs.js.map +1 -0
  138. package/dist/src/telemetry/traces.d.ts +52 -0
  139. package/dist/src/telemetry/traces.d.ts.map +1 -0
  140. package/dist/src/telemetry/traces.js +150 -0
  141. package/dist/src/telemetry/traces.js.map +1 -0
  142. package/dist/src/utils.d.ts +26 -0
  143. package/dist/src/utils.d.ts.map +1 -0
  144. package/dist/src/utils.js +136 -0
  145. package/dist/src/utils.js.map +1 -0
  146. package/dist/src/wfqueue.d.ts +64 -0
  147. package/dist/src/wfqueue.d.ts.map +1 -0
  148. package/dist/src/wfqueue.js +147 -0
  149. package/dist/src/wfqueue.js.map +1 -0
  150. package/dist/src/workflow.d.ts +154 -0
  151. package/dist/src/workflow.d.ts.map +1 -0
  152. package/dist/src/workflow.js +99 -0
  153. package/dist/src/workflow.js.map +1 -0
  154. package/dist/src/workflow_management.d.ts +15 -0
  155. package/dist/src/workflow_management.d.ts.map +1 -0
  156. package/dist/src/workflow_management.js +87 -0
  157. package/dist/src/workflow_management.js.map +1 -0
  158. package/dist/tsconfig.tsbuildinfo +1 -0
  159. package/docs/api-schema.md +1441 -0
  160. package/docs/migration-guide.md +460 -0
  161. package/docs/phase-14-changes.md +156 -0
  162. package/docs/solidsteps-ai-prompt.md +534 -0
  163. package/eslint.config.cjs +50 -0
  164. package/package.json +84 -0
  165. package/solidactions-ai-prompt.md +1504 -0
  166. package/solidactions-config.schema.json +132 -0
  167. package/solidactions-test-config.yaml +15 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dbos.js","sourceRoot":"","sources":["../../src/dbos.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { DBOSClient } from '.';
2
+ import { StartWorkflowParams } from './dbos';
3
+ interface DebouncerWorkflowParams {
4
+ workflowName: string;
5
+ workflowClassName: string;
6
+ startWorkflowParams?: StartWorkflowParams;
7
+ debounceTimeoutMs?: number;
8
+ }
9
+ interface DebouncerConfig<Args extends unknown[], Return> {
10
+ workflow: (...args: Args) => Promise<Return>;
11
+ startWorkflowParams?: StartWorkflowParams;
12
+ debounceTimeoutMs?: number;
13
+ }
14
+ interface DebouncerClientConfig {
15
+ workflowName: string;
16
+ workflowClassName?: string;
17
+ startWorkflowParams?: StartWorkflowParams;
18
+ debounceTimeoutMs?: number;
19
+ }
20
+ export declare const debouncerWorkflowFunction: (initialDebouncePeriodMs: number, cfg: DebouncerWorkflowParams, ...args: unknown[]) => Promise<void>;
21
+ export declare class Debouncer<Args extends unknown[], Return> {
22
+ private readonly cfg;
23
+ constructor(params: DebouncerConfig<Args, Return>);
24
+ debounce(debounceKey: string, debouncePeriodMs: number, ...args: Args): Promise<import("./workflow").WorkflowHandle<Awaited<Return>>>;
25
+ }
26
+ export declare class DebouncerClient {
27
+ readonly client: DBOSClient;
28
+ private readonly cfg;
29
+ constructor(client: DBOSClient, params: DebouncerClientConfig);
30
+ debounce(debounceKey: string, debouncePeriodMs: number, ...args: unknown[]): Promise<import("./workflow").WorkflowHandle<unknown>>;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=debouncer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debouncer.d.ts","sourceRoot":"","sources":["../../src/debouncer.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,UAAU,EAAE,MAAM,GAAG,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAY7C,UAAU,uBAAuB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AASD,UAAU,eAAe,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM;IACtD,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,UAAU,qBAAqB;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAID,eAAO,MAAM,yBAAyB,4BACX,MAAM,OAC1B,uBAAuB,WACnB,OAAO,EAAE,kBAuBnB,CAAC;AAEF,qBAAa,SAAS,CAAC,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;gBAClC,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC;IAU3C,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,IAAI;CAuD5E;AAED,qBAAa,eAAe;IAGxB,QAAQ,CAAC,MAAM,EAAE,UAAU;IAF7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;gBAEnC,MAAM,EAAE,UAAU,EAC3B,MAAM,EAAE,qBAAqB;IAUzB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;CAyDjF"}
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DebouncerClient = exports.Debouncer = exports.debouncerWorkflowFunction = void 0;
4
+ const node_crypto_1 = require("node:crypto");
5
+ const _1 = require(".");
6
+ const dbos_executor_1 = require("./dbos-executor");
7
+ const decorators_1 = require("./decorators");
8
+ const error_1 = require("./error");
9
+ const utils_1 = require("./utils");
10
+ const _DEBOUNCER_TOPIC = 'DEBOUNCER_TOPIC';
11
+ const debouncerWorkflowFunction = async (initialDebouncePeriodMs, cfg, ...args) => {
12
+ let workflowInputs = args;
13
+ const debounceDeadlineEpochMs = cfg.debounceTimeoutMs ? Date.now() + cfg.debounceTimeoutMs : Number.MAX_VALUE;
14
+ let debouncePeriodMs = initialDebouncePeriodMs;
15
+ while (Date.now() < debounceDeadlineEpochMs) {
16
+ const timeUntilDeadline = Math.max(debounceDeadlineEpochMs - Date.now(), 0);
17
+ const timeoutMs = Math.min(debouncePeriodMs, timeUntilDeadline);
18
+ const message = await _1.DBOS.recv(_DEBOUNCER_TOPIC, timeoutMs / 1000);
19
+ if (message === null) {
20
+ break;
21
+ }
22
+ else {
23
+ workflowInputs = message['args'];
24
+ debouncePeriodMs = message['debouncePeriodMs'];
25
+ await _1.DBOS.setEvent(message.messageID, message.messageID);
26
+ }
27
+ }
28
+ const methReg = (0, decorators_1.getFunctionRegistrationByName)(cfg.workflowClassName, cfg.workflowName);
29
+ if (!methReg || !methReg.registeredFunction) {
30
+ throw Error(`Invalid workflow name provided to debouncer: ${cfg.workflowName}`);
31
+ }
32
+ const func = methReg?.registeredFunction;
33
+ await _1.DBOS.startWorkflow(func, cfg.startWorkflowParams)(...workflowInputs);
34
+ };
35
+ exports.debouncerWorkflowFunction = debouncerWorkflowFunction;
36
+ class Debouncer {
37
+ cfg;
38
+ constructor(params) {
39
+ const wInfo = (0, decorators_1.getFunctionRegistration)(params.workflow);
40
+ this.cfg = {
41
+ workflowName: wInfo?.name ?? params.workflow.name,
42
+ workflowClassName: (0, decorators_1.getRegisteredFunctionClassName)(params.workflow),
43
+ startWorkflowParams: params.startWorkflowParams,
44
+ debounceTimeoutMs: params.debounceTimeoutMs,
45
+ };
46
+ }
47
+ async debounce(debounceKey, debouncePeriodMs, ...args) {
48
+ if (debouncePeriodMs <= 0) {
49
+ throw Error(`debouncePeriodMs must be positive, not ${debouncePeriodMs}`);
50
+ }
51
+ const cfg = { ...this.cfg };
52
+ cfg.startWorkflowParams = this.cfg.startWorkflowParams ? { ...this.cfg.startWorkflowParams } : {};
53
+ cfg.startWorkflowParams.workflowID = cfg.startWorkflowParams.workflowID ?? (await _1.DBOS.randomUUID());
54
+ while (true) {
55
+ const deduplicationID = `${cfg.workflowClassName}.${cfg.workflowName}-${debounceKey}`;
56
+ try {
57
+ // Attempt to enqueue a debouncer for this workflow
58
+ await _1.DBOS.startWorkflow(dbos_executor_1.DBOSExecutor.debouncerWorkflow, {
59
+ queueName: utils_1.INTERNAL_QUEUE_NAME,
60
+ enqueueOptions: { deduplicationID },
61
+ })(debouncePeriodMs, cfg, ...args);
62
+ return _1.DBOS.retrieveWorkflow(cfg.startWorkflowParams.workflowID);
63
+ }
64
+ catch (e) {
65
+ // If there is already a debouncer, send a message to it.
66
+ if (e instanceof Error && (0, error_1.getDBOSErrorCode)(e) === error_1.QueueDedupIDDuplicated) {
67
+ const dedupWorkflowID = await _1.DBOS.runStep(async () => {
68
+ return await dbos_executor_1.DBOSExecutor.globalInstance?.systemDatabase.getDeduplicatedWorkflow(utils_1.INTERNAL_QUEUE_NAME, deduplicationID);
69
+ });
70
+ if (!dedupWorkflowID) {
71
+ continue;
72
+ }
73
+ else {
74
+ const messageID = await _1.DBOS.randomUUID();
75
+ const message = {
76
+ messageID,
77
+ args,
78
+ debouncePeriodMs,
79
+ };
80
+ await _1.DBOS.send(dedupWorkflowID, message, _DEBOUNCER_TOPIC);
81
+ // Wait for the debouncer to acknowledge receipt of the message.
82
+ // If the message is not acknowledged, this likely means the debouncer started its workflow
83
+ // and exited without processing this message, so try again.
84
+ const event = await _1.DBOS.getEvent(dedupWorkflowID, messageID, 1000);
85
+ if (!event) {
86
+ continue;
87
+ }
88
+ // Retrieve the user workflow ID from the input to the debouncer
89
+ // and return a handle to it.
90
+ const dedupWorkflowInput = await _1.DBOS.retrieveWorkflow(dedupWorkflowID).getWorkflowInputs();
91
+ const typedInput = dedupWorkflowInput;
92
+ const userWorkflowID = typedInput[1].startWorkflowParams.workflowID;
93
+ return _1.DBOS.retrieveWorkflow(userWorkflowID);
94
+ }
95
+ }
96
+ else {
97
+ throw e;
98
+ }
99
+ }
100
+ }
101
+ }
102
+ }
103
+ exports.Debouncer = Debouncer;
104
+ class DebouncerClient {
105
+ client;
106
+ cfg;
107
+ constructor(client, params) {
108
+ this.client = client;
109
+ this.cfg = {
110
+ workflowName: params.workflowName,
111
+ workflowClassName: params.workflowClassName || '',
112
+ startWorkflowParams: params.startWorkflowParams,
113
+ debounceTimeoutMs: params.debounceTimeoutMs,
114
+ };
115
+ }
116
+ async debounce(debounceKey, debouncePeriodMs, ...args) {
117
+ if (debouncePeriodMs <= 0) {
118
+ throw Error(`debouncePeriodMs must be positive, not ${debouncePeriodMs}`);
119
+ }
120
+ const cfg = { ...this.cfg };
121
+ cfg.startWorkflowParams = this.cfg.startWorkflowParams ? { ...this.cfg.startWorkflowParams } : {};
122
+ cfg.startWorkflowParams.workflowID = cfg.startWorkflowParams.workflowID ?? String((0, node_crypto_1.randomUUID)());
123
+ while (true) {
124
+ const deduplicationID = `${cfg.workflowClassName}.${cfg.workflowName}-${debounceKey}`;
125
+ try {
126
+ // Attempt to enqueue a debouncer for this workflow
127
+ await this.client.enqueue({ workflowName: utils_1.DEBOUNCER_WORKLOW_NAME, queueName: utils_1.INTERNAL_QUEUE_NAME, deduplicationID }, debouncePeriodMs, cfg, ...args);
128
+ return this.client.retrieveWorkflow(cfg.startWorkflowParams.workflowID);
129
+ }
130
+ catch (e) {
131
+ // If there is already a debouncer, send a message to it.
132
+ if (e instanceof Error && (0, error_1.getDBOSErrorCode)(e) === error_1.QueueDedupIDDuplicated) {
133
+ // Access the private client system database
134
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any
135
+ const dedupWorkflowID = (await this.client.systemDatabase.getDeduplicatedWorkflow(utils_1.INTERNAL_QUEUE_NAME, deduplicationID));
136
+ if (!dedupWorkflowID) {
137
+ continue;
138
+ }
139
+ else {
140
+ const messageID = String((0, node_crypto_1.randomUUID)());
141
+ const message = {
142
+ messageID,
143
+ args,
144
+ debouncePeriodMs,
145
+ };
146
+ await this.client.send(dedupWorkflowID, message, _DEBOUNCER_TOPIC);
147
+ // Wait for the debouncer to acknowledge receipt of the message.
148
+ // If the message is not acknowledged, this likely means the debouncer started its workflow
149
+ // and exited without processing this message, so try again.
150
+ const event = await this.client.getEvent(dedupWorkflowID, messageID, 1000);
151
+ if (!event) {
152
+ continue;
153
+ }
154
+ // Retrieve the user workflow ID from the input to the debouncer
155
+ // and return a handle to it.
156
+ const dedupWorkflowInput = await this.client.retrieveWorkflow(dedupWorkflowID).getWorkflowInputs();
157
+ const typedInput = dedupWorkflowInput;
158
+ const userWorkflowID = typedInput[1].startWorkflowParams.workflowID;
159
+ return this.client.retrieveWorkflow(userWorkflowID);
160
+ }
161
+ }
162
+ else {
163
+ throw e;
164
+ }
165
+ }
166
+ }
167
+ }
168
+ }
169
+ exports.DebouncerClient = DebouncerClient;
170
+ //# sourceMappingURL=debouncer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debouncer.js","sourceRoot":"","sources":["../../src/debouncer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export declare function getCallSiteInfo(): {
2
+ fileName: string;
3
+ lineNumber: number;
4
+ };
5
+ export interface DebugPoint {
6
+ name: string;
7
+ fileName: string;
8
+ lineNumber: number;
9
+ hitCount: number;
10
+ }
11
+ export declare class DebugAction {
12
+ sleepms?: number;
13
+ awaitEvent?: Promise<void>;
14
+ callback?: () => void;
15
+ asyncCallback?: () => Promise<void>;
16
+ }
17
+ export declare const pointTriggers: Map<string, DebugAction>;
18
+ export declare const pointLocations: Map<string, DebugPoint>;
19
+ export declare function debugTriggerPoint(name: string): Promise<void>;
20
+ export declare function setDebugTrigger(name: string, action: DebugAction): void;
21
+ export declare function clearDebugTriggers(): void;
22
+ export declare const DEBUG_TRIGGER_WORKFLOW_QUEUE_START = "DEBUG_TRIGGER_WORKFLOW_QUEUE_START";
23
+ export declare const DEBUG_TRIGGER_WORKFLOW_ENQUEUE = "DEBUG_TRIGGER_WORKFLOW_ENQUEUE";
24
+ export declare const DEBUG_TRIGGER_STEP_COMMIT = "DEBUG_TRIGGER_STEP_COMMIT";
25
+ export declare const DEBUG_TRIGGER_INITWF_COMMIT = "DEBUG_TRIGGER_INITWF_COMMIT";
26
+ //# sourceMappingURL=debugpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugpoint.d.ts","sourceRoot":"","sources":["../../src/debugpoint.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAgB1E;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAa,CAAC;AACjE,eAAO,MAAM,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAa,CAAC;AAEjE,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBnE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,QAEhE;AAED,wBAAgB,kBAAkB,SAEjC;AAED,eAAO,MAAM,kCAAkC,uCAAuC,CAAC;AACvF,eAAO,MAAM,8BAA8B,mCAAmC,CAAC;AAC/E,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AACrE,eAAO,MAAM,2BAA2B,gCAAgC,CAAC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEBUG_TRIGGER_INITWF_COMMIT = exports.DEBUG_TRIGGER_STEP_COMMIT = exports.DEBUG_TRIGGER_WORKFLOW_ENQUEUE = exports.DEBUG_TRIGGER_WORKFLOW_QUEUE_START = exports.clearDebugTriggers = exports.setDebugTrigger = exports.debugTriggerPoint = exports.pointLocations = exports.pointTriggers = exports.DebugAction = exports.getCallSiteInfo = void 0;
4
+ const utils_1 = require("./utils");
5
+ function getCallSiteInfo() {
6
+ const err = new Error();
7
+ const stack = err.stack?.split('\n');
8
+ if (stack && stack.length > 2) {
9
+ // The third line usually contains the callsite information.
10
+ // Different environments (Node, browser) format the stack trace differently.
11
+ // Adjust the regex to your environment as needed.
12
+ const match = stack[2].match(/at\s+(.*):(\d+):(\d+)/);
13
+ if (match) {
14
+ const fileName = match[1];
15
+ const lineNumber = parseInt(match[2], 10);
16
+ return { fileName, lineNumber };
17
+ }
18
+ }
19
+ return { fileName: 'unknown', lineNumber: -1 };
20
+ }
21
+ exports.getCallSiteInfo = getCallSiteInfo;
22
+ class DebugAction {
23
+ sleepms; // Sleep at point
24
+ awaitEvent; // Wait at point
25
+ callback;
26
+ asyncCallback;
27
+ }
28
+ exports.DebugAction = DebugAction;
29
+ exports.pointTriggers = new Map();
30
+ exports.pointLocations = new Map();
31
+ async function debugTriggerPoint(name) {
32
+ const cpi = getCallSiteInfo();
33
+ if (!exports.pointLocations.has(name)) {
34
+ exports.pointLocations.set(name, { name, ...cpi, hitCount: 0 });
35
+ }
36
+ if (exports.pointTriggers.has(name)) {
37
+ const pt = exports.pointTriggers.get(name);
38
+ if (pt.sleepms) {
39
+ await (0, utils_1.sleepms)(pt.sleepms);
40
+ }
41
+ if (pt.asyncCallback) {
42
+ await pt.asyncCallback();
43
+ }
44
+ if (pt.callback) {
45
+ pt.callback();
46
+ }
47
+ if (pt.awaitEvent) {
48
+ await pt.awaitEvent;
49
+ }
50
+ }
51
+ }
52
+ exports.debugTriggerPoint = debugTriggerPoint;
53
+ function setDebugTrigger(name, action) {
54
+ exports.pointTriggers.set(name, action);
55
+ }
56
+ exports.setDebugTrigger = setDebugTrigger;
57
+ function clearDebugTriggers() {
58
+ exports.pointTriggers.clear();
59
+ }
60
+ exports.clearDebugTriggers = clearDebugTriggers;
61
+ exports.DEBUG_TRIGGER_WORKFLOW_QUEUE_START = 'DEBUG_TRIGGER_WORKFLOW_QUEUE_START';
62
+ exports.DEBUG_TRIGGER_WORKFLOW_ENQUEUE = 'DEBUG_TRIGGER_WORKFLOW_ENQUEUE';
63
+ exports.DEBUG_TRIGGER_STEP_COMMIT = 'DEBUG_TRIGGER_STEP_COMMIT';
64
+ exports.DEBUG_TRIGGER_INITWF_COMMIT = 'DEBUG_TRIGGER_INITWF_COMMIT';
65
+ //# sourceMappingURL=debugpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugpoint.js","sourceRoot":"","sources":["../../src/debugpoint.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAElC,SAAgB,eAAe;IAC7B,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,4DAA4D;QAC5D,6EAA6E;QAC7E,kDAAkD;QAClD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC;AAhBD,0CAgBC;AASD,MAAa,WAAW;IACtB,OAAO,CAAU,CAAC,iBAAiB;IACnC,UAAU,CAAiB,CAAC,gBAAgB;IAC5C,QAAQ,CAAc;IACtB,aAAa,CAAuB;CACrC;AALD,kCAKC;AAEY,QAAA,aAAa,GAA6B,IAAI,GAAG,EAAE,CAAC;AACpD,QAAA,cAAc,GAA4B,IAAI,GAAG,EAAE,CAAC;AAE1D,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAClD,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;IAC9B,IAAI,CAAC,sBAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,sBAAc,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,qBAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,qBAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QACpC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,IAAA,eAAO,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;YACrB,MAAM,EAAE,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YAChB,EAAE,CAAC,QAAQ,EAAE,CAAC;QAChB,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,EAAE,CAAC,UAAU,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC;AArBD,8CAqBC;AAED,SAAgB,eAAe,CAAC,IAAY,EAAE,MAAmB;IAC/D,qBAAa,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC;AAFD,0CAEC;AAED,SAAgB,kBAAkB;IAChC,qBAAa,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC;AAFD,gDAEC;AAEY,QAAA,kCAAkC,GAAG,oCAAoC,CAAC;AAC1E,QAAA,8BAA8B,GAAG,gCAAgC,CAAC;AAClE,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AACxD,QAAA,2BAA2B,GAAG,6BAA6B,CAAC"}
@@ -0,0 +1,219 @@
1
+ import { WorkflowConfig } from './workflow';
2
+ import { StepConfig } from './step';
3
+ export type TypedAsyncFunction<T extends unknown[], R> = (...args: T) => Promise<R>;
4
+ export type UntypedAsyncFunction = TypedAsyncFunction<unknown[], unknown>;
5
+ /**
6
+ * Interface for naming SolidActions-registered functions.
7
+ * These names are used for log and database entries.
8
+ * They are used for lookup in some cases (like workflow recovery)
9
+ */
10
+ export interface FunctionName {
11
+ /** Function name; if not provided, this will be taken from the function's `name` */
12
+ name?: string;
13
+ /** Class name; if not provided, the class constructor or prototype's `name` will be used, or blank otherwise */
14
+ className?: string;
15
+ /**
16
+ * For member functions, class constructor (for `static` methods) or prototype (for instance methods)
17
+ * This will be used to get the class name if `className` is not provided.
18
+ */
19
+ ctorOrProto?: object;
20
+ }
21
+ /**
22
+ * Interface for integrating into the SolidActions startup/shutdown lifecycle
23
+ */
24
+ export interface SolidActionsLifecycleCallback {
25
+ /** Called back during SolidActions.launch */
26
+ initialize?(): Promise<void>;
27
+ /** Called back upon shutdown (usually in tests) to close connections and free resources */
28
+ destroy?(): Promise<void>;
29
+ /** Called at launch; Implementers should emit a diagnostic list of all registrations */
30
+ logRegisteredEndpoints?(): void;
31
+ }
32
+ export interface SolidActionsMethodMiddlewareInstaller {
33
+ installMiddleware(methodReg: MethodRegistrationBase): void;
34
+ }
35
+ /**
36
+ * Any column type column can be.
37
+ */
38
+ export type SolidActionsFieldType = 'integer' | 'double' | 'decimal' | 'timestamp' | 'text' | 'varchar' | 'boolean' | 'uuid' | 'json';
39
+ export declare class SolidActionsDataType {
40
+ dataType: SolidActionsFieldType;
41
+ length: number;
42
+ precision: number;
43
+ scale: number;
44
+ /** Varchar has length */
45
+ static varchar(length: number): SolidActionsDataType;
46
+ /** Some decimal has precision / scale (as opposed to floating point decimal) */
47
+ static decimal(precision: number, scale: number): SolidActionsDataType;
48
+ /** Take type from reflect metadata */
49
+ static fromArg(arg?: Function): SolidActionsDataType | undefined;
50
+ formatAsString(): string;
51
+ }
52
+ export interface ArgDataType {
53
+ dataType?: SolidActionsDataType;
54
+ }
55
+ export declare class MethodParameter {
56
+ name: string;
57
+ index: number;
58
+ externalRegInfo: Map<AnyConstructor | object | string, object>;
59
+ getRegisteredInfo(reg: AnyConstructor | object | string): object;
60
+ get dataType(): SolidActionsDataType | undefined;
61
+ initializeBaseType(at?: Function): void;
62
+ constructor(idx: number, at?: Function);
63
+ }
64
+ export declare const SOLIDACTIONS_AUTH = "auth";
65
+ export interface ClassAuthDefaults {
66
+ requiredRole?: string[] | undefined;
67
+ }
68
+ export interface MethodAuth {
69
+ requiredRole?: string[] | undefined;
70
+ }
71
+ export interface RegistrationDefaults {
72
+ name: string;
73
+ getRegisteredInfo(reg: AnyConstructor | object | string): unknown;
74
+ externalRegInfo: Map<AnyConstructor | object | string, unknown>;
75
+ }
76
+ export interface MethodRegistrationBase {
77
+ name: string;
78
+ className: string;
79
+ args: MethodParameter[];
80
+ defaults?: RegistrationDefaults;
81
+ getRequiredRoles(): string[];
82
+ workflowConfig?: WorkflowConfig;
83
+ stepConfig?: StepConfig;
84
+ isInstance: boolean;
85
+ externalRegInfo: Map<AnyConstructor | object | string, unknown>;
86
+ wrappedFunction: Function | undefined;
87
+ registeredFunction: Function | undefined;
88
+ origFunction: Function;
89
+ addEntryInterceptor(func: (reg: MethodRegistrationBase, args: unknown[]) => unknown[], seqNum?: number): void;
90
+ getRegisteredInfo(reg: AnyConstructor | object | string): unknown;
91
+ invoke(pthis: unknown, args: unknown[]): unknown;
92
+ }
93
+ export declare class MethodRegistration<This, Args extends unknown[], Return> implements MethodRegistrationBase {
94
+ defaults?: RegistrationDefaults | undefined;
95
+ name: string;
96
+ className: string;
97
+ classReg: ClassRegistration;
98
+ onEnter: {
99
+ seqNum: number;
100
+ func: (reg: MethodRegistrationBase, args: unknown[]) => unknown[];
101
+ }[];
102
+ addEntryInterceptor(func: (reg: MethodRegistrationBase, args: unknown[]) => unknown[], seqNum?: number): void;
103
+ args: MethodParameter[];
104
+ constructor(classReg: ClassRegistration, origFunc: (this: This, ...args: Args) => Promise<Return>, isInstance: boolean);
105
+ needInitialized: boolean;
106
+ isInstance: boolean;
107
+ origFunction: (this: This, ...args: Args) => Promise<Return>;
108
+ registeredFunction: ((this: This, ...args: Args) => Promise<Return>) | undefined;
109
+ wrappedFunction: ((this: This, ...args: Args) => Promise<Return>) | undefined;
110
+ workflowConfig?: WorkflowConfig;
111
+ stepConfig?: StepConfig;
112
+ regLocation?: string[];
113
+ externalRegInfo: Map<AnyConstructor | object | string, unknown>;
114
+ getRegisteredInfo(reg: AnyConstructor | object | string): {};
115
+ getAssignedType(): 'Workflow' | 'Step' | undefined;
116
+ getClassName(): string;
117
+ checkFuncTypeUnassigned(newType: string): void;
118
+ setStepConfig(stepCfg: StepConfig): void;
119
+ setWorkflowConfig(wfCfg: WorkflowConfig): void;
120
+ init: boolean;
121
+ invoke(pthis: This, args: Args): Promise<Return>;
122
+ getRequiredRoles(): string[];
123
+ }
124
+ export declare abstract class ConfiguredInstance {
125
+ readonly name: string;
126
+ constructor(name: string);
127
+ /**
128
+ * Override this method to perform async initialization between construction and `SolidActions.launch()`.
129
+ */
130
+ initialize(): Promise<void>;
131
+ }
132
+ export declare class ClassRegistration implements RegistrationDefaults {
133
+ name: string;
134
+ needsInitialized: boolean;
135
+ ormEntities: Function[] | {
136
+ [key: string]: object;
137
+ };
138
+ registeredOperationsByName: Map<string, MethodRegistrationBase>;
139
+ allRegisteredOperations: Map<unknown, MethodRegistrationBase>;
140
+ configuredInstances: Map<string, ConfiguredInstance>;
141
+ configuredInstanceRegLocs: Map<string, string[]>;
142
+ externalRegInfo: Map<AnyConstructor | object | string, unknown>;
143
+ ctor: AnyConstructor | undefined;
144
+ constructor(ctor: AnyConstructor | undefined);
145
+ getClassName(): string;
146
+ registerOperationByName(name: string, reg: MethodRegistrationBase): void;
147
+ getRegisteredInfo(reg: AnyConstructor | object | string): {};
148
+ }
149
+ export declare function recordSolidActionsLaunch(): void;
150
+ export declare function recordSolidActionsShutdown(): void;
151
+ export declare function ensureSolidActionsIsNotLaunched(): void;
152
+ export declare function ensureSolidActionsIsLaunched(reason: string): void;
153
+ export declare function registerLifecycleCallback(lcl: SolidActionsLifecycleCallback): void;
154
+ export declare function getLifecycleListeners(): readonly SolidActionsLifecycleCallback[];
155
+ export declare function registerMiddlewareInstaller(i: SolidActionsMethodMiddlewareInstaller): void;
156
+ export declare function insertAllMiddleware(): void;
157
+ export declare function getRegisteredFunctionFullName(func: unknown): {
158
+ className: string;
159
+ name: string;
160
+ };
161
+ export declare function getRegisteredFunctionQualifiedName(func: unknown): string;
162
+ export declare function getRegisteredFunctionClassName(func: unknown): string;
163
+ export declare function getRegisteredFunctionName(func: unknown): string;
164
+ export declare function registerFunctionWrapper<This, Args extends unknown[], Return>(func: (this: This, ...args: Args) => Promise<Return>, reg: MethodRegistration<This, Args, Return>): void;
165
+ export declare function getFunctionRegistration(func: unknown): MethodRegistration<unknown, unknown[], unknown> | undefined;
166
+ export declare function getFunctionRegistrationByName(className: string, name: string): MethodRegistrationBase | undefined;
167
+ export declare function getRegisteredOperations(target: object): ReadonlyArray<MethodRegistrationBase>;
168
+ export declare function getOrCreateMethodArgsRegistration(target: object | undefined, funcName: PropertyKey, origFunc?: (...args: unknown[]) => unknown): MethodParameter[];
169
+ export declare function wrapSolidActionsFunctionAndRegisterByTarget<This, Args extends unknown[], Return>(target: object, propertyKey: PropertyKey, name: string | undefined, descriptor: TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>): {
170
+ descriptor: TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>;
171
+ registration: MethodRegistration<This, Args, Return>;
172
+ };
173
+ export declare function wrapSolidActionsFunctionAndRegisterByUniqueName<This, Args extends unknown[], Return>(ctorOrProto: object | undefined, className: string | undefined, propertyKey: PropertyKey, name: string | undefined, func: (this: This, ...args: Args) => Promise<Return>): MethodRegistration<This, Args, Return>;
174
+ export declare function wrapSolidActionsFunctionAndRegisterDec<This, Args extends unknown[], Return>(target: object, propertyKey: PropertyKey, name: string | undefined, descriptor: TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>): {
175
+ descriptor: TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>;
176
+ registration: MethodRegistration<This, Args, Return>;
177
+ };
178
+ export declare function wrapSolidActionsFunctionAndRegister<This, Args extends unknown[], Return>(ctorOrProto: object | undefined, className: string | undefined, propertyKey: PropertyKey, name: string | undefined, func: (this: This, ...args: Args) => Promise<Return>): MethodRegistration<This, Args, Return>;
179
+ type AnyConstructor = new (...args: unknown[]) => object;
180
+ export declare function getNameForClass(ctor: object): string;
181
+ export declare function getClassRegistration(target: object, create: boolean): {
182
+ regTarget: AnyConstructor;
183
+ reg: {
184
+ name: string;
185
+ reg: ClassRegistration;
186
+ regloc: string[];
187
+ };
188
+ } | {
189
+ regTarget: AnyConstructor;
190
+ reg?: undefined;
191
+ };
192
+ export declare function getAllRegisteredClassNames(): string[];
193
+ export declare function getAllRegisteredFunctions(): MethodRegistrationBase[];
194
+ export declare function getClassRegistrationByName(name: string, create?: boolean): ClassRegistration;
195
+ export declare function getOrCreateClassRegistrationByTarget<CT extends {
196
+ new (...args: unknown[]): object;
197
+ }>(ctor: CT): ClassRegistration;
198
+ export declare function getConfiguredInstance(clsname: string, cfgname: string): ConfiguredInstance | null;
199
+ export declare function finalizeClassRegistrations(): void;
200
+ export declare function associateClassWithExternal(external: AnyConstructor | object | string, cls: AnyConstructor | string): object;
201
+ export declare function associateMethodWithExternal<This, Args extends unknown[], Return>(external: AnyConstructor | object | string, target: object | undefined, className: string | undefined, funcName: string, func: (this: This, ...args: Args) => Promise<Return>): {
202
+ registration: MethodRegistration<This, Args, Return>;
203
+ regInfo: object;
204
+ };
205
+ export declare function associateParameterWithExternal<This, Args extends unknown[], Return>(external: AnyConstructor | object | string, target: object | undefined, className: string | undefined, funcName: string, func: ((this: This, ...args: Args) => Promise<Return>) | undefined, paramId: number | string): object | undefined;
206
+ export interface ExternalRegistration {
207
+ classConfig?: unknown;
208
+ methodConfig?: unknown;
209
+ paramConfig: {
210
+ name: string;
211
+ index: number;
212
+ paramConfig?: object;
213
+ }[];
214
+ methodReg: MethodRegistrationBase;
215
+ }
216
+ export declare function getRegistrationsForExternal(external: AnyConstructor | object | string, cls?: object | string, funcName?: string): readonly ExternalRegistration[];
217
+ export declare function ArgName(name: string): (target: object, propertyKey: PropertyKey, parameterIndex: number) => void;
218
+ export {};
219
+ //# sourceMappingURL=decorators.d.ts.map