openworkflow 0.5.0 → 0.6.1

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 (115) hide show
  1. package/README.md +41 -346
  2. package/dist/backend.js +0 -1
  3. package/dist/bin/openworkflow.js +0 -1
  4. package/dist/client.js +0 -1
  5. package/dist/core/duration.js +0 -1
  6. package/dist/core/error.js +0 -1
  7. package/dist/core/json.js +0 -1
  8. package/dist/core/result.js +0 -1
  9. package/dist/core/retry.js +0 -1
  10. package/dist/core/schema.js +0 -1
  11. package/dist/core/step.js +0 -1
  12. package/dist/core/workflow.js +0 -1
  13. package/dist/execution.js +0 -1
  14. package/dist/index.js +0 -1
  15. package/dist/internal.d.ts +3 -5
  16. package/dist/internal.d.ts.map +1 -1
  17. package/dist/internal.js +0 -4
  18. package/dist/{pg → postgres}/backend.d.ts +3 -1
  19. package/dist/postgres/backend.d.ts.map +1 -0
  20. package/dist/{pg → postgres}/backend.js +5 -5
  21. package/dist/postgres/postgres.d.ts.map +1 -0
  22. package/dist/{backend-postgres → postgres}/postgres.js +0 -1
  23. package/dist/postgres/scripts/db-migrate.d.ts.map +1 -0
  24. package/dist/{pg → postgres}/scripts/db-migrate.js +0 -1
  25. package/dist/postgres/scripts/db-reset.d.ts.map +1 -0
  26. package/dist/{pg → postgres}/scripts/db-reset.js +0 -1
  27. package/dist/{pg → postgres}/scripts/squawk.d.ts.map +1 -1
  28. package/dist/{pg → postgres}/scripts/squawk.js +0 -1
  29. package/dist/postgres.d.ts +2 -0
  30. package/dist/postgres.d.ts.map +1 -0
  31. package/dist/postgres.js +1 -0
  32. package/dist/registry.js +0 -1
  33. package/dist/sqlite/backend.d.ts +3 -1
  34. package/dist/sqlite/backend.d.ts.map +1 -1
  35. package/dist/sqlite/backend.js +5 -5
  36. package/dist/sqlite/sqlite.js +0 -1
  37. package/dist/sqlite.d.ts +2 -0
  38. package/dist/sqlite.d.ts.map +1 -0
  39. package/dist/sqlite.js +1 -0
  40. package/dist/worker.js +0 -1
  41. package/dist/workflow.js +0 -1
  42. package/package.json +24 -6
  43. package/dist/backend-postgres/index.d.ts +0 -44
  44. package/dist/backend-postgres/index.d.ts.map +0 -1
  45. package/dist/backend-postgres/index.js +0 -535
  46. package/dist/backend-postgres/index.js.map +0 -1
  47. package/dist/backend-postgres/postgres.d.ts.map +0 -1
  48. package/dist/backend-postgres/postgres.js.map +0 -1
  49. package/dist/backend-sqlite/index.d.ts +0 -42
  50. package/dist/backend-sqlite/index.d.ts.map +0 -1
  51. package/dist/backend-sqlite/index.js +0 -655
  52. package/dist/backend-sqlite/index.js.map +0 -1
  53. package/dist/backend-sqlite/sqlite.d.ts +0 -61
  54. package/dist/backend-sqlite/sqlite.d.ts.map +0 -1
  55. package/dist/backend-sqlite/sqlite.js +0 -247
  56. package/dist/backend-sqlite/sqlite.js.map +0 -1
  57. package/dist/backend.js.map +0 -1
  58. package/dist/bin/openworkflow.js.map +0 -1
  59. package/dist/client.js.map +0 -1
  60. package/dist/config.d.ts +0 -34
  61. package/dist/config.d.ts.map +0 -1
  62. package/dist/config.js +0 -49
  63. package/dist/config.js.map +0 -1
  64. package/dist/core/duration.js.map +0 -1
  65. package/dist/core/error.js.map +0 -1
  66. package/dist/core/json.js.map +0 -1
  67. package/dist/core/result.js.map +0 -1
  68. package/dist/core/retry.js.map +0 -1
  69. package/dist/core/schema.js.map +0 -1
  70. package/dist/core/step.js.map +0 -1
  71. package/dist/core/workflow.js.map +0 -1
  72. package/dist/execution.js.map +0 -1
  73. package/dist/index.js.map +0 -1
  74. package/dist/internal.js.map +0 -1
  75. package/dist/pg/backend.d.ts.map +0 -1
  76. package/dist/pg/backend.js.map +0 -1
  77. package/dist/pg/index.d.ts +0 -3
  78. package/dist/pg/index.d.ts.map +0 -1
  79. package/dist/pg/index.js +0 -3
  80. package/dist/pg/index.js.map +0 -1
  81. package/dist/pg/postgres.d.ts +0 -42
  82. package/dist/pg/postgres.d.ts.map +0 -1
  83. package/dist/pg/postgres.js +0 -234
  84. package/dist/pg/postgres.js.map +0 -1
  85. package/dist/pg/scripts/db-migrate.d.ts.map +0 -1
  86. package/dist/pg/scripts/db-migrate.js.map +0 -1
  87. package/dist/pg/scripts/db-reset.d.ts.map +0 -1
  88. package/dist/pg/scripts/db-reset.js.map +0 -1
  89. package/dist/pg/scripts/squawk.js.map +0 -1
  90. package/dist/pg/vitest.global-setup.d.ts +0 -3
  91. package/dist/pg/vitest.global-setup.d.ts.map +0 -1
  92. package/dist/pg/vitest.global-setup.js +0 -8
  93. package/dist/pg/vitest.global-setup.js.map +0 -1
  94. package/dist/registry.js.map +0 -1
  95. package/dist/sqlite/backend.js.map +0 -1
  96. package/dist/sqlite/index.d.ts +0 -3
  97. package/dist/sqlite/index.d.ts.map +0 -1
  98. package/dist/sqlite/index.js +0 -3
  99. package/dist/sqlite/index.js.map +0 -1
  100. package/dist/sqlite/sqlite.js.map +0 -1
  101. package/dist/testing/backend.testsuite.d.ts +0 -20
  102. package/dist/testing/backend.testsuite.d.ts.map +0 -1
  103. package/dist/testing/backend.testsuite.js +0 -1091
  104. package/dist/testing/backend.testsuite.js.map +0 -1
  105. package/dist/testing/index.d.ts +0 -2
  106. package/dist/testing/index.d.ts.map +0 -1
  107. package/dist/testing/index.js +0 -2
  108. package/dist/testing/index.js.map +0 -1
  109. package/dist/tsconfig.tsbuildinfo +0 -1
  110. package/dist/worker.js.map +0 -1
  111. package/dist/workflow.js.map +0 -1
  112. /package/dist/{backend-postgres → postgres}/postgres.d.ts +0 -0
  113. /package/dist/{pg → postgres}/scripts/db-migrate.d.ts +0 -0
  114. /package/dist/{pg → postgres}/scripts/db-reset.d.ts +0 -0
  115. /package/dist/{pg → postgres}/scripts/squawk.d.ts +0 -0
@@ -1,5 +1,6 @@
1
+ import { DEFAULT_NAMESPACE_ID, } from "../backend.js";
2
+ import { DEFAULT_RETRY_POLICY } from "../core/retry.js";
1
3
  import { newDatabase, migrate, generateUUID, now, addMilliseconds, toJSON, fromJSON, toISO, fromISO, } from "./sqlite.js";
2
- import { DEFAULT_NAMESPACE_ID, DEFAULT_RETRY_POLICY, } from "openworkflow/internal";
3
4
  const DEFAULT_PAGINATION_PAGE_SIZE = 100;
4
5
  /**
5
6
  * Manages a connection to a SQLite database for workflow operations.
@@ -309,12 +310,12 @@ export class BackendSqlite {
309
310
  cursor = decodeCursor(before);
310
311
  }
311
312
  const order = before
312
- ? `ORDER BY "created_at" DESC, "id" DESC`
313
- : `ORDER BY "created_at" ASC, "id" ASC`;
313
+ ? `ORDER BY "created_at" ASC, "id" ASC`
314
+ : `ORDER BY "created_at" DESC, "id" DESC`;
314
315
  let query;
315
316
  let queryParams;
316
317
  if (cursor) {
317
- const op = after ? ">" : "<";
318
+ const op = after ? "<" : ">";
318
319
  query = `
319
320
  SELECT *
320
321
  FROM "workflow_runs"
@@ -651,4 +652,3 @@ function decodeCursor(cursor) {
651
652
  id: parsed.id,
652
653
  };
653
654
  }
654
- //# sourceMappingURL=backend.js.map
@@ -244,4 +244,3 @@ export function toISO(date) {
244
244
  export function fromISO(dateStr) {
245
245
  return dateStr ? new Date(dateStr) : null;
246
246
  }
247
- //# sourceMappingURL=sqlite.js.map
@@ -0,0 +1,2 @@
1
+ export { BackendSqlite } from "./sqlite/backend.js";
2
+ //# sourceMappingURL=sqlite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/sqlite.js ADDED
@@ -0,0 +1 @@
1
+ export { BackendSqlite } from "./sqlite/backend.js";
package/dist/worker.js CHANGED
@@ -215,4 +215,3 @@ class WorkflowExecution {
215
215
  function sleep(ms) {
216
216
  return new Promise((resolve) => setTimeout(resolve, ms));
217
217
  }
218
- //# sourceMappingURL=worker.js.map
package/dist/workflow.js CHANGED
@@ -46,4 +46,3 @@ export function isWorkflow(value) {
46
46
  typeof spec.name === "string" &&
47
47
  typeof fn === "function");
48
48
  }
49
- //# sourceMappingURL=workflow.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openworkflow",
3
- "version": "0.5.0",
3
+ "version": "0.6.1",
4
4
  "description": "Open-source TypeScript framework for building durable, resumable workflows",
5
5
  "keywords": [
6
6
  "durable execution",
@@ -28,13 +28,19 @@
28
28
  "exports": {
29
29
  ".": {
30
30
  "types": "./dist/index.d.ts",
31
- "development": "./index.ts",
32
31
  "default": "./dist/index.js"
33
32
  },
34
33
  "./internal": {
35
34
  "types": "./dist/internal.d.ts",
36
- "development": "./internal.ts",
37
35
  "default": "./dist/internal.js"
36
+ },
37
+ "./postgres": {
38
+ "types": "./dist/postgres.d.ts",
39
+ "default": "./dist/postgres.js"
40
+ },
41
+ "./sqlite": {
42
+ "types": "./dist/sqlite.d.ts",
43
+ "default": "./dist/sqlite.js"
38
44
  }
39
45
  },
40
46
  "bin": {
@@ -42,7 +48,11 @@
42
48
  "ow": "./dist/bin/openworkflow.js"
43
49
  },
44
50
  "files": [
45
- "dist"
51
+ "dist",
52
+ "!*.test.*",
53
+ "!*.testsuite.*",
54
+ "!*.tsbuildinfo",
55
+ "!vitest.global-setup.*"
46
56
  ],
47
57
  "scripts": {
48
58
  "build": "tsc",
@@ -51,9 +61,17 @@
51
61
  "devDependencies": {
52
62
  "arktype": "^2.1.29",
53
63
  "valibot": "^1.2.0",
54
- "vitest": "^4.0.16",
64
+ "vitest": "^4.0.18",
55
65
  "yup": "^1.7.1",
56
- "zod": "^4.3.5"
66
+ "zod": "^4.3.6"
67
+ },
68
+ "peerDependencies": {
69
+ "postgres": ">=3"
70
+ },
71
+ "peerDependenciesMeta": {
72
+ "postgres": {
73
+ "optional": true
74
+ }
57
75
  },
58
76
  "engines": {
59
77
  "node": ">=20"
@@ -1,44 +0,0 @@
1
- import type { Backend, CancelWorkflowRunParams, ClaimWorkflowRunParams, CompleteStepAttemptParams, CompleteWorkflowRunParams, CreateStepAttemptParams, CreateWorkflowRunParams, ExtendWorkflowRunLeaseParams, FailStepAttemptParams, FailWorkflowRunParams, GetStepAttemptParams, GetWorkflowRunParams, ListStepAttemptsParams, ListWorkflowRunsParams, PaginatedResponse, SleepWorkflowRunParams } from "../backend.js";
2
- import type { StepAttempt } from "../core/step.js";
3
- import type { WorkflowRun } from "../core/workflow.js";
4
- interface BackendPostgresOptions {
5
- namespaceId?: string;
6
- runMigrations?: boolean;
7
- }
8
- /**
9
- * Manages a connection to a Postgres database for workflow operations.
10
- */
11
- export declare class BackendPostgres implements Backend {
12
- private pg;
13
- private namespaceId;
14
- private constructor();
15
- /**
16
- * Create and initialize a new BackendPostgres instance. This will
17
- * automatically run migrations on startup unless `runMigrations` is set to
18
- * false.
19
- * @param url - Postgres connection URL
20
- * @param options - Backend options
21
- * @returns A connected backend instance
22
- */
23
- static connect(url: string, options?: BackendPostgresOptions): Promise<BackendPostgres>;
24
- stop(): Promise<void>;
25
- createWorkflowRun(params: CreateWorkflowRunParams): Promise<WorkflowRun>;
26
- getWorkflowRun(params: GetWorkflowRunParams): Promise<WorkflowRun | null>;
27
- listWorkflowRuns(params: ListWorkflowRunsParams): Promise<PaginatedResponse<WorkflowRun>>;
28
- private buildListWorkflowRunsWhere;
29
- claimWorkflowRun(params: ClaimWorkflowRunParams): Promise<WorkflowRun | null>;
30
- extendWorkflowRunLease(params: ExtendWorkflowRunLeaseParams): Promise<WorkflowRun>;
31
- sleepWorkflowRun(params: SleepWorkflowRunParams): Promise<WorkflowRun>;
32
- completeWorkflowRun(params: CompleteWorkflowRunParams): Promise<WorkflowRun>;
33
- failWorkflowRun(params: FailWorkflowRunParams): Promise<WorkflowRun>;
34
- cancelWorkflowRun(params: CancelWorkflowRunParams): Promise<WorkflowRun>;
35
- createStepAttempt(params: CreateStepAttemptParams): Promise<StepAttempt>;
36
- getStepAttempt(params: GetStepAttemptParams): Promise<StepAttempt | null>;
37
- listStepAttempts(params: ListStepAttemptsParams): Promise<PaginatedResponse<StepAttempt>>;
38
- private buildListStepAttemptsWhere;
39
- private processPaginationResults;
40
- completeStepAttempt(params: CompleteStepAttemptParams): Promise<StepAttempt>;
41
- failStepAttempt(params: FailStepAttemptParams): Promise<StepAttempt>;
42
- }
43
- export {};
44
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/backend-postgres/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAWvD,UAAU,sBAAsB;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,OAAO;IAC7C,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IAKP;;;;;;;OAOG;WACU,OAAO,CAClB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,eAAe,CAAC;IAiBrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,iBAAiB,CACrB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,WAAW,CAAC;IA0CjB,cAAc,CAClB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAYxB,gBAAgB,CACpB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IA2B1C,OAAO,CAAC,0BAA0B;IA0B5B,gBAAgB,CACpB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAmDxB,sBAAsB,CAC1B,MAAM,EAAE,4BAA4B,GACnC,OAAO,CAAC,WAAW,CAAC;IAkBjB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IAwBtE,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,WAAW,CAAC;IAuBjB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;IAgEpE,iBAAiB,CACrB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,WAAW,CAAC;IA2CjB,iBAAiB,CACrB,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,WAAW,CAAC;IAoCjB,cAAc,CAClB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAWxB,gBAAgB,CACpB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IA2B1C,OAAO,CAAC,0BAA0B;IA6BlC,OAAO,CAAC,wBAAwB;IAyC1B,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,WAAW,CAAC;IA0BjB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC;CAyB3E"}