@procedures/client 0.0.0-stage → 0.1.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 (762) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/LICENSE +21 -0
  3. package/README.md +832 -2
  4. package/dist/.tsbuildinfo +1 -0
  5. package/dist/adapters/http/client/index.d.ts +11 -0
  6. package/dist/adapters/http/client/index.d.ts.map +1 -0
  7. package/dist/adapters/http/client/index.js +18 -0
  8. package/dist/adapters/http/client/index.js.map +1 -0
  9. package/dist/adapters/http/client/transport.d.ts +72 -0
  10. package/dist/adapters/http/client/transport.d.ts.map +1 -0
  11. package/dist/adapters/http/client/transport.js +282 -0
  12. package/dist/adapters/http/client/transport.js.map +1 -0
  13. package/dist/adapters/http/client/types.d.ts +27 -0
  14. package/dist/adapters/http/client/types.d.ts.map +1 -0
  15. package/dist/adapters/http/client/types.js +8 -0
  16. package/dist/adapters/http/client/types.js.map +1 -0
  17. package/dist/adapters/http/index.d.ts +7 -0
  18. package/dist/adapters/http/index.d.ts.map +1 -0
  19. package/dist/adapters/http/index.js +7 -0
  20. package/dist/adapters/http/index.js.map +1 -0
  21. package/dist/adapters/http/server/index.d.ts +9 -0
  22. package/dist/adapters/http/server/index.d.ts.map +1 -0
  23. package/dist/adapters/http/server/index.js +10 -0
  24. package/dist/adapters/http/server/index.js.map +1 -0
  25. package/dist/adapters/http/server/strategies.d.ts +39 -0
  26. package/dist/adapters/http/server/strategies.d.ts.map +1 -0
  27. package/dist/adapters/http/server/strategies.js +90 -0
  28. package/dist/adapters/http/server/strategies.js.map +1 -0
  29. package/dist/adapters/http/server/transport.d.ts +66 -0
  30. package/dist/adapters/http/server/transport.d.ts.map +1 -0
  31. package/dist/adapters/http/server/transport.js +561 -0
  32. package/dist/adapters/http/server/transport.js.map +1 -0
  33. package/dist/adapters/http/server/types.d.ts +71 -0
  34. package/dist/adapters/http/server/types.d.ts.map +1 -0
  35. package/dist/adapters/http/server/types.js +7 -0
  36. package/dist/adapters/http/server/types.js.map +1 -0
  37. package/dist/adapters/http/shared/constants.d.ts +95 -0
  38. package/dist/adapters/http/shared/constants.d.ts.map +1 -0
  39. package/dist/adapters/http/shared/constants.js +102 -0
  40. package/dist/adapters/http/shared/constants.js.map +1 -0
  41. package/dist/adapters/http/shared/errors.d.ts +78 -0
  42. package/dist/adapters/http/shared/errors.d.ts.map +1 -0
  43. package/dist/adapters/http/shared/errors.js +151 -0
  44. package/dist/adapters/http/shared/errors.js.map +1 -0
  45. package/dist/adapters/http/shared/headers.d.ts +122 -0
  46. package/dist/adapters/http/shared/headers.d.ts.map +1 -0
  47. package/dist/adapters/http/shared/headers.js +216 -0
  48. package/dist/adapters/http/shared/headers.js.map +1 -0
  49. package/dist/adapters/http/shared/index.d.ts +12 -0
  50. package/dist/adapters/http/shared/index.d.ts.map +1 -0
  51. package/dist/adapters/http/shared/index.js +17 -0
  52. package/dist/adapters/http/shared/index.js.map +1 -0
  53. package/dist/adapters/http/shared/status-codes.d.ts +92 -0
  54. package/dist/adapters/http/shared/status-codes.d.ts.map +1 -0
  55. package/dist/adapters/http/shared/status-codes.js +189 -0
  56. package/dist/adapters/http/shared/status-codes.js.map +1 -0
  57. package/dist/adapters/http/shared/strategies.d.ts +90 -0
  58. package/dist/adapters/http/shared/strategies.d.ts.map +1 -0
  59. package/dist/adapters/http/shared/strategies.js +180 -0
  60. package/dist/adapters/http/shared/strategies.js.map +1 -0
  61. package/dist/adapters/local/client/index.d.ts +8 -0
  62. package/dist/adapters/local/client/index.d.ts.map +1 -0
  63. package/dist/adapters/local/client/index.js +8 -0
  64. package/dist/adapters/local/client/index.js.map +1 -0
  65. package/dist/adapters/local/client/transport.d.ts +81 -0
  66. package/dist/adapters/local/client/transport.d.ts.map +1 -0
  67. package/dist/adapters/local/client/transport.js +172 -0
  68. package/dist/adapters/local/client/transport.js.map +1 -0
  69. package/dist/adapters/local/client/types.d.ts +39 -0
  70. package/dist/adapters/local/client/types.d.ts.map +1 -0
  71. package/dist/adapters/local/client/types.js +13 -0
  72. package/dist/adapters/local/client/types.js.map +1 -0
  73. package/dist/adapters/metadata.d.ts +10 -0
  74. package/dist/adapters/metadata.d.ts.map +1 -0
  75. package/dist/adapters/metadata.js +19 -0
  76. package/dist/adapters/metadata.js.map +1 -0
  77. package/dist/adapters/mock/client/builder.d.ts +35 -0
  78. package/dist/adapters/mock/client/builder.d.ts.map +1 -0
  79. package/dist/adapters/mock/client/builder.js +58 -0
  80. package/dist/adapters/mock/client/builder.js.map +1 -0
  81. package/dist/adapters/mock/client/index.d.ts +9 -0
  82. package/dist/adapters/mock/client/index.d.ts.map +1 -0
  83. package/dist/adapters/mock/client/index.js +10 -0
  84. package/dist/adapters/mock/client/index.js.map +1 -0
  85. package/dist/adapters/mock/client/transport.d.ts +149 -0
  86. package/dist/adapters/mock/client/transport.d.ts.map +1 -0
  87. package/dist/adapters/mock/client/transport.js +289 -0
  88. package/dist/adapters/mock/client/transport.js.map +1 -0
  89. package/dist/adapters/mock/client/types.d.ts +86 -0
  90. package/dist/adapters/mock/client/types.d.ts.map +1 -0
  91. package/dist/adapters/mock/client/types.js +7 -0
  92. package/dist/adapters/mock/client/types.js.map +1 -0
  93. package/dist/adapters/websocket/client/index.d.ts +9 -0
  94. package/dist/adapters/websocket/client/index.d.ts.map +1 -0
  95. package/dist/adapters/websocket/client/index.js +9 -0
  96. package/dist/adapters/websocket/client/index.js.map +1 -0
  97. package/dist/adapters/websocket/client/transport.d.ts +106 -0
  98. package/dist/adapters/websocket/client/transport.d.ts.map +1 -0
  99. package/dist/adapters/websocket/client/transport.js +647 -0
  100. package/dist/adapters/websocket/client/transport.js.map +1 -0
  101. package/dist/adapters/websocket/client/types.d.ts +192 -0
  102. package/dist/adapters/websocket/client/types.d.ts.map +1 -0
  103. package/dist/adapters/websocket/client/types.js +17 -0
  104. package/dist/adapters/websocket/client/types.js.map +1 -0
  105. package/dist/adapters/websocket/index.d.ts +8 -0
  106. package/dist/adapters/websocket/index.d.ts.map +1 -0
  107. package/dist/adapters/websocket/index.js +8 -0
  108. package/dist/adapters/websocket/index.js.map +1 -0
  109. package/dist/adapters/websocket/server/index.d.ts +8 -0
  110. package/dist/adapters/websocket/server/index.d.ts.map +1 -0
  111. package/dist/adapters/websocket/server/index.js +8 -0
  112. package/dist/adapters/websocket/server/index.js.map +1 -0
  113. package/dist/adapters/websocket/server/transport.d.ts +112 -0
  114. package/dist/adapters/websocket/server/transport.d.ts.map +1 -0
  115. package/dist/adapters/websocket/server/transport.js +619 -0
  116. package/dist/adapters/websocket/server/transport.js.map +1 -0
  117. package/dist/adapters/websocket/server/types.d.ts +140 -0
  118. package/dist/adapters/websocket/server/types.d.ts.map +1 -0
  119. package/dist/adapters/websocket/server/types.js +7 -0
  120. package/dist/adapters/websocket/server/types.js.map +1 -0
  121. package/dist/browser.d.ts +48 -0
  122. package/dist/browser.d.ts.map +1 -0
  123. package/dist/browser.js +86 -0
  124. package/dist/browser.js.map +1 -0
  125. package/dist/client/batch-executor.d.ts +160 -0
  126. package/dist/client/batch-executor.d.ts.map +1 -0
  127. package/dist/client/batch-executor.js +397 -0
  128. package/dist/client/batch-executor.js.map +1 -0
  129. package/dist/client/call-types.d.ts +271 -0
  130. package/dist/client/call-types.d.ts.map +1 -0
  131. package/dist/client/call-types.js +208 -0
  132. package/dist/client/call-types.js.map +1 -0
  133. package/dist/client/client.d.ts +517 -0
  134. package/dist/client/client.d.ts.map +1 -0
  135. package/dist/client/client.js +990 -0
  136. package/dist/client/client.js.map +1 -0
  137. package/dist/client/consumption.d.ts +191 -0
  138. package/dist/client/consumption.d.ts.map +1 -0
  139. package/dist/client/consumption.js +98 -0
  140. package/dist/client/consumption.js.map +1 -0
  141. package/dist/client/context.d.ts +116 -0
  142. package/dist/client/context.d.ts.map +1 -0
  143. package/dist/client/context.js +111 -0
  144. package/dist/client/context.js.map +1 -0
  145. package/dist/client/errors/codes.d.ts +71 -0
  146. package/dist/client/errors/codes.d.ts.map +1 -0
  147. package/dist/client/errors/codes.js +81 -0
  148. package/dist/client/errors/codes.js.map +1 -0
  149. package/dist/client/errors/factory.d.ts +102 -0
  150. package/dist/client/errors/factory.d.ts.map +1 -0
  151. package/dist/client/errors/factory.js +210 -0
  152. package/dist/client/errors/factory.js.map +1 -0
  153. package/dist/client/errors/http-errors.d.ts +47 -0
  154. package/dist/client/errors/http-errors.d.ts.map +1 -0
  155. package/dist/client/errors/http-errors.js +548 -0
  156. package/dist/client/errors/http-errors.js.map +1 -0
  157. package/dist/client/errors/http-status.d.ts +73 -0
  158. package/dist/client/errors/http-status.d.ts.map +1 -0
  159. package/dist/client/errors/http-status.js +79 -0
  160. package/dist/client/errors/http-status.js.map +1 -0
  161. package/dist/client/errors/index.d.ts +36 -0
  162. package/dist/client/errors/index.d.ts.map +1 -0
  163. package/dist/client/errors/index.js +40 -0
  164. package/dist/client/errors/index.js.map +1 -0
  165. package/dist/client/errors/registry.d.ts +38 -0
  166. package/dist/client/errors/registry.d.ts.map +1 -0
  167. package/dist/client/errors/registry.js +535 -0
  168. package/dist/client/errors/registry.js.map +1 -0
  169. package/dist/client/errors/types.d.ts +112 -0
  170. package/dist/client/errors/types.d.ts.map +1 -0
  171. package/dist/client/errors/types.js +45 -0
  172. package/dist/client/errors/types.js.map +1 -0
  173. package/dist/client/index.d.ts +44 -0
  174. package/dist/client/index.d.ts.map +1 -0
  175. package/dist/client/index.js +36 -0
  176. package/dist/client/index.js.map +1 -0
  177. package/dist/client/middleware/auth.d.ts +90 -0
  178. package/dist/client/middleware/auth.d.ts.map +1 -0
  179. package/dist/client/middleware/auth.js +98 -0
  180. package/dist/client/middleware/auth.js.map +1 -0
  181. package/dist/client/middleware/batching.d.ts +102 -0
  182. package/dist/client/middleware/batching.d.ts.map +1 -0
  183. package/dist/client/middleware/batching.js +245 -0
  184. package/dist/client/middleware/batching.js.map +1 -0
  185. package/dist/client/middleware/cache.d.ts +124 -0
  186. package/dist/client/middleware/cache.d.ts.map +1 -0
  187. package/dist/client/middleware/cache.js +208 -0
  188. package/dist/client/middleware/cache.js.map +1 -0
  189. package/dist/client/middleware/circuit-breaker.d.ts +113 -0
  190. package/dist/client/middleware/circuit-breaker.d.ts.map +1 -0
  191. package/dist/client/middleware/circuit-breaker.js +236 -0
  192. package/dist/client/middleware/circuit-breaker.js.map +1 -0
  193. package/dist/client/middleware/contexts.d.ts +199 -0
  194. package/dist/client/middleware/contexts.d.ts.map +1 -0
  195. package/dist/client/middleware/contexts.js +74 -0
  196. package/dist/client/middleware/contexts.js.map +1 -0
  197. package/dist/client/middleware/items.d.ts +37 -0
  198. package/dist/client/middleware/items.d.ts.map +1 -0
  199. package/dist/client/middleware/items.js +100 -0
  200. package/dist/client/middleware/items.js.map +1 -0
  201. package/dist/client/middleware/lru.d.ts +32 -0
  202. package/dist/client/middleware/lru.d.ts.map +1 -0
  203. package/dist/client/middleware/lru.js +62 -0
  204. package/dist/client/middleware/lru.js.map +1 -0
  205. package/dist/client/middleware/pagination.d.ts +114 -0
  206. package/dist/client/middleware/pagination.d.ts.map +1 -0
  207. package/dist/client/middleware/pagination.js +148 -0
  208. package/dist/client/middleware/pagination.js.map +1 -0
  209. package/dist/client/middleware/rate-limit.d.ts +105 -0
  210. package/dist/client/middleware/rate-limit.d.ts.map +1 -0
  211. package/dist/client/middleware/rate-limit.js +222 -0
  212. package/dist/client/middleware/rate-limit.js.map +1 -0
  213. package/dist/client/middleware/retry.d.ts +100 -0
  214. package/dist/client/middleware/retry.d.ts.map +1 -0
  215. package/dist/client/middleware/retry.js +150 -0
  216. package/dist/client/middleware/retry.js.map +1 -0
  217. package/dist/client/middleware/timeout.d.ts +91 -0
  218. package/dist/client/middleware/timeout.d.ts.map +1 -0
  219. package/dist/client/middleware/timeout.js +253 -0
  220. package/dist/client/middleware/timeout.js.map +1 -0
  221. package/dist/client/middleware/tracing.d.ts +118 -0
  222. package/dist/client/middleware/tracing.d.ts.map +1 -0
  223. package/dist/client/middleware/tracing.js +152 -0
  224. package/dist/client/middleware/tracing.js.map +1 -0
  225. package/dist/client/route-resolver.d.ts +181 -0
  226. package/dist/client/route-resolver.d.ts.map +1 -0
  227. package/dist/client/route-resolver.js +300 -0
  228. package/dist/client/route-resolver.js.map +1 -0
  229. package/dist/client/typed-method.d.ts +29 -0
  230. package/dist/client/typed-method.d.ts.map +1 -0
  231. package/dist/client/typed-method.js +36 -0
  232. package/dist/client/typed-method.js.map +1 -0
  233. package/dist/client/typed.d.ts +102 -0
  234. package/dist/client/typed.d.ts.map +1 -0
  235. package/dist/client/typed.js +52 -0
  236. package/dist/client/typed.js.map +1 -0
  237. package/dist/client/types.d.ts +296 -0
  238. package/dist/client/types.d.ts.map +1 -0
  239. package/dist/client/types.js +26 -0
  240. package/dist/client/types.js.map +1 -0
  241. package/dist/client/validation/index.d.ts +34 -0
  242. package/dist/client/validation/index.d.ts.map +1 -0
  243. package/dist/client/validation/index.js +36 -0
  244. package/dist/client/validation/index.js.map +1 -0
  245. package/dist/client/validation/middleware.d.ts +82 -0
  246. package/dist/client/validation/middleware.d.ts.map +1 -0
  247. package/dist/client/validation/middleware.js +138 -0
  248. package/dist/client/validation/middleware.js.map +1 -0
  249. package/dist/client/validation/types.d.ts +118 -0
  250. package/dist/client/validation/types.d.ts.map +1 -0
  251. package/dist/client/validation/types.js +59 -0
  252. package/dist/client/validation/types.js.map +1 -0
  253. package/dist/collections/async/async-queue.d.ts +144 -0
  254. package/dist/collections/async/async-queue.d.ts.map +1 -0
  255. package/dist/collections/async/async-queue.js +347 -0
  256. package/dist/collections/async/async-queue.js.map +1 -0
  257. package/dist/collections/async/channels.d.ts +188 -0
  258. package/dist/collections/async/channels.d.ts.map +1 -0
  259. package/dist/collections/async/channels.js +312 -0
  260. package/dist/collections/async/channels.js.map +1 -0
  261. package/dist/collections/behaviors/bounded.d.ts +79 -0
  262. package/dist/collections/behaviors/bounded.d.ts.map +1 -0
  263. package/dist/collections/behaviors/bounded.js +384 -0
  264. package/dist/collections/behaviors/bounded.js.map +1 -0
  265. package/dist/collections/behaviors/evented.d.ts +154 -0
  266. package/dist/collections/behaviors/evented.d.ts.map +1 -0
  267. package/dist/collections/behaviors/evented.js +299 -0
  268. package/dist/collections/behaviors/evented.js.map +1 -0
  269. package/dist/collections/behaviors/lru.d.ts +84 -0
  270. package/dist/collections/behaviors/lru.d.ts.map +1 -0
  271. package/dist/collections/behaviors/lru.js +330 -0
  272. package/dist/collections/behaviors/lru.js.map +1 -0
  273. package/dist/collections/behaviors/readonly.d.ts +73 -0
  274. package/dist/collections/behaviors/readonly.d.ts.map +1 -0
  275. package/dist/collections/behaviors/readonly.js +158 -0
  276. package/dist/collections/behaviors/readonly.js.map +1 -0
  277. package/dist/collections/behaviors/safe.d.ts +163 -0
  278. package/dist/collections/behaviors/safe.d.ts.map +1 -0
  279. package/dist/collections/behaviors/safe.js +172 -0
  280. package/dist/collections/behaviors/safe.js.map +1 -0
  281. package/dist/collections/behaviors/synchronized.d.ts +88 -0
  282. package/dist/collections/behaviors/synchronized.d.ts.map +1 -0
  283. package/dist/collections/behaviors/synchronized.js +294 -0
  284. package/dist/collections/behaviors/synchronized.js.map +1 -0
  285. package/dist/collections/behaviors/ttl.d.ts +118 -0
  286. package/dist/collections/behaviors/ttl.d.ts.map +1 -0
  287. package/dist/collections/behaviors/ttl.js +338 -0
  288. package/dist/collections/behaviors/ttl.js.map +1 -0
  289. package/dist/collections/core/effects.d.ts +176 -0
  290. package/dist/collections/core/effects.d.ts.map +1 -0
  291. package/dist/collections/core/effects.js +180 -0
  292. package/dist/collections/core/effects.js.map +1 -0
  293. package/dist/collections/core/events.d.ts +192 -0
  294. package/dist/collections/core/events.d.ts.map +1 -0
  295. package/dist/collections/core/events.js +291 -0
  296. package/dist/collections/core/events.js.map +1 -0
  297. package/dist/collections/core/middleware.d.ts +231 -0
  298. package/dist/collections/core/middleware.d.ts.map +1 -0
  299. package/dist/collections/core/middleware.js +161 -0
  300. package/dist/collections/core/middleware.js.map +1 -0
  301. package/dist/collections/core/policies.d.ts +220 -0
  302. package/dist/collections/core/policies.d.ts.map +1 -0
  303. package/dist/collections/core/policies.js +48 -0
  304. package/dist/collections/core/policies.js.map +1 -0
  305. package/dist/collections/core/traits.d.ts +142 -0
  306. package/dist/collections/core/traits.d.ts.map +1 -0
  307. package/dist/collections/core/traits.js +8 -0
  308. package/dist/collections/core/traits.js.map +1 -0
  309. package/dist/collections/examples.d.ts +13 -0
  310. package/dist/collections/examples.d.ts.map +1 -0
  311. package/dist/collections/examples.js +302 -0
  312. package/dist/collections/examples.js.map +1 -0
  313. package/dist/collections/fx/collectors.d.ts +190 -0
  314. package/dist/collections/fx/collectors.d.ts.map +1 -0
  315. package/dist/collections/fx/collectors.js +369 -0
  316. package/dist/collections/fx/collectors.js.map +1 -0
  317. package/dist/collections/fx/iter.d.ts +166 -0
  318. package/dist/collections/fx/iter.d.ts.map +1 -0
  319. package/dist/collections/fx/iter.js +421 -0
  320. package/dist/collections/fx/iter.js.map +1 -0
  321. package/dist/collections/impl/array-deque.d.ts +107 -0
  322. package/dist/collections/impl/array-deque.d.ts.map +1 -0
  323. package/dist/collections/impl/array-deque.js +381 -0
  324. package/dist/collections/impl/array-deque.js.map +1 -0
  325. package/dist/collections/impl/array-list.d.ts +101 -0
  326. package/dist/collections/impl/array-list.d.ts.map +1 -0
  327. package/dist/collections/impl/array-list.js +387 -0
  328. package/dist/collections/impl/array-list.js.map +1 -0
  329. package/dist/collections/impl/hash-map.d.ts +141 -0
  330. package/dist/collections/impl/hash-map.d.ts.map +1 -0
  331. package/dist/collections/impl/hash-map.js +450 -0
  332. package/dist/collections/impl/hash-map.js.map +1 -0
  333. package/dist/collections/impl/hash-set.d.ts +125 -0
  334. package/dist/collections/impl/hash-set.d.ts.map +1 -0
  335. package/dist/collections/impl/hash-set.js +264 -0
  336. package/dist/collections/impl/hash-set.js.map +1 -0
  337. package/dist/collections/impl/linked-hash-map.d.ts +141 -0
  338. package/dist/collections/impl/linked-hash-map.d.ts.map +1 -0
  339. package/dist/collections/impl/linked-hash-map.js +472 -0
  340. package/dist/collections/impl/linked-hash-map.js.map +1 -0
  341. package/dist/collections/impl/linked-list.d.ts +109 -0
  342. package/dist/collections/impl/linked-list.d.ts.map +1 -0
  343. package/dist/collections/impl/linked-list.js +491 -0
  344. package/dist/collections/impl/linked-list.js.map +1 -0
  345. package/dist/collections/impl/priority-queue.d.ts +134 -0
  346. package/dist/collections/impl/priority-queue.d.ts.map +1 -0
  347. package/dist/collections/impl/priority-queue.js +336 -0
  348. package/dist/collections/impl/priority-queue.js.map +1 -0
  349. package/dist/collections/impl/tree-map.d.ts +146 -0
  350. package/dist/collections/impl/tree-map.d.ts.map +1 -0
  351. package/dist/collections/impl/tree-map.js +781 -0
  352. package/dist/collections/impl/tree-map.js.map +1 -0
  353. package/dist/collections/impl/tree-set.d.ts +112 -0
  354. package/dist/collections/impl/tree-set.d.ts.map +1 -0
  355. package/dist/collections/impl/tree-set.js +374 -0
  356. package/dist/collections/impl/tree-set.js.map +1 -0
  357. package/dist/collections/index.d.ts +105 -0
  358. package/dist/collections/index.d.ts.map +1 -0
  359. package/dist/collections/index.js +135 -0
  360. package/dist/collections/index.js.map +1 -0
  361. package/dist/collections/interfaces/collection.d.ts +119 -0
  362. package/dist/collections/interfaces/collection.d.ts.map +1 -0
  363. package/dist/collections/interfaces/collection.js +8 -0
  364. package/dist/collections/interfaces/collection.js.map +1 -0
  365. package/dist/collections/interfaces/list.d.ts +247 -0
  366. package/dist/collections/interfaces/list.d.ts.map +1 -0
  367. package/dist/collections/interfaces/list.js +8 -0
  368. package/dist/collections/interfaces/list.js.map +1 -0
  369. package/dist/collections/interfaces/map.d.ts +344 -0
  370. package/dist/collections/interfaces/map.d.ts.map +1 -0
  371. package/dist/collections/interfaces/map.js +8 -0
  372. package/dist/collections/interfaces/map.js.map +1 -0
  373. package/dist/collections/interfaces/queue.d.ts +304 -0
  374. package/dist/collections/interfaces/queue.d.ts.map +1 -0
  375. package/dist/collections/interfaces/queue.js +8 -0
  376. package/dist/collections/interfaces/queue.js.map +1 -0
  377. package/dist/collections/interfaces/set.d.ts +137 -0
  378. package/dist/collections/interfaces/set.d.ts.map +1 -0
  379. package/dist/collections/interfaces/set.js +8 -0
  380. package/dist/collections/interfaces/set.js.map +1 -0
  381. package/dist/collections/storage/api.d.ts +109 -0
  382. package/dist/collections/storage/api.d.ts.map +1 -0
  383. package/dist/collections/storage/api.js +182 -0
  384. package/dist/collections/storage/api.js.map +1 -0
  385. package/dist/collections/storage/hybrid.d.ts +164 -0
  386. package/dist/collections/storage/hybrid.d.ts.map +1 -0
  387. package/dist/collections/storage/hybrid.js +416 -0
  388. package/dist/collections/storage/hybrid.js.map +1 -0
  389. package/dist/collections/storage/index.d.ts +16 -0
  390. package/dist/collections/storage/index.d.ts.map +1 -0
  391. package/dist/collections/storage/index.js +13 -0
  392. package/dist/collections/storage/index.js.map +1 -0
  393. package/dist/collections/storage/interface.d.ts +141 -0
  394. package/dist/collections/storage/interface.d.ts.map +1 -0
  395. package/dist/collections/storage/interface.js +23 -0
  396. package/dist/collections/storage/interface.js.map +1 -0
  397. package/dist/collections/storage/memory.d.ts +68 -0
  398. package/dist/collections/storage/memory.d.ts.map +1 -0
  399. package/dist/collections/storage/memory.js +154 -0
  400. package/dist/collections/storage/memory.js.map +1 -0
  401. package/dist/collections/utils/defaults.d.ts +135 -0
  402. package/dist/collections/utils/defaults.d.ts.map +1 -0
  403. package/dist/collections/utils/defaults.js +322 -0
  404. package/dist/collections/utils/defaults.js.map +1 -0
  405. package/dist/collections/utils/factories.d.ts +144 -0
  406. package/dist/collections/utils/factories.d.ts.map +1 -0
  407. package/dist/collections/utils/factories.js +293 -0
  408. package/dist/collections/utils/factories.js.map +1 -0
  409. package/dist/collections/utils/helpers.d.ts +137 -0
  410. package/dist/collections/utils/helpers.d.ts.map +1 -0
  411. package/dist/collections/utils/helpers.js +221 -0
  412. package/dist/collections/utils/helpers.js.map +1 -0
  413. package/dist/collections.d.ts +12 -0
  414. package/dist/collections.d.ts.map +1 -0
  415. package/dist/collections.js +10 -0
  416. package/dist/collections.js.map +1 -0
  417. package/dist/components/define.d.ts +134 -0
  418. package/dist/components/define.d.ts.map +1 -0
  419. package/dist/components/define.js +486 -0
  420. package/dist/components/define.js.map +1 -0
  421. package/dist/components/index.d.ts +39 -0
  422. package/dist/components/index.d.ts.map +1 -0
  423. package/dist/components/index.js +38 -0
  424. package/dist/components/index.js.map +1 -0
  425. package/dist/components/types.d.ts +264 -0
  426. package/dist/components/types.d.ts.map +1 -0
  427. package/dist/components/types.js +46 -0
  428. package/dist/components/types.js.map +1 -0
  429. package/dist/events/bus.d.ts +193 -0
  430. package/dist/events/bus.d.ts.map +1 -0
  431. package/dist/events/bus.js +511 -0
  432. package/dist/events/bus.js.map +1 -0
  433. package/dist/events/index.d.ts +34 -0
  434. package/dist/events/index.d.ts.map +1 -0
  435. package/dist/events/index.js +36 -0
  436. package/dist/events/index.js.map +1 -0
  437. package/dist/events/types.d.ts +242 -0
  438. package/dist/events/types.d.ts.map +1 -0
  439. package/dist/events/types.js +8 -0
  440. package/dist/events/types.js.map +1 -0
  441. package/dist/index.d.ts +17 -0
  442. package/dist/index.d.ts.map +1 -0
  443. package/dist/index.js +17 -0
  444. package/dist/index.js.map +1 -0
  445. package/dist/middleware/compose.d.ts +88 -0
  446. package/dist/middleware/compose.d.ts.map +1 -0
  447. package/dist/middleware/compose.js +108 -0
  448. package/dist/middleware/compose.js.map +1 -0
  449. package/dist/middleware/index.d.ts +12 -0
  450. package/dist/middleware/index.d.ts.map +1 -0
  451. package/dist/middleware/index.js +11 -0
  452. package/dist/middleware/index.js.map +1 -0
  453. package/dist/middleware/types.d.ts +112 -0
  454. package/dist/middleware/types.d.ts.map +1 -0
  455. package/dist/middleware/types.js +14 -0
  456. package/dist/middleware/types.js.map +1 -0
  457. package/dist/procedures/cli/announce.d.ts +67 -0
  458. package/dist/procedures/cli/announce.d.ts.map +1 -0
  459. package/dist/procedures/cli/announce.js +392 -0
  460. package/dist/procedures/cli/announce.js.map +1 -0
  461. package/dist/procedures/cli/discover.d.ts +66 -0
  462. package/dist/procedures/cli/discover.d.ts.map +1 -0
  463. package/dist/procedures/cli/discover.js +310 -0
  464. package/dist/procedures/cli/discover.js.map +1 -0
  465. package/dist/procedures/cli/index.d.ts +13 -0
  466. package/dist/procedures/cli/index.d.ts.map +1 -0
  467. package/dist/procedures/cli/index.js +201 -0
  468. package/dist/procedures/cli/index.js.map +1 -0
  469. package/dist/procedures/cli/init.d.ts +17 -0
  470. package/dist/procedures/cli/init.d.ts.map +1 -0
  471. package/dist/procedures/cli/init.js +336 -0
  472. package/dist/procedures/cli/init.js.map +1 -0
  473. package/dist/procedures/collection/index.d.ts +10 -0
  474. package/dist/procedures/collection/index.d.ts.map +1 -0
  475. package/dist/procedures/collection/index.js +10 -0
  476. package/dist/procedures/collection/index.js.map +1 -0
  477. package/dist/procedures/collection/procedures.d.ts +21 -0
  478. package/dist/procedures/collection/procedures.d.ts.map +1 -0
  479. package/dist/procedures/collection/procedures.js +198 -0
  480. package/dist/procedures/collection/procedures.js.map +1 -0
  481. package/dist/procedures/collection/schemas.d.ts +131 -0
  482. package/dist/procedures/collection/schemas.d.ts.map +1 -0
  483. package/dist/procedures/collection/schemas.js +422 -0
  484. package/dist/procedures/collection/schemas.js.map +1 -0
  485. package/dist/procedures/collection/storage.d.ts +53 -0
  486. package/dist/procedures/collection/storage.d.ts.map +1 -0
  487. package/dist/procedures/collection/storage.js +2 -0
  488. package/dist/procedures/collection/storage.js.map +1 -0
  489. package/dist/procedures/core/array.d.ts +276 -0
  490. package/dist/procedures/core/array.d.ts.map +1 -0
  491. package/dist/procedures/core/array.js +637 -0
  492. package/dist/procedures/core/array.js.map +1 -0
  493. package/dist/procedures/core/comparison.d.ts +85 -0
  494. package/dist/procedures/core/comparison.d.ts.map +1 -0
  495. package/dist/procedures/core/comparison.js +156 -0
  496. package/dist/procedures/core/comparison.js.map +1 -0
  497. package/dist/procedures/core/index.d.ts +261 -0
  498. package/dist/procedures/core/index.d.ts.map +1 -0
  499. package/dist/procedures/core/index.js +585 -0
  500. package/dist/procedures/core/index.js.map +1 -0
  501. package/dist/procedures/core/logic.d.ts +144 -0
  502. package/dist/procedures/core/logic.d.ts.map +1 -0
  503. package/dist/procedures/core/logic.js +169 -0
  504. package/dist/procedures/core/logic.js.map +1 -0
  505. package/dist/procedures/core/math.d.ts +139 -0
  506. package/dist/procedures/core/math.d.ts.map +1 -0
  507. package/dist/procedures/core/math.js +273 -0
  508. package/dist/procedures/core/math.js.map +1 -0
  509. package/dist/procedures/core/meta.d.ts +111 -0
  510. package/dist/procedures/core/meta.d.ts.map +1 -0
  511. package/dist/procedures/core/meta.js +239 -0
  512. package/dist/procedures/core/meta.js.map +1 -0
  513. package/dist/procedures/core/object.d.ts +109 -0
  514. package/dist/procedures/core/object.d.ts.map +1 -0
  515. package/dist/procedures/core/object.js +270 -0
  516. package/dist/procedures/core/object.js.map +1 -0
  517. package/dist/procedures/core/operands.d.ts +51 -0
  518. package/dist/procedures/core/operands.d.ts.map +1 -0
  519. package/dist/procedures/core/operands.js +90 -0
  520. package/dist/procedures/core/operands.js.map +1 -0
  521. package/dist/procedures/core/outputs.d.ts +28 -0
  522. package/dist/procedures/core/outputs.d.ts.map +1 -0
  523. package/dist/procedures/core/outputs.js +42 -0
  524. package/dist/procedures/core/outputs.js.map +1 -0
  525. package/dist/procedures/core/results.d.ts +202 -0
  526. package/dist/procedures/core/results.d.ts.map +1 -0
  527. package/dist/procedures/core/results.js +106 -0
  528. package/dist/procedures/core/results.js.map +1 -0
  529. package/dist/procedures/core/schemas.d.ts +48 -0
  530. package/dist/procedures/core/schemas.d.ts.map +1 -0
  531. package/dist/procedures/core/schemas.js +102 -0
  532. package/dist/procedures/core/schemas.js.map +1 -0
  533. package/dist/procedures/core/string.d.ts +138 -0
  534. package/dist/procedures/core/string.d.ts.map +1 -0
  535. package/dist/procedures/core/string.js +268 -0
  536. package/dist/procedures/core/string.js.map +1 -0
  537. package/dist/procedures/core/type.d.ts +101 -0
  538. package/dist/procedures/core/type.d.ts.map +1 -0
  539. package/dist/procedures/core/type.js +208 -0
  540. package/dist/procedures/core/type.js.map +1 -0
  541. package/dist/procedures/define-procedure.d.ts +187 -0
  542. package/dist/procedures/define-procedure.d.ts.map +1 -0
  543. package/dist/procedures/define-procedure.js +356 -0
  544. package/dist/procedures/define-procedure.js.map +1 -0
  545. package/dist/procedures/define.d.ts +228 -0
  546. package/dist/procedures/define.d.ts.map +1 -0
  547. package/dist/procedures/define.js +300 -0
  548. package/dist/procedures/define.js.map +1 -0
  549. package/dist/procedures/discovery.d.ts +57 -0
  550. package/dist/procedures/discovery.d.ts.map +1 -0
  551. package/dist/procedures/discovery.js +68 -0
  552. package/dist/procedures/discovery.js.map +1 -0
  553. package/dist/procedures/index.d.ts +24 -0
  554. package/dist/procedures/index.d.ts.map +1 -0
  555. package/dist/procedures/index.js +69 -0
  556. package/dist/procedures/index.js.map +1 -0
  557. package/dist/procedures/interceptors.d.ts +82 -0
  558. package/dist/procedures/interceptors.d.ts.map +1 -0
  559. package/dist/procedures/interceptors.js +193 -0
  560. package/dist/procedures/interceptors.js.map +1 -0
  561. package/dist/procedures/invoke.d.ts +127 -0
  562. package/dist/procedures/invoke.d.ts.map +1 -0
  563. package/dist/procedures/invoke.js +277 -0
  564. package/dist/procedures/invoke.js.map +1 -0
  565. package/dist/procedures/module.d.ts +49 -0
  566. package/dist/procedures/module.d.ts.map +1 -0
  567. package/dist/procedures/module.js +93 -0
  568. package/dist/procedures/module.js.map +1 -0
  569. package/dist/procedures/policy.d.ts +70 -0
  570. package/dist/procedures/policy.d.ts.map +1 -0
  571. package/dist/procedures/policy.js +138 -0
  572. package/dist/procedures/policy.js.map +1 -0
  573. package/dist/procedures/ref.d.ts +606 -0
  574. package/dist/procedures/ref.d.ts.map +1 -0
  575. package/dist/procedures/ref.js +895 -0
  576. package/dist/procedures/ref.js.map +1 -0
  577. package/dist/procedures/registry.d.ts +208 -0
  578. package/dist/procedures/registry.d.ts.map +1 -0
  579. package/dist/procedures/registry.js +402 -0
  580. package/dist/procedures/registry.js.map +1 -0
  581. package/dist/procedures/schema.d.ts +126 -0
  582. package/dist/procedures/schema.d.ts.map +1 -0
  583. package/dist/procedures/schema.js +108 -0
  584. package/dist/procedures/schema.js.map +1 -0
  585. package/dist/procedures/storage/adapter.d.ts +148 -0
  586. package/dist/procedures/storage/adapter.d.ts.map +1 -0
  587. package/dist/procedures/storage/adapter.js +214 -0
  588. package/dist/procedures/storage/adapter.js.map +1 -0
  589. package/dist/procedures/storage/api.d.ts +125 -0
  590. package/dist/procedures/storage/api.d.ts.map +1 -0
  591. package/dist/procedures/storage/api.js +220 -0
  592. package/dist/procedures/storage/api.js.map +1 -0
  593. package/dist/procedures/storage/factory.d.ts +134 -0
  594. package/dist/procedures/storage/factory.d.ts.map +1 -0
  595. package/dist/procedures/storage/factory.js +166 -0
  596. package/dist/procedures/storage/factory.js.map +1 -0
  597. package/dist/procedures/storage/hybrid.d.ts +193 -0
  598. package/dist/procedures/storage/hybrid.d.ts.map +1 -0
  599. package/dist/procedures/storage/hybrid.js +519 -0
  600. package/dist/procedures/storage/hybrid.js.map +1 -0
  601. package/dist/procedures/storage/index.d.ts +17 -0
  602. package/dist/procedures/storage/index.d.ts.map +1 -0
  603. package/dist/procedures/storage/index.js +17 -0
  604. package/dist/procedures/storage/index.js.map +1 -0
  605. package/dist/procedures/storage/procedures.d.ts +39 -0
  606. package/dist/procedures/storage/procedures.d.ts.map +1 -0
  607. package/dist/procedures/storage/procedures.js +261 -0
  608. package/dist/procedures/storage/procedures.js.map +1 -0
  609. package/dist/procedures/storage/serialization.d.ts +123 -0
  610. package/dist/procedures/storage/serialization.d.ts.map +1 -0
  611. package/dist/procedures/storage/serialization.js +216 -0
  612. package/dist/procedures/storage/serialization.js.map +1 -0
  613. package/dist/procedures/storage/synced-registry.d.ts +246 -0
  614. package/dist/procedures/storage/synced-registry.d.ts.map +1 -0
  615. package/dist/procedures/storage/synced-registry.js +575 -0
  616. package/dist/procedures/storage/synced-registry.js.map +1 -0
  617. package/dist/procedures/storage/types.d.ts +130 -0
  618. package/dist/procedures/storage/types.d.ts.map +1 -0
  619. package/dist/procedures/storage/types.js +8 -0
  620. package/dist/procedures/storage/types.js.map +1 -0
  621. package/dist/procedures/types.d.ts +370 -0
  622. package/dist/procedures/types.d.ts.map +1 -0
  623. package/dist/procedures/types.js +23 -0
  624. package/dist/procedures/types.js.map +1 -0
  625. package/dist/server/browser-guard.d.ts +69 -0
  626. package/dist/server/browser-guard.d.ts.map +1 -0
  627. package/dist/server/browser-guard.js +103 -0
  628. package/dist/server/browser-guard.js.map +1 -0
  629. package/dist/server/host-policy.d.ts +59 -0
  630. package/dist/server/host-policy.d.ts.map +1 -0
  631. package/dist/server/host-policy.js +82 -0
  632. package/dist/server/host-policy.js.map +1 -0
  633. package/dist/server/index.d.ts +46 -0
  634. package/dist/server/index.d.ts.map +1 -0
  635. package/dist/server/index.js +42 -0
  636. package/dist/server/index.js.map +1 -0
  637. package/dist/server/method.d.ts +24 -0
  638. package/dist/server/method.d.ts.map +1 -0
  639. package/dist/server/method.js +29 -0
  640. package/dist/server/method.js.map +1 -0
  641. package/dist/server/procedure-server.d.ts +212 -0
  642. package/dist/server/procedure-server.d.ts.map +1 -0
  643. package/dist/server/procedure-server.js +323 -0
  644. package/dist/server/procedure-server.js.map +1 -0
  645. package/dist/server/server.d.ts +161 -0
  646. package/dist/server/server.d.ts.map +1 -0
  647. package/dist/server/server.js +279 -0
  648. package/dist/server/server.js.map +1 -0
  649. package/dist/server/types.d.ts +106 -0
  650. package/dist/server/types.d.ts.map +1 -0
  651. package/dist/server/types.js +29 -0
  652. package/dist/server/types.js.map +1 -0
  653. package/package.json +115 -3
  654. package/src/adapters/http/client/index.ts +51 -0
  655. package/src/adapters/http/client/transport.ts +338 -0
  656. package/src/adapters/http/client/types.ts +33 -0
  657. package/src/adapters/http/index.ts +7 -0
  658. package/src/adapters/http/server/index.ts +14 -0
  659. package/src/adapters/http/server/strategies.ts +105 -0
  660. package/src/adapters/http/server/transport.ts +622 -0
  661. package/src/adapters/http/server/types.ts +81 -0
  662. package/src/adapters/http/shared/constants.ts +108 -0
  663. package/src/adapters/http/shared/errors.ts +199 -0
  664. package/src/adapters/http/shared/headers.ts +291 -0
  665. package/src/adapters/http/shared/index.ts +21 -0
  666. package/src/adapters/http/shared/status-codes.ts +212 -0
  667. package/src/adapters/http/shared/strategies.ts +255 -0
  668. package/src/adapters/local/client/index.ts +11 -0
  669. package/src/adapters/local/client/transport.ts +188 -0
  670. package/src/adapters/local/client/types.ts +50 -0
  671. package/src/adapters/metadata.ts +17 -0
  672. package/src/adapters/mock/client/builder.ts +64 -0
  673. package/src/adapters/mock/client/index.ts +19 -0
  674. package/src/adapters/mock/client/transport.ts +352 -0
  675. package/src/adapters/mock/client/types.ts +99 -0
  676. package/src/adapters/websocket/client/index.ts +18 -0
  677. package/src/adapters/websocket/client/transport.ts +733 -0
  678. package/src/adapters/websocket/client/types.ts +235 -0
  679. package/src/adapters/websocket/index.ts +24 -0
  680. package/src/adapters/websocket/server/index.ts +18 -0
  681. package/src/adapters/websocket/server/transport.ts +705 -0
  682. package/src/adapters/websocket/server/types.ts +169 -0
  683. package/src/browser.ts +373 -0
  684. package/src/client/batch-executor.ts +514 -0
  685. package/src/client/call-types.ts +491 -0
  686. package/src/client/client.ts +1202 -0
  687. package/src/client/consumption.ts +288 -0
  688. package/src/client/context.ts +228 -0
  689. package/src/client/errors/README.md +279 -0
  690. package/src/client/errors/codes.ts +88 -0
  691. package/src/client/errors/factory.ts +263 -0
  692. package/src/client/errors/http-errors.ts +601 -0
  693. package/src/client/errors/http-status.ts +82 -0
  694. package/src/client/errors/index.ts +72 -0
  695. package/src/client/errors/registry.ts +595 -0
  696. package/src/client/errors/types.ts +139 -0
  697. package/src/client/index.ts +124 -0
  698. package/src/client/middleware/auth.ts +132 -0
  699. package/src/client/middleware/cache.ts +316 -0
  700. package/src/client/middleware/circuit-breaker.ts +339 -0
  701. package/src/client/middleware/contexts.ts +319 -0
  702. package/src/client/middleware/items.ts +114 -0
  703. package/src/client/middleware/lru.ts +66 -0
  704. package/src/client/middleware/pagination.ts +213 -0
  705. package/src/client/middleware/rate-limit.ts +315 -0
  706. package/src/client/middleware/retry.ts +236 -0
  707. package/src/client/middleware/timeout.ts +308 -0
  708. package/src/client/middleware/tracing.ts +191 -0
  709. package/src/client/route-resolver.ts +407 -0
  710. package/src/client/typed-method.ts +65 -0
  711. package/src/client/typed.ts +140 -0
  712. package/src/client/types.ts +361 -0
  713. package/src/client/validation/index.ts +56 -0
  714. package/src/client/validation/middleware.ts +254 -0
  715. package/src/client/validation/types.ts +162 -0
  716. package/src/events/bus.ts +594 -0
  717. package/src/events/index.ts +67 -0
  718. package/src/events/types.ts +263 -0
  719. package/src/index.ts +33 -0
  720. package/src/middleware/compose.ts +159 -0
  721. package/src/middleware/index.ts +28 -0
  722. package/src/middleware/types.ts +166 -0
  723. package/src/procedures/cli/announce.ts +470 -0
  724. package/src/procedures/cli/discover.ts +390 -0
  725. package/src/procedures/cli/index.ts +229 -0
  726. package/src/procedures/cli/init.ts +370 -0
  727. package/src/procedures/collection/index.ts +51 -0
  728. package/src/procedures/collection/procedures.ts +245 -0
  729. package/src/procedures/collection/schemas.ts +550 -0
  730. package/src/procedures/collection/storage.ts +53 -0
  731. package/src/procedures/core/array.ts +1024 -0
  732. package/src/procedures/core/comparison.ts +263 -0
  733. package/src/procedures/core/index.ts +895 -0
  734. package/src/procedures/core/logic.ts +225 -0
  735. package/src/procedures/core/math.ts +469 -0
  736. package/src/procedures/core/meta.ts +384 -0
  737. package/src/procedures/core/object.ts +427 -0
  738. package/src/procedures/core/operands.ts +119 -0
  739. package/src/procedures/core/outputs.ts +48 -0
  740. package/src/procedures/core/results.ts +296 -0
  741. package/src/procedures/core/schemas.ts +123 -0
  742. package/src/procedures/core/string.ts +458 -0
  743. package/src/procedures/core/type.ts +344 -0
  744. package/src/procedures/define-procedure.ts +531 -0
  745. package/src/procedures/define.ts +387 -0
  746. package/src/procedures/discovery.ts +76 -0
  747. package/src/procedures/index.ts +228 -0
  748. package/src/procedures/interceptors.ts +272 -0
  749. package/src/procedures/invoke.ts +413 -0
  750. package/src/procedures/module.ts +107 -0
  751. package/src/procedures/policy.ts +171 -0
  752. package/src/procedures/ref.ts +1305 -0
  753. package/src/procedures/registry.ts +473 -0
  754. package/src/procedures/schema.ts +225 -0
  755. package/src/procedures/types.ts +485 -0
  756. package/src/server/browser-guard.ts +147 -0
  757. package/src/server/host-policy.ts +121 -0
  758. package/src/server/index.ts +70 -0
  759. package/src/server/method.ts +33 -0
  760. package/src/server/procedure-server.ts +417 -0
  761. package/src/server/server.ts +364 -0
  762. package/src/server/types.ts +147 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/procedures/policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,606 @@
1
+ /**
2
+ * Procedure Reference System
3
+ *
4
+ * Enables procedures-as-data: procedures can be passed as inputs to other procedures,
5
+ * composed declaratively via JSON, or imperatively via TypeScript.
6
+ *
7
+ * Key concepts:
8
+ * - PROCEDURE_SYMBOL: Symbol tag to identify procedure references in JSON/objects
9
+ * - ProcedureRef: A reference to a procedure with pre-bound input
10
+ * - $when: Controls when a procedure reference is executed during hydration
11
+ * - $name: Names the result of a chain step, for `$ref`
12
+ * - $ref: Reads a name of the scope (a chain step, `$last`, `item`, `acc`, `index`, `input`)
13
+ * - $literal: Gives a value without hydration
14
+ * - hydrateInput: Walks input tree and executes nested procedure references
15
+ * - executeRef: Helper for procedures to execute deferred refs
16
+ * - proc(): Factory function to create procedure references
17
+ *
18
+ * ## Execution Control with $when
19
+ *
20
+ * The `$when` field controls when a procedure reference is executed:
21
+ * - `"$immediate"` (or absent): Execute during hydration (default)
22
+ * - `"$never"`: Never execute during hydration, pass as pure data (with its whole subtree)
23
+ * - `"$parent"`: Defer to parent procedure (pass as data)
24
+ * - `"someName"`: Defer to the runner that gives this name in its `contextStack`
25
+ * (`dag.traverse` gives "dag.traverse", `core.catch` gives "catch")
26
+ *
27
+ * A deferred ref is data at every depth: hydration of the input that holds it does not run it.
28
+ * The procedure that receives it runs it later (deep dive CORE-11).
29
+ *
30
+ * ## Raw input
31
+ *
32
+ * A procedure that takes its input raw (control flow, the `runs-refs` and `raw-input` tags) gets
33
+ * the refs of its input unchanged: it runs them itself. Such an input carries the scope of the
34
+ * caller (`withScope`), so nested control flow can read the names of an outer chain.
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // Declarative (JSON) with execution control
39
+ * const pipelineJson = {
40
+ * $name: "traversal",
41
+ * $proc: ["dag", "traverse"],
42
+ * input: {
43
+ * visit: {
44
+ * $proc: ["git", "add"],
45
+ * input: { all: true },
46
+ * $when: "traversal", // Defer to traversal context
47
+ * },
48
+ * },
49
+ * };
50
+ *
51
+ * // The inner $proc is NOT executed during hydration.
52
+ * // dag.traverse receives it as data and executes per-node.
53
+ * await client.exec(pipelineJson);
54
+ * ```
55
+ */
56
+ import type { ProcedurePath } from "./types.js";
57
+ /**
58
+ * Symbol used to tag objects as procedure references.
59
+ * This allows procedure references to be identified during input hydration.
60
+ */
61
+ export declare const PROCEDURE_SYMBOL: symbol;
62
+ /**
63
+ * JSON key used to identify procedure references in serialized form.
64
+ */
65
+ export declare const PROCEDURE_JSON_KEY: string;
66
+ /**
67
+ * JSON key used to control when a procedure reference is executed.
68
+ */
69
+ export declare const PROCEDURE_WHEN_KEY: string;
70
+ /**
71
+ * JSON key that names the result of a chain step: a later step reads it with `{ $ref: "<name>" }`.
72
+ */
73
+ export declare const PROCEDURE_NAME_KEY: string;
74
+ /**
75
+ * JSON key used to reference outputs from named stages.
76
+ */
77
+ export declare const OUTPUT_REF_KEY: string;
78
+ /**
79
+ * JSON key of a literal. Hydration gives the value of `{ $literal: value }` and does not look
80
+ * inside it, so a `$proc` or a `$ref` in the value stays data (for example a JSON Schema `$ref`).
81
+ */
82
+ export declare const LITERAL_KEY: string;
83
+ /**
84
+ * Execute immediately during hydration (default behavior).
85
+ */
86
+ export declare const WHEN_IMMEDIATE: string;
87
+ /**
88
+ * Never execute during hydration - pass as pure data.
89
+ */
90
+ export declare const WHEN_NEVER: string;
91
+ /**
92
+ * Defer to parent procedure - pass as data for parent to execute.
93
+ */
94
+ export declare const WHEN_PARENT: string;
95
+ /**
96
+ * Information passed to $continueIf handlers about the result of a procedure execution.
97
+ */
98
+ export interface StepResultInfo {
99
+ /** Whether the procedure executed successfully */
100
+ success: boolean;
101
+ /** The procedure's output (if success) */
102
+ result?: unknown;
103
+ /** Error message (if failed) */
104
+ error?: string;
105
+ /** Whether the operation was a no-op (from result.skipped if present) */
106
+ skipped?: boolean;
107
+ /** The procedure path that was executed */
108
+ proc: ProcedurePath;
109
+ }
110
+ /**
111
+ * Decision returned by $continueIf handlers.
112
+ */
113
+ export interface ContinueDecision {
114
+ /** Whether to continue execution (true) or propagate the error (false) */
115
+ continue: boolean;
116
+ }
117
+ /**
118
+ * A reference to an output from a named stage.
119
+ *
120
+ * Reference syntax:
121
+ * - `"stageName"` - reference full output of named stage
122
+ * - `"stageName.field"` - reference field in output
123
+ * - `"stageName.nested.path"` - deep path traversal
124
+ * - `"$last"` - reference previous stage output
125
+ * - `"$last.value"` - reference field in previous output
126
+ */
127
+ export interface OutputRef {
128
+ /** Path to a named output, optionally with property path */
129
+ readonly $ref: string;
130
+ }
131
+ /**
132
+ * Scope for tracking outputs during chain execution.
133
+ * Scopes form a tree structure for nested chains.
134
+ */
135
+ export interface RefScope {
136
+ /** Named outputs in this scope */
137
+ outputs: Map<string, unknown>;
138
+ /** Previous step output ($last) */
139
+ last?: unknown | undefined;
140
+ /** Parent scope for nested chains */
141
+ parent?: RefScope | undefined;
142
+ /** This scope's name (if in a named chain) */
143
+ name?: string | undefined;
144
+ }
145
+ /**
146
+ * Create a new RefScope with optional parent.
147
+ */
148
+ export declare function createRefScope(parent?: RefScope, name?: string): RefScope;
149
+ /**
150
+ * Get a value by path from an object.
151
+ * Supports dot-separated paths like "foo.bar.baz".
152
+ * Only the own properties are read, so a path such as "a.constructor" gives undefined.
153
+ */
154
+ export declare function getPath(obj: unknown, path: string[]): unknown;
155
+ /**
156
+ * Look up an output reference in a scope and its parents.
157
+ *
158
+ * The first segment is a name: the innermost scope with that name gives the value. `$last` is the
159
+ * last result of the innermost scope that has one. The other segments read fields of the value.
160
+ * `found` is false when no scope has the name. A missing field is `found` with the value undefined.
161
+ */
162
+ export declare function lookupOutputRef(refPath: string, scope: RefScope | undefined): {
163
+ found: boolean;
164
+ value?: unknown;
165
+ };
166
+ /**
167
+ * Resolve an output reference within a scope.
168
+ *
169
+ * @param refPath - The reference path (e.g., "stageName.value" or "$last.value")
170
+ * @param scope - The current scope to resolve within
171
+ * @returns The resolved value, or undefined if not found
172
+ */
173
+ export declare function resolveOutputRef(refPath: string, scope: RefScope): unknown;
174
+ /**
175
+ * This function gives a copy of a raw input that carries a scope. A procedure that takes its input
176
+ * raw (control flow) reads the scope with `scopeOf()` and makes it the parent of its own scope.
177
+ * Thus the operands of a nested control-flow procedure can read the names of the outer chain.
178
+ * The scope is a property that is not enumerable: JSON and the transports do not see it.
179
+ */
180
+ export declare function withScope<T>(input: T, scope: RefScope | undefined): T;
181
+ /** The scope that a raw input carries (see `withScope()`), or undefined. */
182
+ export declare function scopeOf(input: unknown): RefScope | undefined;
183
+ /** True for a plain object: an object literal, or an object with a null prototype. */
184
+ export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
185
+ /** True for `{ $literal: value }`: a plain object whose only key is `$literal`. */
186
+ export declare function isLiteral(value: unknown): value is {
187
+ $literal: unknown;
188
+ };
189
+ /**
190
+ * Execution timing for procedure references.
191
+ * - `"$immediate"`: Execute during hydration (default)
192
+ * - `"$never"`: Never execute, pass as pure data
193
+ * - `"$parent"`: Defer to parent procedure
194
+ * - `string`: Defer to named ancestor context
195
+ */
196
+ export type ProcedureWhen = "$immediate" | "$never" | "$parent" | string;
197
+ /**
198
+ * A reference to a procedure with pre-bound input (runtime form).
199
+ * Can be passed as input to other procedures and will be executed during hydration.
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * const ref: ProcedureRef = {
204
+ * [PROCEDURE_SYMBOL]: true,
205
+ * path: ["git", "add"],
206
+ * input: { all: true },
207
+ * };
208
+ * ```
209
+ */
210
+ export interface ProcedureRef<TInput = unknown, TOutput = unknown> {
211
+ /** Symbol tag identifying this as a procedure reference */
212
+ readonly [PROCEDURE_SYMBOL]: true;
213
+ /** Path to the procedure */
214
+ readonly path: ProcedurePath;
215
+ /** Pre-bound input for the procedure */
216
+ readonly input: TInput;
217
+ /** Optional name for this execution context */
218
+ readonly $name?: string;
219
+ /** When to execute this reference */
220
+ readonly $when?: ProcedureWhen;
221
+ /**
222
+ * Phantom type for output inference.
223
+ * Not present at runtime, used for TypeScript type inference.
224
+ */
225
+ readonly __output?: TOutput;
226
+ }
227
+ /**
228
+ * JSON-serializable form of a procedure reference.
229
+ * Uses `$proc` key instead of Symbol for JSON compatibility.
230
+ */
231
+ export interface ProcedureRefJson<TInput = unknown> {
232
+ /** JSON key identifying this as a procedure reference */
233
+ readonly $proc: ProcedurePath;
234
+ /** Pre-bound input for the procedure */
235
+ readonly input?: TInput;
236
+ /** Optional name for this execution context (for nested refs to target) */
237
+ readonly $name?: string;
238
+ /**
239
+ * When to execute this reference:
240
+ * - "$immediate" (or absent): Execute during hydration
241
+ * - "$never": Never execute, pass as pure data
242
+ * - "$parent": Defer to parent procedure
243
+ * - "someName": Defer to named ancestor context
244
+ */
245
+ readonly $when?: ProcedureWhen;
246
+ }
247
+ /**
248
+ * Either a runtime ProcedureRef or JSON-serialized form.
249
+ */
250
+ export type AnyProcedureRef<TInput = unknown, TOutput = unknown> = ProcedureRef<TInput, TOutput> | ProcedureRefJson<TInput>;
251
+ /**
252
+ * Check if a value is a procedure reference (runtime form with Symbol).
253
+ */
254
+ export declare function isProcedureRef(value: unknown): value is ProcedureRef;
255
+ /**
256
+ * Check if a value is a JSON procedure reference (serialized form with $proc key).
257
+ */
258
+ export declare function isProcedureRefJson(value: unknown): value is ProcedureRefJson;
259
+ /**
260
+ * Check if a value is any form of procedure reference.
261
+ */
262
+ export declare function isAnyProcedureRef(value: unknown): value is AnyProcedureRef;
263
+ /**
264
+ * Check if a value is an output reference ($ref).
265
+ */
266
+ export declare function isOutputRef(value: unknown): value is OutputRef;
267
+ /**
268
+ * Get the $when value from a procedure reference.
269
+ * Returns "$immediate" if not specified.
270
+ */
271
+ export declare function getRefWhen(ref: AnyProcedureRef): ProcedureWhen;
272
+ /**
273
+ * Get the $name value from a procedure reference, if any.
274
+ */
275
+ export declare function getRefName(ref: AnyProcedureRef): string | undefined;
276
+ /**
277
+ * Check if a procedure reference should be executed in the given context.
278
+ *
279
+ * @param ref - The procedure reference to check
280
+ * @param contextStack - Stack of named contexts (innermost first)
281
+ * @param isParentContext - Whether we're checking from a parent procedure
282
+ * @returns true if the ref should be executed now
283
+ */
284
+ export declare function shouldExecuteRef(ref: AnyProcedureRef, contextStack: string[], isParentContext?: boolean): boolean;
285
+ /**
286
+ * Builder for creating procedure references with a fluent API.
287
+ */
288
+ export declare class ProcedureRefBuilder<TInput = unknown, TOutput = unknown> {
289
+ private _path;
290
+ private _input;
291
+ private _name?;
292
+ private _when?;
293
+ constructor(path: ProcedurePath);
294
+ /**
295
+ * Set the input for this procedure reference.
296
+ */
297
+ input<T>(input: T): ProcedureRefBuilder<T, TOutput>;
298
+ /**
299
+ * Name this execution context (for nested refs to target with $when).
300
+ */
301
+ name(name: string): this;
302
+ /**
303
+ * Set when this reference should be executed.
304
+ * @param when - "$immediate", "$never", "$parent", or a named context
305
+ */
306
+ when(when: ProcedureWhen): this;
307
+ /**
308
+ * Shorthand for .when("$never") - pass as pure data.
309
+ */
310
+ defer(): this;
311
+ /**
312
+ * Shorthand for .when("$parent") - defer to parent procedure.
313
+ */
314
+ deferToParent(): this;
315
+ /**
316
+ * Build the procedure reference object.
317
+ */
318
+ build(): ProcedureRef<TInput, TOutput>;
319
+ /**
320
+ * Convert to JSON-serializable form.
321
+ */
322
+ toJson(): ProcedureRefJson<TInput>;
323
+ /**
324
+ * Alias for build() - makes the builder callable in expression contexts.
325
+ */
326
+ get ref(): ProcedureRef<TInput, TOutput>;
327
+ }
328
+ /**
329
+ * Create a procedure reference.
330
+ *
331
+ * @param path - Path to the procedure
332
+ * @returns Builder for the procedure reference
333
+ *
334
+ * @example
335
+ * ```typescript
336
+ * // Simple reference
337
+ * const addRef = proc(["git", "add"]).input({ all: true }).build();
338
+ *
339
+ * // Nested references (procedures as inputs)
340
+ * const pipeline = proc(["client", "chain"]).input({
341
+ * steps: [
342
+ * proc(["git", "add"]).input({ all: true }).ref,
343
+ * proc(["git", "commit"]).input({ message: "auto" }).ref,
344
+ * ],
345
+ * }).build();
346
+ * ```
347
+ */
348
+ export declare function proc<TOutput = unknown>(path: ProcedurePath): ProcedureRefBuilder<unknown, TOutput>;
349
+ /**
350
+ * Convert a procedure reference from JSON form to runtime form.
351
+ * The `$name` and `$when` fields stay (deep dive CORE-11: before, they were dropped).
352
+ */
353
+ export declare function fromJson<TInput, TOutput>(json: ProcedureRefJson<TInput>): ProcedureRef<TInput, TOutput>;
354
+ /**
355
+ * Convert a procedure reference from runtime form to JSON form.
356
+ * The `$name` and `$when` fields stay.
357
+ */
358
+ export declare function toJson<TInput>(ref: ProcedureRef<TInput>): ProcedureRefJson<TInput>;
359
+ /**
360
+ * Normalize any procedure reference to runtime form.
361
+ */
362
+ export declare function normalizeRef<TInput, TOutput>(ref: AnyProcedureRef<TInput, TOutput>): ProcedureRef<TInput, TOutput>;
363
+ /**
364
+ * Executor function type for hydration.
365
+ * Called for each procedure reference found during hydration.
366
+ */
367
+ export type RefExecutor = <TInput, TOutput>(path: ProcedurePath, input: TInput) => Promise<TOutput>;
368
+ /**
369
+ * Options for input hydration.
370
+ */
371
+ export interface HydrateOptions {
372
+ /**
373
+ * Maximum nesting of procedure refs (default: 10). Plain data does not count: only the input
374
+ * of a ref inside the input of another ref adds one level.
375
+ */
376
+ maxDepth?: number | undefined;
377
+ /**
378
+ * Whether sibling refs run at the same time (default: false). With false, the refs run one
379
+ * after the other, from left to right and depth first, so the order of their effects is known.
380
+ */
381
+ parallel?: boolean | undefined;
382
+ /**
383
+ * The context names of the runner. A ref with `$when: "<name>"` runs only when this list has
384
+ * the name. A runner such as `core.catch` gives its own name here when it hydrates its operand.
385
+ */
386
+ contextStack?: string[] | undefined;
387
+ /**
388
+ * Scope for resolving output references ($ref). Without a scope, a `$ref` object stays as it
389
+ * is (for example a JSON Schema reference). With a scope, a `$ref` name that no scope has is an error.
390
+ */
391
+ scope?: RefScope | undefined;
392
+ /**
393
+ * This function tells whether the procedure at a path takes its input raw (control flow, the
394
+ * `runs-refs` and `raw-input` tags). Such a procedure gets the refs of its input unchanged and
395
+ * runs them itself. The default knows the core control-flow paths only. See `rawInputRule()`.
396
+ */
397
+ rawInput?: ((path: ProcedurePath) => boolean) | undefined;
398
+ /**
399
+ * This function gets an event each time hydration runs a ref (see `HydrationEvent`). A trace
400
+ * uses it to show a nested call under the call that gets its result. An error of the function
401
+ * does not change the hydration.
402
+ */
403
+ onRef?: ((event: HydrationEvent) => void) | undefined;
404
+ }
405
+ /**
406
+ * An event of hydration: a procedure ref of the input runs now. Its input is hydrated already,
407
+ * so the events of the refs inside its input came first.
408
+ */
409
+ export interface HydrationEvent {
410
+ /** The path of the procedure that runs. */
411
+ readonly path: ProcedurePath;
412
+ /**
413
+ * The ref that runs: the object of the program. For an array of refs that runs as an implicit
414
+ * chain, it is the `client.chain` ref that hydration made.
415
+ */
416
+ readonly ref: AnyProcedureRef;
417
+ /**
418
+ * The ref whose input holds this ref: the call that gets the result. It is undefined when the
419
+ * ref is at the top of the hydrated value. Then the caller of the hydration gets the result:
420
+ * `exec()` gives it to the root call, and a control-flow procedure to its operand call.
421
+ */
422
+ readonly consumer: AnyProcedureRef | undefined;
423
+ }
424
+ /**
425
+ * This function adds an observer of every hydration in this process (or worker), and gives the
426
+ * function that removes it. A host that does not call `hydrateInput` itself (the Composer of
427
+ * the site runs `client.exec()`) uses it for its trace. The observer gets the events of all
428
+ * concurrent hydrations: use it where one program runs at a time. For the events of one program,
429
+ * give `onRef` to that program: `client.exec(ref, input, { onRef })` (docs review DOC-10).
430
+ */
431
+ export declare function observeHydration(observer: (event: HydrationEvent) => void): () => void;
432
+ /** The maximum nesting of plain data in an input. A deeper input is an error, not a stack overflow. */
433
+ export declare const MAX_DATA_DEPTH = 1000;
434
+ /**
435
+ * Hydrate an input tree by executing any nested procedure references.
436
+ *
437
+ * Walks the input object tree and replaces any ProcedureRef or ProcedureRefJson
438
+ * objects with the result of executing that procedure, respecting $when timing.
439
+ *
440
+ * The rules:
441
+ * - A ref with `$when: "$immediate"` (the default) runs. A ref whose procedure takes its input
442
+ * raw (see `HydrateOptions.rawInput`) gets its input unchanged, with the scope attached.
443
+ * - A ref with `$when: "$never"` stays as it is, with its whole subtree.
444
+ * - A ref with `$when: "$parent"` or `$when: "<name>"` stays data for its runner. Its procedure
445
+ * gets that ref later. The immediate refs of its input run now, unless the procedure takes its
446
+ * input raw. A named ref runs now only when `contextStack` has the name.
447
+ * - A `$ref` object gives a value from the scope. `{ $literal: value }` gives the value unchanged.
448
+ * - An array whose items are all refs that run now, outside the input of a ref, runs as one
449
+ * `client.chain`. An array with a deferred ref is a list.
450
+ * - Values that are not plain data (`Date`, `Map`, typed arrays, class instances) stay unchanged.
451
+ * A subtree without refs stays the same object.
452
+ *
453
+ * @param input - The input object potentially containing procedure references
454
+ * @param executor - Function to execute procedure references
455
+ * @param options - Hydration options
456
+ * @returns The hydrated input with executed procedure refs replaced by their results
457
+ *
458
+ * @example
459
+ * ```typescript
460
+ * const input = {
461
+ * visit: proc(["git", "add"]).input({ all: true }).build(),
462
+ * config: { nested: true },
463
+ * };
464
+ *
465
+ * const hydrated = await hydrateInput(input, async (path, input) => {
466
+ * return await client.call({ path, input });
467
+ * });
468
+ *
469
+ * // hydrated.visit is now the result of executing git.add
470
+ * ```
471
+ */
472
+ export declare function hydrateInput<T>(input: T, executor: RefExecutor, options?: HydrateOptions): Promise<T>;
473
+ /**
474
+ * The path and the input of the root call of a program: the call that `client.exec()` starts.
475
+ * `exec()` and the body of a procedure that `procedure.define` made both use this function, so
476
+ * the same program gives the same result in both (docs review DOC-3: before, a defined body
477
+ * hydrated its root call as a nested ref).
478
+ *
479
+ * The rules of the root call:
480
+ * - A `$when` on the root call does not apply: the caller starts the root call now.
481
+ * - A procedure that takes its input raw (`rawInput`) gets its input unchanged, with the scope
482
+ * attached, and runs its operands itself.
483
+ * - Another procedure gets its input hydrated as a root: a list of calls that run now is an
484
+ * implicit chain, and the nested refs run.
485
+ *
486
+ * The caller then starts the call with the path and the input.
487
+ */
488
+ export declare function prepareRootCall(ref: AnyProcedureRef, executor: RefExecutor, options?: Pick<HydrateOptions, "rawInput" | "onRef" | "scope">): Promise<{
489
+ path: ProcedurePath;
490
+ input: unknown;
491
+ }>;
492
+ /**
493
+ * Last path segments of the core control-flow procedures (registered under `["client", ...]`).
494
+ *
495
+ * These procedures MUST receive their operand refs RAW so their handlers can execute
496
+ * them with correct ordering, laziness, short-circuiting, and error scoping. If `exec()`
497
+ * eagerly hydrated their inputs, the operands would run up-front (voiding conditional/
498
+ * tryCatch short-circuiting) and an all-refs array would be hijacked into an implicit
499
+ * chain that clobbers `steps` — the outer handler then throws `steps is not iterable`.
500
+ * See documentation/BUGS-2026-07.md (C2, H2, H3, M35).
501
+ */
502
+ export declare const CONTROL_FLOW_PROCEDURES: ReadonlySet<string>;
503
+ /**
504
+ * Whether a procedure path is one of the core control-flow procedures (`client.chain`,
505
+ * `client.map` and the others). The whole path must match: a user procedure `foo.map` is not
506
+ * control flow (deep dive CORE-5: before, only the last segment was compared).
507
+ */
508
+ export declare function isControlFlowPath(path: ProcedurePath): boolean;
509
+ /**
510
+ * The tag of a procedure that runs procedure refs from its input (for example `dag.traverse`).
511
+ * A server with an `expose` rule lets such a procedure call only the exposed procedures.
512
+ * Hydration gives such a procedure its input raw.
513
+ */
514
+ export declare const RUNS_REFS_TAG = "runs-refs";
515
+ /**
516
+ * The tag of a procedure that takes refs as data and does not run them (for example
517
+ * `client.export`, which writes a ref as JSON). Hydration gives such a procedure its input raw.
518
+ */
519
+ export declare const RAW_INPUT_TAG = "raw-input";
520
+ /** The fields of a procedure that the rules of this module read. */
521
+ interface ProcedureShape {
522
+ path: ProcedurePath;
523
+ metadata?: {
524
+ tags?: string[] | undefined;
525
+ } | undefined;
526
+ handler?: unknown;
527
+ }
528
+ /**
529
+ * This function marks a procedure whose behavior comes from data, for example a procedure
530
+ * that `procedure.define` made from an aggregation. The mark is on the handler function: the
531
+ * registry stores a copy of each procedure, but the copy has the same handler. The mark is not
532
+ * in the metadata, because the caller of `procedure.define` gives the metadata.
533
+ */
534
+ export declare function markDataDriven<T extends {
535
+ handler?: unknown;
536
+ }>(procedure: T): T;
537
+ /**
538
+ * A data-driven procedure runs procedure refs that come from its input or from data: the
539
+ * control-flow procedures, the procedures with the `runs-refs` tag and the procedures that
540
+ * `procedure.define` made. The caller of such a procedure chooses what it calls.
541
+ */
542
+ export declare function isDataDriven(procedure: ProcedureShape): boolean;
543
+ /**
544
+ * A procedure that takes its input raw: the control-flow procedures and the procedures with the
545
+ * `runs-refs` or `raw-input` tag. `exec()` and hydration do not run the refs of such an input.
546
+ * A procedure that `procedure.define` made takes ordinary input: its body is the data-driven part.
547
+ */
548
+ export declare function takesRawInput(procedure: ProcedureShape): boolean;
549
+ /**
550
+ * The raw-input rule of a registry, for `HydrateOptions.rawInput`. The procedure at the path
551
+ * decides (deep dive CORE-5). A path that the registry does not have uses the control-flow paths.
552
+ */
553
+ export declare function rawInputRule(registry: {
554
+ get(path: ProcedurePath): ProcedureShape | undefined;
555
+ } | undefined): (path: ProcedurePath) => boolean;
556
+ /**
557
+ * Execute a deferred procedure reference.
558
+ *
559
+ * This is a helper for procedures that receive deferred refs (via $when)
560
+ * and need to execute them with additional context.
561
+ *
562
+ * @param ref - The procedure reference to execute
563
+ * @param executor - Function to execute the procedure
564
+ * @param additionalInput - Additional input to merge (e.g., cwd for dag.traverse)
565
+ * @param options - Hydration options for the input of the ref (for example the runner's `contextStack`)
566
+ * @returns The result of executing the procedure
567
+ *
568
+ * @example
569
+ * ```typescript
570
+ * // In dag.traverse, execute a deferred ref with cwd
571
+ * const result = await executeRef(
572
+ * input.visit,
573
+ * (path, input) => ctx.client.call(path, input),
574
+ * { cwd: node.repoPath }
575
+ * );
576
+ * ```
577
+ */
578
+ export declare function executeRef<TOutput = unknown>(ref: AnyProcedureRef, executor: RefExecutor, additionalInput?: Record<string, unknown>, options?: HydrateOptions): Promise<TOutput>;
579
+ /**
580
+ * Extract a JSON template from a procedure reference.
581
+ * Useful for serializing imperative procedure compositions.
582
+ * The `$name` and `$when` fields stay. A `$literal` stays as it is.
583
+ *
584
+ * @param ref - Procedure reference to extract template from
585
+ * @returns JSON-serializable template
586
+ */
587
+ export declare function extractTemplate<TInput>(ref: ProcedureRef<TInput>): ProcedureRefJson<unknown>;
588
+ /**
589
+ * Parse JSON string and convert $proc objects to runtime ProcedureRef objects.
590
+ * The `$name` and `$when` fields stay. A `$literal` stays as it is.
591
+ *
592
+ * @param json - JSON string potentially containing procedure references
593
+ * @returns Parsed object with ProcedureRef objects
594
+ */
595
+ export declare function parseProcedureJson<T>(json: string): T;
596
+ /**
597
+ * Stringify an object with procedure refs to JSON.
598
+ * Converts ProcedureRef objects to $proc JSON form.
599
+ *
600
+ * @param value - Object potentially containing ProcedureRef objects
601
+ * @param space - Indentation (passed to JSON.stringify)
602
+ * @returns JSON string
603
+ */
604
+ export declare function stringifyProcedureJson(value: unknown, space?: number): string;
605
+ export {};
606
+ //# sourceMappingURL=ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../src/procedures/ref.ts"],"names":[],"mappings":"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"}