@temelj/workflow 0.0.0-alpha.3 → 0.0.0-alpha.4

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 (461) hide show
  1. package/README.md +394 -2
  2. package/dist/attributes.d.mts +11 -9
  3. package/dist/attributes.mjs +23 -5
  4. package/dist/bundle.d.mts +5 -23
  5. package/dist/bundle.mjs +2 -18
  6. package/dist/client/create.d.mts +26 -23
  7. package/dist/client/create.mjs +26 -32
  8. package/dist/client/facades.d.mts +12 -18
  9. package/dist/client/facades.mjs +102 -93
  10. package/dist/client/mod.mjs +1 -2
  11. package/dist/client/run-handle.d.mts +17 -54
  12. package/dist/client/run-handle.mjs +35 -105
  13. package/dist/client/worker-options.d.mts +8 -8
  14. package/dist/client/worker-options.mjs +11 -11
  15. package/dist/cloudflare/cloudflare.d.mts +4 -5
  16. package/dist/cloudflare/codec.d.mts +28 -13
  17. package/dist/cloudflare/codec.mjs +40 -17
  18. package/dist/cloudflare/entrypoint.d.mts +3 -4
  19. package/dist/cloudflare/entrypoint.mjs +4 -3
  20. package/dist/cloudflare/execution.d.mts +3 -4
  21. package/dist/cloudflare/execution.mjs +20 -13
  22. package/dist/cloudflare/host.d.mts +6 -7
  23. package/dist/cloudflare/host.mjs +7 -6
  24. package/dist/cloudflare/mod.d.mts +4 -4
  25. package/dist/cloudflare/mod.mjs +2 -2
  26. package/dist/cloudflare/name.d.mts +3 -4
  27. package/dist/cloudflare/name.mjs +3 -3
  28. package/dist/cloudflare/registry.d.mts +3 -23
  29. package/dist/cloudflare/registry.mjs +2 -20
  30. package/dist/cloudflare/runtime.d.mts +11 -18
  31. package/dist/cloudflare/runtime.mjs +52 -73
  32. package/dist/cloudflare/step.d.mts +6 -6
  33. package/dist/cloudflare/step.mjs +69 -57
  34. package/dist/cloudflare/types.d.mts +17 -36
  35. package/dist/collection.d.mts +8 -11
  36. package/dist/collection.mjs +10 -14
  37. package/dist/compiled-function.d.mts +14 -19
  38. package/dist/compiled-function.mjs +12 -24
  39. package/dist/compiled.d.mts +4 -0
  40. package/dist/compiled.mjs +4 -0
  41. package/dist/compiler/ast.d.mts +26 -0
  42. package/dist/{vite → compiler}/ast.mjs +24 -16
  43. package/dist/{vite → compiler}/error.d.mts +4 -6
  44. package/dist/{vite → compiler}/error.mjs +14 -16
  45. package/dist/compiler/manifest.d.mts +6 -0
  46. package/dist/{vite → compiler}/manifest.mjs +9 -7
  47. package/dist/compiler/plugin.d.mts +7 -0
  48. package/dist/{vite → compiler}/plugin.mjs +45 -46
  49. package/dist/compiler/safety.d.mts +12 -0
  50. package/dist/{vite → compiler}/safety.mjs +5 -11
  51. package/dist/{vite → compiler}/source-edit.d.mts +3 -4
  52. package/dist/{vite → compiler}/source-edit.mjs +1 -1
  53. package/dist/{vite → compiler}/source-map.d.mts +4 -3
  54. package/dist/{vite → compiler}/source-map.mjs +3 -3
  55. package/dist/compiler/source.d.mts +7 -0
  56. package/dist/{vite → compiler}/source.mjs +1 -1
  57. package/dist/compiler/transform.d.mts +12 -0
  58. package/dist/{vite → compiler}/transform.mjs +37 -38
  59. package/dist/definition.d.mts +17 -25
  60. package/dist/definition.mjs +19 -35
  61. package/dist/engine/child-workflow.d.mts +5 -9
  62. package/dist/engine/child-workflow.mjs +46 -67
  63. package/dist/engine/command-identity.d.mts +5 -6
  64. package/dist/engine/command-identity.mjs +9 -5
  65. package/dist/engine/context.d.mts +17 -0
  66. package/dist/engine/create.d.mts +36 -94
  67. package/dist/engine/create.mjs +55 -260
  68. package/dist/engine/deterministic.d.mts +6 -11
  69. package/dist/engine/deterministic.mjs +47 -68
  70. package/dist/engine/durable-command.d.mts +5 -5
  71. package/dist/engine/durable-command.mjs +2 -2
  72. package/dist/engine/execution-service.d.mts +20 -24
  73. package/dist/engine/execution-service.mjs +54 -52
  74. package/dist/engine/hooks.d.mts +17 -39
  75. package/dist/engine/hooks.mjs +73 -94
  76. package/dist/engine/inspection.d.mts +23 -15
  77. package/dist/engine/inspection.mjs +55 -29
  78. package/dist/engine/lifecycle.d.mts +6 -12
  79. package/dist/engine/lifecycle.mjs +5 -5
  80. package/dist/engine/lock-replay.d.mts +8 -15
  81. package/dist/engine/lock-replay.mjs +12 -25
  82. package/dist/engine/lock.d.mts +10 -15
  83. package/dist/engine/lock.mjs +65 -51
  84. package/dist/engine/message.d.mts +14 -34
  85. package/dist/engine/message.mjs +94 -127
  86. package/dist/engine/observation.d.mts +9 -11
  87. package/dist/engine/observation.mjs +18 -27
  88. package/dist/engine/replay.d.mts +18 -19
  89. package/dist/engine/replay.mjs +32 -56
  90. package/dist/engine/resume.d.mts +16 -0
  91. package/dist/engine/resume.mjs +24 -0
  92. package/dist/engine/retry.d.mts +15 -19
  93. package/dist/engine/retry.mjs +17 -17
  94. package/dist/engine/run-data.d.mts +4 -8
  95. package/dist/engine/run-data.mjs +24 -22
  96. package/dist/engine/run-service.d.mts +24 -33
  97. package/dist/engine/run-service.mjs +125 -93
  98. package/dist/engine/run-utils.d.mts +11 -13
  99. package/dist/engine/run-utils.mjs +23 -46
  100. package/dist/engine/schedule.d.mts +8 -22
  101. package/dist/engine/schedule.mjs +37 -34
  102. package/dist/engine/serialization.d.mts +9 -6
  103. package/dist/engine/serialization.mjs +30 -21
  104. package/dist/engine/signals.d.mts +23 -0
  105. package/dist/engine/signals.mjs +41 -0
  106. package/dist/engine/start.d.mts +18 -0
  107. package/dist/engine/start.mjs +88 -0
  108. package/dist/engine/state.d.mts +37 -67
  109. package/dist/engine/state.mjs +119 -280
  110. package/dist/engine/step-api.d.mts +5 -8
  111. package/dist/engine/step-api.mjs +16 -16
  112. package/dist/engine/stream-reader.d.mts +12 -0
  113. package/dist/engine/stream-reader.mjs +154 -0
  114. package/dist/engine/stream.d.mts +9 -54
  115. package/dist/engine/stream.mjs +54 -196
  116. package/dist/engine/summary/recovery.d.mts +35 -0
  117. package/dist/engine/summary/recovery.mjs +363 -0
  118. package/dist/engine/summary/runs.d.mts +43 -0
  119. package/dist/engine/summary/runs.mjs +294 -0
  120. package/dist/engine/summary/step-attempts.d.mts +5 -10
  121. package/dist/engine/summary/step-attempts.mjs +157 -36
  122. package/dist/engine/summary/tally.d.mts +44 -0
  123. package/dist/engine/summary/tally.mjs +142 -0
  124. package/dist/engine/task.d.mts +4 -5
  125. package/dist/engine/task.mjs +40 -48
  126. package/dist/errors/base.d.mts +17 -77
  127. package/dist/errors/base.mjs +26 -327
  128. package/dist/errors/capability.d.mts +3 -6
  129. package/dist/errors/capability.mjs +4 -8
  130. package/dist/errors/codes.d.mts +116 -0
  131. package/dist/{types/error-code.mjs → errors/codes.mjs} +2 -17
  132. package/dist/errors/definition.d.mts +3 -17
  133. package/dist/errors/definition.mjs +5 -42
  134. package/dist/errors/failures.d.mts +17 -51
  135. package/dist/errors/failures.mjs +35 -102
  136. package/dist/errors/hook.d.mts +5 -9
  137. package/dist/errors/hook.mjs +4 -16
  138. package/dist/errors/implementation.d.mts +3 -6
  139. package/dist/errors/implementation.mjs +7 -12
  140. package/dist/errors/lock.d.mts +7 -20
  141. package/dist/errors/lock.mjs +8 -44
  142. package/dist/errors/message.d.mts +14 -59
  143. package/dist/errors/message.mjs +13 -39
  144. package/dist/errors/mod.d.mts +4 -5
  145. package/dist/errors/mod.mjs +5 -7
  146. package/dist/errors/records.d.mts +10 -4
  147. package/dist/errors/records.mjs +256 -256
  148. package/dist/errors/run.d.mts +27 -68
  149. package/dist/errors/run.mjs +31 -85
  150. package/dist/errors/schedule.d.mts +7 -18
  151. package/dist/errors/schedule.mjs +7 -39
  152. package/dist/errors/step.d.mts +12 -45
  153. package/dist/errors/step.mjs +13 -34
  154. package/dist/errors/stream.d.mts +8 -16
  155. package/dist/errors/stream.mjs +7 -41
  156. package/dist/esbuild.d.mts +6 -4
  157. package/dist/esbuild.mjs +2 -1
  158. package/dist/events/descriptors.d.mts +12 -241
  159. package/dist/events/descriptors.mjs +12 -5
  160. package/dist/history/projection.d.mts +4 -6
  161. package/dist/history/projection.mjs +22 -26
  162. package/dist/history/replay-projection.d.mts +44 -48
  163. package/dist/history/replay-projection.mjs +41 -50
  164. package/dist/history/{mod.d.mts → replay.d.mts} +16 -21
  165. package/dist/history/{mod.mjs → replay.mjs} +21 -25
  166. package/dist/history/sequencer.d.mts +10 -11
  167. package/dist/history/sequencer.mjs +11 -7
  168. package/dist/history/step-attempts.d.mts +4 -7
  169. package/dist/history/step-attempts.mjs +8 -9
  170. package/dist/history/timeline.d.mts +4 -13
  171. package/dist/history/timeline.mjs +46 -265
  172. package/dist/history/validator.d.mts +5 -7
  173. package/dist/history/validator.mjs +9 -24
  174. package/dist/hook-token.d.mts +7 -0
  175. package/dist/hook-token.mjs +32 -0
  176. package/dist/ids.d.mts +8 -0
  177. package/dist/ids.mjs +21 -0
  178. package/dist/message-options.d.mts +11 -5
  179. package/dist/message-options.mjs +9 -7
  180. package/dist/mod.d.mts +32 -36
  181. package/dist/mod.mjs +9 -13
  182. package/dist/otel/metrics.d.mts +31 -0
  183. package/dist/otel/metrics.mjs +60 -0
  184. package/dist/otel/mod.d.mts +3 -0
  185. package/dist/otel/mod.mjs +3 -0
  186. package/dist/otel/spans.d.mts +24 -0
  187. package/dist/otel/spans.mjs +218 -0
  188. package/dist/otel/support.d.mts +15 -8
  189. package/dist/otel/support.mjs +18 -40
  190. package/dist/{otel.d.mts → otel/telemetry.d.mts} +5 -6
  191. package/dist/otel/telemetry.mjs +305 -0
  192. package/dist/pagination.d.mts +6 -12
  193. package/dist/pagination.mjs +10 -14
  194. package/dist/registry.d.mts +8 -5
  195. package/dist/registry.mjs +19 -10
  196. package/dist/rolldown.d.mts +6 -4
  197. package/dist/rolldown.mjs +2 -1
  198. package/dist/rollup.d.mts +6 -4
  199. package/dist/rollup.mjs +2 -1
  200. package/dist/rspack.d.mts +6 -4
  201. package/dist/rspack.mjs +2 -1
  202. package/dist/run-status.d.mts +29 -0
  203. package/dist/run-status.mjs +42 -0
  204. package/dist/schema/common.d.mts +22 -0
  205. package/dist/schema/common.mjs +54 -0
  206. package/dist/schema/error.d.mts +17 -0
  207. package/dist/schema/error.mjs +39 -0
  208. package/dist/schema/events.d.mts +446 -0
  209. package/dist/schema/events.mjs +235 -0
  210. package/dist/schema/pagination.d.mts +5 -0
  211. package/dist/schema/pagination.mjs +11 -0
  212. package/dist/schema/persisted-value.d.mts +8 -0
  213. package/dist/schema/persisted-value.mjs +94 -0
  214. package/dist/schema/run.d.mts +51 -0
  215. package/dist/schema/run.mjs +88 -0
  216. package/dist/schema/store.d.mts +94 -0
  217. package/dist/schema/store.mjs +116 -0
  218. package/dist/step-definition.d.mts +4 -9
  219. package/dist/step-definition.mjs +2 -2
  220. package/dist/store/capabilities.d.mts +8 -9
  221. package/dist/store/capabilities.mjs +7 -7
  222. package/dist/store/cleanup.d.mts +9 -14
  223. package/dist/store/cleanup.mjs +86 -85
  224. package/dist/store/create.d.mts +28 -29
  225. package/dist/store/create.mjs +10 -11
  226. package/dist/store/events.d.mts +48 -0
  227. package/dist/store/events.mjs +263 -0
  228. package/dist/store/indexes.d.mts +25 -0
  229. package/dist/store/indexes.mjs +282 -0
  230. package/dist/store/instrumentation.d.mts +2 -3
  231. package/dist/store/instrumentation.mjs +30 -30
  232. package/dist/store/lock.d.mts +4 -5
  233. package/dist/store/lock.mjs +5 -7
  234. package/dist/store/materialization.d.mts +10 -17
  235. package/dist/store/materialization.mjs +39 -33
  236. package/dist/store/mod.d.mts +3 -3
  237. package/dist/store/mod.mjs +2 -2
  238. package/dist/store/query.d.mts +13 -17
  239. package/dist/store/query.mjs +13 -13
  240. package/dist/store/run.d.mts +25 -34
  241. package/dist/store/run.mjs +67 -108
  242. package/dist/store/schedule.d.mts +6 -8
  243. package/dist/store/schedule.mjs +11 -11
  244. package/dist/store/step-attempt.d.mts +9 -12
  245. package/dist/store/step-attempt.mjs +9 -9
  246. package/dist/store/storage-value.d.mts +3 -3
  247. package/dist/store/storage-value.mjs +17 -1
  248. package/dist/store/validation.d.mts +17 -20
  249. package/dist/store/validation.mjs +30 -33
  250. package/dist/store-keys.d.mts +35 -47
  251. package/dist/store-keys.mjs +9 -17
  252. package/dist/telemetry.d.mts +16 -16
  253. package/dist/telemetry.mjs +3 -3
  254. package/dist/temporal.d.mts +11 -16
  255. package/dist/temporal.mjs +8 -9
  256. package/dist/timer.d.mts +12 -10
  257. package/dist/timer.mjs +11 -3
  258. package/dist/types/cleanup.d.mts +13 -50
  259. package/dist/types/cleanup.mjs +1 -22
  260. package/dist/types/client.d.mts +101 -162
  261. package/dist/types/{vite.d.mts → compiler.d.mts} +17 -24
  262. package/dist/types/compiler.mjs +1 -0
  263. package/dist/types/definition.d.mts +22 -34
  264. package/dist/types/engine-options.d.mts +10 -17
  265. package/dist/types/engine.d.mts +15 -274
  266. package/dist/types/error.d.mts +15 -217
  267. package/dist/types/error.mjs +1 -48
  268. package/dist/types/events.d.mts +59 -2730
  269. package/dist/types/events.mjs +1 -283
  270. package/dist/types/hook.d.mts +27 -85
  271. package/dist/types/hook.mjs +1 -66
  272. package/dist/types/ids.d.mts +9 -0
  273. package/dist/types/ids.mjs +1 -0
  274. package/dist/types/lock.d.mts +8 -26
  275. package/dist/types/lock.mjs +1 -18
  276. package/dist/types/message.d.mts +29 -43
  277. package/dist/types/observation.d.mts +43 -58
  278. package/dist/types/pagination.d.mts +6 -22
  279. package/dist/types/pagination.mjs +1 -13
  280. package/dist/types/result.d.mts +11 -43
  281. package/dist/types/retry.d.mts +7 -14
  282. package/dist/types/run-list.d.mts +9 -11
  283. package/dist/types/run-options.d.mts +25 -32
  284. package/dist/types/run.d.mts +35 -315
  285. package/dist/types/run.mjs +1 -207
  286. package/dist/types/runtime.d.mts +33 -145
  287. package/dist/types/runtime.mjs +1 -21
  288. package/dist/types/schedule.d.mts +13 -72
  289. package/dist/types/schedule.mjs +1 -48
  290. package/dist/types/step-attempts.d.mts +65 -261
  291. package/dist/types/step-attempts.mjs +1 -43
  292. package/dist/types/step.d.mts +66 -77
  293. package/dist/types/step.mjs +1 -5
  294. package/dist/types/store.d.mts +50 -182
  295. package/dist/types/stream.d.mts +19 -40
  296. package/dist/types/summary.d.mts +174 -278
  297. package/dist/types/telemetry.d.mts +23 -28
  298. package/dist/types/telemetry.mjs +1 -9
  299. package/dist/types/timeline.d.mts +46 -233
  300. package/dist/types/worker.d.mts +22 -29
  301. package/dist/values.d.mts +15 -0
  302. package/dist/values.mjs +57 -0
  303. package/dist/vite.d.mts +5 -6
  304. package/dist/vite.mjs +3 -4
  305. package/dist/webpack.d.mts +6 -4
  306. package/dist/webpack.mjs +2 -1
  307. package/dist/worker/error.d.mts +2 -9
  308. package/dist/worker/error.mjs +20 -32
  309. package/dist/worker/missing-implementation.d.mts +19 -0
  310. package/dist/worker/missing-implementation.mjs +62 -0
  311. package/dist/worker/worker.d.mts +18 -0
  312. package/dist/{worker.mjs → worker/worker.mjs} +64 -118
  313. package/package.json +28 -47
  314. package/dist/engine/execution-api.d.mts +0 -29
  315. package/dist/engine/execution-api.mjs +0 -33
  316. package/dist/engine/inspection-api.d.mts +0 -34
  317. package/dist/engine/inspection-api.mjs +0 -78
  318. package/dist/engine/mod.d.mts +0 -4
  319. package/dist/engine/mod.mjs +0 -2
  320. package/dist/engine/recovery.d.mts +0 -26
  321. package/dist/engine/recovery.mjs +0 -92
  322. package/dist/engine/retry-policy.d.mts +0 -4
  323. package/dist/engine/retry-policy.mjs +0 -4
  324. package/dist/engine/start-api.d.mts +0 -30
  325. package/dist/engine/start-api.mjs +0 -99
  326. package/dist/engine/summary/active-events.d.mts +0 -34
  327. package/dist/engine/summary/active-events.mjs +0 -69
  328. package/dist/engine/summary/child-workflow-runs.d.mts +0 -24
  329. package/dist/engine/summary/child-workflow-runs.mjs +0 -138
  330. package/dist/engine/summary/child-workflow-waits.d.mts +0 -21
  331. package/dist/engine/summary/child-workflow-waits.mjs +0 -67
  332. package/dist/engine/summary/recovery-child-workflow-waits.d.mts +0 -11
  333. package/dist/engine/summary/recovery-child-workflow-waits.mjs +0 -89
  334. package/dist/engine/summary/recovery-due-runs.d.mts +0 -16
  335. package/dist/engine/summary/recovery-due-runs.mjs +0 -52
  336. package/dist/engine/summary/recovery-failed-runs.d.mts +0 -14
  337. package/dist/engine/summary/recovery-failed-runs.mjs +0 -33
  338. package/dist/engine/summary/recovery-lease-runs.d.mts +0 -16
  339. package/dist/engine/summary/recovery-lease-runs.mjs +0 -69
  340. package/dist/engine/summary/recovery-locks.d.mts +0 -18
  341. package/dist/engine/summary/recovery-locks.mjs +0 -100
  342. package/dist/engine/summary/recovery-message-waits.d.mts +0 -11
  343. package/dist/engine/summary/recovery-message-waits.mjs +0 -74
  344. package/dist/engine/summary/recovery-retry-runs.d.mts +0 -17
  345. package/dist/engine/summary/recovery-retry-runs.mjs +0 -65
  346. package/dist/engine/summary/recovery-run-timestamps.d.mts +0 -13
  347. package/dist/engine/summary/recovery-run-timestamps.mjs +0 -18
  348. package/dist/engine/summary/recovery-runs.d.mts +0 -23
  349. package/dist/engine/summary/recovery-runs.mjs +0 -54
  350. package/dist/engine/summary/recovery-schedules.d.mts +0 -10
  351. package/dist/engine/summary/recovery-schedules.mjs +0 -46
  352. package/dist/engine/summary/recovery-sleep-waits.d.mts +0 -10
  353. package/dist/engine/summary/recovery-sleep-waits.mjs +0 -53
  354. package/dist/engine/summary/recovery-waits.d.mts +0 -21
  355. package/dist/engine/summary/recovery-waits.mjs +0 -29
  356. package/dist/engine/summary/run-availability.d.mts +0 -13
  357. package/dist/engine/summary/run-availability.mjs +0 -37
  358. package/dist/engine/summary/run-cleanup.d.mts +0 -14
  359. package/dist/engine/summary/run-cleanup.mjs +0 -44
  360. package/dist/engine/summary/run-failure.d.mts +0 -14
  361. package/dist/engine/summary/run-failure.mjs +0 -62
  362. package/dist/engine/summary/run-hooks.d.mts +0 -14
  363. package/dist/engine/summary/run-hooks.mjs +0 -63
  364. package/dist/engine/summary/run-lease.d.mts +0 -11
  365. package/dist/engine/summary/run-lease.mjs +0 -64
  366. package/dist/engine/summary/run-message-waits.d.mts +0 -15
  367. package/dist/engine/summary/run-message-waits.mjs +0 -62
  368. package/dist/engine/summary/run-metrics.d.mts +0 -31
  369. package/dist/engine/summary/run-metrics.mjs +0 -93
  370. package/dist/engine/summary/run-retry.d.mts +0 -9
  371. package/dist/engine/summary/run-retry.mjs +0 -69
  372. package/dist/engine/summary/run-sleeps.d.mts +0 -15
  373. package/dist/engine/summary/run-sleeps.mjs +0 -61
  374. package/dist/engine/summary/run-state.d.mts +0 -26
  375. package/dist/engine/summary/run-state.mjs +0 -48
  376. package/dist/engine/summary/run-status.d.mts +0 -16
  377. package/dist/engine/summary/run-status.mjs +0 -35
  378. package/dist/engine/summary/run-streams.d.mts +0 -14
  379. package/dist/engine/summary/run-streams.mjs +0 -46
  380. package/dist/engine/summary/run-transition.d.mts +0 -9
  381. package/dist/engine/summary/run-transition.mjs +0 -39
  382. package/dist/engine/summary/run-workflow.d.mts +0 -9
  383. package/dist/engine/summary/run-workflow.mjs +0 -47
  384. package/dist/engine/summary/step-attempt-active-child-workflows.d.mts +0 -13
  385. package/dist/engine/summary/step-attempt-active-child-workflows.mjs +0 -55
  386. package/dist/engine/summary/step-attempt-active-fields.d.mts +0 -23
  387. package/dist/engine/summary/step-attempt-active-fields.mjs +0 -14
  388. package/dist/engine/summary/step-attempt-active-message-waits.d.mts +0 -12
  389. package/dist/engine/summary/step-attempt-active-message-waits.mjs +0 -47
  390. package/dist/engine/summary/step-attempt-active-sleeps.d.mts +0 -19
  391. package/dist/engine/summary/step-attempt-active-sleeps.mjs +0 -44
  392. package/dist/engine/summary/step-attempt-buckets.d.mts +0 -22
  393. package/dist/engine/summary/step-attempt-buckets.mjs +0 -152
  394. package/dist/engine/summary/step-attempt-failure.d.mts +0 -12
  395. package/dist/engine/summary/step-attempt-failure.mjs +0 -61
  396. package/dist/engine/summary/step-attempt-lifecycle.d.mts +0 -13
  397. package/dist/engine/summary/step-attempt-lifecycle.mjs +0 -19
  398. package/dist/engine/summary.d.mts +0 -32
  399. package/dist/engine/summary.mjs +0 -37
  400. package/dist/errors/details.d.mts +0 -13
  401. package/dist/errors/details.mjs +0 -66
  402. package/dist/errors/record-view.d.mts +0 -11
  403. package/dist/errors/record-view.mjs +0 -24
  404. package/dist/errors/runtime.d.mts +0 -12
  405. package/dist/errors/runtime.mjs +0 -24
  406. package/dist/events/mod.d.mts +0 -3
  407. package/dist/events/mod.mjs +0 -2
  408. package/dist/history/attempt-key.d.mts +0 -6
  409. package/dist/history/attempt-key.mjs +0 -7
  410. package/dist/inspection/mod.d.mts +0 -5
  411. package/dist/inspection/mod.mjs +0 -3
  412. package/dist/otel.mjs +0 -590
  413. package/dist/runtime.d.mts +0 -35
  414. package/dist/runtime.mjs +0 -198
  415. package/dist/store/append-projection.d.mts +0 -15
  416. package/dist/store/append-projection.mjs +0 -26
  417. package/dist/store/compaction.d.mts +0 -5
  418. package/dist/store/compaction.mjs +0 -8
  419. package/dist/store/event-append-project.d.mts +0 -15
  420. package/dist/store/event-append-project.mjs +0 -77
  421. package/dist/store/event-append.d.mts +0 -37
  422. package/dist/store/event-append.mjs +0 -80
  423. package/dist/store/event-history.d.mts +0 -22
  424. package/dist/store/event-history.mjs +0 -75
  425. package/dist/store/event.d.mts +0 -10
  426. package/dist/store/event.mjs +0 -28
  427. package/dist/store/idempotency.d.mts +0 -10
  428. package/dist/store/idempotency.mjs +0 -167
  429. package/dist/store/message-index.d.mts +0 -21
  430. package/dist/store/message-index.mjs +0 -122
  431. package/dist/store/revision.d.mts +0 -4
  432. package/dist/store/revision.mjs +0 -7
  433. package/dist/store/schema.d.mts +0 -14
  434. package/dist/store/schema.mjs +0 -17
  435. package/dist/types/common.d.mts +0 -20
  436. package/dist/types/common.mjs +0 -16
  437. package/dist/types/error-code.d.mts +0 -256
  438. package/dist/types/message-id.d.mts +0 -7
  439. package/dist/types/message-id.mjs +0 -5
  440. package/dist/types/run-id.d.mts +0 -7
  441. package/dist/types/run-id.mjs +0 -5
  442. package/dist/types/step-id.d.mts +0 -7
  443. package/dist/types/step-id.mjs +0 -5
  444. package/dist/types/stream-id.d.mts +0 -7
  445. package/dist/types/stream-id.mjs +0 -5
  446. package/dist/types/worker-id.d.mts +0 -7
  447. package/dist/types/worker-id.mjs +0 -5
  448. package/dist/utility.d.mts +0 -49
  449. package/dist/utility.mjs +0 -122
  450. package/dist/vite/ast.d.mts +0 -23
  451. package/dist/vite/generated-name.d.mts +0 -7
  452. package/dist/vite/generated-name.mjs +0 -9
  453. package/dist/vite/manifest.d.mts +0 -7
  454. package/dist/vite/plugin.d.mts +0 -7
  455. package/dist/vite/safety.d.mts +0 -12
  456. package/dist/vite/source.d.mts +0 -7
  457. package/dist/vite/transform.d.mts +0 -7
  458. package/dist/webhook.d.mts +0 -16
  459. package/dist/webhook.mjs +0 -17
  460. package/dist/worker.d.mts +0 -19
  461. /package/dist/{types/vite.mjs → engine/context.mjs} +0 -0
@@ -1,167 +0,0 @@
1
- import { WorkflowStateError } from "../errors/base.mjs";
2
- import "../errors/mod.mjs";
3
- import { supportsWorkflowAtomicBatchWrite, supportsWorkflowConditionalWrite } from "./capabilities.mjs";
4
- import { makeEventsKey, makeIdempotencyKey, makeRunKey } from "../store-keys.mjs";
5
- import { toStorageValue } from "./storage-value.mjs";
6
- import { isReadableWorkflowRunRecord } from "./validation.mjs";
7
- //#region src/store/idempotency.ts
8
- const MAX_IDEMPOTENT_CREATE_WAIT_ATTEMPTS = 16;
9
- async function createRunWithIdempotency(storage, namespace, store, run) {
10
- if (run.namespace !== namespace) throw WorkflowStateError.runNamespaceMismatch(String(run.namespace), namespace);
11
- const keyOptions = idempotencyKeyOptionsForRun(run);
12
- if (supportsWorkflowAtomicBatchWrite(storage)) return await createRunAtomicallyWithIdempotency(storage, namespace, store, run, keyOptions);
13
- const idempotencyClaim = keyOptions === void 0 ? void 0 : await claimWorkflowIdempotencyIndex(storage, namespace, store, run, keyOptions);
14
- if (idempotencyClaim?.status === "existing") return idempotencyClaim.run;
15
- if (keyOptions !== void 0) assertWorkflowIdempotencyClaimed(run.id, idempotencyClaim);
16
- try {
17
- await createRunRecordAndEventHistory(storage, namespace, run);
18
- return run;
19
- } catch (error) {
20
- await rollbackWorkflowIdempotencyClaim(storage, idempotencyClaim);
21
- throw error;
22
- }
23
- }
24
- async function createRunRecordAndEventHistory(storage, namespace, run) {
25
- const runKey = makeRunKey(namespace, run.id);
26
- const eventsKey = makeEventsKey(namespace, run.id);
27
- let claim = {};
28
- try {
29
- if (!supportsWorkflowConditionalWrite(storage)) {
30
- if (await storage.get(runKey) !== void 0) WorkflowStateError.runIdAlreadyExists(run.id);
31
- if (await storage.get(eventsKey) !== void 0) WorkflowStateError.eventHistoryAlreadyExists(run.id);
32
- await storage.set(runKey, toStorageValue(run));
33
- claim = { runKey };
34
- await storage.set(eventsKey, toStorageValue([]));
35
- return {
36
- ...claim,
37
- eventsKey
38
- };
39
- }
40
- if (!await storage.compareAndSet(runKey, void 0, toStorageValue(run))) WorkflowStateError.runIdAlreadyExists(run.id);
41
- claim = { runKey };
42
- if (!await storage.compareAndSet(eventsKey, void 0, toStorageValue([]))) WorkflowStateError.eventHistoryAlreadyExists(run.id);
43
- return {
44
- ...claim,
45
- eventsKey
46
- };
47
- } catch (error) {
48
- await rollbackRunCreationClaim(storage, claim);
49
- throw error;
50
- }
51
- }
52
- async function rollbackRunCreationClaim(storage, claim) {
53
- await storage.deleteMany([...claim.runKey === void 0 ? [] : [claim.runKey], ...claim.eventsKey === void 0 ? [] : [claim.eventsKey]]);
54
- }
55
- async function rollbackWorkflowIdempotencyClaim(storage, claim) {
56
- if (claim?.status !== "claimed") return;
57
- if (!supportsWorkflowConditionalWrite(storage)) {
58
- await storage.delete(claim.key);
59
- return;
60
- }
61
- await storage.compareAndSet(claim.key, claim.value, void 0);
62
- }
63
- async function claimWorkflowIdempotencyIndex(storage, namespace, store, run, keyOptions) {
64
- const key = makeIdempotencyKey(namespace, keyOptions);
65
- const value = toStorageValue(run.id);
66
- if (!supportsWorkflowConditionalWrite(storage)) {
67
- const existingRun = await getRunByIdempotencyKey(storage, namespace, store, keyOptions);
68
- if (existingRun !== void 0) return {
69
- status: "existing",
70
- run: existingRun
71
- };
72
- await storage.set(key, value);
73
- return {
74
- status: "claimed",
75
- key,
76
- value
77
- };
78
- }
79
- if (await storage.compareAndSet(key, void 0, value)) return {
80
- status: "claimed",
81
- key,
82
- value
83
- };
84
- const existingRun = await waitForRunByIdempotencyKey(storage, namespace, store, keyOptions);
85
- if (existingRun !== void 0) return {
86
- status: "existing",
87
- run: existingRun
88
- };
89
- if (!await releaseStaleWorkflowIdempotencyIndex(storage, namespace, store, keyOptions)) WorkflowStateError.idempotencyKeyClaimedWithoutRun(run.id);
90
- if (await storage.compareAndSet(key, void 0, value)) return {
91
- status: "claimed",
92
- key,
93
- value
94
- };
95
- const reclaimedExistingRun = await waitForRunByIdempotencyKey(storage, namespace, store, keyOptions);
96
- if (reclaimedExistingRun !== void 0) return {
97
- status: "existing",
98
- run: reclaimedExistingRun
99
- };
100
- WorkflowStateError.idempotencyKeyClaimedWithoutRun(run.id);
101
- }
102
- function assertWorkflowIdempotencyClaimed(runId, claim) {
103
- if (claim?.status !== "claimed") WorkflowStateError.idempotencyKeyClaimedWithoutRun(runId);
104
- }
105
- async function createRunAtomicallyWithIdempotency(storage, namespace, store, run, keyOptions) {
106
- for (let attempt = 0; attempt < 2; attempt++) {
107
- if (await storage.compareAndSetMany([
108
- ...atomicIdempotencyClaimItems(namespace, run, keyOptions),
109
- {
110
- key: makeRunKey(namespace, run.id),
111
- expected: void 0,
112
- value: toStorageValue(run)
113
- },
114
- {
115
- key: makeEventsKey(namespace, run.id),
116
- expected: void 0,
117
- value: toStorageValue([])
118
- }
119
- ])) return run;
120
- if (keyOptions === void 0) WorkflowStateError.runIdAlreadyExists(run.id);
121
- const existingRun = await waitForRunByIdempotencyKey(storage, namespace, store, keyOptions);
122
- if (existingRun !== void 0) return existingRun;
123
- if (attempt === 0 && await releaseStaleWorkflowIdempotencyIndex(storage, namespace, store, keyOptions)) continue;
124
- WorkflowStateError.idempotencyKeyClaimedWithoutRun(run.id);
125
- }
126
- throw WorkflowStateError.runIdAlreadyExists(run.id);
127
- }
128
- function atomicIdempotencyClaimItems(namespace, run, keyOptions) {
129
- return keyOptions === void 0 ? [] : [{
130
- key: makeIdempotencyKey(namespace, keyOptions),
131
- expected: void 0,
132
- value: toStorageValue(run.id)
133
- }];
134
- }
135
- async function getRunByIdempotencyKey(storage, namespace, store, options) {
136
- const runId = await storage.get(makeIdempotencyKey(namespace, options));
137
- if (!(typeof runId === "string" && runId.trim() !== "")) return;
138
- const run = await store.getRun(runId);
139
- return run !== void 0 && isReadableWorkflowRunRecord(run, run.namespace) && run.workflowName === options.workflowName && run.workflowVersion === options.workflowVersion && run.idempotencyKey === options.idempotencyKey ? run : void 0;
140
- }
141
- function idempotencyKeyOptionsForRun(run) {
142
- return run.idempotencyKey === void 0 ? void 0 : {
143
- workflowName: run.workflowName,
144
- ...run.workflowVersion === void 0 ? {} : { workflowVersion: run.workflowVersion },
145
- idempotencyKey: run.idempotencyKey
146
- };
147
- }
148
- async function waitForRunByIdempotencyKey(storage, namespace, store, options) {
149
- for (let attempt = 0; attempt < MAX_IDEMPOTENT_CREATE_WAIT_ATTEMPTS; attempt++) {
150
- const run = await getRunByIdempotencyKey(storage, namespace, store, options);
151
- if (run !== void 0) return run;
152
- await Promise.resolve();
153
- }
154
- }
155
- async function releaseStaleWorkflowIdempotencyIndex(storage, namespace, store, options) {
156
- if (!supportsWorkflowConditionalWrite(storage)) return false;
157
- const key = makeIdempotencyKey(namespace, options);
158
- const value = await storage.get(key);
159
- if (value === void 0) return false;
160
- if (typeof value === "string" && value.trim() !== "") {
161
- const run = await store.getRun(value);
162
- if (run !== void 0 && isReadableWorkflowRunRecord(run, run.namespace) && run.workflowName === options.workflowName && run.workflowVersion === options.workflowVersion && run.idempotencyKey === options.idempotencyKey) return false;
163
- }
164
- return await storage.compareAndSet(key, value, void 0);
165
- }
166
- //#endregion
167
- export { createRunWithIdempotency, getRunByIdempotencyKey };
@@ -1,21 +0,0 @@
1
- import { RunId } from "../types/run-id.mjs";
2
- import "../types/run.mjs";
3
- import { EventRecord } from "../types/events.mjs";
4
- import { WorkflowMessageIdempotencyIndex, WorkflowStorage } from "../types/store.mjs";
5
- import { WorkflowEventAppendSuccessOutcome } from "./event-append.mjs";
6
- //#region src/store/message-index.d.ts
7
- interface WorkflowDuplicateMessageAppendOutcome {
8
- readonly status: "duplicate";
9
- readonly events: readonly EventRecord[];
10
- }
11
- declare function duplicateMessageAppendOutcome(runId: RunId, events: readonly EventRecord[], event: EventRecord): WorkflowDuplicateMessageAppendOutcome | undefined;
12
- declare function projectMessageIdempotencyIndexForAppendOutcome(storage: WorkflowStorage, namespace: string, runId: RunId, event: EventRecord, outcome: WorkflowEventAppendSuccessOutcome): Promise<readonly EventRecord[]>;
13
- declare function reconcileMessageIdempotencyIndexes(storage: WorkflowStorage, namespace: string, runId: RunId, events: readonly EventRecord[]): Promise<readonly WorkflowMessageIdempotencyIndex[]>;
14
- declare function repairMessageIdempotencyIndexes(storage: WorkflowStorage, namespace: string, runId: RunId): Promise<readonly WorkflowMessageIdempotencyIndex[]>;
15
- declare function hasMessageIdempotencyKey(storage: WorkflowStorage, namespace: string, runId: RunId, idempotencyKey: string): Promise<boolean>;
16
- declare function messageIdempotencyIndexValuesFromEvents(events: readonly EventRecord[], runId: RunId): readonly {
17
- readonly idempotencyKey: string;
18
- readonly value: WorkflowMessageIdempotencyIndex;
19
- }[];
20
- //#endregion
21
- export { WorkflowDuplicateMessageAppendOutcome, duplicateMessageAppendOutcome, hasMessageIdempotencyKey, messageIdempotencyIndexValuesFromEvents, projectMessageIdempotencyIndexForAppendOutcome, reconcileMessageIdempotencyIndexes, repairMessageIdempotencyIndexes };
@@ -1,122 +0,0 @@
1
- import { WorkflowMessageIdempotencyConflictError } from "../errors/message.mjs";
2
- import "../errors/mod.mjs";
3
- import { WorkflowHistory } from "../history/mod.mjs";
4
- import { supportsWorkflowConditionalWrite } from "./capabilities.mjs";
5
- import { makeEventsKey, makeMessageIdempotencyKey } from "../store-keys.mjs";
6
- import { isSameWorkflowStorageValue } from "./revision.mjs";
7
- import { toStorageValue } from "./storage-value.mjs";
8
- import { isSameMessageIdempotencyIndex } from "./validation.mjs";
9
- import { getStoredEventHistory, rollbackAppendedEventIfCurrent } from "./event-history.mjs";
10
- import { requireReadableStoredWorkflowRun } from "./run.mjs";
11
- //#region src/store/message-index.ts
12
- function duplicateMessageAppendOutcome(runId, events, event) {
13
- if (!isMessageIdempotencyEvent(event)) return;
14
- const existing = new WorkflowHistory(events).messageByIdempotencyKey(event.idempotencyKey);
15
- if (existing === void 0) return;
16
- requireDuplicateMessageEventMatches(runId, existing, event);
17
- return {
18
- status: "duplicate",
19
- events
20
- };
21
- }
22
- function isMessageIdempotencyEvent(event) {
23
- return event.kind === "message_sent" && event.idempotencyKey !== void 0;
24
- }
25
- function requireDuplicateMessageEventMatches(runId, existing, event) {
26
- if (existing.messageId === event.messageId && isSameWorkflowStorageValue(existing.payload, event.payload)) return;
27
- WorkflowMessageIdempotencyConflictError.conflict({
28
- runId,
29
- messageId: existing.messageId,
30
- idempotencyKey: event.idempotencyKey
31
- });
32
- }
33
- async function indexMessageIdempotencyKey(storage, namespace, runId, event, events) {
34
- if (event.kind !== "message_sent" || event.idempotencyKey === void 0) return;
35
- await requireReadableStoredWorkflowRun(storage, namespace, runId);
36
- const indexedEvent = indexableMessageEventByIdempotencyKey(new WorkflowHistory(events), event.idempotencyKey);
37
- if (indexedEvent === void 0) return;
38
- const key = makeMessageIdempotencyKey(namespace, runId, event.idempotencyKey);
39
- const value = {
40
- runId,
41
- messageId: indexedEvent.messageId,
42
- timestamp: indexedEvent.timestamp
43
- };
44
- if (!supportsWorkflowConditionalWrite(storage)) {
45
- const current = await storage.get(key);
46
- if (current !== void 0) {
47
- if (isSameMessageIdempotencyIndex(current, value)) return;
48
- WorkflowMessageIdempotencyConflictError.conflict({
49
- runId,
50
- messageId: indexedEvent.messageId,
51
- idempotencyKey: event.idempotencyKey
52
- });
53
- }
54
- await storage.set(key, toStorageValue(value));
55
- return;
56
- }
57
- if (await storage.compareAndSet(key, void 0, toStorageValue(value))) return;
58
- const current = await storage.get(key);
59
- if (isSameMessageIdempotencyIndex(current, value)) return;
60
- WorkflowMessageIdempotencyConflictError.conflict({
61
- runId,
62
- messageId: indexedEvent.messageId,
63
- idempotencyKey: event.idempotencyKey
64
- });
65
- }
66
- async function projectMessageIdempotencyIndexForAppendOutcome(storage, namespace, runId, event, outcome) {
67
- try {
68
- await indexMessageIdempotencyKey(storage, namespace, runId, event, outcome.events);
69
- } catch (error) {
70
- if (outcome.status === "appended") await rollbackAppendedEventIfCurrent(storage, namespace, runId, outcome.events, outcome.previousEventHistory);
71
- throw error;
72
- }
73
- return outcome.events;
74
- }
75
- async function reconcileMessageIdempotencyIndexes(storage, namespace, runId, events) {
76
- await requireReadableStoredWorkflowRun(storage, namespace, runId);
77
- const indexes = messageIdempotencyIndexValuesFromEvents(events, runId);
78
- await Promise.all(indexes.map(async ({ idempotencyKey, value }) => {
79
- await storeMessageIdempotencyIndex(storage, namespace, runId, idempotencyKey, value);
80
- }));
81
- return indexes.map((index) => index.value);
82
- }
83
- async function repairMessageIdempotencyIndexes(storage, namespace, runId) {
84
- await requireReadableStoredWorkflowRun(storage, namespace, runId);
85
- return await reconcileMessageIdempotencyIndexes(storage, namespace, runId, (await getStoredEventHistory(storage, makeEventsKey(namespace, runId))).events);
86
- }
87
- async function hasMessageIdempotencyKey(storage, namespace, runId, idempotencyKey) {
88
- return await storage.get(makeMessageIdempotencyKey(namespace, runId, idempotencyKey)) !== void 0;
89
- }
90
- function indexableMessageEventByIdempotencyKey(history, idempotencyKey) {
91
- const event = history.messageByIdempotencyKey(idempotencyKey);
92
- return event !== void 0 && isIndexableMessageIdempotencyEvent(event) ? event : void 0;
93
- }
94
- function messageIdempotencyIndexValuesFromEvents(events, runId) {
95
- return new WorkflowHistory(events).latestMessagesByIdempotencyKey().filter(isIndexableMessageIdempotencyEvent).map((event) => ({
96
- idempotencyKey: event.idempotencyKey,
97
- value: {
98
- runId,
99
- messageId: event.messageId,
100
- timestamp: event.timestamp
101
- }
102
- }));
103
- }
104
- function isIndexableMessageIdempotencyEvent(event) {
105
- return event.kind === "message_sent" && event.idempotencyKey !== void 0 && typeof event.messageId === "string" && event.messageId.trim() !== "";
106
- }
107
- async function storeMessageIdempotencyIndex(storage, namespace, runId, idempotencyKey, value) {
108
- const key = makeMessageIdempotencyKey(namespace, runId, idempotencyKey);
109
- const current = await storage.get(key);
110
- if (isSameMessageIdempotencyIndex(current, value)) return;
111
- if (!supportsWorkflowConditionalWrite(storage)) {
112
- await storage.set(key, toStorageValue(value));
113
- return;
114
- }
115
- if (!await storage.compareAndSet(key, current, toStorageValue(value))) WorkflowMessageIdempotencyConflictError.conflict({
116
- runId,
117
- messageId: value.messageId,
118
- idempotencyKey
119
- });
120
- }
121
- //#endregion
122
- export { duplicateMessageAppendOutcome, hasMessageIdempotencyKey, messageIdempotencyIndexValuesFromEvents, projectMessageIdempotencyIndexForAppendOutcome, reconcileMessageIdempotencyIndexes, repairMessageIdempotencyIndexes };
@@ -1,4 +0,0 @@
1
- //#region src/store/revision.d.ts
2
- declare function isSameWorkflowStorageValue(left: unknown, right: unknown): boolean;
3
- //#endregion
4
- export { isSameWorkflowStorageValue };
@@ -1,7 +0,0 @@
1
- import { deepEquals } from "@temelj/value";
2
- //#region src/store/revision.ts
3
- function isSameWorkflowStorageValue(left, right) {
4
- return deepEquals(left, right);
5
- }
6
- //#endregion
7
- export { isSameWorkflowStorageValue };
@@ -1,14 +0,0 @@
1
- import { StorageValue } from "@temelj/storage";
2
- import { z } from "zod";
3
- //#region src/store/schema.d.ts
4
- declare const workflowCleanupIndexKeySchema: z.ZodObject<{
5
- key: z.ZodString;
6
- value: z.ZodCustom<StorageValue, StorageValue>;
7
- }, z.core.$strip>;
8
- declare const workflowMessageIdempotencyIndexSchema: z.ZodObject<{
9
- runId: z.ZodString;
10
- messageId: z.ZodString;
11
- timestamp: z.ZodCustom<Temporal.Instant, Temporal.Instant>;
12
- }, z.core.$strip>;
13
- //#endregion
14
- export { workflowCleanupIndexKeySchema, workflowMessageIdempotencyIndexSchema };
@@ -1,17 +0,0 @@
1
- import { nonBlankStringSchema, temporalInstantSchema } from "../types/common.mjs";
2
- import { runIdSchema } from "../types/run-id.mjs";
3
- import { persistedValueIssue } from "../types/run.mjs";
4
- import { messageIdSchema } from "../types/message-id.mjs";
5
- import { z } from "zod";
6
- //#region src/store/schema.ts
7
- const workflowCleanupIndexKeySchema = z.object({
8
- key: nonBlankStringSchema,
9
- value: z.custom((value) => value !== void 0 && persistedValueIssue(value, "value", /* @__PURE__ */ new WeakSet(), true) === void 0)
10
- });
11
- const workflowMessageIdempotencyIndexSchema = z.object({
12
- runId: runIdSchema,
13
- messageId: messageIdSchema,
14
- timestamp: temporalInstantSchema
15
- });
16
- //#endregion
17
- export { workflowCleanupIndexKeySchema, workflowMessageIdempotencyIndexSchema };
@@ -1,20 +0,0 @@
1
- import { z } from "zod";
2
- import "temporal-polyfill/global";
3
- //#region src/types/common.d.ts
4
- declare const temporalInstantSchema: z.ZodCustom<Temporal.Instant, Temporal.Instant>;
5
- declare const temporalDurationSchema: z.ZodCustom<Temporal.Duration, Temporal.Duration>;
6
- declare const temporalPositiveDurationSchema: z.ZodCustom<Temporal.Duration, Temporal.Duration>;
7
- declare const temporalPositiveSafeDurationSchema: z.ZodCustom<Temporal.Duration, Temporal.Duration>;
8
- declare const temporalNonNegativeDurationSchema: z.ZodCustom<Temporal.Duration, Temporal.Duration>;
9
- declare const temporalNonNegativeSafeDurationSchema: z.ZodCustom<Temporal.Duration, Temporal.Duration>;
10
- declare const nonBlankStringSchema: z.ZodString;
11
- declare const nonBlankStringListSchema: z.ZodReadonly<z.ZodArray<z.ZodString>>;
12
- declare const positiveSafeIntegerSchema: z.ZodNumber;
13
- declare const nonNegativeSafeIntegerSchema: z.ZodNumber;
14
- /** Timer delay after validation and runtime clamping. */
15
- interface TimerDelay {
16
- readonly duration: Temporal.Duration;
17
- readonly clampedDelay: number;
18
- }
19
- //#endregion
20
- export { TimerDelay, nonBlankStringListSchema, nonBlankStringSchema, nonNegativeSafeIntegerSchema, positiveSafeIntegerSchema, temporalDurationSchema, temporalInstantSchema, temporalNonNegativeDurationSchema, temporalNonNegativeSafeDurationSchema, temporalPositiveDurationSchema, temporalPositiveSafeDurationSchema };
@@ -1,16 +0,0 @@
1
- import { durationTotal } from "../utility.mjs";
2
- import { z } from "zod";
3
- import "temporal-polyfill/global";
4
- //#region src/types/common.ts
5
- const temporalInstantSchema = z.instanceof(Temporal.Instant, { error: "Expected a Temporal.Instant" });
6
- const temporalDurationSchema = z.instanceof(Temporal.Duration, { error: "Expected a Temporal.Duration" });
7
- const temporalPositiveDurationSchema = temporalDurationSchema.refine((value) => durationTotal(value) > 0, { error: "Expected a positive duration" });
8
- const temporalPositiveSafeDurationSchema = temporalPositiveDurationSchema.refine((value) => Number.isSafeInteger(durationTotal(value)), { error: "Expected a positive safe duration" });
9
- const temporalNonNegativeDurationSchema = temporalDurationSchema.refine((value) => durationTotal(value) >= 0, { error: "Expected a non-negative duration" });
10
- const temporalNonNegativeSafeDurationSchema = temporalNonNegativeDurationSchema.refine((value) => Number.isSafeInteger(durationTotal(value)), { error: "Expected a non-negative safe duration" });
11
- const nonBlankStringSchema = z.string().refine((value) => value.trim().length > 0, "Expected a non-blank string");
12
- const nonBlankStringListSchema = z.array(nonBlankStringSchema).readonly();
13
- const positiveSafeIntegerSchema = z.number().int().positive();
14
- const nonNegativeSafeIntegerSchema = z.number().int().nonnegative();
15
- //#endregion
16
- export { nonBlankStringListSchema, nonBlankStringSchema, nonNegativeSafeIntegerSchema, positiveSafeIntegerSchema, temporalDurationSchema, temporalInstantSchema, temporalNonNegativeDurationSchema, temporalNonNegativeSafeDurationSchema, temporalPositiveDurationSchema, temporalPositiveSafeDurationSchema };