openworkflow 0.4.0 → 0.5.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 (143) hide show
  1. package/README.md +57 -46
  2. package/dist/backend-postgres/index.d.ts +44 -0
  3. package/dist/backend-postgres/index.d.ts.map +1 -0
  4. package/dist/backend-postgres/index.js +535 -0
  5. package/dist/backend-postgres/index.js.map +1 -0
  6. package/dist/backend-postgres/postgres.d.ts +42 -0
  7. package/dist/backend-postgres/postgres.d.ts.map +1 -0
  8. package/dist/backend-postgres/postgres.js +234 -0
  9. package/dist/backend-postgres/postgres.js.map +1 -0
  10. package/dist/backend-sqlite/index.d.ts +42 -0
  11. package/dist/backend-sqlite/index.d.ts.map +1 -0
  12. package/dist/backend-sqlite/index.js +655 -0
  13. package/dist/backend-sqlite/index.js.map +1 -0
  14. package/dist/backend-sqlite/sqlite.d.ts +61 -0
  15. package/dist/backend-sqlite/sqlite.d.ts.map +1 -0
  16. package/dist/backend-sqlite/sqlite.js +247 -0
  17. package/dist/backend-sqlite/sqlite.js.map +1 -0
  18. package/dist/backend.d.ts +21 -89
  19. package/dist/backend.d.ts.map +1 -1
  20. package/dist/backend.js +0 -21
  21. package/dist/backend.js.map +1 -1
  22. package/dist/bin/openworkflow.d.ts +3 -0
  23. package/dist/bin/openworkflow.d.ts.map +1 -0
  24. package/dist/bin/openworkflow.js +44 -0
  25. package/dist/bin/openworkflow.js.map +1 -0
  26. package/dist/client.d.ts +68 -80
  27. package/dist/client.d.ts.map +1 -1
  28. package/dist/client.js +83 -53
  29. package/dist/client.js.map +1 -1
  30. package/dist/config.d.ts +34 -0
  31. package/dist/config.d.ts.map +1 -0
  32. package/dist/config.js +49 -0
  33. package/dist/config.js.map +1 -0
  34. package/dist/{duration.d.ts → core/duration.d.ts} +5 -2
  35. package/dist/core/duration.d.ts.map +1 -0
  36. package/dist/{duration.js → core/duration.js} +9 -6
  37. package/dist/core/duration.js.map +1 -0
  38. package/dist/core/error.d.ts +14 -0
  39. package/dist/core/error.d.ts.map +1 -0
  40. package/dist/core/error.js +18 -0
  41. package/dist/core/error.js.map +1 -0
  42. package/dist/core/json.d.ts +5 -0
  43. package/dist/core/json.d.ts.map +1 -0
  44. package/dist/core/json.js +2 -0
  45. package/dist/core/json.js.map +1 -0
  46. package/dist/core/result.d.ts +22 -0
  47. package/dist/core/result.d.ts.map +1 -0
  48. package/dist/core/result.js +17 -0
  49. package/dist/core/result.js.map +1 -0
  50. package/dist/core/retry.d.ts +7 -0
  51. package/dist/core/retry.d.ts.map +1 -0
  52. package/dist/core/retry.js +7 -0
  53. package/dist/core/retry.js.map +1 -0
  54. package/dist/core/schema.d.ts.map +1 -0
  55. package/dist/core/schema.js.map +1 -0
  56. package/dist/core/step.d.ts +89 -0
  57. package/dist/core/step.d.ts.map +1 -0
  58. package/dist/core/step.js +66 -0
  59. package/dist/core/step.js.map +1 -0
  60. package/dist/core/workflow.d.ts +63 -0
  61. package/dist/core/workflow.d.ts.map +1 -0
  62. package/dist/core/workflow.js +35 -0
  63. package/dist/core/workflow.js.map +1 -0
  64. package/dist/execution.d.ts +69 -0
  65. package/dist/execution.d.ts.map +1 -0
  66. package/dist/execution.js +188 -0
  67. package/dist/execution.js.map +1 -0
  68. package/dist/index.d.ts +2 -1
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +2 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/internal.d.ts +8 -0
  73. package/dist/internal.d.ts.map +1 -0
  74. package/dist/internal.js +5 -0
  75. package/dist/internal.js.map +1 -0
  76. package/dist/pg/backend.d.ts +42 -0
  77. package/dist/pg/backend.d.ts.map +1 -0
  78. package/dist/pg/backend.js +534 -0
  79. package/dist/pg/backend.js.map +1 -0
  80. package/dist/pg/index.d.ts +3 -0
  81. package/dist/pg/index.d.ts.map +1 -0
  82. package/dist/pg/index.js +3 -0
  83. package/dist/pg/index.js.map +1 -0
  84. package/dist/pg/postgres.d.ts +42 -0
  85. package/dist/pg/postgres.d.ts.map +1 -0
  86. package/dist/pg/postgres.js +234 -0
  87. package/dist/pg/postgres.js.map +1 -0
  88. package/dist/pg/scripts/db-migrate.d.ts +2 -0
  89. package/dist/pg/scripts/db-migrate.d.ts.map +1 -0
  90. package/dist/pg/scripts/db-migrate.js +5 -0
  91. package/dist/pg/scripts/db-migrate.js.map +1 -0
  92. package/dist/pg/scripts/db-reset.d.ts +2 -0
  93. package/dist/pg/scripts/db-reset.d.ts.map +1 -0
  94. package/dist/pg/scripts/db-reset.js +6 -0
  95. package/dist/pg/scripts/db-reset.js.map +1 -0
  96. package/dist/pg/scripts/squawk.d.ts +2 -0
  97. package/dist/pg/scripts/squawk.d.ts.map +1 -0
  98. package/dist/pg/scripts/squawk.js +17 -0
  99. package/dist/pg/scripts/squawk.js.map +1 -0
  100. package/dist/pg/vitest.global-setup.d.ts +3 -0
  101. package/dist/pg/vitest.global-setup.d.ts.map +1 -0
  102. package/dist/pg/vitest.global-setup.js +8 -0
  103. package/dist/pg/vitest.global-setup.js.map +1 -0
  104. package/dist/registry.d.ts +27 -0
  105. package/dist/registry.d.ts.map +1 -0
  106. package/dist/registry.js +49 -0
  107. package/dist/registry.js.map +1 -0
  108. package/dist/sqlite/backend.d.ts +40 -0
  109. package/dist/sqlite/backend.d.ts.map +1 -0
  110. package/dist/sqlite/backend.js +654 -0
  111. package/dist/sqlite/backend.js.map +1 -0
  112. package/dist/sqlite/index.d.ts +3 -0
  113. package/dist/sqlite/index.d.ts.map +1 -0
  114. package/dist/sqlite/index.js +3 -0
  115. package/dist/sqlite/index.js.map +1 -0
  116. package/dist/sqlite/sqlite.d.ts +61 -0
  117. package/dist/sqlite/sqlite.d.ts.map +1 -0
  118. package/dist/sqlite/sqlite.js +247 -0
  119. package/dist/sqlite/sqlite.js.map +1 -0
  120. package/dist/testing/backend.testsuite.d.ts +20 -0
  121. package/dist/testing/backend.testsuite.d.ts.map +1 -0
  122. package/dist/testing/backend.testsuite.js +1091 -0
  123. package/dist/testing/backend.testsuite.js.map +1 -0
  124. package/dist/testing/index.d.ts +2 -0
  125. package/dist/testing/index.d.ts.map +1 -0
  126. package/dist/testing/index.js +2 -0
  127. package/dist/testing/index.js.map +1 -0
  128. package/dist/tsconfig.tsbuildinfo +1 -1
  129. package/dist/worker.d.ts +10 -3
  130. package/dist/worker.d.ts.map +1 -1
  131. package/dist/worker.js +29 -195
  132. package/dist/worker.js.map +1 -1
  133. package/dist/workflow.d.ts +60 -0
  134. package/dist/workflow.d.ts.map +1 -0
  135. package/dist/workflow.js +49 -0
  136. package/dist/workflow.js.map +1 -0
  137. package/package.json +16 -6
  138. package/dist/duration.d.ts.map +0 -1
  139. package/dist/duration.js.map +0 -1
  140. package/dist/schema.d.ts.map +0 -1
  141. package/dist/schema.js.map +0 -1
  142. /package/dist/{schema.d.ts → core/schema.d.ts} +0 -0
  143. /package/dist/{schema.js → core/schema.js} +0 -0
package/dist/worker.js CHANGED
@@ -1,20 +1,9 @@
1
- import { parseDuration } from "./duration.js";
1
+ import { executeWorkflow } from "./execution.js";
2
+ import { WorkflowRegistry } from "./registry.js";
2
3
  import { randomUUID } from "node:crypto";
3
4
  const DEFAULT_LEASE_DURATION_MS = 30 * 1000; // 30s
4
5
  const DEFAULT_POLL_INTERVAL_MS = 100; // 100ms
5
6
  const DEFAULT_CONCURRENCY = 1;
6
- /**
7
- * Signal thrown when a workflow needs to sleep. Contains the time when the
8
- * workflow should resume.
9
- */
10
- class SleepSignal extends Error {
11
- resumeAt;
12
- constructor(resumeAt) {
13
- super("SleepSignal");
14
- this.name = "SleepSignal";
15
- this.resumeAt = resumeAt;
16
- }
17
- }
18
7
  /**
19
8
  * Runs workflows by polling the backend, dispatching runs across a concurrency
20
9
  * pool, and heartbeating/extending leases.
@@ -22,22 +11,22 @@ class SleepSignal extends Error {
22
11
  export class Worker {
23
12
  backend;
24
13
  workerIds;
25
- registeredWorkflows = new Map();
14
+ registry = new WorkflowRegistry();
26
15
  activeExecutions = new Set();
27
16
  running = false;
28
17
  loopPromise = null;
29
18
  constructor(options) {
30
19
  this.backend = options.backend;
20
+ for (const workflow of options.workflows) {
21
+ this.registry.register(workflow);
22
+ }
31
23
  const concurrency = Math.max(DEFAULT_CONCURRENCY, options.concurrency ?? DEFAULT_CONCURRENCY);
32
24
  // generate worker IDs for every concurrency slot
33
25
  this.workerIds = Array.from({ length: concurrency }, () => randomUUID());
34
- // register workflows
35
- for (const workflow of options.workflows) {
36
- this.registeredWorkflows.set(workflow.name, workflow);
37
- }
38
26
  }
39
27
  /**
40
28
  * Start the worker. It will begin polling for and executing workflows.
29
+ * @returns Promise resolved when started
41
30
  */
42
31
  async start() {
43
32
  if (this.running)
@@ -49,6 +38,7 @@ export class Worker {
49
38
  /**
50
39
  * Stop the worker gracefully. Waits for all active workflow runs to complete
51
40
  * before returning.
41
+ * @returns Promise resolved when stopped
52
42
  */
53
43
  async stop() {
54
44
  this.running = false;
@@ -62,6 +52,7 @@ export class Worker {
62
52
  /**
63
53
  * Processes one round of work claims and execution. Exposed for testing.
64
54
  * Returns the number of workflow runs claimed.
55
+ * @returns Number of workflow runs claimed
65
56
  */
66
57
  async tick() {
67
58
  const availableSlots = this.concurrency - this.activeExecutions.size;
@@ -79,6 +70,7 @@ export class Worker {
79
70
  }
80
71
  /**
81
72
  * Get the configured concurrency limit.
73
+ * @returns Concurrency limit
82
74
  */
83
75
  get concurrency() {
84
76
  return this.workerIds.length;
@@ -103,7 +95,7 @@ export class Worker {
103
95
  }
104
96
  }
105
97
  /*
106
- * Cclaim and process a workflow run for the given worker ID. Do not await the
98
+ * Claim and process a workflow run for the given worker ID. Do not await the
107
99
  * processing here to avoid blocking the caller.
108
100
  * Returns the claimed workflow run, or null if none was available.
109
101
  */
@@ -115,14 +107,16 @@ export class Worker {
115
107
  });
116
108
  if (!workflowRun)
117
109
  return null;
118
- // find workflow definition
119
- const workflow = this.registeredWorkflows.get(workflowRun.workflowName);
110
+ const workflow = this.registry.get(workflowRun.workflowName, workflowRun.version);
120
111
  if (!workflow) {
112
+ const versionStr = workflowRun.version
113
+ ? ` (version: ${workflowRun.version})`
114
+ : "";
121
115
  await this.backend.failWorkflowRun({
122
116
  workflowRunId: workflowRun.id,
123
117
  workerId,
124
118
  error: {
125
- message: `Workflow "${workflowRun.workflowName}" is not registered`,
119
+ message: `Workflow "${workflowRun.workflowName}"${versionStr} is not registered`,
126
120
  },
127
121
  });
128
122
  return null;
@@ -147,87 +141,26 @@ export class Worker {
147
141
  /**
148
142
  * Process a workflow execution, handling heartbeats, step execution, and
149
143
  * marking success or failure.
144
+ * @param execution - Workflow execution
145
+ * @param workflow - Workflow to execute
146
+ * @returns Promise resolved when processing completes
150
147
  */
151
148
  async processExecutionInBackground(execution, workflow) {
152
149
  // start heartbeating
153
150
  execution.startHeartbeat();
154
151
  try {
155
- // load all pages of step history
156
- const attempts = [];
157
- let cursor;
158
- do {
159
- const response = await this.backend.listStepAttempts({
160
- workflowRunId: execution.workflowRun.id,
161
- ...(cursor ? { after: cursor } : {}),
162
- limit: 1000,
163
- });
164
- attempts.push(...response.data);
165
- cursor = response.pagination.next ?? undefined;
166
- } while (cursor);
167
- // mark any sleep steps as completed if their sleep duration has elapsed,
168
- // or rethrow SleepSignal if still sleeping
169
- for (let i = 0; i < attempts.length; i++) {
170
- const attempt = attempts[i];
171
- if (!attempt)
172
- continue;
173
- if (attempt.status === "running" &&
174
- attempt.kind === "sleep" &&
175
- attempt.context?.kind === "sleep") {
176
- const now = Date.now();
177
- const resumeAt = new Date(attempt.context.resumeAt);
178
- const resumeAtMs = resumeAt.getTime();
179
- if (now < resumeAtMs) {
180
- // sleep duration HAS NOT elapsed yet, throw signal to put workflow
181
- // back to sleep
182
- throw new SleepSignal(resumeAt);
183
- }
184
- // sleep duration HAS elapsed, mark the step as completed and continue
185
- const completed = await this.backend.completeStepAttempt({
186
- workflowRunId: execution.workflowRun.id,
187
- stepAttemptId: attempt.id,
188
- workerId: execution.workerId,
189
- output: null,
190
- });
191
- // update cache w/ completed attempt
192
- attempts[i] = completed;
193
- }
194
- }
195
- // create step executor
196
- const executor = new StepExecutor({
152
+ await executeWorkflow({
197
153
  backend: this.backend,
198
- workflowRunId: execution.workflowRun.id,
199
- workerId: execution.workerId,
200
- attempts,
201
- });
202
- // execute workflow
203
- const output = await workflow.fn({
204
- input: execution.workflowRun.input,
205
- step: executor,
206
- version: execution.workflowRun.version,
207
- });
208
- // mark success
209
- await this.backend.completeWorkflowRun({
210
- workflowRunId: execution.workflowRun.id,
154
+ workflowRun: execution.workflowRun,
155
+ workflowFn: workflow.fn,
156
+ workflowVersion: execution.workflowRun.version,
211
157
  workerId: execution.workerId,
212
- output: (output ?? null),
213
158
  });
214
159
  }
215
160
  catch (error) {
216
- // handle sleep signal by setting workflow to sleeping status
217
- if (error instanceof SleepSignal) {
218
- await this.backend.sleepWorkflowRun({
219
- workflowRunId: execution.workflowRun.id,
220
- workerId: execution.workerId,
221
- availableAt: error.resumeAt,
222
- });
223
- return;
224
- }
225
- // mark failure
226
- await this.backend.failWorkflowRun({
227
- workflowRunId: execution.workflowRun.id,
228
- workerId: execution.workerId,
229
- error: serializeError(error),
230
- });
161
+ // specifically for unexpected errors in the execution wrapper itself, not
162
+ // for business logic errors (those are handled inside executeWorkflow)
163
+ console.error(`Critical error during workflow execution for run ${execution.workflowRun.id}:`, error);
231
164
  }
232
165
  }
233
166
  }
@@ -275,109 +208,10 @@ class WorkflowExecution {
275
208
  }
276
209
  }
277
210
  /**
278
- * Replays prior step attempts and persists new ones while memoizing
279
- * deterministic step outputs.
280
- */
281
- class StepExecutor {
282
- backend;
283
- workflowRunId;
284
- workerId;
285
- successfulAttemptsByName = new Map();
286
- constructor(options) {
287
- this.backend = options.backend;
288
- this.workflowRunId = options.workflowRunId;
289
- this.workerId = options.workerId;
290
- // load successful attempts into history
291
- for (const attempt of options.attempts) {
292
- // 'succeeded' status is deprecated
293
- if (attempt.status === "succeeded" || attempt.status === "completed") {
294
- this.successfulAttemptsByName.set(attempt.stepName, attempt);
295
- }
296
- }
297
- }
298
- async run(config, fn) {
299
- const { name } = config;
300
- // return cached result if available
301
- const existingAttempt = this.successfulAttemptsByName.get(name);
302
- if (existingAttempt) {
303
- return existingAttempt.output;
304
- }
305
- // not in cache, create new step attempt
306
- const attempt = await this.backend.createStepAttempt({
307
- workflowRunId: this.workflowRunId,
308
- workerId: this.workerId,
309
- stepName: name,
310
- kind: "function",
311
- config: {},
312
- context: null,
313
- });
314
- try {
315
- // execute step function
316
- const result = await fn();
317
- // convert undefined to null for JSON compatibility
318
- const output = (result ?? null);
319
- // mark success
320
- const savedAttempt = await this.backend.completeStepAttempt({
321
- workflowRunId: this.workflowRunId,
322
- stepAttemptId: attempt.id,
323
- workerId: this.workerId,
324
- output,
325
- });
326
- // cache result
327
- this.successfulAttemptsByName.set(name, savedAttempt);
328
- return savedAttempt.output;
329
- }
330
- catch (error) {
331
- // mark failure
332
- await this.backend.failStepAttempt({
333
- workflowRunId: this.workflowRunId,
334
- stepAttemptId: attempt.id,
335
- workerId: this.workerId,
336
- error: serializeError(error),
337
- });
338
- throw error;
339
- }
340
- }
341
- async sleep(name, duration) {
342
- // return cached result if this sleep already completed
343
- const existingAttempt = this.successfulAttemptsByName.get(name);
344
- if (existingAttempt)
345
- return;
346
- // create new step attempt for the sleep
347
- const durationMs = parseDuration(duration);
348
- const resumeAt = new Date(Date.now() + durationMs);
349
- await this.backend.createStepAttempt({
350
- workflowRunId: this.workflowRunId,
351
- workerId: this.workerId,
352
- stepName: name,
353
- kind: "sleep",
354
- config: {},
355
- context: {
356
- kind: "sleep",
357
- resumeAt: resumeAt.toISOString(),
358
- },
359
- });
360
- // throw sleep signal to trigger postponement
361
- // we do not mark the step as completed here; it will be updated
362
- // when the workflow resumes
363
- throw new SleepSignal(resumeAt);
364
- }
365
- }
366
- /**
367
- * Serialize an error to a JSON-compatible format.
211
+ * Sleep for a given duration.
212
+ * @param ms - Milliseconds to sleep
213
+ * @returns Promise resolved after sleeping
368
214
  */
369
- function serializeError(error) {
370
- if (error instanceof Error) {
371
- return {
372
- name: error.name,
373
- message: error.message,
374
- stack: error.stack ?? null,
375
- };
376
- }
377
- return {
378
- message: String(error),
379
- };
380
- }
381
215
  function sleep(ms) {
382
216
  return new Promise((resolve) => setTimeout(resolve, ms));
383
217
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { StandardSchemaV1 } from "./core/schema.js";
2
+ import { WorkflowFunction } from "./execution.js";
3
+ /**
4
+ * A workflow spec.
5
+ */
6
+ export interface WorkflowSpec<Input, Output, RawInput> {
7
+ /** The name of the workflow. */
8
+ readonly name: string;
9
+ /** The version of the workflow. */
10
+ readonly version?: string;
11
+ /** The schema used to validate inputs. */
12
+ readonly schema?: StandardSchemaV1<RawInput, Input>;
13
+ /** Phantom type carrier - won't exist at runtime. */
14
+ readonly __types?: {
15
+ output: Output;
16
+ };
17
+ }
18
+ /**
19
+ * Define a workflow spec.
20
+ * @param spec - The workflow spec
21
+ * @returns The workflow spec
22
+ */
23
+ export declare function defineWorkflowSpec<Input, Output = unknown, RawInput = Input>(spec: WorkflowSpec<Input, Output, RawInput>): WorkflowSpec<Input, Output, RawInput>;
24
+ /**
25
+ * Define a workflow spec.
26
+ * @param spec - The workflow spec
27
+ * @returns The workflow spec
28
+ * @deprecated use `defineWorkflowSpec` instead
29
+ */
30
+ export declare const declareWorkflow: typeof defineWorkflowSpec;
31
+ /**
32
+ * A workflow spec and implementation.
33
+ */
34
+ export interface Workflow<Input, Output, RawInput> {
35
+ /** The workflow spec. */
36
+ readonly spec: WorkflowSpec<Input, Output, RawInput>;
37
+ /** The workflow implementation function. */
38
+ readonly fn: WorkflowFunction<Input, Output>;
39
+ }
40
+ /**
41
+ * Define a workflow.
42
+ * @param spec - The workflow spec
43
+ * @param fn - The workflow implementation function
44
+ * @returns The workflow
45
+ */
46
+ export declare function defineWorkflow<Input, Output, RawInput = Input>(spec: WorkflowSpec<Input, Output, RawInput>, fn: WorkflowFunction<Input, Output>): Workflow<Input, Output, RawInput>;
47
+ /**
48
+ * Define a workflow.
49
+ * @param spec - The workflow spec
50
+ * @param fn - The workflow implementation function
51
+ * @returns The workflow
52
+ */
53
+ export declare function defineWorkflow<Input, WorkflowFn extends WorkflowFunction<Input, unknown> = WorkflowFunction<Input, unknown>, RawInput = Input>(spec: WorkflowSpec<Input, Awaited<ReturnType<WorkflowFn>>, RawInput>, fn: WorkflowFn): Workflow<Input, Awaited<ReturnType<WorkflowFn>>, RawInput>;
54
+ /**
55
+ * Type guard to check if a value is a Workflow object.
56
+ * @param value - The value to check
57
+ * @returns True if the value is a Workflow
58
+ */
59
+ export declare function isWorkflow(value: unknown): boolean;
60
+ //# sourceMappingURL=workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ;IACnD,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpD,qDAAqD;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,QAAQ,GAAG,KAAK,EAC1E,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,GAC1C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAEvC;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,2BAAqB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ;IAC/C,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;;;;GAKG;AAIH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAG,KAAK,EAC5D,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAC3C,EAAE,EAAE,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,GAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAErC;;;;;GAKG;AAGH,wBAAgB,cAAc,CAC5B,KAAK,EACL,UAAU,SAAS,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,gBAAgB,CACpE,KAAK,EACL,OAAO,CACR,EACD,QAAQ,GAAG,KAAK,EAEhB,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,EACpE,EAAE,EAAE,UAAU,GACb,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AAmB9D;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,WAkBxC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Define a workflow spec.
3
+ * @param spec - The workflow spec
4
+ * @returns The workflow spec
5
+ */
6
+ export function defineWorkflowSpec(spec) {
7
+ return spec;
8
+ }
9
+ /**
10
+ * Define a workflow spec.
11
+ * @param spec - The workflow spec
12
+ * @returns The workflow spec
13
+ * @deprecated use `defineWorkflowSpec` instead
14
+ */
15
+ export const declareWorkflow = defineWorkflowSpec;
16
+ /**
17
+ * Define a workflow.
18
+ * @internal
19
+ * @param spec - The workflow spec
20
+ * @param fn - The workflow implementation function
21
+ * @returns The workflow
22
+ */
23
+ export function defineWorkflow(spec, fn) {
24
+ return {
25
+ spec,
26
+ fn,
27
+ };
28
+ }
29
+ /**
30
+ * Type guard to check if a value is a Workflow object.
31
+ * @param value - The value to check
32
+ * @returns True if the value is a Workflow
33
+ */
34
+ export function isWorkflow(value) {
35
+ if (typeof value !== "object" || value === null) {
36
+ return false;
37
+ }
38
+ const maybeWorkflow = value;
39
+ if (!("spec" in maybeWorkflow) || !("fn" in maybeWorkflow)) {
40
+ return false;
41
+ }
42
+ const { spec, fn } = maybeWorkflow;
43
+ return (typeof spec === "object" &&
44
+ spec !== null &&
45
+ "name" in spec &&
46
+ typeof spec.name === "string" &&
47
+ typeof fn === "function");
48
+ }
49
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../workflow.ts"],"names":[],"mappings":"AAmBA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAA2C;IAE3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,kBAAkB,CAAC;AA8ClD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,IAA2C,EAC3C,EAAmC;IAEnC,OAAO;QACL,IAAI;QACJ,EAAE;KACH,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,aAAa,GAAG,KAAgC,CAAC;IACvD,IAAI,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,aAAa,CAAC,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,aAAa,CAAC;IACnC,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,MAAM,IAAI,IAAI;QACd,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAC7B,OAAO,EAAE,KAAK,UAAU,CACzB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openworkflow",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Open-source TypeScript framework for building durable, resumable workflows",
5
5
  "keywords": [
6
6
  "durable execution",
@@ -27,11 +27,20 @@
27
27
  "type": "module",
28
28
  "exports": {
29
29
  ".": {
30
+ "types": "./dist/index.d.ts",
30
31
  "development": "./index.ts",
31
- "default": "./dist/index.js",
32
- "types": "./dist/index.d.ts"
32
+ "default": "./dist/index.js"
33
+ },
34
+ "./internal": {
35
+ "types": "./dist/internal.d.ts",
36
+ "development": "./internal.ts",
37
+ "default": "./dist/internal.js"
33
38
  }
34
39
  },
40
+ "bin": {
41
+ "openworkflow": "./dist/bin/openworkflow.js",
42
+ "ow": "./dist/bin/openworkflow.js"
43
+ },
35
44
  "files": [
36
45
  "dist"
37
46
  ],
@@ -40,10 +49,11 @@
40
49
  "prepublishOnly": "npm run build"
41
50
  },
42
51
  "devDependencies": {
43
- "arktype": "^2.1.27",
44
- "valibot": "^1.1.0",
52
+ "arktype": "^2.1.29",
53
+ "valibot": "^1.2.0",
54
+ "vitest": "^4.0.16",
45
55
  "yup": "^1.7.1",
46
- "zod": "^4.1.12"
56
+ "zod": "^4.3.5"
47
57
  },
48
58
  "engines": {
49
59
  "node": ">=20"
@@ -1 +0,0 @@
1
- {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../duration.ts"],"names":[],"mappings":"AAAA,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,CAAC;AACnD,KAAK,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;AACxC,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC;AACpC,KAAK,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,CAAC;AACjC,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,CAAC;AACnD,KAAK,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,CAAC;AAC3D,KAAK,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,CAAC;AAC3D,KAAK,YAAY,GAAG,cAAc,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;AAC7E,KAAK,IAAI,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,IAAI,GACJ,KAAK,GACL,OAAO,GACP,OAAO,GACP,YAAY,CAAC;AACjB,KAAK,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AACxE,MAAM,MAAM,cAAc,GACtB,GAAG,MAAM,EAAE,GACX,GAAG,MAAM,GAAG,WAAW,EAAE,GACzB,GAAG,MAAM,IAAI,WAAW,EAAE,CAAC;AAE/B;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CA+DzD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"duration.js","sourceRoot":"","sources":["../duration.ts"],"names":[],"mappings":"AAuBA;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAmB;IAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,SAAS,CACjB,0DAA0D,GAAG,OAAO,GAAG,CACxE,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,KAAK,GAAG,qCAAqC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE9D,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,CAAC,gCAAgC;IAE9E,MAAM,WAAW,GAA2B;QAC1C,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,EAAE,EAAE,CAAC;QACL,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,IAAI;QACT,IAAI,EAAE,IAAI;QACV,CAAC,EAAE,IAAI;QACP,MAAM,EAAE,EAAE,GAAG,IAAI;QACjB,OAAO,EAAE,EAAE,GAAG,IAAI;QAClB,GAAG,EAAE,EAAE,GAAG,IAAI;QACd,IAAI,EAAE,EAAE,GAAG,IAAI;QACf,CAAC,EAAE,EAAE,GAAG,IAAI;QACZ,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;QACpB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;QACrB,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;QAClB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;QACnB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;QACjB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QACxB,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QACzB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QACtB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QAC7B,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QAC9B,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QAC1B,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,aAAa;QACrB,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,cAAc;QACrB,EAAE,EAAE,cAAc;QAClB,GAAG,EAAE,cAAc;QACnB,CAAC,EAAE,cAAc;KAClB,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,QAAQ,GAAG,UAAU,CAAC;AAC/B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;IAC/D,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC7D;AAGD,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC,gDAAgD;IAChD,MAAM,WAAW,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD,0CAA0C;QAC1C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACpB,6CAA6C;QAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,sCAAsC;QACtC,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,OAAO,KACX,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,iDAAiD;QACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;KACnD;IAED,qDAAqD;IACrD,MAAM,MAAM,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC;IAEnE,mDAAmD;IACnD,MAAM,WAAW,aAAa,CAAC,MAAM;QACnC,8BAA8B;QAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,+BAA+B;QAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;KAC7B;IAED,gDAAgD;IAChD,MAAM,WAAW,aAAa;QAC5B,uCAAuC;QACvC,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;KACnC;IAED,iDAAiD;IACjD,MAAM,WAAW,KAAK;QACpB,sCAAsC;QACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,qCAAqC;QACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC,EAAE,GAAG,SAAS,CAAC;KACpE;IAED,+CAA+C;IAC/C,MAAM,WAAW,WAAW;QAC1B,2CAA2C;QAC3C,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;KAC3B;IAED,2CAA2C;IAC3C,MAAM,WAAW,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD,oCAAoC;QACpC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QACtB,qCAAqC;QACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB;IAED,kDAAkD;IAClD,MAAM,MAAM,UAAU,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CACnE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAC7B,CAAC,OAAO,CAAC,CAAC;IAEX,mDAAmD;IACnD,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CACpE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAC7B,CAAC,QAAQ,CAAC,CAAC;IAIZ,OAAO,EAAE,CAAC;CACX"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":""}
File without changes
File without changes