@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,40 @@
1
+ import type { NormalizedDeleteRangeOptions } from './delete-range';
2
+ import { type ScanOptions } from './interface';
3
+ export declare const SQLITE_CREATE_KEY_VALUE_TABLE = "CREATE TABLE IF NOT EXISTS kv (\n key TEXT PRIMARY KEY,\n value BLOB NOT NULL\n) WITHOUT ROWID";
4
+ export declare const SQLITE_SELECT_VALUE_BY_KEY = "SELECT value FROM kv WHERE key = ?";
5
+ export declare const SQLITE_UPSERT_VALUE_BY_KEY = "INSERT INTO kv (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value";
6
+ export declare const SQLITE_DELETE_VALUE_BY_KEY = "DELETE FROM kv WHERE key = ?";
7
+ export declare const SQLITE_SELECT_KEY_PRESENCE = "SELECT 1 AS present FROM kv WHERE key = ? LIMIT 1";
8
+ export declare const SQLITE_COUNT_KEYS_BY_PREFIX = "SELECT COUNT(*) AS count FROM kv WHERE key >= ? AND key < ?";
9
+ export declare const SQLITE_DELETE_KEYS_BY_PREFIX = "DELETE FROM kv WHERE key >= ? AND key < ?";
10
+ export type SqliteKeyRangeQueryParameter = string | number;
11
+ export type SqliteKeyRangeQuery = {
12
+ parameters: SqliteKeyRangeQueryParameter[];
13
+ sqlSuffix: string;
14
+ };
15
+ /** A fully-built SQL statement and its bound parameters (SELECT or DELETE). */
16
+ export type SqliteBuiltQuery = {
17
+ parameters: SqliteKeyRangeQueryParameter[];
18
+ sql: string;
19
+ };
20
+ export declare function buildSqlitePrefixRangeParameters(prefix: string): [string, string];
21
+ export declare function buildSqliteKeyRangeQuery(prefix: string, options?: ScanOptions): SqliteKeyRangeQuery;
22
+ /**
23
+ * Build a bounded-range `DELETE` for the `kv` table from already-validated
24
+ * delete options.
25
+ *
26
+ * Without `limit`, emits a plain `DELETE FROM kv WHERE <conditions>` — no
27
+ * ordering, since order is meaningless when deleting the whole matched range.
28
+ * With `limit`, emits a portable subquery form so the lowest (ascending) keys
29
+ * are deleted first: `DELETE FROM kv WHERE key IN (SELECT key FROM kv WHERE
30
+ * <conditions> ORDER BY key ASC LIMIT ?)`. The subquery avoids relying on
31
+ * `DELETE ... ORDER BY ... LIMIT`, which requires the
32
+ * `SQLITE_ENABLE_UPDATE_DELETE_LIMIT` compile flag and is not available on
33
+ * libSQL/Turso.
34
+ *
35
+ * Requires {@link NormalizedDeleteRangeOptions}: the type guarantees at least
36
+ * one bound is present, so this builder can never produce a whole-prefix wipe.
37
+ */
38
+ export declare function buildSqliteKeyRangeDelete(prefix: string, options: NormalizedDeleteRangeOptions): SqliteBuiltQuery;
39
+ export declare function buildSqliteKeyValueRangeSelect(prefix: string, options?: ScanOptions): SqliteBuiltQuery;
40
+ export declare function buildSqliteKeyRangeSelect(prefix: string, options?: ScanOptions): SqliteBuiltQuery;
@@ -0,0 +1,64 @@
1
+ import { resolvePrefixRangeEnd } from "./interface.js";
2
+ export const SQLITE_CREATE_KEY_VALUE_TABLE = `CREATE TABLE IF NOT EXISTS kv (
3
+ key TEXT PRIMARY KEY,
4
+ value BLOB NOT NULL
5
+ ) WITHOUT ROWID`, SQLITE_SELECT_VALUE_BY_KEY = "SELECT value FROM kv WHERE key = ?", SQLITE_UPSERT_VALUE_BY_KEY = "INSERT INTO kv (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value", SQLITE_DELETE_VALUE_BY_KEY = "DELETE FROM kv WHERE key = ?", SQLITE_SELECT_KEY_PRESENCE = "SELECT 1 AS present FROM kv WHERE key = ? LIMIT 1", SQLITE_COUNT_KEYS_BY_PREFIX = "SELECT COUNT(*) AS count FROM kv WHERE key >= ? AND key < ?", SQLITE_DELETE_KEYS_BY_PREFIX = "DELETE FROM kv WHERE key >= ? AND key < ?";
6
+ export function buildSqlitePrefixRangeParameters(prefix) {
7
+ return [prefix, resolvePrefixRangeEnd(prefix)];
8
+ }
9
+ function buildSqliteKeyRangeConditions(prefix, bounds) {
10
+ const { gt, gte, lt, lte } = bounds, conditions = ["key >= ? AND key < ?"], parameters = buildSqlitePrefixRangeParameters(prefix);
11
+ if (gt !== void 0) {
12
+ conditions.push("key > ?");
13
+ parameters.push(gt);
14
+ }
15
+ if (gte !== void 0) {
16
+ conditions.push("key >= ?");
17
+ parameters.push(gte);
18
+ }
19
+ if (lt !== void 0) {
20
+ conditions.push("key < ?");
21
+ parameters.push(lt);
22
+ }
23
+ if (lte !== void 0) {
24
+ conditions.push("key <= ?");
25
+ parameters.push(lte);
26
+ }
27
+ return { conditions, parameters };
28
+ }
29
+ export function buildSqliteKeyRangeQuery(prefix, options = {}) {
30
+ const { limit, reverse } = options, { conditions, parameters } = buildSqliteKeyRangeConditions(prefix, options), direction = reverse ? "DESC" : "ASC", limitClause = limit !== void 0 ? " LIMIT ?" : "";
31
+ if (limit !== void 0)
32
+ parameters.push(limit);
33
+ return {
34
+ parameters,
35
+ sqlSuffix: `WHERE ${conditions.join(" AND ")} ORDER BY key ${direction}${limitClause}`
36
+ };
37
+ }
38
+ export function buildSqliteKeyRangeDelete(prefix, options) {
39
+ const { conditions, parameters } = buildSqliteKeyRangeConditions(prefix, options), whereClause = conditions.join(" AND ");
40
+ if (options.limit === void 0)
41
+ return {
42
+ parameters,
43
+ sql: `DELETE FROM kv WHERE ${whereClause}`
44
+ };
45
+ parameters.push(options.limit);
46
+ return {
47
+ parameters,
48
+ sql: `DELETE FROM kv WHERE key IN (SELECT key FROM kv WHERE ${whereClause} ORDER BY key ASC LIMIT ?)`
49
+ };
50
+ }
51
+ export function buildSqliteKeyValueRangeSelect(prefix, options = {}) {
52
+ const { parameters, sqlSuffix } = buildSqliteKeyRangeQuery(prefix, options);
53
+ return {
54
+ parameters,
55
+ sql: `SELECT key, value FROM kv ${sqlSuffix}`
56
+ };
57
+ }
58
+ export function buildSqliteKeyRangeSelect(prefix, options = {}) {
59
+ const { parameters, sqlSuffix } = buildSqliteKeyRangeQuery(prefix, options);
60
+ return {
61
+ parameters,
62
+ sql: `SELECT key FROM kv ${sqlSuffix}`
63
+ };
64
+ }
@@ -0,0 +1,31 @@
1
+ import type { BunSQLiteStorage } from './bun-sql.ts';
2
+ import type { NodeSQLiteStorage } from './node-sqlite.ts';
3
+ /**
4
+ * Runtime-specific SQLite storage instance resolved from `@lostgradient/weft/storage/sqlite`.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { SQLiteStorage, type SQLiteStorageInstance } from '@lostgradient/weft/storage/sqlite';
9
+ *
10
+ * const storage: SQLiteStorageInstance = new SQLiteStorage('./weft.db');
11
+ * void storage;
12
+ * ```
13
+ */
14
+ export type SQLiteStorageInstance = BunSQLiteStorage | NodeSQLiteStorage;
15
+ /**
16
+ * Runtime-neutral SQLite storage constructor.
17
+ *
18
+ * The `@lostgradient/weft/storage/sqlite` package export resolves this symbol to
19
+ * `BunSQLiteStorage` under Bun and `NodeSQLiteStorage` under Node.js.
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * import { SQLiteStorage } from '@lostgradient/weft/storage/sqlite';
24
+ *
25
+ * await using storage = new SQLiteStorage('./weft.db');
26
+ * void storage;
27
+ * ```
28
+ */
29
+ export declare const SQLiteStorage: {
30
+ new (path?: string): SQLiteStorageInstance;
31
+ };
File without changes
@@ -0,0 +1,87 @@
1
+ import { type Storage } from './interface.ts';
2
+ /**
3
+ * A string-valued key/value row from an existing application store.
4
+ *
5
+ * The importer treats both fields as application data: `key` becomes the
6
+ * unencoded suffix under the optional target prefix, and `value` is encoded
7
+ * as UTF-8 bytes before writing to Weft storage.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { type TextKeyValueRow } from '@lostgradient/weft/storage';
12
+ *
13
+ * const row: TextKeyValueRow = {
14
+ * key: 'session:1',
15
+ * value: '{"status":"open"}',
16
+ * };
17
+ * console.log(row.key); // 'session:1'
18
+ * ```
19
+ */
20
+ export type TextKeyValueRow = {
21
+ key: string;
22
+ value: string;
23
+ };
24
+ /**
25
+ * Options for {@link copyTextKeyValueRowsToStorage}.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * import { MemoryStorage, type CopyTextKeyValueRowsToStorageOptions } from '@lostgradient/weft/storage';
30
+ *
31
+ * await using storage = new MemoryStorage();
32
+ * const options: CopyTextKeyValueRowsToStorageOptions = {
33
+ * storage,
34
+ * targetPrefix: 'app:my-service',
35
+ * rows: [{ key: 'session:1', value: 'active' }],
36
+ * };
37
+ * console.log(options.targetPrefix); // 'app:my-service'
38
+ * ```
39
+ */
40
+ export type CopyTextKeyValueRowsToStorageOptions = {
41
+ /** Destination Weft storage that receives UTF-8 encoded values. */
42
+ storage: Storage;
43
+ /** Source rows from a string-valued key/value store. */
44
+ rows: Iterable<TextKeyValueRow> | AsyncIterable<TextKeyValueRow>;
45
+ /**
46
+ * Optional application namespace applied before each source key. A value like
47
+ * `app:my-service` writes source key `session:1` to
48
+ * `app:my-service:session:1`.
49
+ */
50
+ targetPrefix?: string;
51
+ };
52
+ /**
53
+ * Result returned by {@link copyTextKeyValueRowsToStorage}.
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * import { type CopyTextKeyValueRowsToStorageResult } from '@lostgradient/weft/storage';
58
+ *
59
+ * const result: CopyTextKeyValueRowsToStorageResult = { copied: 3 };
60
+ * console.log(result.copied); // 3
61
+ * ```
62
+ */
63
+ export type CopyTextKeyValueRowsToStorageResult = {
64
+ /** Number of rows copied into the target storage. */
65
+ copied: number;
66
+ };
67
+ /**
68
+ * Copy string-valued key/value rows into a Weft byte-oriented storage backend.
69
+ *
70
+ * This helper is for one-time imports from application stores that already hold
71
+ * text values. It encodes values as UTF-8 bytes, optionally prefixes target
72
+ * keys, and refuses to overwrite existing target keys.
73
+ *
74
+ * @example
75
+ * ```ts
76
+ * import { MemoryStorage, copyTextKeyValueRowsToStorage } from '@lostgradient/weft/storage';
77
+ *
78
+ * await using storage = new MemoryStorage();
79
+ * const result = await copyTextKeyValueRowsToStorage({
80
+ * storage,
81
+ * targetPrefix: 'app:my-service',
82
+ * rows: [{ key: 'session:1', value: 'active' }],
83
+ * });
84
+ * console.log(result.copied); // 1
85
+ * ```
86
+ */
87
+ export declare function copyTextKeyValueRowsToStorage(options: CopyTextKeyValueRowsToStorageOptions): Promise<CopyTextKeyValueRowsToStorageResult>;
@@ -0,0 +1,50 @@
1
+ import {
2
+ WEFT_RESERVED_KEY_PREFIXES,
3
+ storageConditionalBatch,
4
+ storageHas
5
+ } from "./interface.js";
6
+ const textEncoder = new TextEncoder;
7
+ function normalizeTargetPrefix(prefix) {
8
+ return prefix?.replaceAll(/:+$/g, "") ?? "";
9
+ }
10
+ function toTargetKey(prefix, key) {
11
+ if (prefix.length === 0)
12
+ return key;
13
+ return key.length === 0 ? `${prefix}:` : `${prefix}:${key}`;
14
+ }
15
+ async function collectRows(rows, targetPrefix) {
16
+ const collected = [], seenTargetKeys = new Set;
17
+ for await (const row of rows) {
18
+ if (typeof row.key !== "string")
19
+ throw TypeError("Text key-value import rows must have string keys.");
20
+ if (typeof row.value !== "string")
21
+ throw TypeError("Text key-value import rows must have string values.");
22
+ const targetKey = toTargetKey(targetPrefix, row.key);
23
+ if (WEFT_RESERVED_KEY_PREFIXES.some((prefix) => targetKey.startsWith(prefix)))
24
+ throw Error(`Text key-value import target key "${targetKey}" uses a Weft-reserved key prefix.`);
25
+ if (seenTargetKeys.has(targetKey))
26
+ throw Error(`Text key-value import source produced duplicate target key "${targetKey}".`);
27
+ seenTargetKeys.add(targetKey);
28
+ collected.push({ ...row, targetKey });
29
+ }
30
+ return collected;
31
+ }
32
+ export async function copyTextKeyValueRowsToStorage(options) {
33
+ const targetPrefix = normalizeTargetPrefix(options.targetPrefix), rows = await collectRows(options.rows, targetPrefix);
34
+ if (rows.length === 0)
35
+ return { copied: 0 };
36
+ for (const row of rows)
37
+ if (await storageHas(options.storage, row.targetKey))
38
+ throw Error(`Target storage already contains key "${row.targetKey}".`);
39
+ const conditions = rows.map((row) => ({
40
+ key: row.targetKey,
41
+ expectedValue: null
42
+ })), operations = rows.map((row) => ({
43
+ type: "put",
44
+ key: row.targetKey,
45
+ value: textEncoder.encode(row.value)
46
+ }));
47
+ if (!await storageConditionalBatch(options.storage, conditions, operations))
48
+ throw Error("Target storage changed before import could commit.");
49
+ return { copied: rows.length };
50
+ }
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Text-value compatibility wrapper.
3
+ *
4
+ * Adapts Weft's `Uint8Array`-keyed {@link Storage} to a generic
5
+ * string-valued key/value interface with an array-returning prefix
6
+ * list. The shape is what downstream consumers that expect a string
7
+ * `KeyValueStore` typically require. The wrapper lives in Weft so
8
+ * that adopting Weft storage does not require any runtime dependency
9
+ * on those consumers.
10
+ *
11
+ * Encoding is UTF-8 with fatal decoding: invalid byte sequences raise
12
+ * `TypeError` rather than silently producing replacement characters,
13
+ * so a string consumer never sees corrupted data masquerading as
14
+ * valid text.
15
+ *
16
+ * @module @lostgradient/weft/storage/text-value-store
17
+ */
18
+ import { type Storage } from './interface';
19
+ /**
20
+ * Options for {@link textValueStore}.
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * import { type TextValueStoreOptions } from '@lostgradient/weft/storage';
25
+ *
26
+ * const options: TextValueStoreOptions = {
27
+ * disposeUnderlyingStorage: false,
28
+ * };
29
+ * console.log(options.disposeUnderlyingStorage); // false
30
+ * ```
31
+ */
32
+ export type TextValueStoreOptions = {
33
+ /**
34
+ * Whether `close()` disposes the wrapped storage. Defaults to `true` so the
35
+ * existing owning-wrapper behavior is preserved. Set `false` when the same
36
+ * storage instance is shared by the Weft engine and application state.
37
+ */
38
+ disposeUnderlyingStorage?: boolean;
39
+ };
40
+ /**
41
+ * Text compare-and-swap precondition used by
42
+ * {@link ConditionalTextValueStore.conditionalBatch}.
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * import { type TextValueStoreCondition } from '@lostgradient/weft/storage';
47
+ *
48
+ * const condition: TextValueStoreCondition = {
49
+ * key: 'api-key:1:last-used-at',
50
+ * expectedValue: '2026-06-01T00:00:00.000Z',
51
+ * };
52
+ * console.log(condition.key); // 'api-key:1:last-used-at'
53
+ * ```
54
+ */
55
+ export type TextValueStoreCondition = {
56
+ /** Key whose current text value must match `expectedValue`. */
57
+ key: string;
58
+ /** Required current value, or `null` to require the key to be absent. */
59
+ expectedValue: string | null;
60
+ };
61
+ /**
62
+ * Text mutation applied by {@link ConditionalTextValueStore.conditionalBatch}.
63
+ *
64
+ * `set` and `put` are synonyms so callers can use the naming convention of
65
+ * their string store while Weft still delegates to raw storage `put`.
66
+ *
67
+ * @example
68
+ * ```ts
69
+ * import { type TextValueStoreBatchOperation } from '@lostgradient/weft/storage';
70
+ *
71
+ * const operation: TextValueStoreBatchOperation = {
72
+ * type: 'set',
73
+ * key: 'session:1',
74
+ * value: 'active',
75
+ * };
76
+ * console.log(operation.type); // 'set'
77
+ * ```
78
+ */
79
+ export type TextValueStoreBatchOperation = {
80
+ type: 'set';
81
+ key: string;
82
+ value: string;
83
+ } | {
84
+ type: 'put';
85
+ key: string;
86
+ value: string;
87
+ } | {
88
+ type: 'delete';
89
+ key: string;
90
+ };
91
+ /**
92
+ * String-valued key/value store layered on top of a Weft {@link Storage}.
93
+ *
94
+ * Matches the structural shape downstream consumers commonly require
95
+ * from a string `KeyValueStore` backend: `get`/`set`/`delete` over
96
+ * UTF-8 text, a `list(prefix)` that materializes keys into an array,
97
+ * and optional `has`, `deletePrefix`, and `close` helpers.
98
+ *
99
+ * @example
100
+ * ```ts
101
+ * import { MemoryStorage } from '@lostgradient/weft';
102
+ * import { textValueStore, type TextValueStore } from '@lostgradient/weft/storage/text-value-store';
103
+ *
104
+ * await using base = new MemoryStorage();
105
+ * const store: TextValueStore = textValueStore(base);
106
+ * await store.set('greeting', 'hello');
107
+ * console.log(await store.get('greeting')); // 'hello'
108
+ * ```
109
+ */
110
+ export type TextValueStore = {
111
+ /** Read the UTF-8 text stored at `key`, or `null` if absent. */
112
+ get(key: string): Promise<string | null>;
113
+ /** Write `value` as UTF-8 bytes at `key`. */
114
+ set(key: string, value: string): Promise<void>;
115
+ /** Delete `key`. No-op when absent. */
116
+ delete(key: string): Promise<void>;
117
+ /**
118
+ * Materialize every key matching `prefix` into a stable array.
119
+ * The array reflects the underlying storage's natural scan order.
120
+ * For very large prefixes prefer streaming via the underlying
121
+ * `Storage` directly.
122
+ */
123
+ list(prefix: string): Promise<string[]>;
124
+ /** Check whether `key` exists. */
125
+ has(key: string): Promise<boolean>;
126
+ /** Delete every key under `prefix`. Returns the number deleted. */
127
+ deletePrefix(prefix: string): Promise<number>;
128
+ /** Close the wrapper, disposing the underlying storage unless configured otherwise. */
129
+ close(): Promise<void>;
130
+ };
131
+ /**
132
+ * Text store returned by {@link textValueStore}. It keeps the base
133
+ * {@link TextValueStore} shape source-compatible for external implementations
134
+ * while exposing compare-and-swap on Weft's wrapper.
135
+ *
136
+ * @example
137
+ * ```ts
138
+ * import { MemoryStorage } from '@lostgradient/weft/storage';
139
+ * import { type ConditionalTextValueStore, textValueStore } from '@lostgradient/weft/storage/text-value-store';
140
+ *
141
+ * await using storage = new MemoryStorage();
142
+ * const store: ConditionalTextValueStore = textValueStore(storage);
143
+ * const committed = await store.conditionalBatch(
144
+ * [{ key: 'session:1', expectedValue: null }],
145
+ * [{ type: 'set', key: 'session:1', value: 'open' }],
146
+ * );
147
+ * console.log(committed); // true
148
+ * ```
149
+ */
150
+ export type ConditionalTextValueStore = TextValueStore & {
151
+ /** Apply a compare-and-swap batch over UTF-8 text values. */
152
+ conditionalBatch(conditions: TextValueStoreCondition[], operations: TextValueStoreBatchOperation[]): Promise<boolean>;
153
+ };
154
+ /**
155
+ * Wrap a Weft {@link Storage} so it satisfies the {@link TextValueStore}
156
+ * shape. The wrapper holds no state of its own — every call delegates
157
+ * to `storage` after UTF-8 encoding or decoding.
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * import { MemoryStorage } from '@lostgradient/weft';
162
+ * import { textValueStore } from '@lostgradient/weft/storage/text-value-store';
163
+ *
164
+ * await using base = new MemoryStorage();
165
+ * const store = textValueStore(base);
166
+ * await store.set('greeting', 'hello 🌍');
167
+ * console.log(await store.get('greeting')); // 'hello 🌍'
168
+ * console.log(await store.list('')); // ['greeting']
169
+ * ```
170
+ */
171
+ export declare function textValueStore(storage: Storage, options?: TextValueStoreOptions): ConditionalTextValueStore;
@@ -0,0 +1,55 @@
1
+ import {
2
+ storageConditionalBatch,
3
+ storageDeletePrefix,
4
+ storageHas,
5
+ storageKeys
6
+ } from "./interface.js";
7
+ const textEncoder = new TextEncoder, textDecoder = new TextDecoder("utf-8", { fatal: !0, ignoreBOM: !0 });
8
+ export function textValueStore(storage, options = {}) {
9
+ const disposeUnderlyingStorage = options.disposeUnderlyingStorage ?? !0, encodeCondition = (condition) => ({
10
+ key: condition.key,
11
+ expectedValue: condition.expectedValue === null ? null : textEncoder.encode(condition.expectedValue)
12
+ }), encodeOperation = (operation) => {
13
+ if (operation.type === "delete")
14
+ return operation;
15
+ return {
16
+ type: "put",
17
+ key: operation.key,
18
+ value: textEncoder.encode(operation.value)
19
+ };
20
+ };
21
+ return {
22
+ async get(key) {
23
+ const bytes = await storage.get(key);
24
+ if (bytes === null)
25
+ return null;
26
+ return textDecoder.decode(bytes);
27
+ },
28
+ async set(key, value) {
29
+ await storage.put(key, textEncoder.encode(value));
30
+ },
31
+ async delete(key) {
32
+ await storage.delete(key);
33
+ },
34
+ async list(prefix) {
35
+ const keys = [];
36
+ for await (const key of storageKeys(storage, prefix))
37
+ keys.push(key);
38
+ return keys;
39
+ },
40
+ async has(key) {
41
+ return storageHas(storage, key);
42
+ },
43
+ async deletePrefix(prefix) {
44
+ return storageDeletePrefix(storage, prefix);
45
+ },
46
+ async conditionalBatch(conditions, operations) {
47
+ return storageConditionalBatch(storage, conditions.map(encodeCondition), operations.map(encodeOperation));
48
+ },
49
+ async close() {
50
+ if (!disposeUnderlyingStorage)
51
+ return;
52
+ storage[Symbol.dispose]();
53
+ }
54
+ };
55
+ }
@@ -0,0 +1,60 @@
1
+ import { type DeleteRangeOptions } from './delete-range';
2
+ import { type BatchOperation, type ConditionalBatchCondition, type ScanOptions, type Storage, type StorageCapabilities } from './interface';
3
+ /**
4
+ * Configuration for connecting to a Turso/libSQL database.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { TursoStorage, type TursoStorageOptions } from '@lostgradient/weft/storage/turso';
9
+ *
10
+ * const options: TursoStorageOptions = {
11
+ * url: 'file:local.db',
12
+ * };
13
+ * await using storage = new TursoStorage(options);
14
+ * ```
15
+ */
16
+ export type TursoStorageOptions = {
17
+ /** The database URL (e.g., `libsql://your-db.turso.io`, `file:local.db`, `file::memory:`). */
18
+ url: string;
19
+ /** Authentication token for remote Turso databases. */
20
+ authToken?: string;
21
+ };
22
+ /**
23
+ * Storage adapter backed by Turso/libSQL for distributed SQLite deployments.
24
+ *
25
+ * Implements the same `Storage` interface as `BunSQLiteStorage`, but uses `@libsql/client`
26
+ * so the database can be a remote Turso instance or a local file.
27
+ * Switch from `BunSQLiteStorage` to `TursoStorage` by changing the connection string —
28
+ * the rest of the application stays the same.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * import { TursoStorage } from '@lostgradient/weft/storage/turso';
33
+ * import { Engine } from '@lostgradient/weft';
34
+ *
35
+ * await using storage = new TursoStorage({
36
+ * url: 'libsql://my-db.turso.io',
37
+ * ...(process.env['TURSO_AUTH_TOKEN'] ? { authToken: process.env['TURSO_AUTH_TOKEN'] } : {}),
38
+ * });
39
+ * await using engine = new Engine({ storage });
40
+ * ```
41
+ */
42
+ export declare class TursoStorage implements Storage {
43
+ #private;
44
+ constructor(options: TursoStorageOptions);
45
+ capabilities(): StorageCapabilities;
46
+ get(key: string): Promise<Uint8Array | null>;
47
+ put(key: string, value: Uint8Array): Promise<void>;
48
+ delete(key: string): Promise<void>;
49
+ has(key: string): Promise<boolean>;
50
+ deletePrefix(prefix: string): Promise<number>;
51
+ deleteRange(prefix: string, options: DeleteRangeOptions): Promise<number>;
52
+ scan(prefix: string, options?: ScanOptions): AsyncIterable<[string, Uint8Array]>;
53
+ keys(prefix: string, options?: ScanOptions): AsyncIterable<string>;
54
+ count(prefix: string): Promise<number>;
55
+ scoped(prefix: string): Storage;
56
+ batch(operations: BatchOperation[]): Promise<void>;
57
+ conditionalBatch(conditions: ConditionalBatchCondition[], operations: BatchOperation[]): Promise<boolean>;
58
+ query<T>(sql: string, parameters?: unknown[]): Promise<T[]>;
59
+ [Symbol.dispose](): void;
60
+ }
@@ -0,0 +1,5 @@
1
+ // @bun
2
+ var WW=Object.defineProperty;var FW=(W)=>W;function XW(W,F){this[W]=FW.bind(null,F)}var AW=(W,F)=>{for(var X in F)WW(W,X,{get:F[X],enumerable:!0,configurable:!0,set:XW.bind(F,X)})};var U=(W,F)=>()=>(W&&(F=W(W=0)),F);function O(W,F,X){if(!W.capabilities()[F])throw Error(`Feature "${X}" requires storage capability "${F}", but this storage backend does not provide it.`)}function JW(W){let F=W.capabilities(),X=[];if(F.persistence!=="local")X.push(`persistence must be "local" (got "${F.persistence}")`);if(F.readAfterWrite!=="linearizable")X.push(`readAfterWrite must be "linearizable" (got "${F.readAfterWrite}")`);if(F.scanConsistency!=="snapshot")X.push(`scanConsistency must be "snapshot" (got "${F.scanConsistency}")`);if(!F.atomicBatch)X.push("atomicBatch must be true");if(!F.conditionalBatch)X.push("conditionalBatch must be true");if(X.length>0)throw Error(`Storage is not durable enough for recovery: ${X.join("; ")}.`)}var _="default";async function E(W,F){return await W.get(F)!==null}async function*Y(W,F,X){for await(let[Z]of W.scan(F,X))yield Z}async function v(W,F){let X=0;for await(let Z of Y(W,F))X++;return X}async function h(W,F){let X=[];for await(let Z of Y(W,F))X.push({type:"delete",key:Z});if(X.length===0)return 0;return await W.batch(X),X.length}async function T(W,F,X){let Z=[];for await(let $ of Y(W,F,X))Z.push({type:"delete",key:$});if(Z.length===0)return 0;return await W.batch(Z),Z.length}var ZW;var b=U(()=>{ZW=["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 C(W){return W.length>0?W.slice(0,-1)+String.fromCharCode(W.charCodeAt(W.length-1)+1):"\xFF"}function CW(W,F={}){if(F.gt!==void 0&&W<=F.gt)return!1;if(F.gte!==void 0&&W<F.gte)return!1;if(F.lt!==void 0&&W>=F.lt)return!1;if(F.lte!==void 0&&W>F.lte)return!1;return!0}function K(W,F){if(W===null||F===null)return W===F;if(W.byteLength!==F.byteLength)return!1;for(let X=0;X<W.byteLength;X++)if(W[X]!==F[X])return!1;return!0}async function x(W,F){if(W.has)return W.has(F);return E(W,F)}function I(W,F,X){if(W.keys)return W.keys(F,X);return Y(W,F,X)}async function u(W,F){if(W.count)return W.count(F);return v(W,F)}async function S(W,F){if(W.deletePrefix)return W.deletePrefix(F);return h(W,F)}async function k(W,F,X){if(O(W,"conditionalBatch","storageConditionalBatch"),!W.conditionalBatch)throw Error("This storage backend reports conditionalBatch capability but does not implement the conditionalBatch() method.");return W.conditionalBatch(F,X)}function J(W){return encodeURIComponent(W)}function KW(W){return decodeURIComponent(W)}function xW(W){try{return decodeURIComponent(W)}catch{return null}}var G=(W)=>String(W).padStart(16,"0"),IW;var V=U(()=>{b();IW={workflow:(W)=>`wf:${J(W)}`,checkpoint:(W)=>`wf:${J(W)}:ckpt`,checkpointHistory:(W,F)=>`wf:${J(W)}:ckpt:${String(F).padStart(10,"0")}`,timelinePrefix:(W)=>`wf:${J(W)}:timeline:`,timeline:(W,F)=>`wf:${J(W)}:timeline:${String(F).padStart(10,"0")}`,schedule:(W)=>`schedule:${J(W)}`,scheduleTick:(W,F)=>`schedule-due:${String(W).padStart(16,"0")}:${J(F)}`,scheduleRun:(W)=>`schedule-run:${J(W)}`,operation:(W,F,X)=>`op:${W}:${G(F)}:${X}`,operationInflight:(W)=>`op:inflight:${W}`,operationQueued:(W)=>`op:queued:${W}`,operationResolved:(W)=>`op:resolved:${W}`,bulkOperationAuditPrefix:()=>"audit:bulk:",bulkOperationAudit:(W,F,X)=>`audit:bulk:${G(W)}:${J(F)}:${J(X)}`,operationResolvedByTimePrefix:()=>"op:resolved-by-time:",operationResolvedByTime:(W,F)=>`op:resolved-by-time:${G(W)}:${J(F)}`,asyncActivity:(W,F)=>`async-act:v1:${J(W)}:${J(F)}`,activityReconciliationPrefix:(W)=>`actrec:v1:${J(W)}:`,activityReconciliation:(W,F,X)=>`actrec:v1:${J(W)}:${J(F)}:${X}`,eventPrefix:(W)=>`ev:${J(W)}:`,event:(W,F)=>`ev:${J(W)}:${String(F).padStart(10,"0")}`,eventHead:(W)=>`ev:${J(W)}:head`,eventWatermark:(W)=>`ev:${J(W)}:watermark`,signal:(W,F,X)=>`sig:${J(W)}:${F}:${J(X)}`,signalSequence:(W)=>`sigseq:v1:${J(W)}`,signalAcceptedResponsePrefix:(W)=>`sigres:v1:${J(W)}:`,signalAcceptedResponse:(W,F,X)=>`sigres:v1:${J(W)}:${J(F)}:${J(X)}`,deadline:(W,F)=>`wf-deadline:${G(W)}:${J(F)}`,terminalCleanup:(W,F)=>`wf-cleanup:${G(W)}:${J(F)}`,delayedStart:(W,F)=>`wf-delayed:${G(W)}:${J(F)}`,terminalWorkflowPrefix:()=>"wf-terminal:",terminalWorkflow:(W,F)=>`wf-terminal:${G(W)}:${J(F)}`,attribute:(W)=>`attr:${J(W)}`,attributeIndex:(W,F,X)=>`idx:${W}:${F}:${J(X)}`,tagIndex:(W,F)=>`tag:${J(W)}:${J(F)}`,updatePrefix:(W)=>`upd:${J(W)}:`,update:(W,F)=>`upd:${J(W)}:${F}`,updateResponse:(W)=>`upr:${W}`,updateIdempotency:(W,F)=>`upk:${J(W)}:${F}`,budget:(W,F,X)=>`budget:${W}:${F}:${X}`,review:(W,F)=>`review:${J(W)}:${F}`,workflowHeaders:(W)=>`wf-headers:${J(W)}`,terminalCleanupNeeded:(W)=>`wf-cleanup-needed:${J(W)}`,offload:(W,F)=>`offload:${J(W)}:${F}`,archive:(W,F)=>`archive:${J(W)}:${F}`,stateExecution:(W,F)=>`state:execution:${J(W)}:${J(F)}`,stateWorkflow:(W,F)=>`state:workflow-scope:${_}:${J(W)}:${J(F)}`,streamChunkPrefix:(W,F)=>`blob:${J(W)}:${F}:chunk:`,streamChunk:(W,F,X)=>`blob:${J(W)}:${F}:chunk:${String(X).padStart(10,"0")}`,streamMetadata:(W,F)=>`blob:${J(W)}:${F}:meta`,budgetCharged:(W)=>`budget-charged:${W}`,toolEffect:(W,F,X)=>`tool-effect:${J(W)}:${F}:${X}`,workflowVisibilityStatus:(W,F)=>`wf-idx-status:${J(W)}:${J(F)}`,workflowVisibilityType:(W,F)=>`wf-idx-type:${J(W)}:${J(F)}`,workflowVisibilityCreated:(W,F)=>`wf-idx-created:${G(W)}:${J(F)}`,workflowVisibilityUpdated:(W,F)=>`wf-idx-updated:${G(W)}:${J(F)}`,workflowVisibilityDeadline:(W,F)=>`wf-idx-deadline:${G(W)}:${J(F)}`,workflowVisibilityManifest:(W)=>`wf-idx-manifest:${J(W)}`,workflowVisibilityMetaVersion:()=>"wf-idx-meta:version",workflowVisibilityMetaBuiltAt:()=>"wf-idx-meta:built-at",workflowVisibilityMetaCursor:()=>"wf-idx-meta:cursor"}});function $W(W){if(W===void 0)return;if(typeof W!=="number"||!Number.isInteger(W)||W<0)throw Error("deleteRange limit must be a finite non-negative integer");return W===0?0:W}function Q(W){let F={},X=!1;for(let $ of["gt","gte","lt","lte"]){let j=W[$];if(j===void 0)continue;if(typeof j!=="string")throw Error("deleteRange bounds must be strings");F[$]=j,X=!0}if(!X)throw Error("deleteRange requires at least one of gt/gte/lt/lte; use deletePrefix to delete a whole prefix");let Z=$W(W.limit);if(Z!==void 0)F.limit=Z;return F}async function w(W,F,X){let Z=Q(X);if(W.deleteRange)return W.deleteRange(F,Z);return T(W,F,Z)}var z=()=>{};function A(W){return W.replaceAll(/:+$/g,"")}function jW(W,F){let X=A(W),Z=A(F);if(X.length===0)return Z;if(Z.length===0)return X;return`${X}:${Z}`}function y(W,F){return new P(W,F)}var P;var c=U(()=>{z();V();P=class P{#W;#J;constructor(W,F){this.#W=W,this.#J=A(F)}#F(W){if(this.#J.length===0)return W;return W.length===0?`${this.#J}:`:`${this.#J}:${W}`}#X(W){if(this.#J.length===0)return W;return W.slice(this.#J.length+1)}#Z(W={}){let F={};if(W.limit!==void 0)F.limit=W.limit;if(W.reverse!==void 0)F.reverse=W.reverse;if(W.gt!==void 0)F.gt=this.#F(W.gt);if(W.gte!==void 0)F.gte=this.#F(W.gte);if(W.lt!==void 0)F.lt=this.#F(W.lt);if(W.lte!==void 0)F.lte=this.#F(W.lte);return F}#$(W){let F={};if(W.limit!==void 0)F.limit=W.limit;if(W.gt!==void 0)F.gt=this.#F(W.gt);if(W.gte!==void 0)F.gte=this.#F(W.gte);if(W.lt!==void 0)F.lt=this.#F(W.lt);if(W.lte!==void 0)F.lte=this.#F(W.lte);return F}capabilities(){return this.#W.capabilities()}scoped(W){return new P(this.#W,jW(this.#J,W))}async get(W){return this.#W.get(this.#F(W))}async put(W,F){await this.#W.put(this.#F(W),F)}async delete(W){await this.#W.delete(this.#F(W))}async*scan(W,F){for await(let[X,Z]of this.#W.scan(this.#F(W),this.#Z(F)))yield[this.#X(X),Z]}async batch(W){await this.#W.batch(W.map((F)=>{if(F.type==="put")return{type:"put",key:this.#F(F.key),value:F.value};return{type:"delete",key:this.#F(F.key)}}))}async conditionalBatch(W,F){return k(this.#W,W.map((X)=>({key:this.#F(X.key),expectedValue:X.expectedValue})),F.map((X)=>{if(X.type==="put")return{type:"put",key:this.#F(X.key),value:X.value};return{type:"delete",key:this.#F(X.key)}}))}async has(W){return x(this.#W,this.#F(W))}async deletePrefix(W){return S(this.#W,this.#F(W))}async deleteRange(W,F){let X=this.#$(Q(F));return w(this.#W,this.#F(W),X)}async*keys(W,F){for await(let X of I(this.#W,this.#F(W),this.#Z(F)))yield this.#X(X)}async count(W){return u(this.#W,this.#F(W))}[Symbol.dispose](){this.#W[Symbol.dispose]()}}});function UW(W){return W.trim().replace(/;+\s*$/u,"").trim()}function NW(W){return HW.test(W)}function m(W){let F=UW(W);if(F.length===0)throw Error("Storage query must not be empty.");if(F.includes(";"))throw Error("Storage query must contain exactly one read-only statement.");if(MW.test(F))return;if(GW.test(F)&&NW(F))return;throw Error("Storage query only supports read-only SELECT and PRAGMA statements.")}var GW,HW,MW;var f=U(()=>{GW=/^PRAGMA\b/iu,HW=/^PRAGMA\s+(?:[A-Z_][A-Z0-9_]*\.)?[A-Z_][A-Z0-9_]*\s*$/iu,MW=/^SELECT\b/iu});function R(W){return[W,C(W)]}function s(W,F){let{gt:X,gte:Z,lt:$,lte:j}=F,H=["key >= ? AND key < ?"],M=R(W);if(X!==void 0)H.push("key > ?"),M.push(X);if(Z!==void 0)H.push("key >= ?"),M.push(Z);if($!==void 0)H.push("key < ?"),M.push($);if(j!==void 0)H.push("key <= ?"),M.push(j);return{conditions:H,parameters:M}}function a(W,F={}){let{limit:X,reverse:Z}=F,{conditions:$,parameters:j}=s(W,F),H=Z?"DESC":"ASC",M=X!==void 0?" LIMIT ?":"";if(X!==void 0)j.push(X);return{parameters:j,sqlSuffix:`WHERE ${$.join(" AND ")} ORDER BY key ${H}${M}`}}function i(W,F){let{conditions:X,parameters:Z}=s(W,F),$=X.join(" AND ");if(F.limit===void 0)return{parameters:Z,sql:`DELETE FROM kv WHERE ${$}`};return Z.push(F.limit),{parameters:Z,sql:`DELETE FROM kv WHERE key IN (SELECT key FROM kv WHERE ${$} ORDER BY key ASC LIMIT ?)`}}function r(W,F={}){let{parameters:X,sqlSuffix:Z}=a(W,F);return{parameters:X,sql:`SELECT key, value FROM kv ${Z}`}}function n(W,F={}){let{parameters:X,sqlSuffix:Z}=a(W,F);return{parameters:X,sql:`SELECT key FROM kv ${Z}`}}var g=`CREATE TABLE IF NOT EXISTS kv (
3
+ key TEXT PRIMARY KEY,
4
+ value BLOB NOT NULL
5
+ ) WITHOUT ROWID`,L="SELECT value FROM kv WHERE key = ?",D="INSERT INTO kv (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",B="DELETE FROM kv WHERE key = ?",d="SELECT 1 AS present FROM kv WHERE key = ? LIMIT 1",l="SELECT COUNT(*) AS count FROM kv WHERE key >= ? AND key < ?",p="DELETE FROM kv WHERE key >= ? AND key < ?";var t=U(()=>{V()});z();V();f();c();t();import{createClient as YW}from"@libsql/client";var o=`${g};`;function q(W){return typeof W==="object"&&W!==null&&"code"in W&&W.code==="SQLITE_BUSY"}async function QW(W){return W.transaction("write").catch((F)=>{if(q(F))return null;throw F})}async function VW(W){try{await W.rollback()}catch{}}async function DW(W){await new Promise((F)=>{setTimeout(F,Math.min(W*5,50))})}async function BW(W,F){for(let Z=1;Z<=10;Z++)try{await W.batch(F,"write");return}catch($){if(!q($)||Z===10)throw $;await DW(Z)}}async function RW(W,F){for(let X of F){let $=(await W.execute({sql:L,args:[X.key]})).rows[0]?.value,j=$===null||$===void 0?null:new Uint8Array($);if(!K(j,X.expectedValue))return!1}return!0}async function OW(W,F){for(let X of F)if(X.type==="put")await W.execute({sql:D,args:[X.key,X.value]});else await W.execute({sql:B,args:[X.key]})}function _W(W){if(W==="file::memory:"||W===":memory:")return"ephemeral";if(W.startsWith("file:"))return"local";return"remote"}class zW{#W;#J;#F=!1;constructor(W){this.#J=_W(W.url),this.#W=YW(W.authToken?{url:W.url,authToken:W.authToken}:{url:W.url})}capabilities(){return{persistence:this.#J,readAfterWrite:"session",scanConsistency:"snapshot",atomicBatch:!0,conditionalBatch:!0,boundedRangeDelete:!0}}async#X(){if(this.#F)return;await this.#W.executeMultiple(o),this.#F=!0}async get(W){await this.#X();let F=await this.#W.execute({sql:L,args:[W]});if(F.rows.length===0)return null;let X=F.rows[0].value;if(X===null||X===void 0)return null;return new Uint8Array(X)}async put(W,F){await this.#X(),await this.#W.execute({sql:D,args:[W,F]})}async delete(W){await this.#X(),await this.#W.execute({sql:B,args:[W]})}async has(W){return await this.#X(),(await this.#W.execute({sql:d,args:[W]})).rows.length>0}async deletePrefix(W){await this.#X();let[F,X]=R(W);return(await this.#W.execute({sql:p,args:[F,X]})).rowsAffected}async deleteRange(W,F){await this.#X();let X=Q(F),{parameters:Z,sql:$}=i(W,X);return(await this.#W.execute({sql:$,args:Z})).rowsAffected}async*scan(W,F={}){await this.#X();let{parameters:X,sql:Z}=r(W,F),$=await this.#W.execute({sql:Z,args:X});for(let j of $.rows){let{key:H,value:M}=j,e=new Uint8Array(M);yield[H,e]}}async*keys(W,F={}){await this.#X();let{parameters:X,sql:Z}=n(W,F),$=await this.#W.execute({sql:Z,args:X});for(let j of $.rows)yield j.key}async count(W){await this.#X();let[F,X]=R(W),Z=await this.#W.execute({sql:l,args:[F,X]});return Number(Z.rows[0]?.count??0)}scoped(W){return y(this,W)}async batch(W){if(W.length===0)return;await this.#X();let F=W.map((X)=>{if(X.type==="put")return{sql:D,args:[X.key,X.value]};return{sql:B,args:[X.key]}});await BW(this.#W,F)}async conditionalBatch(W,F){await this.#X();let X=await QW(this.#W);if(X===null)return!1;try{if(await X.executeMultiple(o),!await RW(X,W))return await X.rollback(),!1;return await OW(X,F),await X.commit(),!0}catch(Z){if(await VW(X),q(Z))return!1;throw Z}}async query(W,F){return await this.#X(),m(W),(await this.#W.execute({sql:W,args:F??[]})).rows}[Symbol.dispose](){this.#W.close()}}export{zW as TursoStorage};