@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,429 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpSystemDatabase = void 0;
4
+ const system_database_1 = require("./system_database");
5
+ const http_client_1 = require("./http_client");
6
+ const workflow_1 = require("./workflow");
7
+ const utils_1 = require("./utils");
8
+ const error_1 = require("./error");
9
+ /**
10
+ * HTTP-based implementation of SystemDatabase.
11
+ *
12
+ * This class replaces PostgresSystemDatabase and communicates with
13
+ * the Laravel backend via HTTP API calls instead of direct database access.
14
+ */
15
+ class HttpSystemDatabase {
16
+ client;
17
+ executorID;
18
+ appVersion;
19
+ logger;
20
+ serializer;
21
+ // In-memory tracking of running workflows (same as PostgresSystemDatabase)
22
+ runningWorkflows = new Map();
23
+ workflowCancellationMap = new Map();
24
+ // Polling intervals for operations that need to wait
25
+ pollIntervalMs = 1000;
26
+ eventPollIntervalMs = 1000;
27
+ constructor(config, executorID, appVersion, logger, serializer) {
28
+ this.client = new http_client_1.HttpClient({
29
+ baseUrl: config.apiUrl,
30
+ apiKey: config.apiKey,
31
+ timeout: config.timeout,
32
+ maxRetries: config.maxRetries,
33
+ }, logger);
34
+ this.executorID = executorID;
35
+ this.appVersion = appVersion;
36
+ this.logger = logger;
37
+ this.serializer = serializer;
38
+ }
39
+ getSerializer() {
40
+ return this.serializer;
41
+ }
42
+ // ==========================================
43
+ // Lifecycle Methods
44
+ // ==========================================
45
+ async init(_debugMode) {
46
+ // HTTP version: Just verify connectivity by calling health endpoint
47
+ // Note: Migrations are Laravel's responsibility
48
+ try {
49
+ await this.client.get('/health');
50
+ this.logger.info('Connected to SolidActions HTTP API');
51
+ }
52
+ catch (error) {
53
+ this.logger.error(`Failed to connect to SolidActions HTTP API: ${error instanceof Error ? error.message : String(error)}`);
54
+ throw error;
55
+ }
56
+ }
57
+ async destroy() {
58
+ // HTTP version: No persistent connections to close
59
+ // Just await running workflows
60
+ await this.awaitRunningWorkflows();
61
+ }
62
+ // ==========================================
63
+ // Workflow Status Methods
64
+ // ==========================================
65
+ async initWorkflowStatus(initStatus, ownerXid, options) {
66
+ const response = await this.client.post('/runs/status', {
67
+ ...initStatus,
68
+ ownerXid,
69
+ options,
70
+ });
71
+ return response;
72
+ }
73
+ async recordWorkflowOutput(workflowID, status) {
74
+ await this.client.put(`/runs/status/${encodeURIComponent(workflowID)}/output`, {
75
+ output: status.output,
76
+ status: status.status,
77
+ });
78
+ }
79
+ async recordWorkflowError(workflowID, status) {
80
+ await this.client.put(`/runs/status/${encodeURIComponent(workflowID)}/error`, {
81
+ error: status.error,
82
+ status: status.status,
83
+ });
84
+ }
85
+ async getWorkflowStatus(workflowID, callerID, callerFN) {
86
+ try {
87
+ const params = new URLSearchParams();
88
+ if (callerID)
89
+ params.set('callerID', callerID);
90
+ if (callerFN !== undefined)
91
+ params.set('callerFN', callerFN.toString());
92
+ const queryString = params.toString();
93
+ const path = `/runs/status/${encodeURIComponent(workflowID)}${queryString ? `?${queryString}` : ''}`;
94
+ const response = await this.client.get(path);
95
+ return response;
96
+ }
97
+ catch (error) {
98
+ if (error instanceof error_1.SolidActionsNonExistentWorkflowError) {
99
+ return null;
100
+ }
101
+ throw error;
102
+ }
103
+ }
104
+ async getPendingWorkflows(executorID, appVersion) {
105
+ const response = await this.client.get(`/runs/status/pending?executorId=${encodeURIComponent(executorID)}&appVersion=${encodeURIComponent(appVersion)}`);
106
+ return response;
107
+ }
108
+ async listWorkflows(input) {
109
+ const params = new URLSearchParams();
110
+ if (input.workflowName)
111
+ params.set('workflowName', input.workflowName);
112
+ if (input.authenticatedUser)
113
+ params.set('authenticatedUser', input.authenticatedUser);
114
+ if (input.startTime)
115
+ params.set('startTime', input.startTime);
116
+ if (input.endTime)
117
+ params.set('endTime', input.endTime);
118
+ if (input.status)
119
+ params.set('status', input.status);
120
+ if (input.applicationVersion)
121
+ params.set('applicationVersion', input.applicationVersion);
122
+ if (input.limit !== undefined)
123
+ params.set('limit', input.limit.toString());
124
+ if (input.offset !== undefined)
125
+ params.set('offset', input.offset.toString());
126
+ if (input.workflow_id_prefix)
127
+ params.set('workflowIdPrefix', input.workflow_id_prefix);
128
+ if (input.sortDesc !== undefined)
129
+ params.set('sortDesc', input.sortDesc.toString());
130
+ const queryString = params.toString();
131
+ const response = await this.client.get(`/runs/status${queryString ? `?${queryString}` : ''}`);
132
+ return response;
133
+ }
134
+ // ==========================================
135
+ // Operation Result Methods
136
+ // ==========================================
137
+ async getOperationResultAndThrowIfCancelled(workflowID, functionID) {
138
+ try {
139
+ const response = await this.client.get(`/runs/status/${encodeURIComponent(workflowID)}/operations/${functionID}`);
140
+ if (response === null) {
141
+ return undefined;
142
+ }
143
+ // Check if cancelled
144
+ if (response.cancelled) {
145
+ throw new error_1.SolidActionsWorkflowCancelledError(workflowID);
146
+ }
147
+ return response;
148
+ }
149
+ catch (error) {
150
+ if (error instanceof error_1.SolidActionsNonExistentWorkflowError) {
151
+ return undefined;
152
+ }
153
+ throw error;
154
+ }
155
+ }
156
+ async getAllOperationResults(workflowID) {
157
+ const response = await this.client.get(`/runs/status/${encodeURIComponent(workflowID)}/operations`);
158
+ return response;
159
+ }
160
+ async recordOperationResult(workflowID, functionID, functionName, checkConflict, startTimeEpochMs, options) {
161
+ await this.client.post(`/runs/status/${encodeURIComponent(workflowID)}/operations`, {
162
+ functionID,
163
+ functionName,
164
+ checkConflict,
165
+ startTimeEpochMs,
166
+ endTimeEpochMs: Date.now(),
167
+ ...options,
168
+ });
169
+ }
170
+ // ==========================================
171
+ // Workflow Result Awaiting (Polling-based)
172
+ // ==========================================
173
+ async awaitWorkflowResult(workflowID, timeoutSeconds, callerID, timerFuncID) {
174
+ const deadline = timeoutSeconds ? Date.now() + timeoutSeconds * 1000 : undefined;
175
+ while (!deadline || Date.now() < deadline) {
176
+ try {
177
+ const params = new URLSearchParams();
178
+ if (callerID)
179
+ params.set('callerID', callerID);
180
+ if (timerFuncID !== undefined)
181
+ params.set('timerFuncID', timerFuncID.toString());
182
+ const queryString = params.toString();
183
+ const result = await this.client.get(`/runs/status/${encodeURIComponent(workflowID)}/result${queryString ? `?${queryString}` : ''}`);
184
+ if (result !== null) {
185
+ // Check if workflow is no longer pending
186
+ const status = await this.getWorkflowStatus(workflowID);
187
+ if (status && status.status !== workflow_1.StatusString.PENDING) {
188
+ return result;
189
+ }
190
+ }
191
+ }
192
+ catch (error) {
193
+ // If workflow not found, return undefined
194
+ if (error instanceof error_1.SolidActionsNonExistentWorkflowError) {
195
+ return undefined;
196
+ }
197
+ throw error;
198
+ }
199
+ await (0, utils_1.sleepms)(this.pollIntervalMs);
200
+ }
201
+ // Timeout reached
202
+ return undefined;
203
+ }
204
+ // ==========================================
205
+ // Workflow Control Methods
206
+ // ==========================================
207
+ async setWorkflowStatus(workflowID, status, resetRecoveryAttempts) {
208
+ await this.client.put(`/runs/status/${encodeURIComponent(workflowID)}/status`, {
209
+ status,
210
+ resetRecoveryAttempts,
211
+ });
212
+ }
213
+ async cancelWorkflow(workflowID) {
214
+ await this.client.post(`/runs/status/${encodeURIComponent(workflowID)}/cancel`, {});
215
+ // Update local cancellation map
216
+ this.workflowCancellationMap.set(workflowID, true);
217
+ }
218
+ async resumeWorkflow(workflowID) {
219
+ await this.client.post(`/runs/status/${encodeURIComponent(workflowID)}/resume`, {});
220
+ // Clear local cancellation status
221
+ this.workflowCancellationMap.delete(workflowID);
222
+ }
223
+ async forkWorkflow(workflowID, startStep, options) {
224
+ const response = await this.client.post(`/runs/status/${encodeURIComponent(workflowID)}/fork`, {
225
+ startStep,
226
+ ...options,
227
+ });
228
+ return response.newWorkflowID;
229
+ }
230
+ async checkIfCanceled(workflowID) {
231
+ // Check local cache first
232
+ if (this.workflowCancellationMap.get(workflowID)) {
233
+ throw new error_1.SolidActionsWorkflowCancelledError(workflowID);
234
+ }
235
+ // Check with server
236
+ const response = await this.client.get(`/runs/status/${encodeURIComponent(workflowID)}/cancelled`);
237
+ if (response.cancelled) {
238
+ this.workflowCancellationMap.set(workflowID, true);
239
+ throw new error_1.SolidActionsWorkflowCancelledError(workflowID);
240
+ }
241
+ }
242
+ // ==========================================
243
+ // Running Workflow Tracking (In-Memory)
244
+ // ==========================================
245
+ registerRunningWorkflow(workflowID, workflowPromise) {
246
+ this.runningWorkflows.set(workflowID, workflowPromise);
247
+ void workflowPromise.finally(() => {
248
+ this.runningWorkflows.delete(workflowID);
249
+ this.workflowCancellationMap.delete(workflowID);
250
+ });
251
+ }
252
+ checkForRunningWorkflow(workflowID) {
253
+ return this.runningWorkflows.has(workflowID);
254
+ }
255
+ async awaitRunningWorkflows() {
256
+ await Promise.allSettled(this.runningWorkflows.values());
257
+ }
258
+ // ==========================================
259
+ // Messaging Methods (send/recv/sleep)
260
+ // ==========================================
261
+ async send(workflowID, functionID, destinationID, message, topic) {
262
+ await this.client.post(`/runs/status/${encodeURIComponent(destinationID)}/messages`, {
263
+ senderWorkflowID: workflowID,
264
+ functionID,
265
+ message,
266
+ topic,
267
+ });
268
+ }
269
+ async recv(workflowID, functionID, timeoutFunctionID, topic, timeoutSeconds) {
270
+ // Check if cancelled first
271
+ await this.checkIfCanceled(workflowID);
272
+ // Check for existing result or message
273
+ // The server handles this in one call - it checks:
274
+ // 1. If operation output exists (we already received or timed out) -> returns it
275
+ // 2. If notification exists -> consumes it, creates operation output, returns it
276
+ // 3. Otherwise -> returns found: false
277
+ const params = new URLSearchParams();
278
+ if (topic)
279
+ params.set('topic', topic);
280
+ params.set('functionID', functionID.toString());
281
+ params.set('timeoutFunctionID', timeoutFunctionID.toString());
282
+ const queryString = params.toString();
283
+ const response = await this.client.get(`/runs/status/${encodeURIComponent(workflowID)}/messages?${queryString}`);
284
+ if (response.found) {
285
+ // Either: a message was received, or we previously timed out (null stored as result)
286
+ return response.message;
287
+ }
288
+ // No message and no previous result - register as waiting and exit container
289
+ // Server will:
290
+ // 1. Record operation output with null (marks that we started waiting)
291
+ // 2. Set workflow_run.status to 'waiting'
292
+ // 3. Optionally schedule timeout action
293
+ console.log(`[SolidActions] No message found for recv - registering as waiting and exiting`);
294
+ await this.client.post(`/runs/status/${encodeURIComponent(workflowID)}/wait`, {
295
+ functionID,
296
+ topic,
297
+ timeoutSeconds,
298
+ });
299
+ // Exit the process - scheduler will wake us up when signal arrives or on timeout
300
+ console.log(`[SolidActions] Durable recv - exiting container. Will resume when signal arrives.`);
301
+ process.exit(0);
302
+ }
303
+ async durableSleepms(workflowID, functionID, duration) {
304
+ // Check if this sleep was already recorded (resume case)
305
+ const existingOp = await this.getOperationResultAndThrowIfCancelled(workflowID, functionID);
306
+ if (existingOp) {
307
+ // Sleep was already recorded - check if we should still wait
308
+ const wakeupTime = existingOp.output ? JSON.parse(existingOp.output).wakeupTime : 0;
309
+ const remainingMs = wakeupTime - Date.now();
310
+ if (remainingMs <= 0) {
311
+ // Wakeup time passed, continue without waiting
312
+ console.log(`[SolidActions] Sleep already recorded and wakeup time passed - continuing`);
313
+ return;
314
+ }
315
+ // Still need to wait - this shouldn't happen if scheduler is working correctly
316
+ console.log(`[SolidActions] Sleep recorded but wakeup time not yet reached - exiting for scheduler`);
317
+ }
318
+ else {
319
+ // Operation not found - this is a new sleep, record it
320
+ console.log(`[SolidActions] Recording durable sleep for ${duration}ms`);
321
+ await this.client.post(`/runs/status/${encodeURIComponent(workflowID)}/sleep`, {
322
+ functionID,
323
+ duration,
324
+ wakeupTime: Date.now() + duration,
325
+ });
326
+ }
327
+ // Exit the process - scheduler will wake us up
328
+ // Server has already set workflow_run.status to 'sleeping'
329
+ console.log(`[SolidActions] Durable sleep - exiting container. Scheduler will resume.`);
330
+ process.exit(0);
331
+ }
332
+ // ==========================================
333
+ // Event Methods
334
+ // ==========================================
335
+ async setEvent(workflowID, functionID, key, value) {
336
+ await this.client.put(`/runs/status/${encodeURIComponent(workflowID)}/events/${encodeURIComponent(key)}`, {
337
+ functionID,
338
+ value,
339
+ });
340
+ }
341
+ async getEvent(workflowID, key, timeoutSeconds, callerWorkflow) {
342
+ const deadline = Date.now() + timeoutSeconds * 1000;
343
+ while (Date.now() < deadline) {
344
+ const params = new URLSearchParams();
345
+ if (callerWorkflow) {
346
+ params.set('callerWorkflowID', callerWorkflow.workflowID);
347
+ params.set('callerFunctionID', callerWorkflow.functionID.toString());
348
+ params.set('callerTimeoutFunctionID', callerWorkflow.timeoutFunctionID.toString());
349
+ }
350
+ const queryString = params.toString();
351
+ const response = await this.client.get(`/runs/status/${encodeURIComponent(workflowID)}/events/${encodeURIComponent(key)}${queryString ? `?${queryString}` : ''}`);
352
+ if (response.found) {
353
+ return response.value;
354
+ }
355
+ await (0, utils_1.sleepms)(this.eventPollIntervalMs);
356
+ }
357
+ // Timeout reached
358
+ return null;
359
+ }
360
+ // ==========================================
361
+ // Event Dispatch State Methods
362
+ // ==========================================
363
+ async getEventDispatchState(service, workflowFnName, key) {
364
+ try {
365
+ const response = await this.client.get(`/event-dispatch/${encodeURIComponent(service)}/${encodeURIComponent(workflowFnName)}/${encodeURIComponent(key)}`);
366
+ return response ?? undefined;
367
+ }
368
+ catch (error) {
369
+ if (error instanceof error_1.SolidActionsNonExistentWorkflowError) {
370
+ return undefined;
371
+ }
372
+ throw error;
373
+ }
374
+ }
375
+ async upsertEventDispatchState(state) {
376
+ const response = await this.client.put('/event-dispatch', state);
377
+ return response;
378
+ }
379
+ // ==========================================
380
+ // Streaming Methods
381
+ // ==========================================
382
+ async writeStreamFromWorkflow(workflowID, functionID, key, value) {
383
+ await this.client.post(`/runs/status/${encodeURIComponent(workflowID)}/streams/${encodeURIComponent(key)}`, {
384
+ fromWorkflow: true,
385
+ functionID,
386
+ value,
387
+ });
388
+ }
389
+ async writeStreamFromStep(workflowID, key, value) {
390
+ await this.client.post(`/runs/status/${encodeURIComponent(workflowID)}/streams/${encodeURIComponent(key)}`, {
391
+ fromWorkflow: false,
392
+ value,
393
+ });
394
+ }
395
+ async closeStream(workflowID, functionID, key) {
396
+ await this.client.post(`/runs/status/${encodeURIComponent(workflowID)}/streams/${encodeURIComponent(key)}/close`, {
397
+ functionID,
398
+ });
399
+ }
400
+ async readStream(workflowID, key, offset) {
401
+ const response = await this.client.get(`/runs/status/${encodeURIComponent(workflowID)}/streams/${encodeURIComponent(key)}/${offset}`);
402
+ if (response.closed) {
403
+ return system_database_1.SOLIDACTIONS_STREAM_CLOSED_SENTINEL;
404
+ }
405
+ return response.value;
406
+ }
407
+ // ==========================================
408
+ // Admin Methods
409
+ // ==========================================
410
+ async garbageCollect(cutoffEpochTimestampMs, rowsThreshold) {
411
+ await this.client.post('/admin/garbage-collect', {
412
+ cutoffEpochTimestampMs,
413
+ rowsThreshold,
414
+ });
415
+ }
416
+ async getMetrics(startTime, endTime) {
417
+ const response = await this.client.get(`/admin/metrics?startTime=${encodeURIComponent(startTime)}&endTime=${encodeURIComponent(endTime)}`);
418
+ return response;
419
+ }
420
+ async checkPatch(workflowID, functionID, patchName, deprecated) {
421
+ const params = new URLSearchParams();
422
+ params.set('patchName', patchName);
423
+ params.set('deprecated', deprecated.toString());
424
+ const response = await this.client.get(`/runs/status/${encodeURIComponent(workflowID)}/patch/${functionID}?${params.toString()}`);
425
+ return response;
426
+ }
427
+ }
428
+ exports.HttpSystemDatabase = HttpSystemDatabase;
429
+ //# sourceMappingURL=http_system_database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http_system_database.js","sourceRoot":"","sources":["../../src/http_system_database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export { SolidActions } from './solidactions';
2
+ export { SolidActionsClient } from './client';
3
+ export { ArgDataType, SolidActionsDataType, SolidActionsLifecycleCallback, SolidActionsMethodMiddlewareInstaller, ExternalRegistration, MethodRegistrationBase, ArgName, } from './decorators';
4
+ export * as Error from './error';
5
+ export { SolidActionsWorkflowConflictError } from './error';
6
+ export { WorkflowConfig, WorkflowHandle, StatusString, GetWorkflowsInput, WorkflowStatus } from './workflow';
7
+ export { SerializationRecipe, SolidActionsSerializer } from './serialization';
8
+ export { StepConfig } from './step';
9
+ export { FunctionName, ConfiguredInstance, MethodParameter } from './decorators';
10
+ export { SolidActionsConfig, SolidActionsConfigInternal, SolidActionsRuntimeConfig, SolidActionsExecutor, SolidActionsExternalState, } from './solidactions-executor';
11
+ export { SolidActionsHttpConfig, getHttpConfig, SolidStepsConfig, readSolidStepsConfig } from './config';
12
+ export { HttpSystemDatabase, SystemDatabase } from './system_database';
13
+ export { HttpClient, HttpClientConfig } from './http_client';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,6BAA6B,EAC7B,qCAAqC,EACrC,oBAAoB,EACpB,sBAAsB,EACtB,OAAO,GACR,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7G,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGjF,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEzG,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.HttpClient = exports.HttpSystemDatabase = exports.readSolidStepsConfig = exports.getHttpConfig = exports.SolidActionsExecutor = exports.MethodParameter = exports.ConfiguredInstance = exports.StatusString = exports.SolidActionsWorkflowConflictError = exports.Error = exports.ArgName = exports.SolidActionsDataType = exports.SolidActionsClient = exports.SolidActions = void 0;
27
+ // Main exports - SolidActions SDK
28
+ var solidactions_1 = require("./solidactions");
29
+ Object.defineProperty(exports, "SolidActions", { enumerable: true, get: function () { return solidactions_1.SolidActions; } });
30
+ var client_1 = require("./client");
31
+ Object.defineProperty(exports, "SolidActionsClient", { enumerable: true, get: function () { return client_1.SolidActionsClient; } });
32
+ var decorators_1 = require("./decorators");
33
+ Object.defineProperty(exports, "SolidActionsDataType", { enumerable: true, get: function () { return decorators_1.SolidActionsDataType; } });
34
+ Object.defineProperty(exports, "ArgName", { enumerable: true, get: function () { return decorators_1.ArgName; } });
35
+ exports.Error = __importStar(require("./error"));
36
+ var error_1 = require("./error");
37
+ Object.defineProperty(exports, "SolidActionsWorkflowConflictError", { enumerable: true, get: function () { return error_1.SolidActionsWorkflowConflictError; } });
38
+ var workflow_1 = require("./workflow");
39
+ Object.defineProperty(exports, "StatusString", { enumerable: true, get: function () { return workflow_1.StatusString; } });
40
+ var decorators_2 = require("./decorators");
41
+ Object.defineProperty(exports, "ConfiguredInstance", { enumerable: true, get: function () { return decorators_2.ConfiguredInstance; } });
42
+ Object.defineProperty(exports, "MethodParameter", { enumerable: true, get: function () { return decorators_2.MethodParameter; } });
43
+ // Config exports
44
+ var solidactions_executor_1 = require("./solidactions-executor");
45
+ Object.defineProperty(exports, "SolidActionsExecutor", { enumerable: true, get: function () { return solidactions_executor_1.SolidActionsExecutor; } });
46
+ var config_1 = require("./config");
47
+ Object.defineProperty(exports, "getHttpConfig", { enumerable: true, get: function () { return config_1.getHttpConfig; } });
48
+ Object.defineProperty(exports, "readSolidStepsConfig", { enumerable: true, get: function () { return config_1.readSolidStepsConfig; } });
49
+ var system_database_1 = require("./system_database");
50
+ Object.defineProperty(exports, "HttpSystemDatabase", { enumerable: true, get: function () { return system_database_1.HttpSystemDatabase; } });
51
+ var http_client_1 = require("./http_client");
52
+ Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_client_1.HttpClient; } });
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AAErB,mCAA8C;AAArC,4GAAA,kBAAkB,OAAA;AAE3B,2CAQsB;AANpB,kHAAA,oBAAoB,OAAA;AAKpB,qGAAA,OAAO,OAAA;AAGT,iDAAiC;AAEjC,iCAA4D;AAAnD,0HAAA,iCAAiC,OAAA;AAE1C,uCAA6G;AAApE,wGAAA,YAAY,OAAA;AAMrD,2CAAiF;AAA1D,gHAAA,kBAAkB,OAAA;AAAE,6GAAA,eAAe,OAAA;AAE1D,iBAAiB;AACjB,iEAMiC;AAF/B,6HAAA,oBAAoB,OAAA;AAItB,mCAAyG;AAAxE,uGAAA,aAAa,OAAA;AAAoB,8GAAA,oBAAoB,OAAA;AAEtF,qDAAuE;AAA9D,qHAAA,kBAAkB,OAAA;AAE3B,6CAA6D;AAApD,yGAAA,UAAU,OAAA"}
@@ -0,0 +1,14 @@
1
+ export declare function convertAsterisksToRanges(expressions: string[]): string[];
2
+ /**
3
+ * Validates a Cron-Job expression pattern.
4
+ * Throws on error.
5
+ */
6
+ export declare function validateCrontab(pattern: string): string;
7
+ export declare function convertExpression(crontab: string): string;
8
+ export declare class TimeMatcher {
9
+ #private;
10
+ constructor(pattern: string, timezone?: string);
11
+ match(date: Date | number): boolean;
12
+ nextWakeupTime(date: Date | number): Date;
13
+ }
14
+ //# sourceMappingURL=crontab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crontab.d.ts","sourceRoot":"","sources":["../../../src/scheduler/crontab.ts"],"names":[],"mappings":"AAmFA,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,YAQ7D;AA2HD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,UAW9C;AAmBD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,UAYhD;AAeD,qBAAa,WAAW;;gBAMV,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAoB9C,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAmBzB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;CAoBnC"}