@lostgradient/weft 0.2.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 (1075) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +493 -0
  3. package/dist/alerting/alert-manager.d.ts +42 -0
  4. package/dist/alerting/alert-manager.js +167 -0
  5. package/dist/alerting/index.d.ts +2 -0
  6. package/dist/alerting/index.js +1 -0
  7. package/dist/alerting/sliding-window.d.ts +26 -0
  8. package/dist/alerting/sliding-window.js +97 -0
  9. package/dist/alerting/types.d.ts +157 -0
  10. package/dist/alerting/types.js +0 -0
  11. package/dist/cli/api-arguments.d.ts +2 -0
  12. package/dist/cli/api-arguments.js +48 -0
  13. package/dist/cli/api.d.ts +13 -0
  14. package/dist/cli/api.js +191 -0
  15. package/dist/cli/codegen-arguments.d.ts +10 -0
  16. package/dist/cli/codegen-arguments.js +50 -0
  17. package/dist/cli/codegen-emit-keywords.d.ts +28 -0
  18. package/dist/cli/codegen-emit-keywords.js +48 -0
  19. package/dist/cli/codegen-emit.d.ts +50 -0
  20. package/dist/cli/codegen-emit.js +280 -0
  21. package/dist/cli/codegen.d.ts +38 -0
  22. package/dist/cli/codegen.js +268 -0
  23. package/dist/cli/command-suggestions.d.ts +9 -0
  24. package/dist/cli/command-suggestions.js +27 -0
  25. package/dist/cli/completions.d.ts +17 -0
  26. package/dist/cli/completions.js +112 -0
  27. package/dist/cli/conformance.d.ts +9 -0
  28. package/dist/cli/conformance.js +226 -0
  29. package/dist/cli/doctor.d.ts +6 -0
  30. package/dist/cli/doctor.js +9 -0
  31. package/dist/cli/generated/operation-client.generated.d.ts +605 -0
  32. package/dist/cli/generated/operation-client.generated.js +60 -0
  33. package/dist/cli/help-text.d.ts +13 -0
  34. package/dist/cli/help-text.js +269 -0
  35. package/dist/cli/index.d.ts +23 -0
  36. package/dist/cli/index.js +34 -0
  37. package/dist/cli/json-rpc-client.d.ts +15 -0
  38. package/dist/cli/json-rpc-client.js +37 -0
  39. package/dist/cli/noun-verb-arguments.d.ts +15 -0
  40. package/dist/cli/noun-verb-arguments.js +190 -0
  41. package/dist/cli/operation-catalog-snapshot.d.ts +38 -0
  42. package/dist/cli/operation-catalog-snapshot.js +48 -0
  43. package/dist/cli/operation-client-runtime.d.ts +47 -0
  44. package/dist/cli/operation-client-runtime.js +33 -0
  45. package/dist/cli/output.d.ts +66 -0
  46. package/dist/cli/output.js +83 -0
  47. package/dist/cli/parse-arguments.d.ts +3 -0
  48. package/dist/cli/parse-arguments.js +214 -0
  49. package/dist/cli/parse-schedule-arguments.d.ts +9 -0
  50. package/dist/cli/parse-schedule-arguments.js +132 -0
  51. package/dist/cli/schedule.d.ts +3 -0
  52. package/dist/cli/schedule.js +128 -0
  53. package/dist/cli/serve-registrations.d.ts +15 -0
  54. package/dist/cli/serve-registrations.js +23 -0
  55. package/dist/cli/server-client.d.ts +45 -0
  56. package/dist/cli/server-client.js +33 -0
  57. package/dist/cli/server-commands.d.ts +19 -0
  58. package/dist/cli/server-commands.js +151 -0
  59. package/dist/cli/storage-backend-arguments.d.ts +15 -0
  60. package/dist/cli/storage-backend-arguments.js +16 -0
  61. package/dist/cli/storage-factory.d.ts +8 -0
  62. package/dist/cli/storage-factory.js +18 -0
  63. package/dist/cli/subcommand-detection.d.ts +2 -0
  64. package/dist/cli/subcommand-detection.js +38 -0
  65. package/dist/cli/tail.d.ts +50 -0
  66. package/dist/cli/tail.js +161 -0
  67. package/dist/cli/timeline.d.ts +9 -0
  68. package/dist/cli/timeline.js +78 -0
  69. package/dist/cli/types.d.ts +224 -0
  70. package/dist/cli/types.js +0 -0
  71. package/dist/cli/utilities.d.ts +9 -0
  72. package/dist/cli/utilities.js +120 -0
  73. package/dist/cli/validate.d.ts +6 -0
  74. package/dist/cli/validate.js +70 -0
  75. package/dist/cli/version-check.d.ts +7 -0
  76. package/dist/cli/version-check.js +16 -0
  77. package/dist/cli/version.d.ts +7 -0
  78. package/dist/cli/version.js +4 -0
  79. package/dist/cli/workflow-commands.d.ts +15 -0
  80. package/dist/cli/workflow-commands.js +195 -0
  81. package/dist/cli-main.d.ts +2 -0
  82. package/dist/cli-main.js +402 -0
  83. package/dist/client/event-stream-transport.d.ts +73 -0
  84. package/dist/client/event-stream-transport.js +59 -0
  85. package/dist/client/event-stream.d.ts +90 -0
  86. package/dist/client/event-stream.js +221 -0
  87. package/dist/client/event-tail.d.ts +50 -0
  88. package/dist/client/event-tail.js +0 -0
  89. package/dist/client/handle-delegation.d.ts +73 -0
  90. package/dist/client/handle-delegation.js +66 -0
  91. package/dist/client/http-client-requests.d.ts +65 -0
  92. package/dist/client/http-client-requests.js +178 -0
  93. package/dist/client/http-client.d.ts +130 -0
  94. package/dist/client/http-client.js +217 -0
  95. package/dist/client/http-handle.d.ts +27 -0
  96. package/dist/client/http-handle.js +43 -0
  97. package/dist/client/http-operations.d.ts +29 -0
  98. package/dist/client/http-operations.js +36 -0
  99. package/dist/client/http-request.d.ts +101 -0
  100. package/dist/client/http-request.js +73 -0
  101. package/dist/client/http-schedule-handle.d.ts +5 -0
  102. package/dist/client/http-schedule-handle.js +5 -0
  103. package/dist/client/in-process-operations.d.ts +30 -0
  104. package/dist/client/in-process-operations.js +17 -0
  105. package/dist/client/index.d.ts +15 -0
  106. package/dist/client/index.js +2 -0
  107. package/dist/client/interface.d.ts +333 -0
  108. package/dist/client/interface.js +0 -0
  109. package/dist/client/local-event-tail.d.ts +30 -0
  110. package/dist/client/local-event-tail.js +131 -0
  111. package/dist/client/local.d.ts +115 -0
  112. package/dist/client/local.js +178 -0
  113. package/dist/client/open-event-subscription.d.ts +33 -0
  114. package/dist/client/open-event-subscription.js +5 -0
  115. package/dist/client/schedule-list-search-params.d.ts +3 -0
  116. package/dist/client/schedule-list-search-params.js +18 -0
  117. package/dist/client/search-params.d.ts +3 -0
  118. package/dist/client/search-params.js +54 -0
  119. package/dist/client/start-body.d.ts +9 -0
  120. package/dist/client/start-body.js +23 -0
  121. package/dist/client/workflow-name-typing.d.ts +33 -0
  122. package/dist/client/workflow-name-typing.js +0 -0
  123. package/dist/connection.d.ts +121 -0
  124. package/dist/connection.js +161 -0
  125. package/dist/core/activity-registry.d.ts +135 -0
  126. package/dist/core/activity-registry.js +174 -0
  127. package/dist/core/activity.d.ts +2 -0
  128. package/dist/core/activity.js +1 -0
  129. package/dist/core/aggregate-validation.d.ts +85 -0
  130. package/dist/core/aggregate-validation.js +48 -0
  131. package/dist/core/atomic-state-events.d.ts +214 -0
  132. package/dist/core/atomic-state-events.js +39 -0
  133. package/dist/core/atomic-state.d.ts +79 -0
  134. package/dist/core/atomic-state.js +231 -0
  135. package/dist/core/bulk-workflow-filter.d.ts +23 -0
  136. package/dist/core/bulk-workflow-filter.js +38 -0
  137. package/dist/core/checkpoint/comparison.d.ts +2 -0
  138. package/dist/core/checkpoint/comparison.js +137 -0
  139. package/dist/core/checkpoint/index.d.ts +4 -0
  140. package/dist/core/checkpoint/index.js +3 -0
  141. package/dist/core/checkpoint/interfaces.d.ts +11 -0
  142. package/dist/core/checkpoint/interfaces.js +0 -0
  143. package/dist/core/checkpoint/lifecycle.d.ts +49 -0
  144. package/dist/core/checkpoint/lifecycle.js +36 -0
  145. package/dist/core/checkpoint/serialization.d.ts +31 -0
  146. package/dist/core/checkpoint/serialization.js +155 -0
  147. package/dist/core/checkpoint/validation.d.ts +4 -0
  148. package/dist/core/checkpoint/validation.js +26 -0
  149. package/dist/core/checkpoint.d.ts +1 -0
  150. package/dist/core/checkpoint.js +1 -0
  151. package/dist/core/codec/api.d.ts +32 -0
  152. package/dist/core/codec/api.js +9 -0
  153. package/dist/core/codec/extension-codec.d.ts +7 -0
  154. package/dist/core/codec/extension-codec.js +145 -0
  155. package/dist/core/codec/index.d.ts +3 -0
  156. package/dist/core/codec/index.js +2 -0
  157. package/dist/core/codec/validation.d.ts +28 -0
  158. package/dist/core/codec/validation.js +139 -0
  159. package/dist/core/codec-helpers.d.ts +8 -0
  160. package/dist/core/codec-helpers.js +19 -0
  161. package/dist/core/codec.d.ts +1 -0
  162. package/dist/core/codec.js +1 -0
  163. package/dist/core/compression.d.ts +127 -0
  164. package/dist/core/compression.js +88 -0
  165. package/dist/core/concurrency-lock-record.d.ts +122 -0
  166. package/dist/core/concurrency-lock-record.js +53 -0
  167. package/dist/core/concurrency.d.ts +221 -0
  168. package/dist/core/concurrency.js +93 -0
  169. package/dist/core/constraint.d.ts +144 -0
  170. package/dist/core/constraint.js +3 -0
  171. package/dist/core/context/attributes.d.ts +7 -0
  172. package/dist/core/context/attributes.js +29 -0
  173. package/dist/core/context/child-workflow-pipe.d.ts +18 -0
  174. package/dist/core/context/child-workflow-pipe.js +111 -0
  175. package/dist/core/context/durable-operations.d.ts +29 -0
  176. package/dist/core/context/durable-operations.js +166 -0
  177. package/dist/core/context/index.d.ts +114 -0
  178. package/dist/core/context/index.js +224 -0
  179. package/dist/core/context/internals.d.ts +30 -0
  180. package/dist/core/context/internals.js +36 -0
  181. package/dist/core/context/operation-request.d.ts +160 -0
  182. package/dist/core/context/operation-request.js +0 -0
  183. package/dist/core/context/parallel-cache-entry.d.ts +91 -0
  184. package/dist/core/context/parallel-cache-entry.js +92 -0
  185. package/dist/core/context/parallel-operations.d.ts +9 -0
  186. package/dist/core/context/parallel-operations.js +202 -0
  187. package/dist/core/context/run-operation.d.ts +21 -0
  188. package/dist/core/context/run-operation.js +231 -0
  189. package/dist/core/context/saga.d.ts +4 -0
  190. package/dist/core/context/saga.js +65 -0
  191. package/dist/core/context/session-state.d.ts +22 -0
  192. package/dist/core/context/session-state.js +154 -0
  193. package/dist/core/context/speculate-operations.d.ts +4 -0
  194. package/dist/core/context/speculate-operations.js +14 -0
  195. package/dist/core/context/speculative-child.d.ts +6 -0
  196. package/dist/core/context/speculative-child.js +67 -0
  197. package/dist/core/context/state-namespace.d.ts +27 -0
  198. package/dist/core/context/state-namespace.js +138 -0
  199. package/dist/core/context/types.d.ts +181 -0
  200. package/dist/core/context/types.js +0 -0
  201. package/dist/core/context/updates.d.ts +46 -0
  202. package/dist/core/context/updates.js +21 -0
  203. package/dist/core/context/validation.d.ts +2 -0
  204. package/dist/core/context/validation.js +12 -0
  205. package/dist/core/context.d.ts +1 -0
  206. package/dist/core/context.js +1 -0
  207. package/dist/core/debug-output.d.ts +3 -0
  208. package/dist/core/debug-output.js +112 -0
  209. package/dist/core/effect-log/index.d.ts +194 -0
  210. package/dist/core/effect-log/index.js +104 -0
  211. package/dist/core/engine/activity-reconciliation.d.ts +108 -0
  212. package/dist/core/engine/activity-reconciliation.js +182 -0
  213. package/dist/core/engine/aggregate.d.ts +47 -0
  214. package/dist/core/engine/aggregate.js +132 -0
  215. package/dist/core/engine/anonymous-signal-sequence.d.ts +4 -0
  216. package/dist/core/engine/anonymous-signal-sequence.js +101 -0
  217. package/dist/core/engine/async-activity-completion.d.ts +141 -0
  218. package/dist/core/engine/async-activity-completion.js +131 -0
  219. package/dist/core/engine/attributes-tags.d.ts +31 -0
  220. package/dist/core/engine/attributes-tags.js +178 -0
  221. package/dist/core/engine/broadcast.d.ts +8 -0
  222. package/dist/core/engine/broadcast.js +26 -0
  223. package/dist/core/engine/bulk-operations-purge.d.ts +11 -0
  224. package/dist/core/engine/bulk-operations-purge.js +246 -0
  225. package/dist/core/engine/bulk-operations-shared.d.ts +28 -0
  226. package/dist/core/engine/bulk-operations-shared.js +198 -0
  227. package/dist/core/engine/bulk-operations.d.ts +21 -0
  228. package/dist/core/engine/bulk-operations.js +128 -0
  229. package/dist/core/engine/callback-creators-bundles.d.ts +25 -0
  230. package/dist/core/engine/callback-creators-bundles.js +154 -0
  231. package/dist/core/engine/callback-creators-core.d.ts +39 -0
  232. package/dist/core/engine/callback-creators-core.js +136 -0
  233. package/dist/core/engine/callback-creators-router-registry.d.ts +4 -0
  234. package/dist/core/engine/callback-creators-router-registry.js +9 -0
  235. package/dist/core/engine/callback-creators-router.d.ts +3 -0
  236. package/dist/core/engine/callback-creators-router.js +68 -0
  237. package/dist/core/engine/callback-creators-schedule.d.ts +13 -0
  238. package/dist/core/engine/callback-creators-schedule.js +65 -0
  239. package/dist/core/engine/callback-creators.d.ts +9 -0
  240. package/dist/core/engine/callback-creators.js +87 -0
  241. package/dist/core/engine/cancel-handlers.d.ts +6 -0
  242. package/dist/core/engine/cancel-handlers.js +32 -0
  243. package/dist/core/engine/checkpoint-commit-snapshots.d.ts +4 -0
  244. package/dist/core/engine/checkpoint-commit-snapshots.js +16 -0
  245. package/dist/core/engine/checkpoint-io.d.ts +34 -0
  246. package/dist/core/engine/checkpoint-io.js +183 -0
  247. package/dist/core/engine/checkpoint-reads.d.ts +22 -0
  248. package/dist/core/engine/checkpoint-reads.js +98 -0
  249. package/dist/core/engine/child-workflow.d.ts +20 -0
  250. package/dist/core/engine/child-workflow.js +72 -0
  251. package/dist/core/engine/completed-review-storage.d.ts +14 -0
  252. package/dist/core/engine/completed-review-storage.js +61 -0
  253. package/dist/core/engine/constraints.d.ts +24 -0
  254. package/dist/core/engine/constraints.js +57 -0
  255. package/dist/core/engine/construction.d.ts +60 -0
  256. package/dist/core/engine/construction.js +213 -0
  257. package/dist/core/engine/disposal.d.ts +9 -0
  258. package/dist/core/engine/disposal.js +58 -0
  259. package/dist/core/engine/engine-create-types.d.ts +70 -0
  260. package/dist/core/engine/engine-create-types.js +0 -0
  261. package/dist/core/engine/engine-internal-types.d.ts +59 -0
  262. package/dist/core/engine/engine-internal-types.js +0 -0
  263. package/dist/core/engine/engine-leak-warnings.d.ts +26 -0
  264. package/dist/core/engine/engine-leak-warnings.js +42 -0
  265. package/dist/core/engine/engine-runtime-helpers.d.ts +8 -0
  266. package/dist/core/engine/engine-runtime-helpers.js +52 -0
  267. package/dist/core/engine/engine-state-namespace.d.ts +20 -0
  268. package/dist/core/engine/engine-state-namespace.js +0 -0
  269. package/dist/core/engine/errors.d.ts +215 -0
  270. package/dist/core/engine/errors.js +90 -0
  271. package/dist/core/engine/event-log-compaction.d.ts +102 -0
  272. package/dist/core/engine/event-log-compaction.js +76 -0
  273. package/dist/core/engine/guards.d.ts +17 -0
  274. package/dist/core/engine/guards.js +43 -0
  275. package/dist/core/engine/handle-iteration.d.ts +2 -0
  276. package/dist/core/engine/handle-iteration.js +59 -0
  277. package/dist/core/engine/handle-result.d.ts +8 -0
  278. package/dist/core/engine/handle-result.js +74 -0
  279. package/dist/core/engine/handles.d.ts +137 -0
  280. package/dist/core/engine/handles.js +173 -0
  281. package/dist/core/engine/index.d.ts +311 -0
  282. package/dist/core/engine/index.js +595 -0
  283. package/dist/core/engine/inline-launch-queue.d.ts +17 -0
  284. package/dist/core/engine/inline-launch-queue.js +93 -0
  285. package/dist/core/engine/inline-parking.d.ts +26 -0
  286. package/dist/core/engine/inline-parking.js +86 -0
  287. package/dist/core/engine/internals.d.ts +167 -0
  288. package/dist/core/engine/internals.js +11 -0
  289. package/dist/core/engine/lifecycle/fork-helpers.d.ts +9 -0
  290. package/dist/core/engine/lifecycle/fork-helpers.js +66 -0
  291. package/dist/core/engine/lifecycle/persist.d.ts +22 -0
  292. package/dist/core/engine/lifecycle/persist.js +80 -0
  293. package/dist/core/engine/lifecycle/resume.d.ts +4 -0
  294. package/dist/core/engine/lifecycle/resume.js +136 -0
  295. package/dist/core/engine/lifecycle/shared.d.ts +79 -0
  296. package/dist/core/engine/lifecycle/shared.js +49 -0
  297. package/dist/core/engine/lifecycle/start-batch.d.ts +7 -0
  298. package/dist/core/engine/lifecycle/start-batch.js +70 -0
  299. package/dist/core/engine/lifecycle/start-exec.d.ts +5 -0
  300. package/dist/core/engine/lifecycle/start-exec.js +39 -0
  301. package/dist/core/engine/lifecycle/start.d.ts +13 -0
  302. package/dist/core/engine/lifecycle/start.js +163 -0
  303. package/dist/core/engine/lifecycle/transition.d.ts +8 -0
  304. package/dist/core/engine/lifecycle/transition.js +183 -0
  305. package/dist/core/engine/lifecycle.d.ts +8 -0
  306. package/dist/core/engine/lifecycle.js +40 -0
  307. package/dist/core/engine/list-candidate-resolution.d.ts +15 -0
  308. package/dist/core/engine/list-candidate-resolution.js +88 -0
  309. package/dist/core/engine/listing.d.ts +17 -0
  310. package/dist/core/engine/listing.js +186 -0
  311. package/dist/core/engine/operations-activity.d.ts +40 -0
  312. package/dist/core/engine/operations-activity.js +194 -0
  313. package/dist/core/engine/operations-coordination.d.ts +39 -0
  314. package/dist/core/engine/operations-coordination.js +162 -0
  315. package/dist/core/engine/operations-data.d.ts +23 -0
  316. package/dist/core/engine/operations-data.js +38 -0
  317. package/dist/core/engine/operations-router.d.ts +75 -0
  318. package/dist/core/engine/operations-router.js +90 -0
  319. package/dist/core/engine/operations-speculate.d.ts +16 -0
  320. package/dist/core/engine/operations-speculate.js +40 -0
  321. package/dist/core/engine/operations-state.d.ts +16 -0
  322. package/dist/core/engine/operations-state.js +27 -0
  323. package/dist/core/engine/operations-stream.d.ts +20 -0
  324. package/dist/core/engine/operations-stream.js +54 -0
  325. package/dist/core/engine/operations-time.d.ts +28 -0
  326. package/dist/core/engine/operations-time.js +167 -0
  327. package/dist/core/engine/parallel-dispatch.d.ts +92 -0
  328. package/dist/core/engine/parallel-dispatch.js +45 -0
  329. package/dist/core/engine/pending-updates.d.ts +18 -0
  330. package/dist/core/engine/pending-updates.js +109 -0
  331. package/dist/core/engine/persisted-data-version.d.ts +24 -0
  332. package/dist/core/engine/persisted-data-version.js +25 -0
  333. package/dist/core/engine/queries.d.ts +3 -0
  334. package/dist/core/engine/queries.js +17 -0
  335. package/dist/core/engine/registration.d.ts +6 -0
  336. package/dist/core/engine/registration.js +107 -0
  337. package/dist/core/engine/retention.d.ts +15 -0
  338. package/dist/core/engine/retention.js +76 -0
  339. package/dist/core/engine/review-list-entries.d.ts +6 -0
  340. package/dist/core/engine/review-list-entries.js +117 -0
  341. package/dist/core/engine/reviews.d.ts +34 -0
  342. package/dist/core/engine/reviews.js +242 -0
  343. package/dist/core/engine/schedule-occurrence.d.ts +35 -0
  344. package/dist/core/engine/schedule-occurrence.js +26 -0
  345. package/dist/core/engine/schedule-timer.d.ts +4 -0
  346. package/dist/core/engine/schedule-timer.js +77 -0
  347. package/dist/core/engine/schedules.d.ts +34 -0
  348. package/dist/core/engine/schedules.js +204 -0
  349. package/dist/core/engine/signals.d.ts +40 -0
  350. package/dist/core/engine/signals.js +185 -0
  351. package/dist/core/engine/speculative-execution-state.d.ts +8 -0
  352. package/dist/core/engine/speculative-execution-state.js +26 -0
  353. package/dist/core/engine/state-utilities.d.ts +62 -0
  354. package/dist/core/engine/state-utilities.js +306 -0
  355. package/dist/core/engine/storage-io.d.ts +21 -0
  356. package/dist/core/engine/storage-io.js +82 -0
  357. package/dist/core/engine/strategy-helpers.d.ts +27 -0
  358. package/dist/core/engine/strategy-helpers.js +47 -0
  359. package/dist/core/engine/stream-chunk-loading.d.ts +5 -0
  360. package/dist/core/engine/stream-chunk-loading.js +22 -0
  361. package/dist/core/engine/sub-operation.d.ts +24 -0
  362. package/dist/core/engine/sub-operation.js +78 -0
  363. package/dist/core/engine/termination/cleanup.d.ts +67 -0
  364. package/dist/core/engine/termination/cleanup.js +167 -0
  365. package/dist/core/engine/termination/complete.d.ts +13 -0
  366. package/dist/core/engine/termination/complete.js +249 -0
  367. package/dist/core/engine/termination.d.ts +7 -0
  368. package/dist/core/engine/termination.js +23 -0
  369. package/dist/core/engine/updates.d.ts +56 -0
  370. package/dist/core/engine/updates.js +230 -0
  371. package/dist/core/engine/validation/schedule.d.ts +38 -0
  372. package/dist/core/engine/validation/schedule.js +258 -0
  373. package/dist/core/engine/validation.d.ts +40 -0
  374. package/dist/core/engine/validation.js +144 -0
  375. package/dist/core/engine/workflow-feed.d.ts +82 -0
  376. package/dist/core/engine/workflow-feed.js +96 -0
  377. package/dist/core/engine/workflow-indexes.d.ts +103 -0
  378. package/dist/core/engine/workflow-indexes.js +93 -0
  379. package/dist/core/engine/workflow-state-stream.d.ts +9 -0
  380. package/dist/core/engine/workflow-state-stream.js +126 -0
  381. package/dist/core/engine/workflow-visibility-queries.d.ts +40 -0
  382. package/dist/core/engine/workflow-visibility-queries.js +56 -0
  383. package/dist/core/engine-helpers.d.ts +56 -0
  384. package/dist/core/engine-helpers.js +52 -0
  385. package/dist/core/engine.d.ts +1 -0
  386. package/dist/core/engine.js +1 -0
  387. package/dist/core/event-log-shared.d.ts +65 -0
  388. package/dist/core/event-log-shared.js +31 -0
  389. package/dist/core/event-log-verify.d.ts +51 -0
  390. package/dist/core/event-log-verify.js +64 -0
  391. package/dist/core/event-log.d.ts +112 -0
  392. package/dist/core/event-log.js +81 -0
  393. package/dist/core/events/activity-events.d.ts +104 -0
  394. package/dist/core/events/activity-events.js +63 -0
  395. package/dist/core/events/attribute-events.d.ts +22 -0
  396. package/dist/core/events/attribute-events.js +10 -0
  397. package/dist/core/events/event-map.d.ts +80 -0
  398. package/dist/core/events/event-map.js +0 -0
  399. package/dist/core/events/index.d.ts +7 -0
  400. package/dist/core/events/index.js +7 -0
  401. package/dist/core/events/signal-events.d.ts +45 -0
  402. package/dist/core/events/signal-events.js +23 -0
  403. package/dist/core/events/system-events.d.ts +149 -0
  404. package/dist/core/events/system-events.js +92 -0
  405. package/dist/core/events/update-events.d.ts +53 -0
  406. package/dist/core/events/update-events.js +31 -0
  407. package/dist/core/events/workflow-events.d.ts +198 -0
  408. package/dist/core/events/workflow-events.js +91 -0
  409. package/dist/core/events.d.ts +1 -0
  410. package/dist/core/events.js +1 -0
  411. package/dist/core/execution-strategy.d.ts +107 -0
  412. package/dist/core/execution-strategy.js +0 -0
  413. package/dist/core/failure-categories.d.ts +18 -0
  414. package/dist/core/failure-categories.js +70 -0
  415. package/dist/core/fault-code.d.ts +92 -0
  416. package/dist/core/fault-code.js +21 -0
  417. package/dist/core/inline-execution-strategy.d.ts +76 -0
  418. package/dist/core/inline-execution-strategy.js +264 -0
  419. package/dist/core/interceptor/activity-composition.d.ts +20 -0
  420. package/dist/core/interceptor/activity-composition.js +17 -0
  421. package/dist/core/interceptor/index.d.ts +25 -0
  422. package/dist/core/interceptor/index.js +8 -0
  423. package/dist/core/interceptor/interception-contexts.d.ts +200 -0
  424. package/dist/core/interceptor/interception-contexts.js +0 -0
  425. package/dist/core/interceptor/interceptor-interfaces.d.ts +149 -0
  426. package/dist/core/interceptor/interceptor-interfaces.js +9 -0
  427. package/dist/core/interceptor/split.d.ts +11 -0
  428. package/dist/core/interceptor/split.js +14 -0
  429. package/dist/core/interceptor/workflow-composition.d.ts +21 -0
  430. package/dist/core/interceptor/workflow-composition.js +116 -0
  431. package/dist/core/interceptor.d.ts +1 -0
  432. package/dist/core/interceptor.js +1 -0
  433. package/dist/core/json.d.ts +56 -0
  434. package/dist/core/json.js +77 -0
  435. package/dist/core/list-filter-validation.d.ts +78 -0
  436. package/dist/core/list-filter-validation.js +75 -0
  437. package/dist/core/payload-size.d.ts +78 -0
  438. package/dist/core/payload-size.js +27 -0
  439. package/dist/core/persisted-data-incompatible-error.d.ts +48 -0
  440. package/dist/core/persisted-data-incompatible-error.js +12 -0
  441. package/dist/core/registry-snapshot.d.ts +69 -0
  442. package/dist/core/registry-snapshot.js +70 -0
  443. package/dist/core/review/events.d.ts +73 -0
  444. package/dist/core/review/events.js +31 -0
  445. package/dist/core/review/index.d.ts +265 -0
  446. package/dist/core/review/index.js +96 -0
  447. package/dist/core/runtime-workflow-engine.d.ts +16 -0
  448. package/dist/core/runtime-workflow-engine.js +6 -0
  449. package/dist/core/schedule/cron-formatter.d.ts +10 -0
  450. package/dist/core/schedule/cron-formatter.js +103 -0
  451. package/dist/core/schedule/cron-occurrence.d.ts +3 -0
  452. package/dist/core/schedule/cron-occurrence.js +129 -0
  453. package/dist/core/schedule/cron-parser.d.ts +2 -0
  454. package/dist/core/schedule/cron-parser.js +93 -0
  455. package/dist/core/schedule/cron-types.d.ts +35 -0
  456. package/dist/core/schedule/cron-types.js +0 -0
  457. package/dist/core/schedule/index.d.ts +3 -0
  458. package/dist/core/schedule/index.js +2 -0
  459. package/dist/core/schedule/interval-occurrence.d.ts +31 -0
  460. package/dist/core/schedule/interval-occurrence.js +26 -0
  461. package/dist/core/schedule.d.ts +1 -0
  462. package/dist/core/schedule.js +1 -0
  463. package/dist/core/scheduler/duration.d.ts +44 -0
  464. package/dist/core/scheduler/duration.js +48 -0
  465. package/dist/core/scheduler/index.d.ts +4 -0
  466. package/dist/core/scheduler/index.js +3 -0
  467. package/dist/core/scheduler/scheduler-class.d.ts +52 -0
  468. package/dist/core/scheduler/scheduler-class.js +167 -0
  469. package/dist/core/scheduler/timer-batch.d.ts +10 -0
  470. package/dist/core/scheduler/timer-batch.js +42 -0
  471. package/dist/core/scheduler/timer-sources.d.ts +17 -0
  472. package/dist/core/scheduler/timer-sources.js +61 -0
  473. package/dist/core/scheduler.d.ts +1 -0
  474. package/dist/core/scheduler.js +1 -0
  475. package/dist/core/search-attributes.d.ts +67 -0
  476. package/dist/core/search-attributes.js +196 -0
  477. package/dist/core/session-state.d.ts +18 -0
  478. package/dist/core/session-state.js +71 -0
  479. package/dist/core/signal-id.d.ts +2 -0
  480. package/dist/core/signal-id.js +10 -0
  481. package/dist/core/start-workflow-validation.d.ts +14 -0
  482. package/dist/core/start-workflow-validation.js +63 -0
  483. package/dist/core/step-context.d.ts +97 -0
  484. package/dist/core/step-context.js +113 -0
  485. package/dist/core/timeouts.d.ts +98 -0
  486. package/dist/core/timeouts.js +38 -0
  487. package/dist/core/types/activity.d.ts +316 -0
  488. package/dist/core/types/activity.js +15 -0
  489. package/dist/core/types/archive-adapter.d.ts +49 -0
  490. package/dist/core/types/archive-adapter.js +0 -0
  491. package/dist/core/types/bulk.d.ts +312 -0
  492. package/dist/core/types/bulk.js +1 -0
  493. package/dist/core/types/checkpoint.d.ts +237 -0
  494. package/dist/core/types/checkpoint.js +12 -0
  495. package/dist/core/types/clone-plain.d.ts +17 -0
  496. package/dist/core/types/clone-plain.js +25 -0
  497. package/dist/core/types/constants.d.ts +54 -0
  498. package/dist/core/types/constants.js +1 -0
  499. package/dist/core/types/deep-freeze.d.ts +31 -0
  500. package/dist/core/types/deep-freeze.js +31 -0
  501. package/dist/core/types/definition-schema-to-json.d.ts +41 -0
  502. package/dist/core/types/definition-schema-to-json.js +56 -0
  503. package/dist/core/types/definition-schema.d.ts +341 -0
  504. package/dist/core/types/definition-schema.js +45 -0
  505. package/dist/core/types/history-policy.d.ts +92 -0
  506. package/dist/core/types/history-policy.js +1 -0
  507. package/dist/core/types/identity.d.ts +55 -0
  508. package/dist/core/types/identity.js +0 -0
  509. package/dist/core/types/message-handles.d.ts +229 -0
  510. package/dist/core/types/message-handles.js +36 -0
  511. package/dist/core/types/name-grammar.d.ts +30 -0
  512. package/dist/core/types/name-grammar.js +9 -0
  513. package/dist/core/types/options.d.ts +360 -0
  514. package/dist/core/types/options.js +0 -0
  515. package/dist/core/types/payload-size-policy.d.ts +47 -0
  516. package/dist/core/types/payload-size-policy.js +0 -0
  517. package/dist/core/types/registry-type-helpers.d.ts +1 -0
  518. package/dist/core/types/registry-type-helpers.js +0 -0
  519. package/dist/core/types/retry-retention.d.ts +163 -0
  520. package/dist/core/types/retry-retention.js +6 -0
  521. package/dist/core/types/reviews.d.ts +170 -0
  522. package/dist/core/types/reviews.js +0 -0
  523. package/dist/core/types/schedules.d.ts +176 -0
  524. package/dist/core/types/schedules.js +3 -0
  525. package/dist/core/types/search-attributes.d.ts +127 -0
  526. package/dist/core/types/search-attributes.js +8 -0
  527. package/dist/core/types/serializer.d.ts +30 -0
  528. package/dist/core/types/serializer.js +0 -0
  529. package/dist/core/types/standard-schema-validate.d.ts +113 -0
  530. package/dist/core/types/standard-schema-validate.js +60 -0
  531. package/dist/core/types/state.d.ts +261 -0
  532. package/dist/core/types/state.js +0 -0
  533. package/dist/core/types/workflow-builder-helpers.d.ts +310 -0
  534. package/dist/core/types/workflow-builder-helpers.js +0 -0
  535. package/dist/core/types/workflow-builder-runtime.d.ts +97 -0
  536. package/dist/core/types/workflow-builder-runtime.js +137 -0
  537. package/dist/core/types/workflow-builder.d.ts +343 -0
  538. package/dist/core/types/workflow-builder.js +0 -0
  539. package/dist/core/types/workflow-context.d.ts +168 -0
  540. package/dist/core/types/workflow-context.js +0 -0
  541. package/dist/core/types/workflow-definition.d.ts +61 -0
  542. package/dist/core/types/workflow-definition.js +0 -0
  543. package/dist/core/types/workflow-function.d.ts +330 -0
  544. package/dist/core/types/workflow-function.js +9 -0
  545. package/dist/core/types/workflow-registries.d.ts +203 -0
  546. package/dist/core/types/workflow-registries.js +0 -0
  547. package/dist/core/types/workflow-registry.d.ts +31 -0
  548. package/dist/core/types/workflow-registry.js +0 -0
  549. package/dist/core/types.d.ts +26 -0
  550. package/dist/core/types.js +26 -0
  551. package/dist/core/updates.d.ts +183 -0
  552. package/dist/core/updates.js +141 -0
  553. package/dist/core/versioning.d.ts +153 -0
  554. package/dist/core/versioning.js +94 -0
  555. package/dist/core/weft-error.d.ts +82 -0
  556. package/dist/core/weft-error.js +43 -0
  557. package/dist/core/worker-checkpoint-resume-state.d.ts +11 -0
  558. package/dist/core/worker-checkpoint-resume-state.js +40 -0
  559. package/dist/core/worker-execution-dispatcher.d.ts +42 -0
  560. package/dist/core/worker-execution-dispatcher.js +95 -0
  561. package/dist/core/worker-execution-ownership.d.ts +20 -0
  562. package/dist/core/worker-execution-ownership.js +91 -0
  563. package/dist/core/worker-execution-strategy-options.d.ts +7 -0
  564. package/dist/core/worker-execution-strategy-options.js +0 -0
  565. package/dist/core/worker-execution-strategy.d.ts +29 -0
  566. package/dist/core/worker-execution-strategy.js +356 -0
  567. package/dist/core/worker-listener-registry.d.ts +11 -0
  568. package/dist/core/worker-listener-registry.js +35 -0
  569. package/dist/core/worker-message-helpers.d.ts +5 -0
  570. package/dist/core/worker-message-helpers.js +14 -0
  571. package/dist/core/worker-protocol-guard.d.ts +20 -0
  572. package/dist/core/worker-protocol-guard.js +69 -0
  573. package/dist/core/worker-protocol.d.ts +27 -0
  574. package/dist/core/worker-protocol.js +346 -0
  575. package/dist/core/worker-turn-watchdog.d.ts +14 -0
  576. package/dist/core/worker-turn-watchdog.js +40 -0
  577. package/dist/core/workflow-identifiers.d.ts +1 -0
  578. package/dist/core/workflow-identifiers.js +19 -0
  579. package/dist/core/workflow-tags.d.ts +9 -0
  580. package/dist/core/workflow-tags.js +37 -0
  581. package/dist/core/workflow-version-tuple.d.ts +67 -0
  582. package/dist/core/workflow-version-tuple.js +77 -0
  583. package/dist/diagnostics/doctor.d.ts +30 -0
  584. package/dist/diagnostics/doctor.js +173 -0
  585. package/dist/diagnostics/format.d.ts +77 -0
  586. package/dist/diagnostics/format.js +115 -0
  587. package/dist/diagnostics/index.d.ts +15 -0
  588. package/dist/diagnostics/index.js +10 -0
  589. package/dist/diagnostics/memory-profiler.d.ts +136 -0
  590. package/dist/diagnostics/memory-profiler.js +93 -0
  591. package/dist/diagnostics/recommendations.d.ts +37 -0
  592. package/dist/diagnostics/recommendations.js +116 -0
  593. package/dist/diagnostics/types.d.ts +178 -0
  594. package/dist/diagnostics/types.js +9 -0
  595. package/dist/diagnostics/validate.d.ts +79 -0
  596. package/dist/diagnostics/validate.js +88 -0
  597. package/dist/diagnostics/version-check.d.ts +34 -0
  598. package/dist/diagnostics/version-check.js +61 -0
  599. package/dist/index.d.ts +109 -0
  600. package/dist/index.js +182 -0
  601. package/dist/json-schema.d.ts +55 -0
  602. package/dist/json-schema.js +4 -0
  603. package/dist/mcp/access.d.ts +21 -0
  604. package/dist/mcp/access.js +22 -0
  605. package/dist/mcp/cli.d.ts +2 -0
  606. package/dist/mcp/cli.js +72 -0
  607. package/dist/mcp/dispatcher.d.ts +13 -0
  608. package/dist/mcp/dispatcher.js +198 -0
  609. package/dist/mcp/http.d.ts +64 -0
  610. package/dist/mcp/http.js +272 -0
  611. package/dist/mcp/index.d.ts +17 -0
  612. package/dist/mcp/index.js +26 -0
  613. package/dist/mcp/list-filter.d.ts +10 -0
  614. package/dist/mcp/list-filter.js +116 -0
  615. package/dist/mcp/protocol.d.ts +89 -0
  616. package/dist/mcp/protocol.js +64 -0
  617. package/dist/mcp/resources.d.ts +40 -0
  618. package/dist/mcp/resources.js +141 -0
  619. package/dist/mcp/session.d.ts +138 -0
  620. package/dist/mcp/session.js +204 -0
  621. package/dist/mcp/stdio.d.ts +89 -0
  622. package/dist/mcp/stdio.js +204 -0
  623. package/dist/mcp/tools.d.ts +27 -0
  624. package/dist/mcp/tools.js +262 -0
  625. package/dist/observability/activity-interceptor.d.ts +3 -0
  626. package/dist/observability/activity-interceptor.js +34 -0
  627. package/dist/observability/index.d.ts +60 -0
  628. package/dist/observability/index.js +4 -0
  629. package/dist/observability/metrics-catalog.d.ts +128 -0
  630. package/dist/observability/metrics-catalog.js +110 -0
  631. package/dist/observability/metrics-snapshot.d.ts +106 -0
  632. package/dist/observability/metrics-snapshot.js +0 -0
  633. package/dist/observability/metrics.d.ts +156 -0
  634. package/dist/observability/metrics.js +152 -0
  635. package/dist/observability/no-op-telemetry.d.ts +168 -0
  636. package/dist/observability/no-op-telemetry.js +96 -0
  637. package/dist/observability/propagation.d.ts +121 -0
  638. package/dist/observability/propagation.js +41 -0
  639. package/dist/observability/span-helpers.d.ts +50 -0
  640. package/dist/observability/span-helpers.js +83 -0
  641. package/dist/observability/types.d.ts +92 -0
  642. package/dist/observability/types.js +0 -0
  643. package/dist/observability/workflow-interceptor.d.ts +3 -0
  644. package/dist/observability/workflow-interceptor.js +106 -0
  645. package/dist/observability/workflow-lifecycle.d.ts +8 -0
  646. package/dist/observability/workflow-lifecycle.js +103 -0
  647. package/dist/runtime/portable.d.ts +119 -0
  648. package/dist/runtime/portable.js +90 -0
  649. package/dist/server/api-catalog.d.ts +85 -0
  650. package/dist/server/api-catalog.js +47 -0
  651. package/dist/server/asyncapi-channels.d.ts +40 -0
  652. package/dist/server/asyncapi-channels.js +264 -0
  653. package/dist/server/asyncapi.d.ts +25 -0
  654. package/dist/server/asyncapi.js +110 -0
  655. package/dist/server/attribute-filters.d.ts +37 -0
  656. package/dist/server/attribute-filters.js +39 -0
  657. package/dist/server/authentication/api-key.d.ts +3 -0
  658. package/dist/server/authentication/api-key.js +80 -0
  659. package/dist/server/authentication/audit.d.ts +116 -0
  660. package/dist/server/authentication/audit.js +25 -0
  661. package/dist/server/authentication/crypto.d.ts +7 -0
  662. package/dist/server/authentication/crypto.js +99 -0
  663. package/dist/server/authentication/index.d.ts +68 -0
  664. package/dist/server/authentication/index.js +144 -0
  665. package/dist/server/authentication/rate-limiter.d.ts +126 -0
  666. package/dist/server/authentication/rate-limiter.js +61 -0
  667. package/dist/server/authentication/redaction.d.ts +72 -0
  668. package/dist/server/authentication/redaction.js +30 -0
  669. package/dist/server/authentication/rotating-api-key-store.d.ts +107 -0
  670. package/dist/server/authentication/rotating-api-key-store.js +43 -0
  671. package/dist/server/authentication/types.d.ts +290 -0
  672. package/dist/server/authentication/types.js +13 -0
  673. package/dist/server/authentication.d.ts +1 -0
  674. package/dist/server/authentication.js +1 -0
  675. package/dist/server/authorization-scope.d.ts +43 -0
  676. package/dist/server/authorization-scope.js +53 -0
  677. package/dist/server/authorization.d.ts +55 -0
  678. package/dist/server/authorization.js +87 -0
  679. package/dist/server/deadline-tracker.d.ts +47 -0
  680. package/dist/server/deadline-tracker.js +106 -0
  681. package/dist/server/discovery-filter.d.ts +13 -0
  682. package/dist/server/discovery-filter.js +5 -0
  683. package/dist/server/discovery-info.d.ts +69 -0
  684. package/dist/server/discovery-info.js +12 -0
  685. package/dist/server/engine-event-feed-backend.d.ts +31 -0
  686. package/dist/server/engine-event-feed-backend.js +36 -0
  687. package/dist/server/fault-to-http.d.ts +14 -0
  688. package/dist/server/fault-to-http.js +29 -0
  689. package/dist/server/fault-to-json-rpc.d.ts +23 -0
  690. package/dist/server/fault-to-json-rpc.js +60 -0
  691. package/dist/server/handler/binding-dispatch.d.ts +11 -0
  692. package/dist/server/handler/binding-dispatch.js +13 -0
  693. package/dist/server/handler/index.d.ts +31 -0
  694. package/dist/server/handler/index.js +78 -0
  695. package/dist/server/handler/response-helpers.d.ts +5 -0
  696. package/dist/server/handler/response-helpers.js +28 -0
  697. package/dist/server/handler/route-dispatch.d.ts +144 -0
  698. package/dist/server/handler/route-dispatch.js +192 -0
  699. package/dist/server/handler/route-matching.d.ts +55 -0
  700. package/dist/server/handler/route-matching.js +45 -0
  701. package/dist/server/handler.d.ts +1 -0
  702. package/dist/server/handler.js +56 -0
  703. package/dist/server/index.d.ts +346 -0
  704. package/dist/server/index.js +64 -0
  705. package/dist/server/interactive-operations.d.ts +18 -0
  706. package/dist/server/interactive-operations.js +28 -0
  707. package/dist/server/json-rpc-dispatch.d.ts +49 -0
  708. package/dist/server/json-rpc-dispatch.js +92 -0
  709. package/dist/server/json-rpc-framing.d.ts +42 -0
  710. package/dist/server/json-rpc-framing.js +15 -0
  711. package/dist/server/json-rpc-http.d.ts +33 -0
  712. package/dist/server/json-rpc-http.js +112 -0
  713. package/dist/server/json-rpc-parse.d.ts +69 -0
  714. package/dist/server/json-rpc-parse.js +139 -0
  715. package/dist/server/json-rpc-protocol.d.ts +76 -0
  716. package/dist/server/json-rpc-protocol.js +27 -0
  717. package/dist/server/json-rpc-transport-helpers.d.ts +17 -0
  718. package/dist/server/json-rpc-transport-helpers.js +26 -0
  719. package/dist/server/json-rpc-websocket-runtime.d.ts +37 -0
  720. package/dist/server/json-rpc-websocket-runtime.js +51 -0
  721. package/dist/server/json-rpc-websocket-validation.d.ts +38 -0
  722. package/dist/server/json-rpc-websocket-validation.js +96 -0
  723. package/dist/server/json-rpc-websocket.d.ts +60 -0
  724. package/dist/server/json-rpc-websocket.js +268 -0
  725. package/dist/server/json-schema-utilities.d.ts +4 -0
  726. package/dist/server/json-schema-utilities.js +16 -0
  727. package/dist/server/mcp-discovery.d.ts +57 -0
  728. package/dist/server/mcp-discovery.js +50 -0
  729. package/dist/server/openapi-canonical-json.d.ts +10 -0
  730. package/dist/server/openapi-canonical-json.js +13 -0
  731. package/dist/server/openapi-error-responses.d.ts +15 -0
  732. package/dist/server/openapi-error-responses.js +36 -0
  733. package/dist/server/openapi-schemas.d.ts +17 -0
  734. package/dist/server/openapi-schemas.js +69 -0
  735. package/dist/server/openapi.d.ts +48 -0
  736. package/dist/server/openapi.js +290 -0
  737. package/dist/server/openrpc-document-schema.d.ts +112 -0
  738. package/dist/server/openrpc-document-schema.js +65 -0
  739. package/dist/server/openrpc-errors.d.ts +73 -0
  740. package/dist/server/openrpc-errors.js +57 -0
  741. package/dist/server/openrpc.d.ts +53 -0
  742. package/dist/server/openrpc.js +179 -0
  743. package/dist/server/operation-catalog/activity-adapter.d.ts +11 -0
  744. package/dist/server/operation-catalog/activity-adapter.js +9 -0
  745. package/dist/server/operation-catalog/dispatch-allowlist.d.ts +4 -0
  746. package/dist/server/operation-catalog/dispatch-allowlist.js +4 -0
  747. package/dist/server/operation-catalog/dispatch-preparation.d.ts +39 -0
  748. package/dist/server/operation-catalog/dispatch-preparation.js +52 -0
  749. package/dist/server/operation-catalog/index.d.ts +22 -0
  750. package/dist/server/operation-catalog/index.js +17 -0
  751. package/dist/server/operation-catalog/pipeline-helpers.d.ts +66 -0
  752. package/dist/server/operation-catalog/pipeline-helpers.js +179 -0
  753. package/dist/server/operation-catalog/pipeline-stages.d.ts +23 -0
  754. package/dist/server/operation-catalog/pipeline-stages.js +189 -0
  755. package/dist/server/operation-catalog/pipeline.d.ts +7 -0
  756. package/dist/server/operation-catalog/pipeline.js +32 -0
  757. package/dist/server/operation-catalog/raise-fault.d.ts +32 -0
  758. package/dist/server/operation-catalog/raise-fault.js +18 -0
  759. package/dist/server/operation-catalog/registry.d.ts +6 -0
  760. package/dist/server/operation-catalog/registry.js +93 -0
  761. package/dist/server/operation-catalog/stream-pipeline.d.ts +25 -0
  762. package/dist/server/operation-catalog/stream-pipeline.js +122 -0
  763. package/dist/server/operation-catalog/types.d.ts +246 -0
  764. package/dist/server/operation-catalog/types.js +9 -0
  765. package/dist/server/operation-catalog/workflow-adapter.d.ts +55 -0
  766. package/dist/server/operation-catalog/workflow-adapter.js +85 -0
  767. package/dist/server/operation-catalog.d.ts +1 -0
  768. package/dist/server/operation-catalog.js +1 -0
  769. package/dist/server/operation-fault.d.ts +153 -0
  770. package/dist/server/operation-fault.js +50 -0
  771. package/dist/server/operation-registry.d.ts +100 -0
  772. package/dist/server/operation-registry.js +56 -0
  773. package/dist/server/operations/add-workflow-tags.d.ts +15 -0
  774. package/dist/server/operations/add-workflow-tags.js +13 -0
  775. package/dist/server/operations/aggregate-workflows.d.ts +81 -0
  776. package/dist/server/operations/aggregate-workflows.js +110 -0
  777. package/dist/server/operations/async-activity.d.ts +44 -0
  778. package/dist/server/operations/async-activity.js +134 -0
  779. package/dist/server/operations/bulk-cancel-workflows.d.ts +7 -0
  780. package/dist/server/operations/bulk-cancel-workflows.js +64 -0
  781. package/dist/server/operations/bulk-delete-workflows.d.ts +7 -0
  782. package/dist/server/operations/bulk-delete-workflows.js +71 -0
  783. package/dist/server/operations/bulk-filter-helpers.d.ts +62 -0
  784. package/dist/server/operations/bulk-filter-helpers.js +334 -0
  785. package/dist/server/operations/bulk-mutate-workflow-tags.d.ts +94 -0
  786. package/dist/server/operations/bulk-mutate-workflow-tags.js +100 -0
  787. package/dist/server/operations/bulk-operation-helpers.d.ts +27 -0
  788. package/dist/server/operations/bulk-operation-helpers.js +29 -0
  789. package/dist/server/operations/bulk-signal-workflows.d.ts +87 -0
  790. package/dist/server/operations/bulk-signal-workflows.js +80 -0
  791. package/dist/server/operations/cancel-schedule.d.ts +13 -0
  792. package/dist/server/operations/cancel-schedule.js +43 -0
  793. package/dist/server/operations/cancel-workflow.d.ts +13 -0
  794. package/dist/server/operations/cancel-workflow.js +34 -0
  795. package/dist/server/operations/create-schedule.d.ts +29 -0
  796. package/dist/server/operations/create-schedule.js +116 -0
  797. package/dist/server/operations/failure-category-filter.d.ts +2 -0
  798. package/dist/server/operations/failure-category-filter.js +19 -0
  799. package/dist/server/operations/fork-workflow.d.ts +29 -0
  800. package/dist/server/operations/fork-workflow.js +88 -0
  801. package/dist/server/operations/get-checkpoint-at.d.ts +15 -0
  802. package/dist/server/operations/get-checkpoint-at.js +74 -0
  803. package/dist/server/operations/get-registry.d.ts +26 -0
  804. package/dist/server/operations/get-registry.js +56 -0
  805. package/dist/server/operations/get-retention-overview.d.ts +9 -0
  806. package/dist/server/operations/get-retention-overview.js +39 -0
  807. package/dist/server/operations/get-review.d.ts +15 -0
  808. package/dist/server/operations/get-review.js +57 -0
  809. package/dist/server/operations/get-schedule.d.ts +20 -0
  810. package/dist/server/operations/get-schedule.js +48 -0
  811. package/dist/server/operations/get-stream-chunks.d.ts +19 -0
  812. package/dist/server/operations/get-stream-chunks.js +71 -0
  813. package/dist/server/operations/get-system-metrics.d.ts +42 -0
  814. package/dist/server/operations/get-system-metrics.js +43 -0
  815. package/dist/server/operations/get-task-diagnostics.d.ts +184 -0
  816. package/dist/server/operations/get-task-diagnostics.js +340 -0
  817. package/dist/server/operations/get-update-result.d.ts +18 -0
  818. package/dist/server/operations/get-update-result.js +55 -0
  819. package/dist/server/operations/get-workflow-attributes.d.ts +13 -0
  820. package/dist/server/operations/get-workflow-attributes.js +51 -0
  821. package/dist/server/operations/get-workflow-events.d.ts +15 -0
  822. package/dist/server/operations/get-workflow-events.js +51 -0
  823. package/dist/server/operations/get-workflow-result.d.ts +14 -0
  824. package/dist/server/operations/get-workflow-result.js +93 -0
  825. package/dist/server/operations/get-workflow-timeline.d.ts +13 -0
  826. package/dist/server/operations/get-workflow-timeline.js +51 -0
  827. package/dist/server/operations/get-workflow.d.ts +36 -0
  828. package/dist/server/operations/get-workflow.js +49 -0
  829. package/dist/server/operations/list-checkpoints.d.ts +13 -0
  830. package/dist/server/operations/list-checkpoints.js +43 -0
  831. package/dist/server/operations/list-filter-query-extractor.d.ts +23 -0
  832. package/dist/server/operations/list-filter-query-extractor.js +87 -0
  833. package/dist/server/operations/list-reviews.d.ts +19 -0
  834. package/dist/server/operations/list-reviews.js +77 -0
  835. package/dist/server/operations/list-schedules.d.ts +28 -0
  836. package/dist/server/operations/list-schedules.js +108 -0
  837. package/dist/server/operations/list-task-queues.d.ts +71 -0
  838. package/dist/server/operations/list-task-queues.js +105 -0
  839. package/dist/server/operations/list-workers.d.ts +56 -0
  840. package/dist/server/operations/list-workers.js +92 -0
  841. package/dist/server/operations/list-workflows.d.ts +79 -0
  842. package/dist/server/operations/list-workflows.js +136 -0
  843. package/dist/server/operations/operation-helpers.d.ts +21 -0
  844. package/dist/server/operations/operation-helpers.js +22 -0
  845. package/dist/server/operations/pause-schedule.d.ts +13 -0
  846. package/dist/server/operations/pause-schedule.js +43 -0
  847. package/dist/server/operations/purge-workflows.d.ts +41 -0
  848. package/dist/server/operations/purge-workflows.js +57 -0
  849. package/dist/server/operations/query-workflow.d.ts +19 -0
  850. package/dist/server/operations/query-workflow.js +99 -0
  851. package/dist/server/operations/recover-all.d.ts +13 -0
  852. package/dist/server/operations/recover-all.js +65 -0
  853. package/dist/server/operations/remove-workflow-tags.d.ts +15 -0
  854. package/dist/server/operations/remove-workflow-tags.js +13 -0
  855. package/dist/server/operations/replay-workflow.d.ts +28 -0
  856. package/dist/server/operations/replay-workflow.js +69 -0
  857. package/dist/server/operations/resume-schedule.d.ts +13 -0
  858. package/dist/server/operations/resume-schedule.js +43 -0
  859. package/dist/server/operations/resume-workflow.d.ts +17 -0
  860. package/dist/server/operations/resume-workflow.js +40 -0
  861. package/dist/server/operations/schedule-faults.d.ts +14 -0
  862. package/dist/server/operations/schedule-faults.js +41 -0
  863. package/dist/server/operations/set-workflow-attributes.d.ts +19 -0
  864. package/dist/server/operations/set-workflow-attributes.js +67 -0
  865. package/dist/server/operations/signal-workflow.d.ts +23 -0
  866. package/dist/server/operations/signal-workflow.js +58 -0
  867. package/dist/server/operations/single-workflow-control-operation.d.ts +32 -0
  868. package/dist/server/operations/single-workflow-control-operation.js +44 -0
  869. package/dist/server/operations/single-workflow-tag-mutation.d.ts +27 -0
  870. package/dist/server/operations/single-workflow-tag-mutation.js +108 -0
  871. package/dist/server/operations/sse-stream.d.ts +13 -0
  872. package/dist/server/operations/sse-stream.js +42 -0
  873. package/dist/server/operations/start-workflow.d.ts +33 -0
  874. package/dist/server/operations/start-workflow.js +181 -0
  875. package/dist/server/operations/storage.d.ts +112 -0
  876. package/dist/server/operations/storage.js +358 -0
  877. package/dist/server/operations/stream-workflow-sse.d.ts +17 -0
  878. package/dist/server/operations/stream-workflow-sse.js +94 -0
  879. package/dist/server/operations/submit-review-decision.d.ts +25 -0
  880. package/dist/server/operations/submit-review-decision.js +113 -0
  881. package/dist/server/operations/timeout-workflow.d.ts +11 -0
  882. package/dist/server/operations/timeout-workflow.js +34 -0
  883. package/dist/server/operations/update-schedule.d.ts +15 -0
  884. package/dist/server/operations/update-schedule.js +60 -0
  885. package/dist/server/operations/update-workflow.d.ts +27 -0
  886. package/dist/server/operations/update-workflow.js +109 -0
  887. package/dist/server/operations/worker-drain.d.ts +69 -0
  888. package/dist/server/operations/worker-drain.js +214 -0
  889. package/dist/server/operations/workflow-events-subscription.d.ts +47 -0
  890. package/dist/server/operations/workflow-events-subscription.js +51 -0
  891. package/dist/server/principal.d.ts +176 -0
  892. package/dist/server/principal.js +59 -0
  893. package/dist/server/rest-binding.d.ts +158 -0
  894. package/dist/server/rest-binding.js +35 -0
  895. package/dist/server/rest-bindings.d.ts +76 -0
  896. package/dist/server/rest-bindings.js +376 -0
  897. package/dist/server/route-model.d.ts +268 -0
  898. package/dist/server/route-model.js +166 -0
  899. package/dist/server/runtime/authentication-bridge.d.ts +22 -0
  900. package/dist/server/runtime/authentication-bridge.js +194 -0
  901. package/dist/server/runtime/context.d.ts +73 -0
  902. package/dist/server/runtime/context.js +0 -0
  903. package/dist/server/runtime/cors.d.ts +149 -0
  904. package/dist/server/runtime/cors.js +123 -0
  905. package/dist/server/runtime/event-broadcasting.d.ts +71 -0
  906. package/dist/server/runtime/event-broadcasting.js +205 -0
  907. package/dist/server/runtime/request-gate.d.ts +54 -0
  908. package/dist/server/runtime/request-gate.js +71 -0
  909. package/dist/server/runtime/shutdown.d.ts +10 -0
  910. package/dist/server/runtime/shutdown.js +18 -0
  911. package/dist/server/runtime/stop-server.d.ts +3 -0
  912. package/dist/server/runtime/stop-server.js +19 -0
  913. package/dist/server/runtime/task-dispatch.d.ts +8 -0
  914. package/dist/server/runtime/task-dispatch.js +157 -0
  915. package/dist/server/runtime/task-metrics.d.ts +12 -0
  916. package/dist/server/runtime/task-metrics.js +36 -0
  917. package/dist/server/runtime/task-polling.d.ts +9 -0
  918. package/dist/server/runtime/task-polling.js +132 -0
  919. package/dist/server/runtime/task-reconciliation.d.ts +17 -0
  920. package/dist/server/runtime/task-reconciliation.js +163 -0
  921. package/dist/server/runtime/websocket-stream.d.ts +15 -0
  922. package/dist/server/runtime/websocket-stream.js +79 -0
  923. package/dist/server/runtime/websocket-upgrade.d.ts +8 -0
  924. package/dist/server/runtime/websocket-upgrade.js +76 -0
  925. package/dist/server/runtime/websocket-worker.d.ts +7 -0
  926. package/dist/server/runtime/websocket-worker.js +224 -0
  927. package/dist/server/runtime-helpers.d.ts +18 -0
  928. package/dist/server/runtime-helpers.js +23 -0
  929. package/dist/server/sequence-cursor.d.ts +5 -0
  930. package/dist/server/sequence-cursor.js +19 -0
  931. package/dist/server/serve-internals.d.ts +83 -0
  932. package/dist/server/serve-internals.js +203 -0
  933. package/dist/server/stdio-session.d.ts +51 -0
  934. package/dist/server/stdio-session.js +245 -0
  935. package/dist/server/task-queue-summary.d.ts +27 -0
  936. package/dist/server/task-queue-summary.js +34 -0
  937. package/dist/server/task-queue-types.d.ts +95 -0
  938. package/dist/server/task-queue-types.js +0 -0
  939. package/dist/server/task-queue.d.ts +90 -0
  940. package/dist/server/task-queue.js +247 -0
  941. package/dist/server/task-resolved-record.d.ts +12 -0
  942. package/dist/server/task-resolved-record.js +35 -0
  943. package/dist/server/task-state.d.ts +152 -0
  944. package/dist/server/task-state.js +178 -0
  945. package/dist/server/workflow-event-feed.d.ts +166 -0
  946. package/dist/server/workflow-event-feed.js +193 -0
  947. package/dist/service-worker/index.d.ts +123 -0
  948. package/dist/service-worker/index.js +56 -0
  949. package/dist/service-worker/scheduler.d.ts +37 -0
  950. package/dist/service-worker/scheduler.js +117 -0
  951. package/dist/service-worker/setup.d.ts +127 -0
  952. package/dist/service-worker/setup.js +129 -0
  953. package/dist/service-worker/shared.d.ts +94 -0
  954. package/dist/service-worker/shared.js +15 -0
  955. package/dist/storage/auto.d.ts +45 -0
  956. package/dist/storage/auto.js +2 -0
  957. package/dist/storage/bun-sql.d.ts +64 -0
  958. package/dist/storage/bun-sql.js +575 -0
  959. package/dist/storage/byte-encoding.d.ts +6 -0
  960. package/dist/storage/byte-encoding.js +16 -0
  961. package/dist/storage/capabilities.d.ts +187 -0
  962. package/dist/storage/capabilities.js +19 -0
  963. package/dist/storage/compressed-storage.d.ts +45 -0
  964. package/dist/storage/compressed-storage.js +2 -0
  965. package/dist/storage/default-scope.d.ts +17 -0
  966. package/dist/storage/default-scope.js +1 -0
  967. package/dist/storage/delete-range.d.ts +109 -0
  968. package/dist/storage/delete-range.js +64 -0
  969. package/dist/storage/derived-operations.d.ts +53 -0
  970. package/dist/storage/derived-operations.js +31 -0
  971. package/dist/storage/http.d.ts +67 -0
  972. package/dist/storage/http.js +2 -0
  973. package/dist/storage/index.d.ts +292 -0
  974. package/dist/storage/index.js +51 -0
  975. package/dist/storage/indexeddb.d.ts +49 -0
  976. package/dist/storage/indexeddb.js +1 -0
  977. package/dist/storage/interface.d.ts +340 -0
  978. package/dist/storage/interface.js +2 -0
  979. package/dist/storage/key-prefixes.d.ts +19 -0
  980. package/dist/storage/key-prefixes.js +35 -0
  981. package/dist/storage/lmdb.d.ts +40 -0
  982. package/dist/storage/lmdb.js +2 -0
  983. package/dist/storage/memory.d.ts +46 -0
  984. package/dist/storage/memory.js +2 -0
  985. package/dist/storage/node-sqlite.d.ts +85 -0
  986. package/dist/storage/node-sqlite.js +323 -0
  987. package/dist/storage/read-only-query.d.ts +2 -0
  988. package/dist/storage/read-only-query.js +19 -0
  989. package/dist/storage/resolve.d.ts +180 -0
  990. package/dist/storage/resolve.js +2 -0
  991. package/dist/storage/scoped-storage.d.ts +68 -0
  992. package/dist/storage/scoped-storage.js +2 -0
  993. package/dist/storage/sqlite-key-value-queries.d.ts +40 -0
  994. package/dist/storage/sqlite-key-value-queries.js +64 -0
  995. package/dist/storage/sqlite.d.ts +31 -0
  996. package/dist/storage/sqlite.js +0 -0
  997. package/dist/storage/text-value-import.d.ts +87 -0
  998. package/dist/storage/text-value-import.js +50 -0
  999. package/dist/storage/text-value-store.d.ts +171 -0
  1000. package/dist/storage/text-value-store.js +55 -0
  1001. package/dist/storage/turso.d.ts +60 -0
  1002. package/dist/storage/turso.js +5 -0
  1003. package/dist/storage/typed-storage.d.ts +258 -0
  1004. package/dist/storage/typed-storage.js +2 -0
  1005. package/dist/storage/web-extension.d.ts +55 -0
  1006. package/dist/storage/web-extension.js +1 -0
  1007. package/dist/testing/chaos.d.ts +157 -0
  1008. package/dist/testing/chaos.js +69 -0
  1009. package/dist/testing/event-loop.d.ts +4 -0
  1010. package/dist/testing/event-loop.js +21 -0
  1011. package/dist/testing/index.d.ts +126 -0
  1012. package/dist/testing/index.js +61 -0
  1013. package/dist/testing/mocks.d.ts +145 -0
  1014. package/dist/testing/mocks.js +136 -0
  1015. package/dist/testing/subprocess-engine.d.ts +100 -0
  1016. package/dist/testing/subprocess-engine.js +291 -0
  1017. package/dist/testing/test-engine.d.ts +145 -0
  1018. package/dist/testing/test-engine.js +147 -0
  1019. package/dist/testing/time-control.d.ts +59 -0
  1020. package/dist/testing/time-control.js +68 -0
  1021. package/dist/version.d.ts +12 -0
  1022. package/dist/version.js +1 -0
  1023. package/dist/worker/activity-table.d.ts +33 -0
  1024. package/dist/worker/activity-table.js +20 -0
  1025. package/dist/worker/execute-with-interceptors.d.ts +28 -0
  1026. package/dist/worker/execute-with-interceptors.js +21 -0
  1027. package/dist/worker/heartbeat.d.ts +34 -0
  1028. package/dist/worker/heartbeat.js +31 -0
  1029. package/dist/worker/index.d.ts +57 -0
  1030. package/dist/worker/index.js +334 -0
  1031. package/dist/worker/long-poll.d.ts +54 -0
  1032. package/dist/worker/long-poll.js +134 -0
  1033. package/dist/worker/options.d.ts +66 -0
  1034. package/dist/worker/options.js +19 -0
  1035. package/dist/worker/protocol-internals.d.ts +82 -0
  1036. package/dist/worker/protocol-internals.js +56 -0
  1037. package/dist/worker/protocol-messages.d.ts +264 -0
  1038. package/dist/worker/protocol-messages.js +0 -0
  1039. package/dist/worker/protocol-schemas.d.ts +559 -0
  1040. package/dist/worker/protocol-schemas.js +180 -0
  1041. package/dist/worker/protocol-version.d.ts +71 -0
  1042. package/dist/worker/protocol-version.js +1 -0
  1043. package/dist/worker/protocol.d.ts +72 -0
  1044. package/dist/worker/protocol.js +2 -0
  1045. package/dist/worker/registry/fair-share.d.ts +59 -0
  1046. package/dist/worker/registry/fair-share.js +15 -0
  1047. package/dist/worker/registry/routing.d.ts +17 -0
  1048. package/dist/worker/registry/routing.js +16 -0
  1049. package/dist/worker/registry/summary.d.ts +87 -0
  1050. package/dist/worker/registry/summary.js +81 -0
  1051. package/dist/worker/registry/types.d.ts +123 -0
  1052. package/dist/worker/registry/types.js +0 -0
  1053. package/dist/worker/registry.d.ts +94 -0
  1054. package/dist/worker/registry.js +305 -0
  1055. package/dist/worker/remote-activity-context.d.ts +15 -0
  1056. package/dist/worker/remote-activity-context.js +0 -0
  1057. package/dist/worker/task-result-outbox.d.ts +40 -0
  1058. package/dist/worker/task-result-outbox.js +42 -0
  1059. package/dist/worker/worker-protocol-incompatible-error.d.ts +52 -0
  1060. package/dist/worker/worker-protocol-incompatible-error.js +15 -0
  1061. package/dist/worker/workflow-activity-binding.d.ts +96 -0
  1062. package/dist/worker/workflow-activity-binding.js +22 -0
  1063. package/dist/workers/activity-runner.d.ts +87 -0
  1064. package/dist/workers/activity-runner.js +29 -0
  1065. package/dist/workers/activity-worker-dispatcher.d.ts +85 -0
  1066. package/dist/workers/activity-worker-dispatcher.js +68 -0
  1067. package/dist/workers/activity-worker-entry.d.ts +99 -0
  1068. package/dist/workers/activity-worker-entry.js +59 -0
  1069. package/dist/workers/pool.d.ts +83 -0
  1070. package/dist/workers/pool.js +174 -0
  1071. package/dist/workers/workflow-runner.d.ts +79 -0
  1072. package/dist/workers/workflow-runner.js +245 -0
  1073. package/dist/workers/workflow-worker-entry.d.ts +24 -0
  1074. package/dist/workers/workflow-worker-entry.js +70 -0
  1075. package/package.json +297 -0
@@ -0,0 +1,323 @@
1
+ // @bun
2
+ // src/storage/node-sqlite.ts
3
+ import { createRequire } from "module";
4
+
5
+ // src/storage/capabilities.ts
6
+ function requireStorageCapability(storage, capability, featureName) {
7
+ if (!storage.capabilities()[capability]) {
8
+ throw new Error(`Feature "${featureName}" requires storage capability "${capability}", but this storage backend does not provide it.`);
9
+ }
10
+ }
11
+
12
+ // src/storage/derived-operations.ts
13
+ async function storageHasCore(storage, key) {
14
+ return await storage.get(key) !== null;
15
+ }
16
+ async function* storageKeysCore(storage, prefix, options) {
17
+ for await (const [key] of storage.scan(prefix, options)) {
18
+ yield key;
19
+ }
20
+ }
21
+ async function storageCountCore(storage, prefix) {
22
+ let count = 0;
23
+ for await (const _key of storageKeysCore(storage, prefix)) {
24
+ count++;
25
+ }
26
+ return count;
27
+ }
28
+ async function storageDeletePrefixCore(storage, prefix) {
29
+ const operations = [];
30
+ for await (const key of storageKeysCore(storage, prefix)) {
31
+ operations.push({ type: "delete", key });
32
+ }
33
+ if (operations.length === 0) {
34
+ return 0;
35
+ }
36
+ await storage.batch(operations);
37
+ return operations.length;
38
+ }
39
+ async function storageDeleteRangeCore(storage, prefix, options) {
40
+ const operations = [];
41
+ for await (const key of storageKeysCore(storage, prefix, options)) {
42
+ operations.push({ type: "delete", key });
43
+ }
44
+ if (operations.length === 0) {
45
+ return 0;
46
+ }
47
+ await storage.batch(operations);
48
+ return operations.length;
49
+ }
50
+
51
+ // src/storage/interface.ts
52
+ function resolvePrefixRangeEnd(prefix) {
53
+ return prefix.length > 0 ? prefix.slice(0, -1) + String.fromCharCode(prefix.charCodeAt(prefix.length - 1) + 1) : "\xFF";
54
+ }
55
+ function storageValuesEqual(left, right) {
56
+ if (left === null || right === null) {
57
+ return left === right;
58
+ }
59
+ if (left.byteLength !== right.byteLength) {
60
+ return false;
61
+ }
62
+ for (let index = 0;index < left.byteLength; index++) {
63
+ if (left[index] !== right[index]) {
64
+ return false;
65
+ }
66
+ }
67
+ return true;
68
+ }
69
+ async function storageHas(storage, key) {
70
+ if (storage.has) {
71
+ return storage.has(key);
72
+ }
73
+ return storageHasCore(storage, key);
74
+ }
75
+ function storageKeys(storage, prefix, options) {
76
+ if (storage.keys) {
77
+ return storage.keys(prefix, options);
78
+ }
79
+ return storageKeysCore(storage, prefix, options);
80
+ }
81
+ async function storageCount(storage, prefix) {
82
+ if (storage.count) {
83
+ return storage.count(prefix);
84
+ }
85
+ return storageCountCore(storage, prefix);
86
+ }
87
+ async function storageDeletePrefix(storage, prefix) {
88
+ if (storage.deletePrefix) {
89
+ return storage.deletePrefix(prefix);
90
+ }
91
+ return storageDeletePrefixCore(storage, prefix);
92
+ }
93
+ async function storageConditionalBatch(storage, conditions, operations) {
94
+ requireStorageCapability(storage, "conditionalBatch", "storageConditionalBatch");
95
+ if (!storage.conditionalBatch) {
96
+ throw new Error("This storage backend reports conditionalBatch capability but does not implement the conditionalBatch() method.");
97
+ }
98
+ return storage.conditionalBatch(conditions, operations);
99
+ }
100
+
101
+ // src/storage/sqlite-key-value-queries.ts
102
+ var SQLITE_CREATE_KEY_VALUE_TABLE = `CREATE TABLE IF NOT EXISTS kv (
103
+ key TEXT PRIMARY KEY,
104
+ value BLOB NOT NULL
105
+ ) WITHOUT ROWID`;
106
+ var SQLITE_SELECT_VALUE_BY_KEY = "SELECT value FROM kv WHERE key = ?";
107
+ var SQLITE_UPSERT_VALUE_BY_KEY = "INSERT INTO kv (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value";
108
+ var SQLITE_DELETE_VALUE_BY_KEY = "DELETE FROM kv WHERE key = ?";
109
+ var SQLITE_SELECT_KEY_PRESENCE = "SELECT 1 AS present FROM kv WHERE key = ? LIMIT 1";
110
+ var SQLITE_COUNT_KEYS_BY_PREFIX = "SELECT COUNT(*) AS count FROM kv WHERE key >= ? AND key < ?";
111
+ var SQLITE_DELETE_KEYS_BY_PREFIX = "DELETE FROM kv WHERE key >= ? AND key < ?";
112
+ function buildSqlitePrefixRangeParameters(prefix) {
113
+ return [prefix, resolvePrefixRangeEnd(prefix)];
114
+ }
115
+ function buildSqliteKeyRangeConditions(prefix, bounds) {
116
+ const { gt, gte, lt, lte } = bounds;
117
+ const conditions = ["key >= ? AND key < ?"];
118
+ const parameters = buildSqlitePrefixRangeParameters(prefix);
119
+ if (gt !== undefined) {
120
+ conditions.push("key > ?");
121
+ parameters.push(gt);
122
+ }
123
+ if (gte !== undefined) {
124
+ conditions.push("key >= ?");
125
+ parameters.push(gte);
126
+ }
127
+ if (lt !== undefined) {
128
+ conditions.push("key < ?");
129
+ parameters.push(lt);
130
+ }
131
+ if (lte !== undefined) {
132
+ conditions.push("key <= ?");
133
+ parameters.push(lte);
134
+ }
135
+ return { conditions, parameters };
136
+ }
137
+ function buildSqliteKeyRangeQuery(prefix, options = {}) {
138
+ const { limit, reverse } = options;
139
+ const { conditions, parameters } = buildSqliteKeyRangeConditions(prefix, options);
140
+ const direction = reverse ? "DESC" : "ASC";
141
+ const limitClause = limit !== undefined ? " LIMIT ?" : "";
142
+ if (limit !== undefined) {
143
+ parameters.push(limit);
144
+ }
145
+ return {
146
+ parameters,
147
+ sqlSuffix: `WHERE ${conditions.join(" AND ")} ORDER BY key ${direction}${limitClause}`
148
+ };
149
+ }
150
+ function buildSqliteKeyRangeDelete(prefix, options) {
151
+ const { conditions, parameters } = buildSqliteKeyRangeConditions(prefix, options);
152
+ const whereClause = conditions.join(" AND ");
153
+ if (options.limit === undefined) {
154
+ return {
155
+ parameters,
156
+ sql: `DELETE FROM kv WHERE ${whereClause}`
157
+ };
158
+ }
159
+ parameters.push(options.limit);
160
+ return {
161
+ parameters,
162
+ sql: `DELETE FROM kv WHERE key IN (SELECT key FROM kv WHERE ${whereClause} ORDER BY key ASC LIMIT ?)`
163
+ };
164
+ }
165
+ function buildSqliteKeyValueRangeSelect(prefix, options = {}) {
166
+ const { parameters, sqlSuffix } = buildSqliteKeyRangeQuery(prefix, options);
167
+ return {
168
+ parameters,
169
+ sql: `SELECT key, value FROM kv ${sqlSuffix}`
170
+ };
171
+ }
172
+ function buildSqliteKeyRangeSelect(prefix, options = {}) {
173
+ const { parameters, sqlSuffix } = buildSqliteKeyRangeQuery(prefix, options);
174
+ return {
175
+ parameters,
176
+ sql: `SELECT key FROM kv ${sqlSuffix}`
177
+ };
178
+ }
179
+
180
+ // src/storage/node-sqlite.ts
181
+ var DatabaseConstructor;
182
+ function createMissingBetterSqlite3Error(cause) {
183
+ return new Error('NodeSQLiteStorage requires the optional peer dependency "better-sqlite3". ' + "Install it in your application with: bun add better-sqlite3 (or npm install better-sqlite3).", { cause });
184
+ }
185
+ function isBetterSqlite3LoadFailure(error) {
186
+ if (!(error instanceof Error))
187
+ return false;
188
+ const errorCode = error.code;
189
+ if (errorCode === "MODULE_NOT_FOUND") {
190
+ return error.message.includes("'better-sqlite3'") || error.message.includes('"better-sqlite3"') || error.message.includes("'bindings'") || error.message.includes('"bindings"');
191
+ }
192
+ if (errorCode === "ERR_DLOPEN_FAILED") {
193
+ return error.message.includes("better-sqlite3");
194
+ }
195
+ return false;
196
+ }
197
+ function loadBetterSqlite3() {
198
+ if (DatabaseConstructor)
199
+ return DatabaseConstructor;
200
+ const requireFromHere = createRequire(import.meta.url);
201
+ let mod;
202
+ try {
203
+ mod = requireFromHere("better-sqlite3");
204
+ } catch (error) {
205
+ throw createMissingBetterSqlite3Error(error);
206
+ }
207
+ DatabaseConstructor = typeof mod.default === "function" ? mod.default : mod;
208
+ return DatabaseConstructor;
209
+ }
210
+ class NodeSQLiteStorage {
211
+ #database;
212
+ #persistence;
213
+ #getStatement;
214
+ #putStatement;
215
+ #deleteStatement;
216
+ #batchTransaction;
217
+ #scanStatements = new Map;
218
+ get scanStatementCacheSize() {
219
+ return this.#scanStatements.size;
220
+ }
221
+ capabilities() {
222
+ return {
223
+ persistence: this.#persistence,
224
+ readAfterWrite: "linearizable",
225
+ scanConsistency: "snapshot",
226
+ atomicBatch: true,
227
+ conditionalBatch: true,
228
+ boundedRangeDelete: false
229
+ };
230
+ }
231
+ constructor(path = ":memory:", databaseConstructor) {
232
+ this.#persistence = path === ":memory:" ? "ephemeral" : "local";
233
+ const Database = databaseConstructor ?? loadBetterSqlite3();
234
+ try {
235
+ this.#database = new Database(path);
236
+ } catch (error) {
237
+ if (databaseConstructor === undefined && isBetterSqlite3LoadFailure(error)) {
238
+ throw createMissingBetterSqlite3Error(error);
239
+ }
240
+ throw error;
241
+ }
242
+ this.#database.pragma("journal_mode = WAL");
243
+ this.#database.pragma("synchronous = NORMAL");
244
+ this.#database.pragma("cache_size = -64000");
245
+ this.#database.pragma("mmap_size = 268435456");
246
+ this.#database.pragma("temp_store = MEMORY");
247
+ this.#database.pragma("wal_autocheckpoint = 10000");
248
+ this.#database.exec(SQLITE_CREATE_KEY_VALUE_TABLE);
249
+ this.#getStatement = this.#database.prepare(SQLITE_SELECT_VALUE_BY_KEY);
250
+ this.#putStatement = this.#database.prepare(SQLITE_UPSERT_VALUE_BY_KEY);
251
+ this.#deleteStatement = this.#database.prepare(SQLITE_DELETE_VALUE_BY_KEY);
252
+ this.#batchTransaction = this.#database.transaction((entries) => {
253
+ for (const entry of entries) {
254
+ if (entry.type === "put") {
255
+ this.#putStatement.run(entry.key, entry.value);
256
+ } else {
257
+ this.#deleteStatement.run(entry.key);
258
+ }
259
+ }
260
+ });
261
+ }
262
+ async get(key) {
263
+ const row = this.#getStatement.get(key);
264
+ if (!row)
265
+ return null;
266
+ const value = row.value;
267
+ return new Uint8Array(value);
268
+ }
269
+ async put(key, value) {
270
+ this.#putStatement.run(key, value);
271
+ }
272
+ async delete(key) {
273
+ this.#deleteStatement.run(key);
274
+ }
275
+ async* scan(prefix, options = {}) {
276
+ const { parameters, sql } = buildSqliteKeyValueRangeSelect(prefix, options);
277
+ let statement = this.#scanStatements.get(sql);
278
+ if (!statement) {
279
+ statement = this.#database.prepare(sql);
280
+ this.#scanStatements.set(sql, statement);
281
+ }
282
+ const rows = statement.all(...parameters);
283
+ for (const row of rows) {
284
+ const typedRow = row;
285
+ yield [typedRow.key, new Uint8Array(typedRow.value)];
286
+ }
287
+ }
288
+ async batch(operations) {
289
+ if (operations.length === 0)
290
+ return;
291
+ this.#batchTransaction(operations);
292
+ }
293
+ async conditionalBatch(conditions, operations) {
294
+ const conditionalTransaction = this.#database.transaction((...arguments_) => {
295
+ const pendingConditions = arguments_[0];
296
+ const pendingOperations = arguments_[1];
297
+ for (const condition of pendingConditions) {
298
+ const row = this.#getStatement.get(condition.key);
299
+ const currentValue = row ? new Uint8Array(row.value) : null;
300
+ if (!storageValuesEqual(currentValue, condition.expectedValue)) {
301
+ return false;
302
+ }
303
+ }
304
+ for (const operation of pendingOperations) {
305
+ if (operation.type === "put") {
306
+ this.#putStatement.run(operation.key, operation.value);
307
+ } else {
308
+ this.#deleteStatement.run(operation.key);
309
+ }
310
+ }
311
+ return true;
312
+ });
313
+ return Boolean(conditionalTransaction(conditions, operations));
314
+ }
315
+ [Symbol.dispose]() {
316
+ this.#scanStatements.clear();
317
+ this.#database.close();
318
+ }
319
+ }
320
+ export {
321
+ NodeSQLiteStorage as SQLiteStorage,
322
+ NodeSQLiteStorage
323
+ };
@@ -0,0 +1,2 @@
1
+ /** Validate that a storage query contains exactly one read-only SELECT or bare PRAGMA statement. */
2
+ export declare function assertReadOnlyQuery(sql: string): void;
@@ -0,0 +1,19 @@
1
+ const pragmaStatementPattern = /^PRAGMA\b/iu, readOnlyPragmaPattern = /^PRAGMA\s+(?:[A-Z_][A-Z0-9_]*\.)?[A-Z_][A-Z0-9_]*\s*$/iu, selectStatementPattern = /^SELECT\b/iu;
2
+ function normalizeSql(sql) {
3
+ return sql.trim().replace(/;+\s*$/u, "").trim();
4
+ }
5
+ function isReadOnlyPragma(sql) {
6
+ return readOnlyPragmaPattern.test(sql);
7
+ }
8
+ export function assertReadOnlyQuery(sql) {
9
+ const normalizedSql = normalizeSql(sql);
10
+ if (normalizedSql.length === 0)
11
+ throw Error("Storage query must not be empty.");
12
+ if (normalizedSql.includes(";"))
13
+ throw Error("Storage query must contain exactly one read-only statement.");
14
+ if (selectStatementPattern.test(normalizedSql))
15
+ return;
16
+ if (pragmaStatementPattern.test(normalizedSql) && isReadOnlyPragma(normalizedSql))
17
+ return;
18
+ throw Error("Storage query only supports read-only SELECT and PRAGMA statements.");
19
+ }
@@ -0,0 +1,180 @@
1
+ import type { HTTPStorage } from './http.ts';
2
+ import type { IndexedDBStorage } from './indexeddb.ts';
3
+ import type { Storage } from './interface.ts';
4
+ import type { LMDBStorage } from './lmdb.ts';
5
+ import { MemoryStorage } from './memory.ts';
6
+ import type { SQLiteStorageInstance } from './sqlite.ts';
7
+ import type { TursoStorage } from './turso.ts';
8
+ import type { WebExtensionStorage } from './web-extension.ts';
9
+ /**
10
+ * Runtime configuration for in-memory storage.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * import { resolveStorage, type MemoryStorageConfiguration } from '@lostgradient/weft/storage/resolve';
15
+ *
16
+ * const configuration: MemoryStorageConfiguration = { type: 'memory' };
17
+ * const storage = await resolveStorage(configuration);
18
+ * void storage;
19
+ * ```
20
+ */
21
+ export type MemoryStorageConfiguration = {
22
+ type: 'memory';
23
+ };
24
+ /**
25
+ * Runtime configuration for SQLite storage.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * import { resolveStorage, type SQLiteStorageConfiguration } from '@lostgradient/weft/storage/resolve';
30
+ *
31
+ * const configuration: SQLiteStorageConfiguration = { type: 'sqlite', path: './weft.db' };
32
+ * const storage = await resolveStorage(configuration);
33
+ * void storage;
34
+ * ```
35
+ */
36
+ export type SQLiteStorageConfiguration = {
37
+ type: 'sqlite';
38
+ path?: string;
39
+ };
40
+ /**
41
+ * Runtime configuration for LMDB storage.
42
+ *
43
+ * @example
44
+ * ```ts
45
+ * import { resolveStorage, type LMDBStorageConfiguration } from '@lostgradient/weft/storage/resolve';
46
+ *
47
+ * const configuration: LMDBStorageConfiguration = { type: 'lmdb', path: './weft-data' };
48
+ * const storage = await resolveStorage(configuration);
49
+ * void storage;
50
+ * ```
51
+ */
52
+ export type LMDBStorageConfiguration = {
53
+ type: 'lmdb';
54
+ path: string;
55
+ };
56
+ /**
57
+ * Runtime configuration for Turso/libSQL storage.
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * import { resolveStorage, type TursoStorageConfiguration } from '@lostgradient/weft/storage/resolve';
62
+ *
63
+ * const configuration: TursoStorageConfiguration = { type: 'turso', url: 'file:weft.db' };
64
+ * const storage = await resolveStorage(configuration);
65
+ * void storage;
66
+ * ```
67
+ */
68
+ export type TursoStorageConfiguration = {
69
+ type: 'turso';
70
+ url: string;
71
+ authToken?: string;
72
+ };
73
+ /**
74
+ * Runtime configuration for browser IndexedDB storage.
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * import { resolveStorage, type IndexedDBStorageConfiguration } from '@lostgradient/weft/storage/resolve';
79
+ *
80
+ * const configuration: IndexedDBStorageConfiguration = { type: 'indexeddb', databaseName: 'weft' };
81
+ * const storage = await resolveStorage(configuration);
82
+ * void storage;
83
+ * ```
84
+ */
85
+ export type IndexedDBStorageConfiguration = {
86
+ type: 'indexeddb';
87
+ databaseName?: string;
88
+ };
89
+ /**
90
+ * Runtime configuration for WebExtension storage.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * import { resolveStorage, type WebExtensionStorageConfiguration } from '@lostgradient/weft/storage/resolve';
95
+ *
96
+ * const configuration: WebExtensionStorageConfiguration = { type: 'web-extension', area: 'local' };
97
+ * const storage = await resolveStorage(configuration);
98
+ * void storage;
99
+ * ```
100
+ */
101
+ export type WebExtensionStorageConfiguration = {
102
+ type: 'web-extension';
103
+ area?: 'local' | 'sync' | 'session' | 'managed';
104
+ };
105
+ /**
106
+ * Runtime configuration for remote HTTP storage.
107
+ *
108
+ * @example
109
+ * ```ts
110
+ * import { resolveStorage, type HTTPStorageConfiguration } from '@lostgradient/weft/storage/resolve';
111
+ *
112
+ * const configuration: HTTPStorageConfiguration = { type: 'http', baseUrl: 'https://weft.example.com' };
113
+ * const storage = await resolveStorage(configuration);
114
+ * void storage;
115
+ * ```
116
+ */
117
+ export type HTTPStorageConfiguration = {
118
+ type: 'http';
119
+ baseUrl: string | URL;
120
+ headers?: Record<string, string>;
121
+ };
122
+ /**
123
+ * Runtime configuration for automatic storage selection.
124
+ *
125
+ * @example
126
+ * ```ts
127
+ * import { resolveStorage, type AutoStorageConfiguration } from '@lostgradient/weft/storage/resolve';
128
+ *
129
+ * const configuration: AutoStorageConfiguration = { type: 'auto' };
130
+ * const storage = await resolveStorage(configuration);
131
+ * void storage;
132
+ * ```
133
+ */
134
+ export type AutoStorageConfiguration = {
135
+ type: 'auto';
136
+ };
137
+ /**
138
+ * Union of supported runtime-driven storage configurations.
139
+ *
140
+ * @example
141
+ * ```ts
142
+ * import { resolveStorage, type StorageConfiguration } from '@lostgradient/weft/storage/resolve';
143
+ *
144
+ * const configuration: StorageConfiguration = { type: 'memory' };
145
+ * const storage = await resolveStorage(configuration);
146
+ * void storage;
147
+ * ```
148
+ */
149
+ export type StorageConfiguration = MemoryStorageConfiguration | SQLiteStorageConfiguration | LMDBStorageConfiguration | TursoStorageConfiguration | IndexedDBStorageConfiguration | WebExtensionStorageConfiguration | HTTPStorageConfiguration | AutoStorageConfiguration;
150
+ /**
151
+ * Storage adapter type resolved for a concrete {@link StorageConfiguration}.
152
+ *
153
+ * Use this when a configuration value is already narrowed and downstream code
154
+ * needs the adapter-specific instance type that {@link resolveStorage} returns.
155
+ *
156
+ * @example
157
+ * ```ts
158
+ * import type { HTTPStorageConfiguration, ResolvedStorage } from '@lostgradient/weft/storage/resolve';
159
+ *
160
+ * type RemoteStorage = ResolvedStorage<HTTPStorageConfiguration>;
161
+ * declare const storage: RemoteStorage;
162
+ * void storage;
163
+ * ```
164
+ */
165
+ export type ResolvedStorage<Configuration extends StorageConfiguration> = Configuration extends MemoryStorageConfiguration ? MemoryStorage : Configuration extends SQLiteStorageConfiguration ? SQLiteStorageInstance : Configuration extends LMDBStorageConfiguration ? LMDBStorage : Configuration extends TursoStorageConfiguration ? TursoStorage : Configuration extends IndexedDBStorageConfiguration ? IndexedDBStorage : Configuration extends WebExtensionStorageConfiguration ? WebExtensionStorage : Configuration extends HTTPStorageConfiguration ? HTTPStorage : Storage;
166
+ /**
167
+ * Resolve a storage backend from runtime configuration.
168
+ *
169
+ * The helper lazy-loads backends so optional native dependencies are only
170
+ * required when their configuration is selected.
171
+ *
172
+ * @example
173
+ * ```ts
174
+ * import { resolveStorage } from '@lostgradient/weft/storage/resolve';
175
+ *
176
+ * const storage = await resolveStorage({ type: 'sqlite', path: './weft.db' });
177
+ * void storage;
178
+ * ```
179
+ */
180
+ export declare function resolveStorage<Configuration extends StorageConfiguration>(configuration: Configuration): Promise<ResolvedStorage<Configuration>>;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var r=Object.defineProperty;var i=(F)=>F;function n(F,Y){this[F]=i.bind(null,Y)}var t=(F,Y)=>{for(var J in Y)r(F,J,{get:Y[J],enumerable:!0,configurable:!0,set:n.bind(Y,J)})};var _=(F,Y)=>()=>(F&&(Y=F(F=0)),Y);function A(F,Y,J){if(!F.capabilities()[Y])throw Error(`Feature "${J}" requires storage capability "${Y}", but this storage backend does not provide it.`)}function o(F){let Y=F.capabilities(),J=[];if(Y.persistence!=="local")J.push(`persistence must be "local" (got "${Y.persistence}")`);if(Y.readAfterWrite!=="linearizable")J.push(`readAfterWrite must be "linearizable" (got "${Y.readAfterWrite}")`);if(Y.scanConsistency!=="snapshot")J.push(`scanConsistency must be "snapshot" (got "${Y.scanConsistency}")`);if(!Y.atomicBatch)J.push("atomicBatch must be true");if(!Y.conditionalBatch)J.push("conditionalBatch must be true");if(J.length>0)throw Error(`Storage is not durable enough for recovery: ${J.join("; ")}.`)}var P="default";async function h(F,Y){return await F.get(Y)!==null}async function*B(F,Y,J){for await(let[Z]of F.scan(Y,J))yield Z}async function C(F,Y){let J=0;for await(let Z of B(F,Y))J++;return J}async function b(F,Y){let J=[];for await(let Z of B(F,Y))J.push({type:"delete",key:Z});if(J.length===0)return 0;return await F.batch(J),J.length}async function v(F,Y,J){let Z=[];for await(let X of B(F,Y,J))Z.push({type:"delete",key:X});if(Z.length===0)return 0;return await F.batch(Z),Z.length}var e;var K=_(()=>{e=["actrec:","archive:","async-act:","attr:","audit:bulk:","blob:","budget:","budget-charged:","ev:","idx:","offload:","op:","review:","schedule:","schedule-due:","schedule-run:","sig:","sigres:","sigseq:","state:","tag:","tool-effect:","upd:","upk:","upr:","wf:","wf-cleanup:","wf-cleanup-needed:","wf-deadline:","wf-delayed:","wf-headers:","wf-idx-","wf-terminal:"]});function q(F){return F.length>0?F.slice(0,-1)+String.fromCharCode(F.charCodeAt(F.length-1)+1):"\xFF"}function N(F,Y={}){if(Y.gt!==void 0&&F<=Y.gt)return!1;if(Y.gte!==void 0&&F<Y.gte)return!1;if(Y.lt!==void 0&&F>=Y.lt)return!1;if(Y.lte!==void 0&&F>Y.lte)return!1;return!0}function I(F,Y){if(F===null||Y===null)return F===Y;if(F.byteLength!==Y.byteLength)return!1;for(let J=0;J<F.byteLength;J++)if(F[J]!==Y[J])return!1;return!0}async function x(F,Y){if(F.has)return F.has(Y);return h(F,Y)}function S(F,Y,J){if(F.keys)return F.keys(Y,J);return B(F,Y,J)}async function w(F,Y){if(F.count)return F.count(Y);return C(F,Y)}async function k(F,Y){if(F.deletePrefix)return F.deletePrefix(Y);return b(F,Y)}async function m(F,Y,J){if(A(F,"conditionalBatch","storageConditionalBatch"),!F.conditionalBatch)throw Error("This storage backend reports conditionalBatch capability but does not implement the conditionalBatch() method.");return F.conditionalBatch(Y,J)}function W(F){return encodeURIComponent(F)}function bF(F){return decodeURIComponent(F)}function vF(F){try{return decodeURIComponent(F)}catch{return null}}var j=(F)=>String(F).padStart(16,"0"),KF;var E=_(()=>{K();KF={workflow:(F)=>`wf:${W(F)}`,checkpoint:(F)=>`wf:${W(F)}:ckpt`,checkpointHistory:(F,Y)=>`wf:${W(F)}:ckpt:${String(Y).padStart(10,"0")}`,timelinePrefix:(F)=>`wf:${W(F)}:timeline:`,timeline:(F,Y)=>`wf:${W(F)}:timeline:${String(Y).padStart(10,"0")}`,schedule:(F)=>`schedule:${W(F)}`,scheduleTick:(F,Y)=>`schedule-due:${String(F).padStart(16,"0")}:${W(Y)}`,scheduleRun:(F)=>`schedule-run:${W(F)}`,operation:(F,Y,J)=>`op:${F}:${j(Y)}:${J}`,operationInflight:(F)=>`op:inflight:${F}`,operationQueued:(F)=>`op:queued:${F}`,operationResolved:(F)=>`op:resolved:${F}`,bulkOperationAuditPrefix:()=>"audit:bulk:",bulkOperationAudit:(F,Y,J)=>`audit:bulk:${j(F)}:${W(Y)}:${W(J)}`,operationResolvedByTimePrefix:()=>"op:resolved-by-time:",operationResolvedByTime:(F,Y)=>`op:resolved-by-time:${j(F)}:${W(Y)}`,asyncActivity:(F,Y)=>`async-act:v1:${W(F)}:${W(Y)}`,activityReconciliationPrefix:(F)=>`actrec:v1:${W(F)}:`,activityReconciliation:(F,Y,J)=>`actrec:v1:${W(F)}:${W(Y)}:${J}`,eventPrefix:(F)=>`ev:${W(F)}:`,event:(F,Y)=>`ev:${W(F)}:${String(Y).padStart(10,"0")}`,eventHead:(F)=>`ev:${W(F)}:head`,eventWatermark:(F)=>`ev:${W(F)}:watermark`,signal:(F,Y,J)=>`sig:${W(F)}:${Y}:${W(J)}`,signalSequence:(F)=>`sigseq:v1:${W(F)}`,signalAcceptedResponsePrefix:(F)=>`sigres:v1:${W(F)}:`,signalAcceptedResponse:(F,Y,J)=>`sigres:v1:${W(F)}:${W(Y)}:${W(J)}`,deadline:(F,Y)=>`wf-deadline:${j(F)}:${W(Y)}`,terminalCleanup:(F,Y)=>`wf-cleanup:${j(F)}:${W(Y)}`,delayedStart:(F,Y)=>`wf-delayed:${j(F)}:${W(Y)}`,terminalWorkflowPrefix:()=>"wf-terminal:",terminalWorkflow:(F,Y)=>`wf-terminal:${j(F)}:${W(Y)}`,attribute:(F)=>`attr:${W(F)}`,attributeIndex:(F,Y,J)=>`idx:${F}:${Y}:${W(J)}`,tagIndex:(F,Y)=>`tag:${W(F)}:${W(Y)}`,updatePrefix:(F)=>`upd:${W(F)}:`,update:(F,Y)=>`upd:${W(F)}:${Y}`,updateResponse:(F)=>`upr:${F}`,updateIdempotency:(F,Y)=>`upk:${W(F)}:${Y}`,budget:(F,Y,J)=>`budget:${F}:${Y}:${J}`,review:(F,Y)=>`review:${W(F)}:${Y}`,workflowHeaders:(F)=>`wf-headers:${W(F)}`,terminalCleanupNeeded:(F)=>`wf-cleanup-needed:${W(F)}`,offload:(F,Y)=>`offload:${W(F)}:${Y}`,archive:(F,Y)=>`archive:${W(F)}:${Y}`,stateExecution:(F,Y)=>`state:execution:${W(F)}:${W(Y)}`,stateWorkflow:(F,Y)=>`state:workflow-scope:${P}:${W(F)}:${W(Y)}`,streamChunkPrefix:(F,Y)=>`blob:${W(F)}:${Y}:chunk:`,streamChunk:(F,Y,J)=>`blob:${W(F)}:${Y}:chunk:${String(J).padStart(10,"0")}`,streamMetadata:(F,Y)=>`blob:${W(F)}:${Y}:meta`,budgetCharged:(F)=>`budget-charged:${F}`,toolEffect:(F,Y,J)=>`tool-effect:${W(F)}:${Y}:${J}`,workflowVisibilityStatus:(F,Y)=>`wf-idx-status:${W(F)}:${W(Y)}`,workflowVisibilityType:(F,Y)=>`wf-idx-type:${W(F)}:${W(Y)}`,workflowVisibilityCreated:(F,Y)=>`wf-idx-created:${j(F)}:${W(Y)}`,workflowVisibilityUpdated:(F,Y)=>`wf-idx-updated:${j(F)}:${W(Y)}`,workflowVisibilityDeadline:(F,Y)=>`wf-idx-deadline:${j(F)}:${W(Y)}`,workflowVisibilityManifest:(F)=>`wf-idx-manifest:${W(F)}`,workflowVisibilityMetaVersion:()=>"wf-idx-meta:version",workflowVisibilityMetaBuiltAt:()=>"wf-idx-meta:built-at",workflowVisibilityMetaCursor:()=>"wf-idx-meta:cursor"}});function FF(F){if(F===void 0)return;if(typeof F!=="number"||!Number.isInteger(F)||F<0)throw Error("deleteRange limit must be a finite non-negative integer");return F===0?0:F}function L(F){let Y={},J=!1;for(let X of["gt","gte","lt","lte"]){let $=F[X];if($===void 0)continue;if(typeof $!=="string")throw Error("deleteRange bounds must be strings");Y[X]=$,J=!0}if(!J)throw Error("deleteRange requires at least one of gt/gte/lt/lte; use deletePrefix to delete a whole prefix");let Z=FF(F.limit);if(Z!==void 0)Y.limit=Z;return Y}async function y(F,Y,J){let Z=L(J);if(F.deleteRange)return F.deleteRange(Y,Z);return v(F,Y,Z)}var D=()=>{};function M(F){return F.replaceAll(/:+$/g,"")}function YF(F,Y){let J=M(F),Z=M(Y);if(J.length===0)return Z;if(Z.length===0)return J;return`${J}:${Z}`}function u(F,Y){return new R(F,Y)}var R;var c=_(()=>{D();E();R=class R{#F;#J;constructor(F,Y){this.#F=F,this.#J=M(Y)}#Y(F){if(this.#J.length===0)return F;return F.length===0?`${this.#J}:`:`${this.#J}:${F}`}#W(F){if(this.#J.length===0)return F;return F.slice(this.#J.length+1)}#Z(F={}){let Y={};if(F.limit!==void 0)Y.limit=F.limit;if(F.reverse!==void 0)Y.reverse=F.reverse;if(F.gt!==void 0)Y.gt=this.#Y(F.gt);if(F.gte!==void 0)Y.gte=this.#Y(F.gte);if(F.lt!==void 0)Y.lt=this.#Y(F.lt);if(F.lte!==void 0)Y.lte=this.#Y(F.lte);return Y}#$(F){let Y={};if(F.limit!==void 0)Y.limit=F.limit;if(F.gt!==void 0)Y.gt=this.#Y(F.gt);if(F.gte!==void 0)Y.gte=this.#Y(F.gte);if(F.lt!==void 0)Y.lt=this.#Y(F.lt);if(F.lte!==void 0)Y.lte=this.#Y(F.lte);return Y}capabilities(){return this.#F.capabilities()}scoped(F){return new R(this.#F,YF(this.#J,F))}async get(F){return this.#F.get(this.#Y(F))}async put(F,Y){await this.#F.put(this.#Y(F),Y)}async delete(F){await this.#F.delete(this.#Y(F))}async*scan(F,Y){for await(let[J,Z]of this.#F.scan(this.#Y(F),this.#Z(Y)))yield[this.#W(J),Z]}async batch(F){await this.#F.batch(F.map((Y)=>{if(Y.type==="put")return{type:"put",key:this.#Y(Y.key),value:Y.value};return{type:"delete",key:this.#Y(Y.key)}}))}async conditionalBatch(F,Y){return m(this.#F,F.map((J)=>({key:this.#Y(J.key),expectedValue:J.expectedValue})),Y.map((J)=>{if(J.type==="put")return{type:"put",key:this.#Y(J.key),value:J.value};return{type:"delete",key:this.#Y(J.key)}}))}async has(F){return x(this.#F,this.#Y(F))}async deletePrefix(F){return k(this.#F,this.#Y(F))}async deleteRange(F,Y){let J=this.#$(L(Y));return y(this.#F,this.#Y(F),J)}async*keys(F,Y){for await(let J of S(this.#F,this.#Y(F),this.#Z(Y)))yield this.#W(J)}async count(F){return w(this.#F,this.#Y(F))}[Symbol.dispose](){this.#F[Symbol.dispose]()}}});var JF={};t(JF,{MemoryStorage:()=>z});var z;var l=_(()=>{D();E();c();z=class z{#F;constructor(){this.#F=new Map}capabilities(){return{persistence:"ephemeral",readAfterWrite:"linearizable",scanConsistency:"snapshot",atomicBatch:!0,conditionalBatch:!0,boundedRangeDelete:!0}}#J(F,Y,J){return F>=Y&&F<J}#Y(F,Y){let J=[];for(let Z of this.#F.keys())if(this.#J(Z,F,Y))J.push(Z);return J.toSorted()}async get(F){return this.#F.get(F)??null}async put(F,Y){this.#F.set(F,Y)}async delete(F){this.#F.delete(F)}async*scan(F,Y={}){let{limit:J,reverse:Z}=Y,X=q(F),$=this.#Y(F,X);if($=$.filter((Q)=>N(Q,Y)),Z)$.reverse();let H=0;for(let Q of $){if(J!==void 0&&H>=J)break;let O=this.#F.get(Q);if(O!==void 0)yield[Q,O],H++}}async batch(F){this.#W(F)}#W(F){for(let Y of F)if(Y.type==="put")this.#F.set(Y.key,Y.value);else this.#F.delete(Y.key)}async conditionalBatch(F,Y){for(let J of F){let Z=this.#F.get(J.key)??null;if(!I(Z,J.expectedValue))return!1}return this.#W(Y),!0}async has(F){return this.#F.has(F)}async deletePrefix(F){let Y=q(F),J=this.#Y(F,Y);for(let Z of J)this.#F.delete(Z);return J.length}async deleteRange(F,Y){let J=L(Y),Z=q(F),X=this.#Y(F,Z).filter((H)=>N(H,J)),$=J.limit===void 0?X:X.slice(0,J.limit);for(let H of $)this.#F.delete(H);return $.length}async*keys(F,Y={}){let{limit:J,reverse:Z}=Y,X=q(F),$=this.#Y(F,X);if($=$.filter((Q)=>N(Q,Y)),Z)$.reverse();let H=0;for(let Q of $){if(J!==void 0&&H>=J)break;yield Q,H++}}async count(F){let Y=q(F);return this.#Y(F,Y).length}scoped(F){return u(this,F)}get size(){return this.#F.size}clear(){this.#F.clear()}snapshot(){let F=new Map;for(let[Y,J]of this.#F)F.set(Y,new Uint8Array(J));return F}[Symbol.dispose](){this.#F.clear()}}});l();function G(F,Y){return import.meta.url.endsWith(".ts")?F:Y}async function V(F){return await import(F)}var WF=G("./bun-sql.ts","./bun-sql.js"),ZF=G("./node-sqlite.ts","./node-sqlite.js"),$F=G("./lmdb.ts","./lmdb.js"),XF=G("./turso.ts","./turso.js"),g=G("./indexeddb.ts","./indexeddb.js"),d=G("./web-extension.ts","./web-extension.js"),jF=G("./http.ts","./http.js"),VF=G("./auto.ts","./auto.js");function p(){return typeof Bun<"u"}function s(){return typeof globalThis.process==="object"&&globalThis.process!==null&&typeof globalThis.process.versions==="object"&&typeof globalThis.process.versions.node==="string"}function HF(){let F=globalThis;return F.browser?.storage!==void 0||F.chrome?.storage!==void 0}function QF(){return typeof globalThis.indexedDB<"u"}async function GF(F){if(p()){let{BunSQLiteStorage:Y}=await V(WF);return new Y(F)}if(s()){let{NodeSQLiteStorage:Y}=await V(ZF);return new Y(F)}throw Error("SQLite storage is only available in Bun or Node runtimes.")}async function qF(){if(p()||s()){let{resolveDefaultStorage:F}=await V(VF);return F()}if(HF()){let{WebExtensionStorage:F}=await V(d);return new F}if(QF()){let{IndexedDBStorage:F}=await V(g);return new F}return new z}var a={memory:async(F)=>new z,sqlite:async(F)=>GF(F.path),lmdb:async(F)=>{let{LMDBStorage:Y}=await V($F);return new Y(F.path)},turso:async(F)=>{let{TursoStorage:Y}=await V(XF);return new Y({url:F.url,...F.authToken===void 0?{}:{authToken:F.authToken}})},indexeddb:async(F)=>{let{IndexedDBStorage:Y}=await V(g);return new Y(F.databaseName)},"web-extension":async(F)=>{let{WebExtensionStorage:Y}=await V(d);return new Y(F.area===void 0?{}:{area:F.area})},http:async(F)=>{let{HTTPStorage:Y}=await V(jF);return new Y({baseUrl:F.baseUrl,...F.headers===void 0?{}:{headers:F.headers}})},auto:async(F)=>qF()};function _F(F){if(typeof F!=="object"||F===null)return"unknown";if(!("type"in F))return"unknown";return typeof F.type==="string"?F.type:"unknown"}function UF(F){if(typeof F!=="object"||F===null||Array.isArray(F))throw Error("Storage configuration must be an object.");return F}function f(F,Y,J){let Z=F[Y];if(typeof Z!=="string"||Z.length===0)throw Error(`${J} storage configuration requires "${Y}" as a string.`);return Z}function T(F,Y,J){let Z=F[Y];if(Z===void 0)return;if(typeof Z!=="string")throw Error(`${J} storage configuration field "${Y}" must be a string.`);return Z}function BF(F,Y,J){let Z=F[Y];if(typeof Z==="string"||Z instanceof URL)return Z;throw Error(`${J} storage configuration requires "${Y}" as a string or URL.`)}function LF(F){let Y=F.headers;if(Y===void 0)return;if(typeof Y!=="object"||Y===null||Array.isArray(Y))throw Error('HTTP storage configuration field "headers" must be a string record.');let J={};for(let[Z,X]of Object.entries(Y)){if(typeof X!=="string")throw Error('HTTP storage configuration field "headers" must be a string record.');J[Z]=X}return J}function zF(F){let Y=F.area;if(Y===void 0)return;if(Y==="local"||Y==="sync"||Y==="session"||Y==="managed")return Y;throw Error('WebExtension storage configuration field "area" must be one of local, sync, session, or managed.')}var NF={memory:(F)=>({type:"memory"}),sqlite:(F)=>{let Y=T(F,"path","SQLite");return Y===void 0?{type:"sqlite"}:{type:"sqlite",path:Y}},lmdb:(F)=>({type:"lmdb",path:f(F,"path","LMDB")}),turso:(F)=>{let Y=T(F,"authToken","Turso");return{type:"turso",url:f(F,"url","Turso"),...Y===void 0?{}:{authToken:Y}}},indexeddb:(F)=>{let Y=T(F,"databaseName","IndexedDB");return Y===void 0?{type:"indexeddb"}:{type:"indexeddb",databaseName:Y}},"web-extension":(F)=>{let Y=zF(F);return Y===void 0?{type:"web-extension"}:{type:"web-extension",area:Y}},http:(F)=>{let Y=LF(F);return{type:"http",baseUrl:BF(F,"baseUrl","HTTP"),...Y===void 0?{}:{headers:Y}}},auto:(F)=>({type:"auto"})};function AF(F,Y){return NF[Y](UF(F))}function PF(F){return Object.hasOwn(a,F)}async function pF(F){let Y=_F(F);if(!PF(Y))throw Error(`Unsupported storage configuration type: ${Y}`);let J=AF(F,Y),Z=a[Y];return Z(J)}export{pF as resolveStorage};
@@ -0,0 +1,68 @@
1
+ import { type DeleteRangeOptions } from './delete-range.ts';
2
+ import { type BatchOperation, type ConditionalBatchCondition, type ScanOptions, type Storage, type StorageCapabilities } from './interface.ts';
3
+ /**
4
+ * {@link Storage} decorator that transparently prefixes all keys with a
5
+ * namespace, isolating a logical partition of a shared backing store.
6
+ *
7
+ * Reads and writes pass through to the underlying storage with the scope prefix
8
+ * prepended; keys returned by `scan` and `keys` are stripped back to their
9
+ * unprefixed form. Use {@link scopedStorage} to construct one without `new`.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import { MemoryStorage, ScopedStorage } from '@lostgradient/weft';
14
+ *
15
+ * await using raw = new MemoryStorage();
16
+ * const scopeA = new ScopedStorage(raw, 'scope:a');
17
+ * const scopeB = new ScopedStorage(raw, 'scope:b');
18
+ *
19
+ * await scopeA.put('setting', new TextEncoder().encode('dark'));
20
+ * await scopeB.put('setting', new TextEncoder().encode('light'));
21
+ *
22
+ * // Keys are isolated — scopeA cannot see scopeB's data
23
+ * console.log(await scopeA.has('setting')); // true
24
+ * console.log(await scopeB.get('setting')); // Uint8Array for 'light'
25
+ * ```
26
+ */
27
+ export declare class ScopedStorage implements Storage {
28
+ #private;
29
+ constructor(storage: Storage, prefix: string);
30
+ capabilities(): StorageCapabilities;
31
+ scoped(prefix: string): ScopedStorage;
32
+ get(key: string): Promise<Uint8Array | null>;
33
+ put(key: string, value: Uint8Array): Promise<void>;
34
+ delete(key: string): Promise<void>;
35
+ scan(prefix: string, options?: ScanOptions): AsyncIterable<[string, Uint8Array]>;
36
+ batch(operations: BatchOperation[]): Promise<void>;
37
+ conditionalBatch(conditions: ConditionalBatchCondition[], operations: BatchOperation[]): Promise<boolean>;
38
+ has(key: string): Promise<boolean>;
39
+ deletePrefix(prefix: string): Promise<number>;
40
+ deleteRange(prefix: string, options: DeleteRangeOptions): Promise<number>;
41
+ keys(prefix: string, options?: ScanOptions): AsyncIterable<string>;
42
+ count(prefix: string): Promise<number>;
43
+ [Symbol.dispose](): void;
44
+ }
45
+ /**
46
+ * Factory that creates a {@link ScopedStorage} view of `storage` under the
47
+ * given `prefix`.
48
+ *
49
+ * This is an ergonomic alternative to `new ScopedStorage(...)`: it avoids
50
+ * `new` at call sites and reads naturally when storage is being decorated
51
+ * inline. The return type and behavior are identical to constructing
52
+ * `ScopedStorage` directly.
53
+ *
54
+ * @example
55
+ * ```ts
56
+ * import { workflow, Engine, MemoryStorage, scopedStorage } from '@lostgradient/weft';
57
+ *
58
+ * await using raw = new MemoryStorage();
59
+ *
60
+ * // Give each engine its own key namespace in the same backing store
61
+ * await using engine = new Engine({ storage: scopedStorage(raw, 'eng:v1') });
62
+ * engine.register(workflow({ name: 'ping' }).execute(async function* () { return 'pong'; }));
63
+ *
64
+ * const handle = await engine.start('ping', null);
65
+ * console.log(await handle.result()); // 'pong'
66
+ * ```
67
+ */
68
+ export declare function scopedStorage(storage: Storage, prefix: string): ScopedStorage;
@@ -0,0 +1,2 @@
1
+ // @bun
2
+ var b=Object.defineProperty;var C=(E)=>E;function u(E,_){this[E]=C.bind(null,_)}var k=(E,_)=>{for(var W in _)b(E,W,{get:_[W],enumerable:!0,configurable:!0,set:u.bind(_,W)})};var Z=(E,_)=>()=>(E&&(_=E(E=0)),_);function G(E,_,W){if(!E.capabilities()[_])throw Error(`Feature "${W}" requires storage capability "${_}", but this storage backend does not provide it.`)}function K(E){let _=E.capabilities(),W=[];if(_.persistence!=="local")W.push(`persistence must be "local" (got "${_.persistence}")`);if(_.readAfterWrite!=="linearizable")W.push(`readAfterWrite must be "linearizable" (got "${_.readAfterWrite}")`);if(_.scanConsistency!=="snapshot")W.push(`scanConsistency must be "snapshot" (got "${_.scanConsistency}")`);if(!_.atomicBatch)W.push("atomicBatch must be true");if(!_.conditionalBatch)W.push("conditionalBatch must be true");if(W.length>0)throw Error(`Storage is not durable enough for recovery: ${W.join("; ")}.`)}var j="default";async function B(E,_){return await E.get(_)!==null}async function*U(E,_,W){for await(let[Y]of E.scan(_,W))yield Y}async function L(E,_){let W=0;for await(let Y of U(E,_))W++;return W}async function q(E,_){let W=[];for await(let Y of U(E,_))W.push({type:"delete",key:Y});if(W.length===0)return 0;return await E.batch(W),W.length}async function N(E,_,W){let Y=[];for await(let V of U(E,_,W))Y.push({type:"delete",key:V});if(Y.length===0)return 0;return await E.batch(Y),Y.length}var x;var R=Z(()=>{x=["actrec:","archive:","async-act:","attr:","audit:bulk:","blob:","budget:","budget-charged:","ev:","idx:","offload:","op:","review:","schedule:","schedule-due:","schedule-run:","sig:","sigres:","sigseq:","state:","tag:","tool-effect:","upd:","upk:","upr:","wf:","wf-cleanup:","wf-cleanup-needed:","wf-deadline:","wf-delayed:","wf-headers:","wf-idx-","wf-terminal:"]});function p(E){return E.length>0?E.slice(0,-1)+String.fromCharCode(E.charCodeAt(E.length-1)+1):"\xFF"}function a(E,_={}){if(_.gt!==void 0&&E<=_.gt)return!1;if(_.gte!==void 0&&E<_.gte)return!1;if(_.lt!==void 0&&E>=_.lt)return!1;if(_.lte!==void 0&&E>_.lte)return!1;return!0}function i(E,_){if(E===null||_===null)return E===_;if(E.byteLength!==_.byteLength)return!1;for(let W=0;W<E.byteLength;W++)if(E[W]!==_[W])return!1;return!0}async function D(E,_){if(E.has)return E.has(_);return B(E,_)}function T(E,_,W){if(E.keys)return E.keys(_,W);return U(E,_,W)}async function A(E,_){if(E.count)return E.count(_);return L(E,_)}async function O(E,_){if(E.deletePrefix)return E.deletePrefix(_);return q(E,_)}async function z(E,_,W){if(G(E,"conditionalBatch","storageConditionalBatch"),!E.conditionalBatch)throw Error("This storage backend reports conditionalBatch capability but does not implement the conditionalBatch() method.");return E.conditionalBatch(_,W)}function F(E){return encodeURIComponent(E)}function r(E){return decodeURIComponent(E)}function n(E){try{return decodeURIComponent(E)}catch{return null}}var X=(E)=>String(E).padStart(16,"0"),t;var P=Z(()=>{R();t={workflow:(E)=>`wf:${F(E)}`,checkpoint:(E)=>`wf:${F(E)}:ckpt`,checkpointHistory:(E,_)=>`wf:${F(E)}:ckpt:${String(_).padStart(10,"0")}`,timelinePrefix:(E)=>`wf:${F(E)}:timeline:`,timeline:(E,_)=>`wf:${F(E)}:timeline:${String(_).padStart(10,"0")}`,schedule:(E)=>`schedule:${F(E)}`,scheduleTick:(E,_)=>`schedule-due:${String(E).padStart(16,"0")}:${F(_)}`,scheduleRun:(E)=>`schedule-run:${F(E)}`,operation:(E,_,W)=>`op:${E}:${X(_)}:${W}`,operationInflight:(E)=>`op:inflight:${E}`,operationQueued:(E)=>`op:queued:${E}`,operationResolved:(E)=>`op:resolved:${E}`,bulkOperationAuditPrefix:()=>"audit:bulk:",bulkOperationAudit:(E,_,W)=>`audit:bulk:${X(E)}:${F(_)}:${F(W)}`,operationResolvedByTimePrefix:()=>"op:resolved-by-time:",operationResolvedByTime:(E,_)=>`op:resolved-by-time:${X(E)}:${F(_)}`,asyncActivity:(E,_)=>`async-act:v1:${F(E)}:${F(_)}`,activityReconciliationPrefix:(E)=>`actrec:v1:${F(E)}:`,activityReconciliation:(E,_,W)=>`actrec:v1:${F(E)}:${F(_)}:${W}`,eventPrefix:(E)=>`ev:${F(E)}:`,event:(E,_)=>`ev:${F(E)}:${String(_).padStart(10,"0")}`,eventHead:(E)=>`ev:${F(E)}:head`,eventWatermark:(E)=>`ev:${F(E)}:watermark`,signal:(E,_,W)=>`sig:${F(E)}:${_}:${F(W)}`,signalSequence:(E)=>`sigseq:v1:${F(E)}`,signalAcceptedResponsePrefix:(E)=>`sigres:v1:${F(E)}:`,signalAcceptedResponse:(E,_,W)=>`sigres:v1:${F(E)}:${F(_)}:${F(W)}`,deadline:(E,_)=>`wf-deadline:${X(E)}:${F(_)}`,terminalCleanup:(E,_)=>`wf-cleanup:${X(E)}:${F(_)}`,delayedStart:(E,_)=>`wf-delayed:${X(E)}:${F(_)}`,terminalWorkflowPrefix:()=>"wf-terminal:",terminalWorkflow:(E,_)=>`wf-terminal:${X(E)}:${F(_)}`,attribute:(E)=>`attr:${F(E)}`,attributeIndex:(E,_,W)=>`idx:${E}:${_}:${F(W)}`,tagIndex:(E,_)=>`tag:${F(E)}:${F(_)}`,updatePrefix:(E)=>`upd:${F(E)}:`,update:(E,_)=>`upd:${F(E)}:${_}`,updateResponse:(E)=>`upr:${E}`,updateIdempotency:(E,_)=>`upk:${F(E)}:${_}`,budget:(E,_,W)=>`budget:${E}:${_}:${W}`,review:(E,_)=>`review:${F(E)}:${_}`,workflowHeaders:(E)=>`wf-headers:${F(E)}`,terminalCleanupNeeded:(E)=>`wf-cleanup-needed:${F(E)}`,offload:(E,_)=>`offload:${F(E)}:${_}`,archive:(E,_)=>`archive:${F(E)}:${_}`,stateExecution:(E,_)=>`state:execution:${F(E)}:${F(_)}`,stateWorkflow:(E,_)=>`state:workflow-scope:${j}:${F(E)}:${F(_)}`,streamChunkPrefix:(E,_)=>`blob:${F(E)}:${_}:chunk:`,streamChunk:(E,_,W)=>`blob:${F(E)}:${_}:chunk:${String(W).padStart(10,"0")}`,streamMetadata:(E,_)=>`blob:${F(E)}:${_}:meta`,budgetCharged:(E)=>`budget-charged:${E}`,toolEffect:(E,_,W)=>`tool-effect:${F(E)}:${_}:${W}`,workflowVisibilityStatus:(E,_)=>`wf-idx-status:${F(E)}:${F(_)}`,workflowVisibilityType:(E,_)=>`wf-idx-type:${F(E)}:${F(_)}`,workflowVisibilityCreated:(E,_)=>`wf-idx-created:${X(E)}:${F(_)}`,workflowVisibilityUpdated:(E,_)=>`wf-idx-updated:${X(E)}:${F(_)}`,workflowVisibilityDeadline:(E,_)=>`wf-idx-deadline:${X(E)}:${F(_)}`,workflowVisibilityManifest:(E)=>`wf-idx-manifest:${F(E)}`,workflowVisibilityMetaVersion:()=>"wf-idx-meta:version",workflowVisibilityMetaBuiltAt:()=>"wf-idx-meta:built-at",workflowVisibilityMetaCursor:()=>"wf-idx-meta:cursor"}});function S(E){if(E===void 0)return;if(typeof E!=="number"||!Number.isInteger(E)||E<0)throw Error("deleteRange limit must be a finite non-negative integer");return E===0?0:E}function M(E){let _={},W=!1;for(let V of["gt","gte","lt","lte"]){let $=E[V];if($===void 0)continue;if(typeof $!=="string")throw Error("deleteRange bounds must be strings");_[V]=$,W=!0}if(!W)throw Error("deleteRange requires at least one of gt/gte/lt/lte; use deletePrefix to delete a whole prefix");let Y=S(E.limit);if(Y!==void 0)_.limit=Y;return _}async function v(E,_,W){let Y=M(W);if(E.deleteRange)return E.deleteRange(_,Y);return N(E,_,Y)}var h=()=>{};function Q(E){return E.replaceAll(/:+$/g,"")}function I(E,_){let W=Q(E),Y=Q(_);if(W.length===0)return Y;if(Y.length===0)return W;return`${W}:${Y}`}function JE(E,_){return new H(E,_)}var H;var c=Z(()=>{h();P();H=class H{#_;#W;constructor(E,_){this.#_=E,this.#W=Q(_)}#E(E){if(this.#W.length===0)return E;return E.length===0?`${this.#W}:`:`${this.#W}:${E}`}#F(E){if(this.#W.length===0)return E;return E.slice(this.#W.length+1)}#Y(E={}){let _={};if(E.limit!==void 0)_.limit=E.limit;if(E.reverse!==void 0)_.reverse=E.reverse;if(E.gt!==void 0)_.gt=this.#E(E.gt);if(E.gte!==void 0)_.gte=this.#E(E.gte);if(E.lt!==void 0)_.lt=this.#E(E.lt);if(E.lte!==void 0)_.lte=this.#E(E.lte);return _}#X(E){let _={};if(E.limit!==void 0)_.limit=E.limit;if(E.gt!==void 0)_.gt=this.#E(E.gt);if(E.gte!==void 0)_.gte=this.#E(E.gte);if(E.lt!==void 0)_.lt=this.#E(E.lt);if(E.lte!==void 0)_.lte=this.#E(E.lte);return _}capabilities(){return this.#_.capabilities()}scoped(E){return new H(this.#_,I(this.#W,E))}async get(E){return this.#_.get(this.#E(E))}async put(E,_){await this.#_.put(this.#E(E),_)}async delete(E){await this.#_.delete(this.#E(E))}async*scan(E,_){for await(let[W,Y]of this.#_.scan(this.#E(E),this.#Y(_)))yield[this.#F(W),Y]}async batch(E){await this.#_.batch(E.map((_)=>{if(_.type==="put")return{type:"put",key:this.#E(_.key),value:_.value};return{type:"delete",key:this.#E(_.key)}}))}async conditionalBatch(E,_){return z(this.#_,E.map((W)=>({key:this.#E(W.key),expectedValue:W.expectedValue})),_.map((W)=>{if(W.type==="put")return{type:"put",key:this.#E(W.key),value:W.value};return{type:"delete",key:this.#E(W.key)}}))}async has(E){return D(this.#_,this.#E(E))}async deletePrefix(E){return O(this.#_,this.#E(E))}async deleteRange(E,_){let W=this.#X(M(_));return v(this.#_,this.#E(E),W)}async*keys(E,_){for await(let W of T(this.#_,this.#E(E),this.#Y(_)))yield this.#F(W)}async count(E){return A(this.#_,this.#E(E))}[Symbol.dispose](){this.#_[Symbol.dispose]()}}});c();export{JE as scopedStorage,H as ScopedStorage};