@procedures/client 0.0.0-stage → 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 (777) hide show
  1. package/CHANGELOG.md +42 -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 +562 -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 +51 -0
  122. package/dist/browser.d.ts.map +1 -0
  123. package/dist/browser.js +89 -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 +525 -0
  134. package/dist/client/client.d.ts.map +1 -0
  135. package/dist/client/client.js +1011 -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 +305 -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/capability.d.ts +111 -0
  458. package/dist/procedures/capability.d.ts.map +1 -0
  459. package/dist/procedures/capability.js +269 -0
  460. package/dist/procedures/capability.js.map +1 -0
  461. package/dist/procedures/cli/announce.d.ts +67 -0
  462. package/dist/procedures/cli/announce.d.ts.map +1 -0
  463. package/dist/procedures/cli/announce.js +392 -0
  464. package/dist/procedures/cli/announce.js.map +1 -0
  465. package/dist/procedures/cli/discover.d.ts +66 -0
  466. package/dist/procedures/cli/discover.d.ts.map +1 -0
  467. package/dist/procedures/cli/discover.js +310 -0
  468. package/dist/procedures/cli/discover.js.map +1 -0
  469. package/dist/procedures/cli/index.d.ts +13 -0
  470. package/dist/procedures/cli/index.d.ts.map +1 -0
  471. package/dist/procedures/cli/index.js +203 -0
  472. package/dist/procedures/cli/index.js.map +1 -0
  473. package/dist/procedures/cli/init.d.ts +17 -0
  474. package/dist/procedures/cli/init.d.ts.map +1 -0
  475. package/dist/procedures/cli/init.js +336 -0
  476. package/dist/procedures/cli/init.js.map +1 -0
  477. package/dist/procedures/collection/index.d.ts +10 -0
  478. package/dist/procedures/collection/index.d.ts.map +1 -0
  479. package/dist/procedures/collection/index.js +10 -0
  480. package/dist/procedures/collection/index.js.map +1 -0
  481. package/dist/procedures/collection/procedures.d.ts +21 -0
  482. package/dist/procedures/collection/procedures.d.ts.map +1 -0
  483. package/dist/procedures/collection/procedures.js +210 -0
  484. package/dist/procedures/collection/procedures.js.map +1 -0
  485. package/dist/procedures/collection/schemas.d.ts +131 -0
  486. package/dist/procedures/collection/schemas.d.ts.map +1 -0
  487. package/dist/procedures/collection/schemas.js +422 -0
  488. package/dist/procedures/collection/schemas.js.map +1 -0
  489. package/dist/procedures/collection/storage.d.ts +53 -0
  490. package/dist/procedures/collection/storage.d.ts.map +1 -0
  491. package/dist/procedures/collection/storage.js +2 -0
  492. package/dist/procedures/collection/storage.js.map +1 -0
  493. package/dist/procedures/core/array.d.ts +276 -0
  494. package/dist/procedures/core/array.d.ts.map +1 -0
  495. package/dist/procedures/core/array.js +639 -0
  496. package/dist/procedures/core/array.js.map +1 -0
  497. package/dist/procedures/core/comparison.d.ts +85 -0
  498. package/dist/procedures/core/comparison.d.ts.map +1 -0
  499. package/dist/procedures/core/comparison.js +158 -0
  500. package/dist/procedures/core/comparison.js.map +1 -0
  501. package/dist/procedures/core/index.d.ts +261 -0
  502. package/dist/procedures/core/index.d.ts.map +1 -0
  503. package/dist/procedures/core/index.js +588 -0
  504. package/dist/procedures/core/index.js.map +1 -0
  505. package/dist/procedures/core/logic.d.ts +144 -0
  506. package/dist/procedures/core/logic.d.ts.map +1 -0
  507. package/dist/procedures/core/logic.js +169 -0
  508. package/dist/procedures/core/logic.js.map +1 -0
  509. package/dist/procedures/core/math.d.ts +139 -0
  510. package/dist/procedures/core/math.d.ts.map +1 -0
  511. package/dist/procedures/core/math.js +275 -0
  512. package/dist/procedures/core/math.js.map +1 -0
  513. package/dist/procedures/core/meta.d.ts +111 -0
  514. package/dist/procedures/core/meta.d.ts.map +1 -0
  515. package/dist/procedures/core/meta.js +244 -0
  516. package/dist/procedures/core/meta.js.map +1 -0
  517. package/dist/procedures/core/object.d.ts +109 -0
  518. package/dist/procedures/core/object.d.ts.map +1 -0
  519. package/dist/procedures/core/object.js +272 -0
  520. package/dist/procedures/core/object.js.map +1 -0
  521. package/dist/procedures/core/operands.d.ts +51 -0
  522. package/dist/procedures/core/operands.d.ts.map +1 -0
  523. package/dist/procedures/core/operands.js +90 -0
  524. package/dist/procedures/core/operands.js.map +1 -0
  525. package/dist/procedures/core/outputs.d.ts +28 -0
  526. package/dist/procedures/core/outputs.d.ts.map +1 -0
  527. package/dist/procedures/core/outputs.js +42 -0
  528. package/dist/procedures/core/outputs.js.map +1 -0
  529. package/dist/procedures/core/results.d.ts +202 -0
  530. package/dist/procedures/core/results.d.ts.map +1 -0
  531. package/dist/procedures/core/results.js +106 -0
  532. package/dist/procedures/core/results.js.map +1 -0
  533. package/dist/procedures/core/schemas.d.ts +48 -0
  534. package/dist/procedures/core/schemas.d.ts.map +1 -0
  535. package/dist/procedures/core/schemas.js +102 -0
  536. package/dist/procedures/core/schemas.js.map +1 -0
  537. package/dist/procedures/core/string.d.ts +138 -0
  538. package/dist/procedures/core/string.d.ts.map +1 -0
  539. package/dist/procedures/core/string.js +270 -0
  540. package/dist/procedures/core/string.js.map +1 -0
  541. package/dist/procedures/core/type.d.ts +101 -0
  542. package/dist/procedures/core/type.d.ts.map +1 -0
  543. package/dist/procedures/core/type.js +210 -0
  544. package/dist/procedures/core/type.js.map +1 -0
  545. package/dist/procedures/define-procedure.d.ts +187 -0
  546. package/dist/procedures/define-procedure.d.ts.map +1 -0
  547. package/dist/procedures/define-procedure.js +357 -0
  548. package/dist/procedures/define-procedure.js.map +1 -0
  549. package/dist/procedures/define.d.ts +228 -0
  550. package/dist/procedures/define.d.ts.map +1 -0
  551. package/dist/procedures/define.js +300 -0
  552. package/dist/procedures/define.js.map +1 -0
  553. package/dist/procedures/discovery.d.ts +57 -0
  554. package/dist/procedures/discovery.d.ts.map +1 -0
  555. package/dist/procedures/discovery.js +68 -0
  556. package/dist/procedures/discovery.js.map +1 -0
  557. package/dist/procedures/effects.d.ts +15 -0
  558. package/dist/procedures/effects.d.ts.map +1 -0
  559. package/dist/procedures/effects.js +18 -0
  560. package/dist/procedures/effects.js.map +1 -0
  561. package/dist/procedures/index.d.ts +27 -0
  562. package/dist/procedures/index.d.ts.map +1 -0
  563. package/dist/procedures/index.js +54 -0
  564. package/dist/procedures/index.js.map +1 -0
  565. package/dist/procedures/interceptors.d.ts +82 -0
  566. package/dist/procedures/interceptors.d.ts.map +1 -0
  567. package/dist/procedures/interceptors.js +194 -0
  568. package/dist/procedures/interceptors.js.map +1 -0
  569. package/dist/procedures/invoke.d.ts +155 -0
  570. package/dist/procedures/invoke.d.ts.map +1 -0
  571. package/dist/procedures/invoke.js +343 -0
  572. package/dist/procedures/invoke.js.map +1 -0
  573. package/dist/procedures/module.d.ts +54 -0
  574. package/dist/procedures/module.d.ts.map +1 -0
  575. package/dist/procedures/module.js +103 -0
  576. package/dist/procedures/module.js.map +1 -0
  577. package/dist/procedures/policy.d.ts +70 -0
  578. package/dist/procedures/policy.d.ts.map +1 -0
  579. package/dist/procedures/policy.js +138 -0
  580. package/dist/procedures/policy.js.map +1 -0
  581. package/dist/procedures/ref.d.ts +606 -0
  582. package/dist/procedures/ref.d.ts.map +1 -0
  583. package/dist/procedures/ref.js +895 -0
  584. package/dist/procedures/ref.js.map +1 -0
  585. package/dist/procedures/registry.d.ts +208 -0
  586. package/dist/procedures/registry.d.ts.map +1 -0
  587. package/dist/procedures/registry.js +402 -0
  588. package/dist/procedures/registry.js.map +1 -0
  589. package/dist/procedures/schema.d.ts +126 -0
  590. package/dist/procedures/schema.d.ts.map +1 -0
  591. package/dist/procedures/schema.js +108 -0
  592. package/dist/procedures/schema.js.map +1 -0
  593. package/dist/procedures/storage/adapter.d.ts +148 -0
  594. package/dist/procedures/storage/adapter.d.ts.map +1 -0
  595. package/dist/procedures/storage/adapter.js +214 -0
  596. package/dist/procedures/storage/adapter.js.map +1 -0
  597. package/dist/procedures/storage/api.d.ts +125 -0
  598. package/dist/procedures/storage/api.d.ts.map +1 -0
  599. package/dist/procedures/storage/api.js +220 -0
  600. package/dist/procedures/storage/api.js.map +1 -0
  601. package/dist/procedures/storage/factory.d.ts +134 -0
  602. package/dist/procedures/storage/factory.d.ts.map +1 -0
  603. package/dist/procedures/storage/factory.js +166 -0
  604. package/dist/procedures/storage/factory.js.map +1 -0
  605. package/dist/procedures/storage/hybrid.d.ts +193 -0
  606. package/dist/procedures/storage/hybrid.d.ts.map +1 -0
  607. package/dist/procedures/storage/hybrid.js +519 -0
  608. package/dist/procedures/storage/hybrid.js.map +1 -0
  609. package/dist/procedures/storage/index.d.ts +17 -0
  610. package/dist/procedures/storage/index.d.ts.map +1 -0
  611. package/dist/procedures/storage/index.js +17 -0
  612. package/dist/procedures/storage/index.js.map +1 -0
  613. package/dist/procedures/storage/procedures.d.ts +39 -0
  614. package/dist/procedures/storage/procedures.d.ts.map +1 -0
  615. package/dist/procedures/storage/procedures.js +261 -0
  616. package/dist/procedures/storage/procedures.js.map +1 -0
  617. package/dist/procedures/storage/serialization.d.ts +123 -0
  618. package/dist/procedures/storage/serialization.d.ts.map +1 -0
  619. package/dist/procedures/storage/serialization.js +216 -0
  620. package/dist/procedures/storage/serialization.js.map +1 -0
  621. package/dist/procedures/storage/synced-registry.d.ts +246 -0
  622. package/dist/procedures/storage/synced-registry.d.ts.map +1 -0
  623. package/dist/procedures/storage/synced-registry.js +575 -0
  624. package/dist/procedures/storage/synced-registry.js.map +1 -0
  625. package/dist/procedures/storage/types.d.ts +130 -0
  626. package/dist/procedures/storage/types.d.ts.map +1 -0
  627. package/dist/procedures/storage/types.js +8 -0
  628. package/dist/procedures/storage/types.js.map +1 -0
  629. package/dist/procedures/types.d.ts +468 -0
  630. package/dist/procedures/types.d.ts.map +1 -0
  631. package/dist/procedures/types.js +23 -0
  632. package/dist/procedures/types.js.map +1 -0
  633. package/dist/register.d.ts +8 -0
  634. package/dist/register.d.ts.map +1 -0
  635. package/dist/register.js +9 -0
  636. package/dist/register.js.map +1 -0
  637. package/dist/server/browser-guard.d.ts +69 -0
  638. package/dist/server/browser-guard.d.ts.map +1 -0
  639. package/dist/server/browser-guard.js +103 -0
  640. package/dist/server/browser-guard.js.map +1 -0
  641. package/dist/server/host-policy.d.ts +81 -0
  642. package/dist/server/host-policy.d.ts.map +1 -0
  643. package/dist/server/host-policy.js +104 -0
  644. package/dist/server/host-policy.js.map +1 -0
  645. package/dist/server/index.d.ts +46 -0
  646. package/dist/server/index.d.ts.map +1 -0
  647. package/dist/server/index.js +42 -0
  648. package/dist/server/index.js.map +1 -0
  649. package/dist/server/method.d.ts +24 -0
  650. package/dist/server/method.d.ts.map +1 -0
  651. package/dist/server/method.js +29 -0
  652. package/dist/server/method.js.map +1 -0
  653. package/dist/server/procedure-server.d.ts +226 -0
  654. package/dist/server/procedure-server.d.ts.map +1 -0
  655. package/dist/server/procedure-server.js +348 -0
  656. package/dist/server/procedure-server.js.map +1 -0
  657. package/dist/server/server.d.ts +161 -0
  658. package/dist/server/server.d.ts.map +1 -0
  659. package/dist/server/server.js +279 -0
  660. package/dist/server/server.js.map +1 -0
  661. package/dist/server/types.d.ts +106 -0
  662. package/dist/server/types.d.ts.map +1 -0
  663. package/dist/server/types.js +29 -0
  664. package/dist/server/types.js.map +1 -0
  665. package/package.json +117 -3
  666. package/src/adapters/http/client/index.ts +51 -0
  667. package/src/adapters/http/client/transport.ts +338 -0
  668. package/src/adapters/http/client/types.ts +33 -0
  669. package/src/adapters/http/index.ts +7 -0
  670. package/src/adapters/http/server/index.ts +14 -0
  671. package/src/adapters/http/server/strategies.ts +105 -0
  672. package/src/adapters/http/server/transport.ts +623 -0
  673. package/src/adapters/http/server/types.ts +81 -0
  674. package/src/adapters/http/shared/constants.ts +108 -0
  675. package/src/adapters/http/shared/errors.ts +199 -0
  676. package/src/adapters/http/shared/headers.ts +291 -0
  677. package/src/adapters/http/shared/index.ts +21 -0
  678. package/src/adapters/http/shared/status-codes.ts +212 -0
  679. package/src/adapters/http/shared/strategies.ts +255 -0
  680. package/src/adapters/local/client/index.ts +11 -0
  681. package/src/adapters/local/client/transport.ts +188 -0
  682. package/src/adapters/local/client/types.ts +50 -0
  683. package/src/adapters/metadata.ts +17 -0
  684. package/src/adapters/mock/client/builder.ts +64 -0
  685. package/src/adapters/mock/client/index.ts +19 -0
  686. package/src/adapters/mock/client/transport.ts +352 -0
  687. package/src/adapters/mock/client/types.ts +99 -0
  688. package/src/adapters/websocket/client/index.ts +18 -0
  689. package/src/adapters/websocket/client/transport.ts +733 -0
  690. package/src/adapters/websocket/client/types.ts +235 -0
  691. package/src/adapters/websocket/index.ts +24 -0
  692. package/src/adapters/websocket/server/index.ts +18 -0
  693. package/src/adapters/websocket/server/transport.ts +705 -0
  694. package/src/adapters/websocket/server/types.ts +169 -0
  695. package/src/browser.ts +401 -0
  696. package/src/client/batch-executor.ts +514 -0
  697. package/src/client/call-types.ts +491 -0
  698. package/src/client/client.ts +1229 -0
  699. package/src/client/consumption.ts +288 -0
  700. package/src/client/context.ts +228 -0
  701. package/src/client/errors/README.md +279 -0
  702. package/src/client/errors/codes.ts +88 -0
  703. package/src/client/errors/factory.ts +263 -0
  704. package/src/client/errors/http-errors.ts +601 -0
  705. package/src/client/errors/http-status.ts +82 -0
  706. package/src/client/errors/index.ts +72 -0
  707. package/src/client/errors/registry.ts +595 -0
  708. package/src/client/errors/types.ts +139 -0
  709. package/src/client/index.ts +124 -0
  710. package/src/client/middleware/auth.ts +132 -0
  711. package/src/client/middleware/cache.ts +316 -0
  712. package/src/client/middleware/circuit-breaker.ts +339 -0
  713. package/src/client/middleware/contexts.ts +319 -0
  714. package/src/client/middleware/items.ts +114 -0
  715. package/src/client/middleware/lru.ts +66 -0
  716. package/src/client/middleware/pagination.ts +213 -0
  717. package/src/client/middleware/rate-limit.ts +315 -0
  718. package/src/client/middleware/retry.ts +236 -0
  719. package/src/client/middleware/timeout.ts +308 -0
  720. package/src/client/middleware/tracing.ts +191 -0
  721. package/src/client/route-resolver.ts +407 -0
  722. package/src/client/typed-method.ts +65 -0
  723. package/src/client/typed.ts +140 -0
  724. package/src/client/types.ts +372 -0
  725. package/src/client/validation/index.ts +56 -0
  726. package/src/client/validation/middleware.ts +254 -0
  727. package/src/client/validation/types.ts +162 -0
  728. package/src/events/bus.ts +594 -0
  729. package/src/events/index.ts +67 -0
  730. package/src/events/types.ts +263 -0
  731. package/src/index.ts +33 -0
  732. package/src/middleware/compose.ts +159 -0
  733. package/src/middleware/index.ts +28 -0
  734. package/src/middleware/types.ts +166 -0
  735. package/src/procedures/capability.ts +333 -0
  736. package/src/procedures/cli/announce.ts +470 -0
  737. package/src/procedures/cli/discover.ts +390 -0
  738. package/src/procedures/cli/index.ts +231 -0
  739. package/src/procedures/cli/init.ts +370 -0
  740. package/src/procedures/collection/index.ts +51 -0
  741. package/src/procedures/collection/procedures.ts +257 -0
  742. package/src/procedures/collection/schemas.ts +550 -0
  743. package/src/procedures/collection/storage.ts +53 -0
  744. package/src/procedures/core/array.ts +1026 -0
  745. package/src/procedures/core/comparison.ts +265 -0
  746. package/src/procedures/core/index.ts +898 -0
  747. package/src/procedures/core/logic.ts +225 -0
  748. package/src/procedures/core/math.ts +471 -0
  749. package/src/procedures/core/meta.ts +389 -0
  750. package/src/procedures/core/object.ts +429 -0
  751. package/src/procedures/core/operands.ts +119 -0
  752. package/src/procedures/core/outputs.ts +48 -0
  753. package/src/procedures/core/results.ts +296 -0
  754. package/src/procedures/core/schemas.ts +123 -0
  755. package/src/procedures/core/string.ts +460 -0
  756. package/src/procedures/core/type.ts +346 -0
  757. package/src/procedures/define-procedure.ts +532 -0
  758. package/src/procedures/define.ts +387 -0
  759. package/src/procedures/discovery.ts +76 -0
  760. package/src/procedures/effects.ts +24 -0
  761. package/src/procedures/index.ts +239 -0
  762. package/src/procedures/interceptors.ts +273 -0
  763. package/src/procedures/invoke.ts +506 -0
  764. package/src/procedures/module.ts +117 -0
  765. package/src/procedures/policy.ts +171 -0
  766. package/src/procedures/ref.ts +1305 -0
  767. package/src/procedures/registry.ts +473 -0
  768. package/src/procedures/schema.ts +225 -0
  769. package/src/procedures/types.ts +596 -0
  770. package/src/register.ts +10 -0
  771. package/src/server/browser-guard.ts +147 -0
  772. package/src/server/host-policy.ts +163 -0
  773. package/src/server/index.ts +70 -0
  774. package/src/server/method.ts +33 -0
  775. package/src/server/procedure-server.ts +459 -0
  776. package/src/server/server.ts +364 -0
  777. package/src/server/types.ts +147 -0
@@ -0,0 +1,228 @@
1
+ /**
2
+ * Procedure Definition Helper
3
+ *
4
+ * Factory functions for creating well-typed procedure definitions.
5
+ *
6
+ * ## defineProcedure vs createProcedure
7
+ *
8
+ * This module provides two ways to create procedures:
9
+ *
10
+ * ### 1. defineProcedure (Declarative - Recommended for most cases)
11
+ *
12
+ * Use `defineProcedure` when:
13
+ * - You have all the procedure properties available upfront
14
+ * - You want a concise, single-expression definition
15
+ * - You're defining static procedures at module load time
16
+ * - You prefer declarative configuration
17
+ *
18
+ * ```typescript
19
+ * const myProcedure = defineProcedure({
20
+ * path: ['users', 'get'],
21
+ * input: z.object({ id: z.string() }),
22
+ * output: z.object({ id: z.string(), name: z.string() }),
23
+ * metadata: { description: 'Get a user' },
24
+ * handler: async ({ id }) => fetchUser(id),
25
+ * });
26
+ * ```
27
+ *
28
+ * ### 2. createProcedure (Builder - For complex/dynamic scenarios)
29
+ *
30
+ * Use `createProcedure` (builder pattern) when:
31
+ * - Building procedures conditionally or dynamically
32
+ * - Composing procedures from multiple sources
33
+ * - Schemas are determined at runtime
34
+ * - You want to reuse partial configurations
35
+ * - Working with code generation or metaprogramming
36
+ *
37
+ * ```typescript
38
+ * const builder = createProcedure()
39
+ * .path(['users', 'get'])
40
+ * .input(inputSchema);
41
+ *
42
+ * if (featureFlags.includeExtendedOutput) {
43
+ * builder.output(extendedOutputSchema);
44
+ * } else {
45
+ * builder.output(basicOutputSchema);
46
+ * }
47
+ *
48
+ * const myProcedure = builder.handler(myHandler).build();
49
+ * ```
50
+ *
51
+ * ### 3. defineStub (Client-side type stubs)
52
+ *
53
+ * Use `defineStub` when:
54
+ * - You need type definitions without implementation
55
+ * - Building client-side code that calls remote procedures
56
+ * - Generating TypeScript types from procedure definitions
57
+ *
58
+ * ### Summary
59
+ *
60
+ * | Function | Use Case | Returns |
61
+ * |-------------------|--------------------------------|-----------------|
62
+ * | `defineProcedure` | Static, declarative definition | Procedure |
63
+ * | `createProcedure` | Dynamic, builder pattern | ProcedureBuilder|
64
+ * | `defineStub` | Client-side type stubs | Procedure (no handler) |
65
+ */
66
+ import { type ProcedureSchema } from "./schema.js";
67
+ import type { Procedure, ProcedurePath, ProcedureMetadata, ProcedureHandler } from "./types.js";
68
+ /**
69
+ * Input for defining a procedure.
70
+ * Type parameters are inferred from schemas.
71
+ */
72
+ export interface ProcedureDefinition<TInput, TOutput, TMeta extends ProcedureMetadata = ProcedureMetadata> {
73
+ /** Path in the route tree (e.g., ['collections', 'users', 'get']) */
74
+ path: ProcedurePath;
75
+ /** Input validation schema: a Standard Schema (zod 4, valibot, arktype) or a `ZodLike` */
76
+ input: ProcedureSchema<TInput>;
77
+ /** Output validation schema: a Standard Schema or a `ZodLike` */
78
+ output: ProcedureSchema<TOutput>;
79
+ /** Procedure metadata */
80
+ metadata?: TMeta;
81
+ /** Optional handler implementation */
82
+ handler?: ProcedureHandler<TInput, TOutput>;
83
+ }
84
+ /**
85
+ * Minimal definition without handler.
86
+ * Useful for client-side procedure stubs.
87
+ */
88
+ export interface ProcedureStub<TInput, TOutput> {
89
+ path: ProcedurePath;
90
+ input: ProcedureSchema<TInput>;
91
+ output: ProcedureSchema<TOutput>;
92
+ metadata?: ProcedureMetadata;
93
+ }
94
+ /**
95
+ * Define a procedure with type inference from schemas.
96
+ *
97
+ * Creates a well-typed procedure definition that can be registered
98
+ * with the procedure registry.
99
+ *
100
+ * @param definition - Procedure definition with path, schemas, and optional handler
101
+ * @returns Fully typed procedure object
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * const getUserProcedure = defineProcedure({
106
+ * path: ['users', 'get'],
107
+ * input: z.object({ id: z.string() }),
108
+ * output: z.object({ id: z.string(), name: z.string(), email: z.string() }),
109
+ * metadata: {
110
+ * description: 'Get user by ID',
111
+ * tags: ['users', 'read'],
112
+ * },
113
+ * handler: async ({ id }, ctx) => {
114
+ * const storage = ctx.repository?.getStorage<User>('users');
115
+ * const user = await storage?.get(id);
116
+ * if (!user) throw new Error('User not found');
117
+ * return user;
118
+ * },
119
+ * });
120
+ * ```
121
+ */
122
+ export declare function defineProcedure<TInput, TOutput, TMeta extends ProcedureMetadata = ProcedureMetadata>(definition: ProcedureDefinition<TInput, TOutput, TMeta>): Procedure<TInput, TOutput, TMeta>;
123
+ /**
124
+ * Define a procedure stub without handler.
125
+ * Useful for client-side type definitions.
126
+ *
127
+ * @param stub - Procedure stub with path and schemas
128
+ * @returns Procedure object without handler
129
+ *
130
+ * @example
131
+ * ```typescript
132
+ * // Client-side stub for type inference
133
+ * const getUserStub = defineStub({
134
+ * path: ['users', 'get'],
135
+ * input: z.object({ id: z.string() }),
136
+ * output: z.object({ id: z.string(), name: z.string() }),
137
+ * });
138
+ * ```
139
+ */
140
+ export declare function defineStub<TInput, TOutput>(stub: ProcedureStub<TInput, TOutput>): Procedure<TInput, TOutput, ProcedureMetadata>;
141
+ /**
142
+ * Fluent builder for procedure definitions.
143
+ * Provides a chainable API for building procedures.
144
+ */
145
+ export declare class ProcedureBuilder<TInput = unknown, TOutput = unknown, TMeta extends ProcedureMetadata = ProcedureMetadata> {
146
+ private _path;
147
+ private _input?;
148
+ private _output?;
149
+ private _metadata;
150
+ private _handler?;
151
+ /**
152
+ * Set the procedure path.
153
+ */
154
+ path(path: ProcedurePath): this;
155
+ /**
156
+ * Set the input schema.
157
+ */
158
+ input<T>(schema: ProcedureSchema<T>): ProcedureBuilder<T, TOutput, TMeta>;
159
+ /**
160
+ * Set the output schema.
161
+ */
162
+ output<T>(schema: ProcedureSchema<T>): ProcedureBuilder<TInput, T, TMeta>;
163
+ /**
164
+ * Set procedure metadata.
165
+ */
166
+ meta<T extends ProcedureMetadata>(metadata: T): ProcedureBuilder<TInput, TOutput, T>;
167
+ /**
168
+ * Set the handler implementation.
169
+ */
170
+ handler(fn: ProcedureHandler<TInput, TOutput>): this;
171
+ /**
172
+ * Build the procedure definition.
173
+ *
174
+ * @throws Error if path, input, or output are not set
175
+ */
176
+ build(): Procedure<TInput, TOutput, TMeta>;
177
+ }
178
+ /**
179
+ * Create a new procedure builder.
180
+ *
181
+ * @example
182
+ * ```typescript
183
+ * const procedure = createProcedure()
184
+ * .path(['users', 'get'])
185
+ * .input(z.object({ id: z.string() }))
186
+ * .output(z.object({ id: z.string(), name: z.string() }))
187
+ * .meta({ description: 'Get user by ID' })
188
+ * .handler(async ({ id }, ctx) => {
189
+ * // Implementation
190
+ * })
191
+ * .build();
192
+ * ```
193
+ */
194
+ export declare function createProcedure(): ProcedureBuilder;
195
+ /**
196
+ * Create procedures under a common namespace.
197
+ * Automatically prefixes all procedure paths.
198
+ *
199
+ * @param namespace - Namespace path prefix
200
+ * @param procedures - Procedures to namespace
201
+ * @returns Procedures with prefixed paths
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * const collectionProcedures = namespace(['collections', 'users'], [
206
+ * defineProcedure({
207
+ * path: ['get'], // Becomes ['collections', 'users', 'get']
208
+ * input: z.object({ id: z.string() }),
209
+ * output: userSchema,
210
+ * }),
211
+ * defineProcedure({
212
+ * path: ['set'], // Becomes ['collections', 'users', 'set']
213
+ * input: z.object({ id: z.string(), value: userSchema }),
214
+ * output: z.void(),
215
+ * }),
216
+ * ]);
217
+ * ```
218
+ */
219
+ export declare function namespace<T extends Procedure<unknown, unknown, ProcedureMetadata>[]>(namespacePath: ProcedurePath, procedures: T): T;
220
+ /**
221
+ * Validate a procedure definition.
222
+ * Throws if the definition is invalid.
223
+ *
224
+ * @param procedure - Procedure to validate
225
+ * @throws Error if validation fails
226
+ */
227
+ export declare function validateProcedure(procedure: Procedure<unknown, unknown, ProcedureMetadata>): void;
228
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/procedures/define.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAEH,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAWpB;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAClC,MAAM,EACN,OAAO,EACP,KAAK,SAAS,iBAAiB,GAAG,iBAAiB;IAEnD,qEAAqE;IACrE,IAAI,EAAE,aAAa,CAAC;IAEpB,0FAA0F;IAC1F,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAE/B,iEAAiE;IACjE,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAEjC,yBAAyB;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC;IAEjB,sCAAsC;IACtC,OAAO,CAAC,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,MAAM,EAAE,OAAO;IAC5C,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EACN,OAAO,EACP,KAAK,SAAS,iBAAiB,GAAG,iBAAiB,EAEnD,UAAU,EAAE,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,GACtD,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAcnC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EACxC,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAO/C;AAMD;;;GAGG;AACH,qBAAa,gBAAgB,CAC3B,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,EACjB,KAAK,SAAS,iBAAiB,GAAG,iBAAiB;IAEnD,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,MAAM,CAAC,CAA0B;IACzC,OAAO,CAAC,OAAO,CAAC,CAA2B;IAC3C,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAoC;IAErD;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAG9B;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAIxE;IAED;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAIxE;IAED;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,iBAAiB,EAAE,QAAQ,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAInF;IAED;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAGnD;IAED;;;;OAIG;IACH,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAwBzC;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,IAAI,gBAAgB,CAElD;AAMD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,EAClF,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,CAAC,GACZ,CAAC,CAKH;AAMD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAqBjG"}
@@ -0,0 +1,300 @@
1
+ /**
2
+ * Procedure Definition Helper
3
+ *
4
+ * Factory functions for creating well-typed procedure definitions.
5
+ *
6
+ * ## defineProcedure vs createProcedure
7
+ *
8
+ * This module provides two ways to create procedures:
9
+ *
10
+ * ### 1. defineProcedure (Declarative - Recommended for most cases)
11
+ *
12
+ * Use `defineProcedure` when:
13
+ * - You have all the procedure properties available upfront
14
+ * - You want a concise, single-expression definition
15
+ * - You're defining static procedures at module load time
16
+ * - You prefer declarative configuration
17
+ *
18
+ * ```typescript
19
+ * const myProcedure = defineProcedure({
20
+ * path: ['users', 'get'],
21
+ * input: z.object({ id: z.string() }),
22
+ * output: z.object({ id: z.string(), name: z.string() }),
23
+ * metadata: { description: 'Get a user' },
24
+ * handler: async ({ id }) => fetchUser(id),
25
+ * });
26
+ * ```
27
+ *
28
+ * ### 2. createProcedure (Builder - For complex/dynamic scenarios)
29
+ *
30
+ * Use `createProcedure` (builder pattern) when:
31
+ * - Building procedures conditionally or dynamically
32
+ * - Composing procedures from multiple sources
33
+ * - Schemas are determined at runtime
34
+ * - You want to reuse partial configurations
35
+ * - Working with code generation or metaprogramming
36
+ *
37
+ * ```typescript
38
+ * const builder = createProcedure()
39
+ * .path(['users', 'get'])
40
+ * .input(inputSchema);
41
+ *
42
+ * if (featureFlags.includeExtendedOutput) {
43
+ * builder.output(extendedOutputSchema);
44
+ * } else {
45
+ * builder.output(basicOutputSchema);
46
+ * }
47
+ *
48
+ * const myProcedure = builder.handler(myHandler).build();
49
+ * ```
50
+ *
51
+ * ### 3. defineStub (Client-side type stubs)
52
+ *
53
+ * Use `defineStub` when:
54
+ * - You need type definitions without implementation
55
+ * - Building client-side code that calls remote procedures
56
+ * - Generating TypeScript types from procedure definitions
57
+ *
58
+ * ### Summary
59
+ *
60
+ * | Function | Use Case | Returns |
61
+ * |-------------------|--------------------------------|-----------------|
62
+ * | `defineProcedure` | Static, declarative definition | Procedure |
63
+ * | `createProcedure` | Dynamic, builder pattern | ProcedureBuilder|
64
+ * | `defineStub` | Client-side type stubs | Procedure (no handler) |
65
+ */
66
+ import { isStandardSchema } from "./schema.js";
67
+ /** True for a schema that the core can validate with: a Standard Schema or a `ZodLike`. */
68
+ function isProcedureSchema(schema) {
69
+ return isStandardSchema(schema) || typeof schema?.safeParse === "function";
70
+ }
71
+ // =============================================================================
72
+ // Define Procedure
73
+ // =============================================================================
74
+ /**
75
+ * Define a procedure with type inference from schemas.
76
+ *
77
+ * Creates a well-typed procedure definition that can be registered
78
+ * with the procedure registry.
79
+ *
80
+ * @param definition - Procedure definition with path, schemas, and optional handler
81
+ * @returns Fully typed procedure object
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * const getUserProcedure = defineProcedure({
86
+ * path: ['users', 'get'],
87
+ * input: z.object({ id: z.string() }),
88
+ * output: z.object({ id: z.string(), name: z.string(), email: z.string() }),
89
+ * metadata: {
90
+ * description: 'Get user by ID',
91
+ * tags: ['users', 'read'],
92
+ * },
93
+ * handler: async ({ id }, ctx) => {
94
+ * const storage = ctx.repository?.getStorage<User>('users');
95
+ * const user = await storage?.get(id);
96
+ * if (!user) throw new Error('User not found');
97
+ * return user;
98
+ * },
99
+ * });
100
+ * ```
101
+ */
102
+ export function defineProcedure(definition) {
103
+ const procedure = {
104
+ path: definition.path,
105
+ input: definition.input,
106
+ output: definition.output,
107
+ metadata: (definition.metadata ?? {}),
108
+ };
109
+ // Only set handler if provided (exactOptionalPropertyTypes)
110
+ if (definition.handler) {
111
+ procedure.handler = definition.handler;
112
+ }
113
+ return procedure;
114
+ }
115
+ /**
116
+ * Define a procedure stub without handler.
117
+ * Useful for client-side type definitions.
118
+ *
119
+ * @param stub - Procedure stub with path and schemas
120
+ * @returns Procedure object without handler
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * // Client-side stub for type inference
125
+ * const getUserStub = defineStub({
126
+ * path: ['users', 'get'],
127
+ * input: z.object({ id: z.string() }),
128
+ * output: z.object({ id: z.string(), name: z.string() }),
129
+ * });
130
+ * ```
131
+ */
132
+ export function defineStub(stub) {
133
+ return {
134
+ path: stub.path,
135
+ input: stub.input,
136
+ output: stub.output,
137
+ metadata: stub.metadata ?? {},
138
+ };
139
+ }
140
+ // =============================================================================
141
+ // Procedure Builder (Fluent API)
142
+ // =============================================================================
143
+ /**
144
+ * Fluent builder for procedure definitions.
145
+ * Provides a chainable API for building procedures.
146
+ */
147
+ export class ProcedureBuilder {
148
+ _path = [];
149
+ _input;
150
+ _output;
151
+ _metadata = {};
152
+ _handler;
153
+ /**
154
+ * Set the procedure path.
155
+ */
156
+ path(path) {
157
+ this._path = path;
158
+ return this;
159
+ }
160
+ /**
161
+ * Set the input schema.
162
+ */
163
+ input(schema) {
164
+ const builder = this;
165
+ builder._input = schema;
166
+ return builder;
167
+ }
168
+ /**
169
+ * Set the output schema.
170
+ */
171
+ output(schema) {
172
+ const builder = this;
173
+ builder._output = schema;
174
+ return builder;
175
+ }
176
+ /**
177
+ * Set procedure metadata.
178
+ */
179
+ meta(metadata) {
180
+ const builder = this;
181
+ builder._metadata = metadata;
182
+ return builder;
183
+ }
184
+ /**
185
+ * Set the handler implementation.
186
+ */
187
+ handler(fn) {
188
+ this._handler = fn;
189
+ return this;
190
+ }
191
+ /**
192
+ * Build the procedure definition.
193
+ *
194
+ * @throws Error if path, input, or output are not set
195
+ */
196
+ build() {
197
+ if (this._path.length === 0) {
198
+ throw new Error("Procedure path is required");
199
+ }
200
+ if (!this._input) {
201
+ throw new Error("Input schema is required");
202
+ }
203
+ if (!this._output) {
204
+ throw new Error("Output schema is required");
205
+ }
206
+ const procedure = {
207
+ path: this._path,
208
+ input: this._input,
209
+ output: this._output,
210
+ metadata: this._metadata,
211
+ };
212
+ // Only set handler if provided (exactOptionalPropertyTypes)
213
+ if (this._handler) {
214
+ procedure.handler = this._handler;
215
+ }
216
+ return procedure;
217
+ }
218
+ }
219
+ /**
220
+ * Create a new procedure builder.
221
+ *
222
+ * @example
223
+ * ```typescript
224
+ * const procedure = createProcedure()
225
+ * .path(['users', 'get'])
226
+ * .input(z.object({ id: z.string() }))
227
+ * .output(z.object({ id: z.string(), name: z.string() }))
228
+ * .meta({ description: 'Get user by ID' })
229
+ * .handler(async ({ id }, ctx) => {
230
+ * // Implementation
231
+ * })
232
+ * .build();
233
+ * ```
234
+ */
235
+ export function createProcedure() {
236
+ return new ProcedureBuilder();
237
+ }
238
+ // =============================================================================
239
+ // Namespace Helper
240
+ // =============================================================================
241
+ /**
242
+ * Create procedures under a common namespace.
243
+ * Automatically prefixes all procedure paths.
244
+ *
245
+ * @param namespace - Namespace path prefix
246
+ * @param procedures - Procedures to namespace
247
+ * @returns Procedures with prefixed paths
248
+ *
249
+ * @example
250
+ * ```typescript
251
+ * const collectionProcedures = namespace(['collections', 'users'], [
252
+ * defineProcedure({
253
+ * path: ['get'], // Becomes ['collections', 'users', 'get']
254
+ * input: z.object({ id: z.string() }),
255
+ * output: userSchema,
256
+ * }),
257
+ * defineProcedure({
258
+ * path: ['set'], // Becomes ['collections', 'users', 'set']
259
+ * input: z.object({ id: z.string(), value: userSchema }),
260
+ * output: z.void(),
261
+ * }),
262
+ * ]);
263
+ * ```
264
+ */
265
+ export function namespace(namespacePath, procedures) {
266
+ return procedures.map((proc) => ({
267
+ ...proc,
268
+ path: [...namespacePath, ...proc.path],
269
+ }));
270
+ }
271
+ // =============================================================================
272
+ // Validation Helpers
273
+ // =============================================================================
274
+ /**
275
+ * Validate a procedure definition.
276
+ * Throws if the definition is invalid.
277
+ *
278
+ * @param procedure - Procedure to validate
279
+ * @throws Error if validation fails
280
+ */
281
+ export function validateProcedure(procedure) {
282
+ if (!procedure.path || procedure.path.length === 0) {
283
+ throw new Error("Procedure path cannot be empty");
284
+ }
285
+ for (const segment of procedure.path) {
286
+ if (typeof segment !== "string" || segment.length === 0) {
287
+ throw new Error(`Invalid path segment: ${segment}`);
288
+ }
289
+ if (segment.includes(".")) {
290
+ throw new Error(`Path segment cannot contain dots: ${segment}`);
291
+ }
292
+ }
293
+ if (!isProcedureSchema(procedure.input)) {
294
+ throw new Error("Input schema must be a Standard Schema (zod 4, valibot, arktype) or have a safeParse method");
295
+ }
296
+ if (!isProcedureSchema(procedure.output)) {
297
+ throw new Error("Output schema must be a Standard Schema (zod 4, valibot, arktype) or have a safeParse method");
298
+ }
299
+ }
300
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/procedures/define.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Procedure Registration Helpers
3
+ *
4
+ * Manual registration helpers for procedures. For compile-time auto-discovery,
5
+ * use the CLI: `npx client-registry discover`
6
+ *
7
+ * Libraries that depend on client should:
8
+ * 1. Add `"client": { "procedures": "./dist/register.js" }` to package.json
9
+ * 2. Create a register.ts that uses createAndRegister()
10
+ * 3. Consumers run `npx client-registry discover` to generate imports
11
+ */
12
+ import type { AnyProcedure, ProcedureModule } from "./types.js";
13
+ /**
14
+ * Register procedures from a module.
15
+ * Use this for explicit registration when auto-discovery isn't suitable.
16
+ *
17
+ * @param module - Module with procedures array
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // In repo-b/src/register.ts
22
+ * import { registerModule } from 'client/procedures';
23
+ * import { weatherModule } from './procedures';
24
+ *
25
+ * registerModule(weatherModule);
26
+ * ```
27
+ */
28
+ export declare function registerModule(module: ProcedureModule): void;
29
+ /**
30
+ * Register an array of procedures.
31
+ *
32
+ * @param procedures - Procedures to register
33
+ */
34
+ export declare function registerProcedures(procedures: AnyProcedure[]): void;
35
+ /**
36
+ * Create a self-registering module.
37
+ * Returns the module and registers it immediately.
38
+ *
39
+ * @param name - Module name
40
+ * @param procedures - Procedures in the module
41
+ * @returns The registered module
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * // In repo-b/src/register.ts
46
+ * import { createAndRegister } from 'client/procedures';
47
+ * import { forecastProcedure, currentWeatherProcedure } from './procedures';
48
+ *
49
+ * // Registers immediately when this file is imported
50
+ * export const weatherModule = createAndRegister('weather', [
51
+ * forecastProcedure,
52
+ * currentWeatherProcedure,
53
+ * ]);
54
+ * ```
55
+ */
56
+ export declare function createAndRegister(name: string, procedures: AnyProcedure[]): ProcedureModule;
57
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/procedures/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMhE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI,CAEnE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,YAAY,EAAE,GACzB,eAAe,CAIjB"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Procedure Registration Helpers
3
+ *
4
+ * Manual registration helpers for procedures. For compile-time auto-discovery,
5
+ * use the CLI: `npx client-registry discover`
6
+ *
7
+ * Libraries that depend on client should:
8
+ * 1. Add `"client": { "procedures": "./dist/register.js" }` to package.json
9
+ * 2. Create a register.ts that uses createAndRegister()
10
+ * 3. Consumers run `npx client-registry discover` to generate imports
11
+ */
12
+ import { PROCEDURE_REGISTRY } from "./registry.js";
13
+ // =============================================================================
14
+ // Manual Registration Helpers
15
+ // =============================================================================
16
+ /**
17
+ * Register procedures from a module.
18
+ * Use this for explicit registration when auto-discovery isn't suitable.
19
+ *
20
+ * @param module - Module with procedures array
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * // In repo-b/src/register.ts
25
+ * import { registerModule } from 'client/procedures';
26
+ * import { weatherModule } from './procedures';
27
+ *
28
+ * registerModule(weatherModule);
29
+ * ```
30
+ */
31
+ export function registerModule(module) {
32
+ PROCEDURE_REGISTRY.registerModule(module);
33
+ }
34
+ /**
35
+ * Register an array of procedures.
36
+ *
37
+ * @param procedures - Procedures to register
38
+ */
39
+ export function registerProcedures(procedures) {
40
+ PROCEDURE_REGISTRY.registerAll(procedures);
41
+ }
42
+ /**
43
+ * Create a self-registering module.
44
+ * Returns the module and registers it immediately.
45
+ *
46
+ * @param name - Module name
47
+ * @param procedures - Procedures in the module
48
+ * @returns The registered module
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * // In repo-b/src/register.ts
53
+ * import { createAndRegister } from 'client/procedures';
54
+ * import { forecastProcedure, currentWeatherProcedure } from './procedures';
55
+ *
56
+ * // Registers immediately when this file is imported
57
+ * export const weatherModule = createAndRegister('weather', [
58
+ * forecastProcedure,
59
+ * currentWeatherProcedure,
60
+ * ]);
61
+ * ```
62
+ */
63
+ export function createAndRegister(name, procedures) {
64
+ const module = { name, procedures };
65
+ PROCEDURE_REGISTRY.registerModule(module);
66
+ return module;
67
+ }
68
+ //# sourceMappingURL=discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/procedures/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA0B;IAC3D,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,UAA0B;IAE1B,MAAM,MAAM,GAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACrD,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Effect declarations for groups of procedures (CAPABILITIES-2026-10). This file imports only
3
+ * types, so each file of procedures can use it without an import cycle.
4
+ */
5
+ import type { AnyProcedure, Effects } from "./types.js";
6
+ /** The effects of a procedure that reads and changes nothing: its output comes from its input. */
7
+ export declare const PURE_EFFECTS: Effects;
8
+ /** The effects of a procedure that reads the procedure registry and changes nothing. */
9
+ export declare const REGISTRY_READ_EFFECTS: Effects;
10
+ /**
11
+ * This function gives copies of the procedures with the effects in their metadata. A procedure
12
+ * that declares its own effects keeps them.
13
+ */
14
+ export declare function withEffects<T extends AnyProcedure>(effects: Effects, procedures: readonly T[]): T[];
15
+ //# sourceMappingURL=effects.d.ts.map