openworkflow 0.4.1 → 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 (193) hide show
  1. package/README.md +53 -48
  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 +41 -1
  11. package/dist/backend-sqlite/index.d.ts.map +1 -1
  12. package/dist/backend-sqlite/index.js +654 -1
  13. package/dist/backend-sqlite/index.js.map +1 -1
  14. package/dist/backend-sqlite/sqlite.d.ts +18 -2
  15. package/dist/backend-sqlite/sqlite.d.ts.map +1 -1
  16. package/dist/backend-sqlite/sqlite.js +20 -2
  17. package/dist/backend-sqlite/sqlite.js.map +1 -1
  18. package/dist/{core/backend.d.ts → backend.d.ts} +7 -5
  19. package/dist/backend.d.ts.map +1 -0
  20. package/dist/backend.js.map +1 -0
  21. package/dist/bin/openworkflow.d.ts +3 -0
  22. package/dist/bin/openworkflow.d.ts.map +1 -0
  23. package/dist/bin/openworkflow.js +44 -0
  24. package/dist/bin/openworkflow.js.map +1 -0
  25. package/dist/client.d.ts +141 -0
  26. package/dist/client.d.ts.map +1 -0
  27. package/dist/{sdk/sdk.js → client.js} +44 -71
  28. package/dist/client.js.map +1 -0
  29. package/dist/config.d.ts +27 -21
  30. package/dist/config.d.ts.map +1 -1
  31. package/dist/config.js +44 -36
  32. package/dist/config.js.map +1 -1
  33. package/dist/core/duration.d.ts +4 -2
  34. package/dist/core/duration.d.ts.map +1 -1
  35. package/dist/core/duration.js +3 -1
  36. package/dist/core/duration.js.map +1 -1
  37. package/dist/core/error.d.ts +14 -0
  38. package/dist/core/error.d.ts.map +1 -0
  39. package/dist/core/error.js +18 -0
  40. package/dist/core/error.js.map +1 -0
  41. package/dist/core/result.d.ts +14 -4
  42. package/dist/core/result.d.ts.map +1 -1
  43. package/dist/core/result.js +10 -0
  44. package/dist/core/result.js.map +1 -1
  45. package/dist/core/retry.d.ts +0 -9
  46. package/dist/core/retry.d.ts.map +1 -1
  47. package/dist/core/retry.js +0 -14
  48. package/dist/core/retry.js.map +1 -1
  49. package/dist/core/step.d.ts +1 -32
  50. package/dist/core/step.d.ts.map +1 -1
  51. package/dist/core/step.js +0 -35
  52. package/dist/core/step.js.map +1 -1
  53. package/dist/core/workflow.d.ts +2 -47
  54. package/dist/core/workflow.d.ts.map +1 -1
  55. package/dist/core/workflow.js +0 -44
  56. package/dist/core/workflow.js.map +1 -1
  57. package/dist/{execution/execution.d.ts → execution.d.ts} +4 -26
  58. package/dist/execution.d.ts.map +1 -0
  59. package/dist/{execution/execution.js → execution.js} +4 -4
  60. package/dist/execution.js.map +1 -0
  61. package/dist/index.d.ts +6 -9
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +4 -4
  64. package/dist/index.js.map +1 -1
  65. package/dist/internal.d.ts +8 -0
  66. package/dist/internal.d.ts.map +1 -0
  67. package/dist/internal.js +5 -0
  68. package/dist/internal.js.map +1 -0
  69. package/dist/pg/backend.d.ts +42 -0
  70. package/dist/pg/backend.d.ts.map +1 -0
  71. package/dist/pg/backend.js +534 -0
  72. package/dist/pg/backend.js.map +1 -0
  73. package/dist/pg/index.d.ts +3 -0
  74. package/dist/pg/index.d.ts.map +1 -0
  75. package/dist/pg/index.js +3 -0
  76. package/dist/pg/index.js.map +1 -0
  77. package/dist/pg/postgres.d.ts +42 -0
  78. package/dist/pg/postgres.d.ts.map +1 -0
  79. package/dist/pg/postgres.js +234 -0
  80. package/dist/pg/postgres.js.map +1 -0
  81. package/dist/pg/scripts/db-migrate.d.ts +2 -0
  82. package/dist/pg/scripts/db-migrate.d.ts.map +1 -0
  83. package/dist/pg/scripts/db-migrate.js +5 -0
  84. package/dist/pg/scripts/db-migrate.js.map +1 -0
  85. package/dist/pg/scripts/db-reset.d.ts +2 -0
  86. package/dist/pg/scripts/db-reset.d.ts.map +1 -0
  87. package/dist/pg/scripts/db-reset.js +6 -0
  88. package/dist/pg/scripts/db-reset.js.map +1 -0
  89. package/dist/pg/scripts/squawk.d.ts +2 -0
  90. package/dist/pg/scripts/squawk.d.ts.map +1 -0
  91. package/dist/pg/scripts/squawk.js +17 -0
  92. package/dist/pg/scripts/squawk.js.map +1 -0
  93. package/dist/pg/vitest.global-setup.d.ts +3 -0
  94. package/dist/pg/vitest.global-setup.d.ts.map +1 -0
  95. package/dist/pg/vitest.global-setup.js +8 -0
  96. package/dist/pg/vitest.global-setup.js.map +1 -0
  97. package/dist/registry.d.ts +27 -0
  98. package/dist/registry.d.ts.map +1 -0
  99. package/dist/registry.js +49 -0
  100. package/dist/registry.js.map +1 -0
  101. package/dist/{backend-sqlite → sqlite}/backend.d.ts +6 -4
  102. package/dist/sqlite/backend.d.ts.map +1 -0
  103. package/dist/{backend-sqlite → sqlite}/backend.js +31 -5
  104. package/dist/sqlite/backend.js.map +1 -0
  105. package/dist/sqlite/index.d.ts +3 -0
  106. package/dist/sqlite/index.d.ts.map +1 -0
  107. package/dist/sqlite/index.js +3 -0
  108. package/dist/sqlite/index.js.map +1 -0
  109. package/dist/sqlite/sqlite.d.ts +61 -0
  110. package/dist/sqlite/sqlite.d.ts.map +1 -0
  111. package/dist/sqlite/sqlite.js +247 -0
  112. package/dist/sqlite/sqlite.js.map +1 -0
  113. package/dist/testing/backend.testsuite.d.ts +20 -0
  114. package/dist/testing/backend.testsuite.d.ts.map +1 -0
  115. package/dist/{core → testing}/backend.testsuite.js +186 -53
  116. package/dist/testing/backend.testsuite.js.map +1 -0
  117. package/dist/testing/index.d.ts +2 -0
  118. package/dist/testing/index.d.ts.map +1 -0
  119. package/dist/testing/index.js +2 -0
  120. package/dist/testing/index.js.map +1 -0
  121. package/dist/tsconfig.tsbuildinfo +1 -1
  122. package/dist/{worker/worker.d.ts → worker.d.ts} +11 -4
  123. package/dist/worker.d.ts.map +1 -0
  124. package/dist/{worker/worker.js → worker.js} +20 -10
  125. package/dist/worker.js.map +1 -0
  126. package/dist/workflow.d.ts +60 -0
  127. package/dist/workflow.d.ts.map +1 -0
  128. package/dist/workflow.js +49 -0
  129. package/dist/workflow.js.map +1 -0
  130. package/package.json +13 -3
  131. package/dist/backend-sqlite/backend.d.ts.map +0 -1
  132. package/dist/backend-sqlite/backend.js.map +0 -1
  133. package/dist/config/config.d.ts +0 -102
  134. package/dist/config/config.d.ts.map +0 -1
  135. package/dist/config/config.js +0 -29
  136. package/dist/config/config.js.map +0 -1
  137. package/dist/config/index.d.ts +0 -3
  138. package/dist/config/index.d.ts.map +0 -1
  139. package/dist/config/index.js +0 -2
  140. package/dist/config/index.js.map +0 -1
  141. package/dist/core/backend-test-suite.d.ts +0 -22
  142. package/dist/core/backend-test-suite.d.ts.map +0 -1
  143. package/dist/core/backend-test-suite.js +0 -960
  144. package/dist/core/backend-test-suite.js.map +0 -1
  145. package/dist/core/backend.d.ts.map +0 -1
  146. package/dist/core/backend.js.map +0 -1
  147. package/dist/core/backend.testsuite.d.ts +0 -21
  148. package/dist/core/backend.testsuite.d.ts.map +0 -1
  149. package/dist/core/backend.testsuite.js.map +0 -1
  150. package/dist/core/duration.test.d.ts +0 -2
  151. package/dist/core/duration.test.d.ts.map +0 -1
  152. package/dist/core/duration.test.js +0 -264
  153. package/dist/core/duration.test.js.map +0 -1
  154. package/dist/core/result.test.d.ts +0 -2
  155. package/dist/core/result.test.d.ts.map +0 -1
  156. package/dist/core/result.test.js +0 -11
  157. package/dist/core/result.test.js.map +0 -1
  158. package/dist/core/retry.test.d.ts +0 -2
  159. package/dist/core/retry.test.d.ts.map +0 -1
  160. package/dist/core/retry.test.js +0 -36
  161. package/dist/core/retry.test.js.map +0 -1
  162. package/dist/core/step.test.d.ts +0 -2
  163. package/dist/core/step.test.d.ts.map +0 -1
  164. package/dist/core/step.test.js +0 -340
  165. package/dist/core/step.test.js.map +0 -1
  166. package/dist/core/workflow.test.d.ts +0 -2
  167. package/dist/core/workflow.test.d.ts.map +0 -1
  168. package/dist/core/workflow.test.js +0 -216
  169. package/dist/core/workflow.test.js.map +0 -1
  170. package/dist/execution/execution.d.ts.map +0 -1
  171. package/dist/execution/execution.js.map +0 -1
  172. package/dist/execution/execution.test.d.ts +0 -2
  173. package/dist/execution/execution.test.d.ts.map +0 -1
  174. package/dist/execution/execution.test.js +0 -382
  175. package/dist/execution/execution.test.js.map +0 -1
  176. package/dist/global.d.ts +0 -62
  177. package/dist/global.d.ts.map +0 -1
  178. package/dist/global.js +0 -78
  179. package/dist/global.js.map +0 -1
  180. package/dist/sdk/sdk.d.ts +0 -182
  181. package/dist/sdk/sdk.d.ts.map +0 -1
  182. package/dist/sdk/sdk.js.map +0 -1
  183. package/dist/sdk/sdk.test.d.ts +0 -2
  184. package/dist/sdk/sdk.test.d.ts.map +0 -1
  185. package/dist/sdk/sdk.test.js +0 -195
  186. package/dist/sdk/sdk.test.js.map +0 -1
  187. package/dist/worker/worker.d.ts.map +0 -1
  188. package/dist/worker/worker.js.map +0 -1
  189. package/dist/worker/worker.test.d.ts +0 -2
  190. package/dist/worker/worker.test.d.ts.map +0 -1
  191. package/dist/worker/worker.test.js +0 -786
  192. package/dist/worker/worker.test.js.map +0 -1
  193. /package/dist/{core/backend.js → backend.js} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"backend-test-suite.js","sourceRoot":"","sources":["../../core/backend-test-suite.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../core/backend.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../core/backend.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC"}
@@ -1,21 +0,0 @@
1
- import type { Backend } from "./backend.js";
2
- /**
3
- * Options for the Backend test suite.
4
- */
5
- export interface TestBackendOptions {
6
- /** Creates a new isolated Backend instance. Each call should return a fresh,
7
- * isolated backend (e.g., with a unique namespace, like we do with Postgres).
8
- * */
9
- setup: () => Promise<Backend>;
10
- /** Cleans up a Backend instance. */
11
- teardown: (backend: Backend) => Promise<void>;
12
- }
13
- /**
14
- * Runs the Backend test suite.
15
- *
16
- * This function wraps all the tests that verify a Backend implementation
17
- * conforms to the Backend interface contract. It uses the setup function to
18
- * create backend instances and the teardown function to clean them up.
19
- */
20
- export declare function testBackend(options: TestBackendOptions): void;
21
- //# sourceMappingURL=backend.testsuite.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"backend.testsuite.d.ts","sourceRoot":"","sources":["../../core/backend.testsuite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAM5C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;SAEK;IACL,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,oCAAoC;IACpC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CA0lC7D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"backend.testsuite.js","sourceRoot":"","sources":["../../core/backend.testsuite.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=duration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"duration.test.d.ts","sourceRoot":"","sources":["../../core/duration.test.ts"],"names":[],"mappings":""}
@@ -1,264 +0,0 @@
1
- import { parseDuration } from "./duration.js";
2
- import { ok, err } from "./result.js";
3
- import { describe, expect, test } from "vitest";
4
- describe("parseDuration", () => {
5
- describe("milliseconds", () => {
6
- test("parses integer milliseconds", () => {
7
- expect(parseDuration("100ms")).toEqual(ok(100));
8
- expect(parseDuration("1ms")).toEqual(ok(1));
9
- expect(parseDuration("5000ms")).toEqual(ok(5000));
10
- });
11
- test("parses decimal milliseconds", () => {
12
- expect(parseDuration("1.5ms")).toEqual(ok(1.5));
13
- expect(parseDuration("10.25ms")).toEqual(ok(10.25));
14
- });
15
- test("parses milliseconds with long format", () => {
16
- expect(parseDuration("53 milliseconds")).toEqual(ok(53));
17
- expect(parseDuration("17 msecs")).toEqual(ok(17));
18
- expect(parseDuration("100 millisecond")).toEqual(ok(100));
19
- });
20
- test("parses numbers without unit as milliseconds", () => {
21
- expect(parseDuration("100")).toEqual(ok(100));
22
- expect(parseDuration("1000")).toEqual(ok(1000));
23
- });
24
- test("parses negative milliseconds", () => {
25
- expect(parseDuration("-100ms")).toEqual(ok(-100));
26
- expect(parseDuration("-100 milliseconds")).toEqual(ok(-100));
27
- });
28
- });
29
- describe("seconds", () => {
30
- test("parses integer seconds", () => {
31
- expect(parseDuration("1s")).toEqual(ok(1000));
32
- expect(parseDuration("5s")).toEqual(ok(5000));
33
- expect(parseDuration("60s")).toEqual(ok(60_000));
34
- });
35
- test("parses decimal seconds", () => {
36
- expect(parseDuration("1.5s")).toEqual(ok(1500));
37
- expect(parseDuration("0.1s")).toEqual(ok(100));
38
- expect(parseDuration("2.5s")).toEqual(ok(2500));
39
- expect(parseDuration("0.001s")).toEqual(ok(1));
40
- });
41
- test("parses seconds with long format", () => {
42
- expect(parseDuration("1 sec")).toEqual(ok(1000));
43
- expect(parseDuration("5 seconds")).toEqual(ok(5000));
44
- expect(parseDuration("10 secs")).toEqual(ok(10_000));
45
- });
46
- test("parses seconds with leading decimal", () => {
47
- expect(parseDuration(".5s")).toEqual(ok(500));
48
- expect(parseDuration(".5ms")).toEqual(ok(0.5));
49
- });
50
- test("parses negative seconds", () => {
51
- expect(parseDuration("-5s")).toEqual(ok(-5000));
52
- expect(parseDuration("-.5s")).toEqual(ok(-500));
53
- });
54
- });
55
- describe("minutes", () => {
56
- test("parses integer minutes", () => {
57
- expect(parseDuration("1m")).toEqual(ok(60 * 1000));
58
- expect(parseDuration("5m")).toEqual(ok(5 * 60 * 1000));
59
- expect(parseDuration("30m")).toEqual(ok(30 * 60 * 1000));
60
- });
61
- test("parses decimal minutes", () => {
62
- expect(parseDuration("1.5m")).toEqual(ok(1.5 * 60 * 1000));
63
- expect(parseDuration("0.5m")).toEqual(ok(30 * 1000));
64
- });
65
- test("parses minutes with long format", () => {
66
- expect(parseDuration("1 min")).toEqual(ok(60_000));
67
- expect(parseDuration("5 minutes")).toEqual(ok(5 * 60 * 1000));
68
- expect(parseDuration("10 mins")).toEqual(ok(10 * 60 * 1000));
69
- });
70
- });
71
- describe("hours", () => {
72
- test("parses integer hours", () => {
73
- expect(parseDuration("1h")).toEqual(ok(60 * 60 * 1000));
74
- expect(parseDuration("2h")).toEqual(ok(2 * 60 * 60 * 1000));
75
- expect(parseDuration("24h")).toEqual(ok(24 * 60 * 60 * 1000));
76
- });
77
- test("parses decimal hours", () => {
78
- expect(parseDuration("1.5h")).toEqual(ok(1.5 * 60 * 60 * 1000));
79
- expect(parseDuration("0.25h")).toEqual(ok(15 * 60 * 1000));
80
- });
81
- test("parses hours with long format", () => {
82
- expect(parseDuration("1 hr")).toEqual(ok(3_600_000));
83
- expect(parseDuration("2 hours")).toEqual(ok(2 * 60 * 60 * 1000));
84
- expect(parseDuration("3 hrs")).toEqual(ok(3 * 60 * 60 * 1000));
85
- expect(parseDuration("1.5 hours")).toEqual(ok(5_400_000));
86
- });
87
- test("parses negative hours", () => {
88
- expect(parseDuration("-1.5h")).toEqual(ok(-5_400_000));
89
- expect(parseDuration("-10.5h")).toEqual(ok(-37_800_000));
90
- expect(parseDuration("-.5h")).toEqual(ok(-1_800_000));
91
- expect(parseDuration("-1.5 hours")).toEqual(ok(-5_400_000));
92
- expect(parseDuration("-.5 hr")).toEqual(ok(-1_800_000));
93
- });
94
- });
95
- describe("days", () => {
96
- test("parses integer days", () => {
97
- expect(parseDuration("1d")).toEqual(ok(24 * 60 * 60 * 1000));
98
- expect(parseDuration("7d")).toEqual(ok(7 * 24 * 60 * 60 * 1000));
99
- expect(parseDuration("30d")).toEqual(ok(30 * 24 * 60 * 60 * 1000));
100
- });
101
- test("parses decimal days", () => {
102
- expect(parseDuration("1.5d")).toEqual(ok(1.5 * 24 * 60 * 60 * 1000));
103
- expect(parseDuration("0.5d")).toEqual(ok(12 * 60 * 60 * 1000));
104
- });
105
- test("parses days with long format", () => {
106
- expect(parseDuration("2 days")).toEqual(ok(172_800_000));
107
- expect(parseDuration("1 day")).toEqual(ok(24 * 60 * 60 * 1000));
108
- });
109
- });
110
- describe("weeks", () => {
111
- test("parses integer weeks", () => {
112
- expect(parseDuration("1w")).toEqual(ok(7 * 24 * 60 * 60 * 1000));
113
- expect(parseDuration("2w")).toEqual(ok(2 * 7 * 24 * 60 * 60 * 1000));
114
- expect(parseDuration("3w")).toEqual(ok(1_814_400_000));
115
- });
116
- test("parses decimal weeks", () => {
117
- expect(parseDuration("1.5w")).toEqual(ok(1.5 * 7 * 24 * 60 * 60 * 1000));
118
- expect(parseDuration("0.5w")).toEqual(ok(3.5 * 24 * 60 * 60 * 1000));
119
- });
120
- test("parses weeks with long format", () => {
121
- expect(parseDuration("1 week")).toEqual(ok(604_800_000));
122
- expect(parseDuration("2 weeks")).toEqual(ok(2 * 7 * 24 * 60 * 60 * 1000));
123
- });
124
- });
125
- describe("months", () => {
126
- test("parses integer months", () => {
127
- expect(parseDuration("1mo")).toEqual(ok(2_629_800_000));
128
- expect(parseDuration("2mo")).toEqual(ok(2 * 2_629_800_000));
129
- expect(parseDuration("6mo")).toEqual(ok(6 * 2_629_800_000));
130
- });
131
- test("parses decimal months", () => {
132
- expect(parseDuration("1.5mo")).toEqual(ok(1.5 * 2_629_800_000));
133
- expect(parseDuration("0.5mo")).toEqual(ok(0.5 * 2_629_800_000));
134
- });
135
- test("parses months with long format", () => {
136
- expect(parseDuration("1 month")).toEqual(ok(2_629_800_000));
137
- expect(parseDuration("2 months")).toEqual(ok(2 * 2_629_800_000));
138
- });
139
- });
140
- describe("years", () => {
141
- test("parses integer years", () => {
142
- expect(parseDuration("1y")).toEqual(ok(31_557_600_000));
143
- expect(parseDuration("2y")).toEqual(ok(2 * 31_557_600_000));
144
- expect(parseDuration("5y")).toEqual(ok(5 * 31_557_600_000));
145
- });
146
- test("parses decimal years", () => {
147
- expect(parseDuration("1.5y")).toEqual(ok(1.5 * 31_557_600_000));
148
- expect(parseDuration("0.5y")).toEqual(ok(0.5 * 31_557_600_000));
149
- });
150
- test("parses years with long format", () => {
151
- expect(parseDuration("1 year")).toEqual(ok(31_557_600_000));
152
- expect(parseDuration("2 years")).toEqual(ok(2 * 31_557_600_000));
153
- expect(parseDuration("1 yr")).toEqual(ok(31_557_600_000));
154
- expect(parseDuration("2 yrs")).toEqual(ok(2 * 31_557_600_000));
155
- });
156
- });
157
- describe("case insensitivity", () => {
158
- test("parses case-insensitive units", () => {
159
- expect(parseDuration("5S")).toEqual(ok(5000));
160
- expect(parseDuration("5M")).toEqual(ok(5 * 60 * 1000));
161
- expect(parseDuration("5H")).toEqual(ok(5 * 60 * 60 * 1000));
162
- expect(parseDuration("5D")).toEqual(ok(5 * 24 * 60 * 60 * 1000));
163
- expect(parseDuration("5W")).toEqual(ok(5 * 7 * 24 * 60 * 60 * 1000));
164
- });
165
- test("parses case-insensitive long format", () => {
166
- // @ts-expect-error - mixed-case (not in type but accepted at runtime)
167
- expect(parseDuration("53 YeArS")).toEqual(ok(1_672_552_800_000));
168
- // @ts-expect-error - mixed-case (not in type but accepted at runtime)
169
- expect(parseDuration("53 WeEkS")).toEqual(ok(32_054_400_000));
170
- // @ts-expect-error - mixed-case (not in type but accepted at runtime)
171
- expect(parseDuration("53 DaYS")).toEqual(ok(4_579_200_000));
172
- // @ts-expect-error - mixed-case (not in type but accepted at runtime)
173
- expect(parseDuration("53 HoUrs")).toEqual(ok(190_800_000));
174
- // @ts-expect-error - mixed-case (not in type but accepted at runtime)
175
- expect(parseDuration("53 MiLliSeCondS")).toEqual(ok(53));
176
- });
177
- });
178
- describe("whitespace handling", () => {
179
- test("parses with single space", () => {
180
- expect(parseDuration("1 s")).toEqual(ok(1000));
181
- expect(parseDuration("5 m")).toEqual(ok(5 * 60 * 1000));
182
- expect(parseDuration("2 h")).toEqual(ok(2 * 60 * 60 * 1000));
183
- });
184
- test("parses with multiple spaces", () => {
185
- expect(parseDuration("1 s")).toEqual(ok(1000));
186
- expect(parseDuration("5 m")).toEqual(ok(5 * 60 * 1000));
187
- });
188
- });
189
- describe("edge cases", () => {
190
- test("parses zero values", () => {
191
- expect(parseDuration("0ms")).toEqual(ok(0));
192
- expect(parseDuration("0s")).toEqual(ok(0));
193
- expect(parseDuration("0m")).toEqual(ok(0));
194
- expect(parseDuration("0h")).toEqual(ok(0));
195
- expect(parseDuration("0d")).toEqual(ok(0));
196
- expect(parseDuration("0")).toEqual(ok(0));
197
- });
198
- test("parses very small decimals", () => {
199
- expect(parseDuration("0.001s")).toEqual(ok(1));
200
- expect(parseDuration("0.1ms")).toEqual(ok(0.1));
201
- });
202
- test("parses large numbers", () => {
203
- expect(parseDuration("999999ms")).toEqual(ok(999_999));
204
- expect(parseDuration("1000s")).toEqual(ok(1_000_000));
205
- });
206
- });
207
- describe("error cases", () => {
208
- test("returns error on invalid format", () => {
209
- // @ts-expect-error - invalid format
210
- expect(parseDuration("invalid")).toEqual(err(new Error('Invalid duration format: "invalid"')));
211
- // @ts-expect-error - invalid format
212
- expect(parseDuration("10-.5")).toEqual(err(new Error('Invalid duration format: "10-.5"')));
213
- // @ts-expect-error - invalid format
214
- expect(parseDuration("foo")).toEqual(err(new Error('Invalid duration format: "foo"')));
215
- });
216
- test("returns error on empty string", () => {
217
- // @ts-expect-error - empty string
218
- expect(parseDuration("")).toEqual(err(new Error('Invalid duration format: ""')));
219
- });
220
- test("returns error on missing number", () => {
221
- // @ts-expect-error - unit without number
222
- expect(parseDuration("ms")).toEqual(err(new Error('Invalid duration format: "ms"')));
223
- // @ts-expect-error - unit without number
224
- expect(parseDuration("s")).toEqual(err(new Error('Invalid duration format: "s"')));
225
- // @ts-expect-error - unit without number
226
- expect(parseDuration("m")).toEqual(err(new Error('Invalid duration format: "m"')));
227
- // @ts-expect-error - unit without number
228
- expect(parseDuration("h")).toEqual(err(new Error('Invalid duration format: "h"')));
229
- });
230
- test("returns error on unknown unit", () => {
231
- // @ts-expect-error - unknown unit
232
- expect(parseDuration("100x")).toEqual(err(new Error('Invalid duration format: "100x"')));
233
- // @ts-expect-error - unknown unit
234
- expect(parseDuration("5z")).toEqual(err(new Error('Invalid duration format: "5z"')));
235
- });
236
- test("returns error on multiple units", () => {
237
- // @ts-expect-error - multiple units
238
- expect(parseDuration("1h30m")).toEqual(err(new Error('Invalid duration format: "1h30m"')));
239
- // @ts-expect-error - multiple units
240
- expect(parseDuration("5s100ms")).toEqual(err(new Error('Invalid duration format: "5s100ms"')));
241
- });
242
- test("returns error on leading/trailing spaces", () => {
243
- expect(parseDuration(" 5s")).toEqual(err(new Error('Invalid duration format: " 5s"')));
244
- // @ts-expect-error - trailing space
245
- expect(parseDuration("5s ")).toEqual(err(new Error('Invalid duration format: "5s "')));
246
- });
247
- test("returns error on special characters", () => {
248
- // @ts-expect-error - special characters
249
- expect(parseDuration("5s!")).toEqual(err(new Error('Invalid duration format: "5s!"')));
250
- // @ts-expect-error - special characters
251
- expect(parseDuration("@5s")).toEqual(err(new Error('Invalid duration format: "@5s"')));
252
- });
253
- test("returns error on non-string types", () => {
254
- expect(parseDuration(undefined)).toEqual(err(new TypeError("Invalid duration format: expected a string but received undefined")));
255
- expect(parseDuration(null)).toEqual(err(new TypeError("Invalid duration format: expected a string but received object")));
256
- expect(parseDuration([])).toEqual(err(new TypeError("Invalid duration format: expected a string but received object")));
257
- expect(parseDuration({})).toEqual(err(new TypeError("Invalid duration format: expected a string but received object")));
258
- expect(parseDuration(Number.NaN)).toEqual(err(new TypeError("Invalid duration format: expected a string but received number")));
259
- expect(parseDuration(Number.POSITIVE_INFINITY)).toEqual(err(new TypeError("Invalid duration format: expected a string but received number")));
260
- expect(parseDuration(Number.NEGATIVE_INFINITY)).toEqual(err(new TypeError("Invalid duration format: expected a string but received number")));
261
- });
262
- });
263
- });
264
- //# sourceMappingURL=duration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"duration.test.js","sourceRoot":"","sources":["../../core/duration.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=result.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"result.test.d.ts","sourceRoot":"","sources":["../../core/result.test.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import { ok, err } from "./result.js";
2
- import { describe, expect, test } from "vitest";
3
- describe("Result helpers", () => {
4
- test("ok creates success result", () => {
5
- expect(ok(123)).toEqual({ ok: true, value: 123 });
6
- });
7
- test("err creates error result", () => {
8
- expect(err("oops")).toEqual({ ok: false, error: "oops" });
9
- });
10
- });
11
- //# sourceMappingURL=result.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"result.test.js","sourceRoot":"","sources":["../../core/result.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEhD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=retry.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.test.d.ts","sourceRoot":"","sources":["../../core/retry.test.ts"],"names":[],"mappings":""}
@@ -1,36 +0,0 @@
1
- import { calculateRetryDelayMs, DEFAULT_RETRY_POLICY, shouldRetry, } from "./retry.js";
2
- import { describe, expect, test } from "vitest";
3
- describe("calculateRetryDelayMs", () => {
4
- test("calculates exponential backoff correctly", () => {
5
- expect(calculateRetryDelayMs(1)).toBe(1000);
6
- expect(calculateRetryDelayMs(2)).toBe(2000);
7
- expect(calculateRetryDelayMs(3)).toBe(4000);
8
- expect(calculateRetryDelayMs(4)).toBe(8000);
9
- expect(calculateRetryDelayMs(5)).toBe(16_000);
10
- expect(calculateRetryDelayMs(6)).toBe(32_000);
11
- expect(calculateRetryDelayMs(7)).toBe(64_000);
12
- });
13
- test("caps delay at maximum interval", () => {
14
- const { maximumIntervalMs } = DEFAULT_RETRY_POLICY;
15
- // attempt 8: 1s * 2^7 = 128s = 128000ms, but capped at 100000ms (max)
16
- expect(calculateRetryDelayMs(8)).toBe(maximumIntervalMs);
17
- // attempts 10 & 100: should still be capped
18
- expect(calculateRetryDelayMs(10)).toBe(maximumIntervalMs);
19
- expect(calculateRetryDelayMs(100)).toBe(maximumIntervalMs);
20
- });
21
- test("handles edge cases", () => {
22
- // attempt 0: 1s * 2^-1 = 0.5s = 500ms
23
- expect(calculateRetryDelayMs(0)).toBe(500);
24
- expect(calculateRetryDelayMs(Infinity)).toBe(100_000);
25
- });
26
- });
27
- describe("shouldRetry", () => {
28
- test("always returns true with default policy (infinite retries)", () => {
29
- const retryPolicy = DEFAULT_RETRY_POLICY;
30
- expect(shouldRetry(retryPolicy, 1)).toBe(true);
31
- expect(shouldRetry(retryPolicy, 10)).toBe(true);
32
- expect(shouldRetry(retryPolicy, 100)).toBe(true);
33
- expect(shouldRetry(retryPolicy, 1000)).toBe(true);
34
- });
35
- });
36
- //# sourceMappingURL=retry.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"retry.test.js","sourceRoot":"","sources":["../../core/retry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEhD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC1C,MAAM,EAAE,iBAAiB,EAAE,GAAG,oBAAoB,CAAC;QAEnD,sEAAsE;QACtE,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEzD,4CAA4C;QAC5C,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,sCAAsC;QACtC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACtE,MAAM,WAAW,GAAG,oBAAoB,CAAC;QACzC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=step.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"step.test.d.ts","sourceRoot":"","sources":["../../core/step.test.ts"],"names":[],"mappings":""}