@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,517 @@
1
+ /**
2
+ * Universal Client
3
+ *
4
+ * Protocol-agnostic RPC client with middleware composition.
5
+ * Works with any transport: HTTP, gRPC, WebSocket, or local.
6
+ *
7
+ * The Client class is generic over its accumulated context type, enabling
8
+ * compile-time validation of middleware chains. Each call to `use()` returns
9
+ * a new type that includes the middleware's provided context.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * // Type accumulates as middleware is added
14
+ * const client = new Client(transport)
15
+ * .use(createRetryMiddleware()) // Client<BaseContext & RetryContext>
16
+ * .use(createCacheMiddleware({ methods: ["users.get"] })) // Client<... & CacheContext>
17
+ * .use(createAuthMiddleware(...)) // Client<... & AuthContext>
18
+ *
19
+ * // Middleware requiring context validates at compile time
20
+ * client.use(middlewareThatRequiresAuth); // OK if AuthContext is in chain
21
+ *
22
+ * // Context passing via withContext() and per-call options
23
+ * const authedClient = client.withContext({ auth: { token: "user-token" } });
24
+ * await authedClient.call(method, payload, { context: { retry: { maxAttempts: 5 } } });
25
+ * ```
26
+ */
27
+ import type { Transport, Method, Metadata, ClientMiddleware, ClientOptions, TypedClientMiddleware } from "./types.js";
28
+ import type { CallOptions, ClientContextInput } from "./context.js";
29
+ import type { ZodLike } from "./validation/types.js";
30
+ import type { Route, CallRequest, CallResponse, StreamingCallResponse } from "./call-types.js";
31
+ import type { ProcedureRegistry } from "../procedures/registry.js";
32
+ import type { EventBus } from "../events/types.js";
33
+ import type { ProcedurePath } from "../procedures/types.js";
34
+ import { type AnyProcedureRef, type HydrationEvent } from "../procedures/ref.js";
35
+ /** The options of `exec()` and `execStream()`. */
36
+ export interface ExecOptions {
37
+ /**
38
+ * This function gets the hydration events of this program only: the refs that hydration runs,
39
+ * also inside control flow and runners, with the call that gets each result. A trace uses it.
40
+ * (`observeHydration()` gets the events of every program in the process.)
41
+ */
42
+ onRef?: ((event: HydrationEvent) => void) | undefined;
43
+ }
44
+ /**
45
+ * Universal Client for protocol-agnostic RPC.
46
+ *
47
+ * Features:
48
+ * - Works with any transport (HTTP, gRPC, WebSocket, local)
49
+ * - Middleware composition (retry, cache, timeout, custom)
50
+ * - Stream-first API (single response = stream with 1 item)
51
+ * - Type-safe request/response handling
52
+ * - **Type-accumulating middleware**: Context types build through `use()` calls
53
+ *
54
+ * @typeParam TContext - Accumulated context type from applied middleware.
55
+ * Starts as `{}` and grows as middleware is added via `use()`.
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * // HTTP client with type-accumulating middleware
60
+ * const client = new Client({ transport: new HttpTransport({ baseUrl: "/api" }) })
61
+ * .use(createRetryMiddleware()) // Client<{} & RetryContext>
62
+ * .use(createCacheMiddleware({ methods: ["users.get"] })) // Client<{} & RetryContext & CacheContext>
63
+ * .use(createAuthMiddleware({ // Client<... & AuthContext>
64
+ * token: "abc123"
65
+ * }));
66
+ *
67
+ * // The client type now carries all middleware context
68
+ * const user = await client.call(
69
+ * { service: "users", operation: "get" },
70
+ * { id: 123 }
71
+ * );
72
+ *
73
+ * // Streaming
74
+ * for await (const event of client.stream(
75
+ * { service: "events", operation: "watch" },
76
+ * { topic: "orders" }
77
+ * )) {
78
+ * console.log(event);
79
+ * }
80
+ * ```
81
+ */
82
+ export declare class Client<TContext = {}> {
83
+ private readonly transport;
84
+ private readonly middleware;
85
+ private readonly defaultMetadata;
86
+ private readonly throwOnError;
87
+ /** The bus of the local procedures. Undefined: the global bus. */
88
+ private bus;
89
+ /** The interceptors of the local invocations (roadmap 1.2) */
90
+ private interceptors;
91
+ /**
92
+ * Context values set via withContext().
93
+ * Merged with parent context when creating child clients.
94
+ */
95
+ private readonly clientContext;
96
+ /**
97
+ * Parent client reference (for context inheritance).
98
+ * When set, middleware and transport are shared, only context differs.
99
+ */
100
+ private readonly parent?;
101
+ constructor(options: ClientOptions | Transport);
102
+ /**
103
+ * Create a child client from this client (private, for withContext).
104
+ */
105
+ private static createChild;
106
+ /**
107
+ * Create a child client with additional context.
108
+ *
109
+ * Child clients:
110
+ * - Share the middleware chain (cheap to create)
111
+ * - Inherit parent context (merged recursively)
112
+ * - Can override specific context fields
113
+ *
114
+ * Context priority (lowest to highest):
115
+ * 1. Middleware defaults (e.g., maxRetries: 3 from createRetryMiddleware)
116
+ * 2. Parent client context (full inheritance chain)
117
+ * 3. This client's context
118
+ * 4. Per-call context override
119
+ *
120
+ * @param context - Context to set/override on the child client
121
+ * @returns New client with accumulated context
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * // Create authenticated child client
126
+ * const authedClient = client.withContext({
127
+ * auth: { token: "user-token" },
128
+ * timeout: { overall: 5000 }
129
+ * });
130
+ *
131
+ * // Nested children inherit and can override
132
+ * const adminClient = authedClient.withContext({
133
+ * auth: { token: "admin-token" }, // Overrides parent token
134
+ * // timeout inherited from parent
135
+ * });
136
+ * ```
137
+ */
138
+ withContext<TAdditional extends object = {}>(context: TAdditional & ClientContextInput<TContext>): Client<TContext & TAdditional>;
139
+ /**
140
+ * Get effective context by merging entire parent chain.
141
+ *
142
+ * @returns Merged context from all ancestors plus this client
143
+ */
144
+ private getEffectiveContext;
145
+ /**
146
+ * Add middleware to the client.
147
+ *
148
+ * Middleware is composed in the order added (onion model):
149
+ * - First added = outermost layer
150
+ * - Last added = innermost layer (closest to transport)
151
+ *
152
+ * **Type Accumulation**: When using `TypedClientMiddleware`, the return type
153
+ * accumulates the middleware's provided context. This enables compile-time
154
+ * validation of middleware chains.
155
+ *
156
+ * @typeParam TProvides - Context type this middleware provides
157
+ * @typeParam TRequires - Context type this middleware requires (must be subset of TContext)
158
+ * @param middleware - Middleware function (typed or untyped)
159
+ * @returns Client with accumulated context type
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * // Type accumulation example
164
+ * const client = new Client(transport)
165
+ * .use(createTimeoutMiddleware({ overall: 5000 })) // Client<TimeoutContext>
166
+ * .use(createRetryMiddleware()) // Client<TimeoutContext & RetryContext>
167
+ * .use(createCacheMiddleware({ methods: ["users.get"] })); // Client<... & CacheContext>
168
+ *
169
+ * // Middleware ordering (onion model)
170
+ * client
171
+ * .use(timeoutMiddleware()) // Outer: handles timeouts
172
+ * .use(retryMiddleware()) // Middle: handles retries
173
+ * .use(cacheMiddleware()); // Inner: handles caching
174
+ * ```
175
+ */
176
+ use<TProvides = {}, TRequires extends TContext = TContext>(middleware: TypedClientMiddleware<TProvides, TRequires> | ClientMiddleware): Client<TContext & TProvides>;
177
+ /**
178
+ * Make a single RPC call (request/response).
179
+ *
180
+ * The result is the last item of the response stream: the one item of a request/response
181
+ * call, or the final item of a streaming procedure. To read each item, use `stream()`.
182
+ *
183
+ * @param method - Method to invoke
184
+ * @param payload - Request payload
185
+ * @param options - Call options (context override, metadata, signal, schema)
186
+ * OR legacy Metadata object for backward compatibility
187
+ * @returns Response payload
188
+ * @throws {ClientError} if response has error status (when throwOnError=true)
189
+ *
190
+ * @example
191
+ * ```typescript
192
+ * // Simple call
193
+ * const user = await client.call(
194
+ * { service: "users", operation: "get" },
195
+ * { id: 123 }
196
+ * );
197
+ *
198
+ * // With context override
199
+ * const user = await client.call(
200
+ * { service: "users", operation: "get" },
201
+ * { id: 123 },
202
+ * { context: { timeout: { overall: 10000 } } }
203
+ * );
204
+ * ```
205
+ */
206
+ call<TReq, TRes>(method: Method, payload: TReq, options?: CallOptions<TContext> | Metadata): Promise<TRes>;
207
+ /**
208
+ * Execute a procedure reference with automatic input hydration.
209
+ *
210
+ * This method supports procedure-as-data: procedures can be passed as inputs
211
+ * to other procedures, composed declaratively via JSON, or imperatively via TypeScript.
212
+ *
213
+ * **Input Hydration**: Any ProcedureRef or `$proc` objects in the input tree
214
+ * are automatically executed and replaced with their results before the
215
+ * main procedure runs.
216
+ *
217
+ * @param refOrPath - Procedure reference, JSON procedure ref, or procedure path
218
+ * @param input - Input for the procedure. With a reference, its fields go over the fields of the reference's input.
219
+ * @returns Output of the procedure
220
+ *
221
+ * @example
222
+ * ```typescript
223
+ * import { proc } from "@procedures/client";
224
+ *
225
+ * // Using proc() builder
226
+ * const result = await client.exec(
227
+ * proc(["git", "add"]).input({ all: true }).build()
228
+ * );
229
+ *
230
+ * // Using JSON format
231
+ * const result = await client.exec({
232
+ * $proc: ["git", "add"],
233
+ * input: { all: true },
234
+ * });
235
+ *
236
+ * // Using path + input (simple form)
237
+ * const result = await client.exec(["git", "add"], { all: true });
238
+ *
239
+ * // Nested procedure refs (hydrated automatically)
240
+ * const result = await client.exec(
241
+ * proc(["dag", "traverse"]).input({
242
+ * visit: proc(["client", "chain"]).input({
243
+ * steps: [
244
+ * proc(["git", "add"]).input({ all: true }).ref,
245
+ * proc(["git", "commit"]).input({ message: "auto" }).ref,
246
+ * ],
247
+ * }).ref,
248
+ * }).build()
249
+ * );
250
+ * ```
251
+ */
252
+ exec<TOutput = unknown>(refOrPath: AnyProcedureRef | ProcedurePath, input?: unknown, options?: ExecOptions): Promise<TOutput>;
253
+ /**
254
+ * Execute a procedure reference and read each output: each item of a streaming procedure, or
255
+ * the one value of another procedure. The input refs run as in `exec()`. Nothing runs until
256
+ * the caller reads the first item.
257
+ *
258
+ * @example
259
+ * ```typescript
260
+ * for await (const line of client.execStream(["logs", "tail"], { file: "app.log" })) {
261
+ * console.log(line);
262
+ * }
263
+ * ```
264
+ */
265
+ execStream<TOutput = unknown>(refOrPath: AnyProcedureRef | ProcedurePath, input?: unknown, options?: ExecOptions): AsyncIterable<TOutput>;
266
+ /**
267
+ * The path and the input of a reference, with the refs of the input run (hydrated).
268
+ */
269
+ private prepareRef;
270
+ /**
271
+ * The options of a local invocation. The nested calls of the procedure go through this
272
+ * client, so a path without a local handler goes to the transport. The nested calls get the
273
+ * metadata and the signal of the caller: when the caller aborts, its nested work stops. (Before,
274
+ * each nested call started again with no metadata and no signal: deep dive CORE-10.)
275
+ */
276
+ private invokeOptions;
277
+ /** The call options of a remote call for a caller: its metadata as context, and its signal. */
278
+ private remoteCallOptions;
279
+ /**
280
+ * The input for a procedure without a local handler: validated with the local schema when
281
+ * the registry has the procedure, then sent to the transport.
282
+ */
283
+ private remoteInput;
284
+ /**
285
+ * Internal procedure execution (no hydration of the top-level input).
286
+ */
287
+ private execInternal;
288
+ /**
289
+ * Internal streaming execution (no hydration of the top-level input).
290
+ */
291
+ private execStreamInternal;
292
+ /**
293
+ * Make a streaming RPC call.
294
+ *
295
+ * Returns an async iterable that yields response payloads.
296
+ * For single request/response, yields exactly one item.
297
+ *
298
+ * @param method - Method to invoke
299
+ * @param payload - Request payload
300
+ * @param options - Call options (context override, metadata, signal, schema)
301
+ * OR legacy Metadata object for backward compatibility
302
+ * @returns Async iterable of response payloads
303
+ * @throws {ClientError} if any response item has error status (when throwOnError=true)
304
+ *
305
+ * @example
306
+ * ```typescript
307
+ * // Streaming response
308
+ * for await (const event of client.stream(
309
+ * { service: "events", operation: "watch" },
310
+ * { topic: "orders" }
311
+ * )) {
312
+ * console.log(event);
313
+ * }
314
+ *
315
+ * // With context and signal
316
+ * const controller = new AbortController();
317
+ * for await (const event of client.stream(
318
+ * { service: "events", operation: "watch" },
319
+ * { topic: "orders" },
320
+ * { context: { timeout: { overall: 30000 } }, signal: controller.signal }
321
+ * )) {
322
+ * console.log(event);
323
+ * }
324
+ * ```
325
+ */
326
+ stream<TReq, TRes>(method: Method, payload: TReq, options?: CallOptions<TContext> | Metadata): AsyncIterable<TRes>;
327
+ /**
328
+ * Compose middleware chain using universal middleware composition.
329
+ *
330
+ * @returns Composed runner function
331
+ * @private
332
+ */
333
+ private composeMiddleware;
334
+ /**
335
+ * Get transport name.
336
+ */
337
+ get transportName(): string;
338
+ /**
339
+ * Close client and cleanup transport resources.
340
+ */
341
+ close(): Promise<void>;
342
+ /**
343
+ * Cached reference to Zod middleware for schema registration.
344
+ */
345
+ private zodMiddleware;
346
+ /**
347
+ * Register a validation schema for a specific method.
348
+ *
349
+ * Requires `createZodMiddleware()` to be added via `.use()` first.
350
+ * Schemas are used to validate request payloads before sending and
351
+ * response payloads after receiving.
352
+ *
353
+ * @param method - Method to register schema for
354
+ * @param schemas - Input and/or output Zod schemas
355
+ * @returns this (for chaining)
356
+ *
357
+ * @example
358
+ * ```typescript
359
+ * import { z } from "zod";
360
+ *
361
+ * const client = new Client({ transport })
362
+ * .use(createZodMiddleware())
363
+ * .schema({ service: "users", operation: "get" }, {
364
+ * input: z.object({ id: z.string() }),
365
+ * output: z.object({ id: z.string(), name: z.string() }),
366
+ * })
367
+ * .schema({ service: "users", operation: "create" }, {
368
+ * input: UserCreateSchema,
369
+ * output: UserSchema,
370
+ * });
371
+ *
372
+ * // Validation happens automatically on call
373
+ * const user = await client.call(
374
+ * { service: "users", operation: "get" },
375
+ * { id: "123" } // Validated against input schema
376
+ * );
377
+ * // Response validated against output schema
378
+ * ```
379
+ */
380
+ schema<TInput extends ZodLike = ZodLike, TOutput extends ZodLike = ZodLike>(method: Method, schemas: {
381
+ input?: TInput;
382
+ output?: TOutput;
383
+ }): this;
384
+ /**
385
+ * Find Zod middleware in the middleware chain.
386
+ */
387
+ private findZodMiddleware;
388
+ /**
389
+ * Procedure registry for route resolution.
390
+ * Uses global registry by default.
391
+ */
392
+ private procedureRegistry;
393
+ /**
394
+ * Route resolver instance (lazy initialized).
395
+ */
396
+ private routeResolver;
397
+ /**
398
+ * Batch executor instance (lazy initialized).
399
+ */
400
+ private batchExecutor;
401
+ /**
402
+ * Set a custom procedure registry for this client.
403
+ *
404
+ * @param registry - Procedure registry to use
405
+ * @returns this (for chaining)
406
+ */
407
+ useRegistry(registry: ProcedureRegistry): this;
408
+ /**
409
+ * Set the event bus of the local procedures of this client (`ctx.bus`).
410
+ *
411
+ * @param bus - Event bus for the procedures
412
+ * @returns this (for chaining)
413
+ */
414
+ useBus(bus: EventBus): this;
415
+ /**
416
+ * Make a call using the nested route API.
417
+ *
418
+ * This method supports:
419
+ * - Per-call middleware overrides
420
+ * - Batch execution with configurable strategies
421
+ * - Type-safe nested route structures
422
+ *
423
+ * @param request - Call request with route and options
424
+ * @returns Response mirroring the route structure
425
+ *
426
+ * @example
427
+ * ```typescript
428
+ * // Single route call
429
+ * const result = await client.route({
430
+ * route: {
431
+ * collections: {
432
+ * users: {
433
+ * get: { id: "123" }
434
+ * }
435
+ * }
436
+ * }
437
+ * });
438
+ * // result.collections.users.get.data = { id: "123", name: "John" }
439
+ *
440
+ * // Batched call with middleware overrides
441
+ * const results = await client.route({
442
+ * middlewares: {
443
+ * retry: { attempts: 3 },
444
+ * timeout: { ms: 5000 }
445
+ * },
446
+ * batch: { strategy: 'all' },
447
+ * route: {
448
+ * collections: {
449
+ * users: { get: { id: "123" } },
450
+ * orders: { list: { userId: "123" } }
451
+ * },
452
+ * weather: {
453
+ * forecast: { city: "NYC", days: 5 }
454
+ * }
455
+ * }
456
+ * });
457
+ * ```
458
+ */
459
+ route<TRoute extends Route>(request: CallRequest<TRoute>): Promise<CallResponse<TRoute>>;
460
+ /**
461
+ * Make a streaming call using the nested route API.
462
+ *
463
+ * Returns an async iterator that yields results as they complete,
464
+ * plus a promise for the final complete response.
465
+ *
466
+ * @param request - Call request (batch.strategy should be 'stream')
467
+ * @returns Streaming response with iterator and completion promise
468
+ */
469
+ routeStream<TRoute extends Route>(request: CallRequest<TRoute>): StreamingCallResponse<TRoute>;
470
+ /**
471
+ * The results of a route that did not resolve: an error for each leaf that failed, and
472
+ * `SKIPPED` for every other leaf, also the leaves after a validation error. (Before, the leaves
473
+ * after a validation error were missing: deep dive CORE-14.)
474
+ */
475
+ private resolutionFailure;
476
+ /**
477
+ * Get the route resolver (lazy initialization).
478
+ */
479
+ private getRouteResolver;
480
+ /**
481
+ * Get the batch executor (lazy initialization).
482
+ */
483
+ private getBatchExecutor;
484
+ /**
485
+ * Create execution context from call request.
486
+ */
487
+ private createExecutionContext;
488
+ /**
489
+ * Execute a single procedure call.
490
+ * Used by BatchExecutor.
491
+ *
492
+ * The `out` config of the route leaf chooses the result (BUGS-2026-07 H8):
493
+ * - sponge (the default): the value, or the last item of a stream (or `accumulate` of all items);
494
+ * - stream: `data` is an AsyncIterable of the items. The procedure starts when the reader reads.
495
+ * With `bufferSize`, that many items are read ahead of the reader;
496
+ * - handlers: `progress` gets each item but the last, `complete` gets the last, `error` gets the error.
497
+ *
498
+ * A procedure with `outputMode: "batch"` returns an array: sponge gives the array, and stream
499
+ * gives each element.
500
+ */
501
+ private executeProcedure;
502
+ /**
503
+ * The output items of a resolved route: from the local handler, or from the transport.
504
+ */
505
+ private routeItems;
506
+ /** The sponge mode: the last item, or `accumulate` of all items. */
507
+ private sponge;
508
+ /** The handlers mode: `progress` for each item but the last, then `complete`, or `error`. */
509
+ private consumeWithHandlers;
510
+ /** A handler callback gets the data: a function, or a procedure path (the data is its input). */
511
+ private deliver;
512
+ /**
513
+ * Convert procedure path to Method object.
514
+ */
515
+ private pathToMethod;
516
+ }
517
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}