@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,109 @@
1
+ /**
2
+ * Object Procedures
3
+ *
4
+ * Object manipulation operations for procedure aggregation.
5
+ * All procedures are namespaced under "client" (e.g., client.get, client.set).
6
+ */
7
+ import type { AnyProcedure, Procedure } from "../types.js";
8
+ interface GetInput {
9
+ object: Record<string, unknown>;
10
+ path: string;
11
+ default?: unknown | undefined;
12
+ }
13
+ type GetProcedure = Procedure<GetInput, unknown, {
14
+ description: string;
15
+ tags: string[];
16
+ }>;
17
+ declare const getProcedure: GetProcedure;
18
+ interface SetInput {
19
+ object: Record<string, unknown>;
20
+ path: string;
21
+ value?: unknown;
22
+ }
23
+ type SetProcedure = Procedure<SetInput, Record<string, unknown>, {
24
+ description: string;
25
+ tags: string[];
26
+ }>;
27
+ declare const setProcedure: SetProcedure;
28
+ interface MergeInput {
29
+ objects: Record<string, unknown>[];
30
+ deep?: boolean | undefined;
31
+ }
32
+ type MergeProcedure = Procedure<MergeInput, Record<string, unknown>, {
33
+ description: string;
34
+ tags: string[];
35
+ }>;
36
+ declare const mergeProcedure: MergeProcedure;
37
+ interface KeysInput {
38
+ object: Record<string, unknown>;
39
+ }
40
+ type KeysProcedure = Procedure<KeysInput, string[], {
41
+ description: string;
42
+ tags: string[];
43
+ }>;
44
+ declare const keysProcedure: KeysProcedure;
45
+ interface ValuesInput {
46
+ object: Record<string, unknown>;
47
+ }
48
+ type ValuesProcedure = Procedure<ValuesInput, unknown[], {
49
+ description: string;
50
+ tags: string[];
51
+ }>;
52
+ declare const valuesProcedure: ValuesProcedure;
53
+ interface EntriesInput {
54
+ object: Record<string, unknown>;
55
+ }
56
+ type EntriesOutput = Array<[string, unknown]>;
57
+ type EntriesProcedure = Procedure<EntriesInput, EntriesOutput, {
58
+ description: string;
59
+ tags: string[];
60
+ }>;
61
+ declare const entriesProcedure: EntriesProcedure;
62
+ interface FromEntriesInput {
63
+ entries: Array<[string, unknown]>;
64
+ }
65
+ type FromEntriesProcedure = Procedure<FromEntriesInput, Record<string, unknown>, {
66
+ description: string;
67
+ tags: string[];
68
+ }>;
69
+ declare const fromEntriesProcedure: FromEntriesProcedure;
70
+ interface PickInput {
71
+ object: Record<string, unknown>;
72
+ keys: string[];
73
+ }
74
+ type PickProcedure = Procedure<PickInput, Record<string, unknown>, {
75
+ description: string;
76
+ tags: string[];
77
+ }>;
78
+ declare const pickProcedure: PickProcedure;
79
+ interface OmitInput {
80
+ object: Record<string, unknown>;
81
+ keys: string[];
82
+ }
83
+ type OmitProcedure = Procedure<OmitInput, Record<string, unknown>, {
84
+ description: string;
85
+ tags: string[];
86
+ }>;
87
+ declare const omitProcedure: OmitProcedure;
88
+ interface HasInput {
89
+ object: Record<string, unknown>;
90
+ path: string;
91
+ }
92
+ type HasProcedure = Procedure<HasInput, boolean, {
93
+ description: string;
94
+ tags: string[];
95
+ }>;
96
+ declare const hasProcedure: HasProcedure;
97
+ /**
98
+ * All object procedures namespaced under "client".
99
+ */
100
+ export declare const objectProcedures: AnyProcedure[];
101
+ /**
102
+ * Object procedures module for registration.
103
+ */
104
+ export declare const objectModule: {
105
+ name: string;
106
+ procedures: AnyProcedure[];
107
+ };
108
+ export { getProcedure, setProcedure, mergeProcedure, keysProcedure, valuesProcedure, entriesProcedure, fromEntriesProcedure, pickProcedure, omitProcedure, hasProcedure, };
109
+ //# sourceMappingURL=object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../src/procedures/core/object.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,270 @@
1
+ /**
2
+ * Object Procedures
3
+ *
4
+ * Object manipulation operations for procedure aggregation.
5
+ * All procedures are namespaced under "client" (e.g., client.get, client.set).
6
+ */
7
+ import { z } from "zod";
8
+ import { anyOutput, arrayOutput, booleanOutput, recordOutput } from "./outputs.js";
9
+ import { defineProcedure, namespace } from "../define.js";
10
+ // =============================================================================
11
+ // Helper: Get nested value by path
12
+ // =============================================================================
13
+ function getByPath(obj, path) {
14
+ const parts = path.split(".");
15
+ let current = obj;
16
+ for (const part of parts) {
17
+ if (current === null || current === undefined) {
18
+ return undefined;
19
+ }
20
+ current = current[part];
21
+ }
22
+ return current;
23
+ }
24
+ // =============================================================================
25
+ // Helper: Set nested value by path
26
+ // =============================================================================
27
+ function setByPath(obj, path, value) {
28
+ const result = { ...obj };
29
+ const parts = path.split(".");
30
+ let current = result;
31
+ for (let i = 0; i < parts.length - 1; i++) {
32
+ const part = parts[i];
33
+ if (!(part in current) || typeof current[part] !== "object" || current[part] === null) {
34
+ current[part] = {};
35
+ }
36
+ else {
37
+ current[part] = { ...current[part] };
38
+ }
39
+ current = current[part];
40
+ }
41
+ const lastPart = parts[parts.length - 1];
42
+ if (lastPart !== undefined) {
43
+ current[lastPart] = value;
44
+ }
45
+ return result;
46
+ }
47
+ const GetInputSchema = z.object({
48
+ object: z.record(z.string(), z.unknown()).describe("The object"),
49
+ path: z.string().describe("The path of the field, with dots (for example user.name)"),
50
+ default: z.unknown().optional().describe("The value to give when the path has no value"),
51
+ });
52
+ const getProcedure = defineProcedure({
53
+ path: ["get"],
54
+ input: GetInputSchema,
55
+ output: anyOutput("The value at the path, or the default"),
56
+ metadata: {
57
+ description: "Get nested value from object by dot-separated path",
58
+ tags: ["core", "object"],
59
+ },
60
+ handler: async (input) => {
61
+ const value = getByPath(input.object, input.path);
62
+ return value !== undefined ? value : input.default;
63
+ },
64
+ });
65
+ const SetInputSchema = z.object({
66
+ object: z.record(z.string(), z.unknown()).describe("The object"),
67
+ path: z.string().describe("The path of the field, with dots (for example user.name)"),
68
+ value: z.unknown().optional().describe("The value"),
69
+ });
70
+ const setProcedure = defineProcedure({
71
+ path: ["set"],
72
+ input: SetInputSchema,
73
+ output: recordOutput("The object with the value at the path"),
74
+ metadata: {
75
+ description: "Set nested value in object by dot-separated path (immutable)",
76
+ tags: ["core", "object"],
77
+ },
78
+ handler: async (input) => {
79
+ return setByPath(input.object, input.path, input.value);
80
+ },
81
+ });
82
+ const MergeInputSchema = z.object({
83
+ objects: z.array(z.record(z.string(), z.unknown())).describe("The objects"),
84
+ deep: z.boolean().optional().describe("Merge nested objects too"),
85
+ });
86
+ function deepMerge(target, source) {
87
+ const result = { ...target };
88
+ for (const key of Object.keys(source)) {
89
+ if (typeof source[key] === "object" &&
90
+ source[key] !== null &&
91
+ !Array.isArray(source[key]) &&
92
+ typeof result[key] === "object" &&
93
+ result[key] !== null &&
94
+ !Array.isArray(result[key])) {
95
+ result[key] = deepMerge(result[key], source[key]);
96
+ }
97
+ else {
98
+ result[key] = source[key];
99
+ }
100
+ }
101
+ return result;
102
+ }
103
+ const mergeProcedure = defineProcedure({
104
+ path: ["merge"],
105
+ input: MergeInputSchema,
106
+ output: recordOutput("The merged object"),
107
+ metadata: {
108
+ description: "Merge multiple objects (shallow or deep)",
109
+ tags: ["core", "object"],
110
+ },
111
+ handler: async (input) => {
112
+ if (input.deep) {
113
+ return input.objects.reduce((acc, obj) => deepMerge(acc, obj), {});
114
+ }
115
+ return Object.assign({}, ...input.objects);
116
+ },
117
+ });
118
+ const KeysInputSchema = z.object({
119
+ object: z.record(z.string(), z.unknown()).describe("The object"),
120
+ });
121
+ const keysProcedure = defineProcedure({
122
+ path: ["keys"],
123
+ input: KeysInputSchema,
124
+ output: z.array(z.string()).describe("The own keys of the object"),
125
+ metadata: {
126
+ description: "Get array of object keys",
127
+ tags: ["core", "object"],
128
+ },
129
+ handler: async (input) => {
130
+ return Object.keys(input.object);
131
+ },
132
+ });
133
+ const ValuesInputSchema = z.object({
134
+ object: z.record(z.string(), z.unknown()).describe("The object"),
135
+ });
136
+ const valuesProcedure = defineProcedure({
137
+ path: ["values"],
138
+ input: ValuesInputSchema,
139
+ output: arrayOutput("The own values of the object"),
140
+ metadata: {
141
+ description: "Get array of object values",
142
+ tags: ["core", "object"],
143
+ },
144
+ handler: async (input) => {
145
+ return Object.values(input.object);
146
+ },
147
+ });
148
+ const EntriesInputSchema = z.object({
149
+ object: z.record(z.string(), z.unknown()).describe("The object"),
150
+ });
151
+ const entriesProcedure = defineProcedure({
152
+ path: ["entries"],
153
+ input: EntriesInputSchema,
154
+ output: z.array(z.tuple([z.string(), z.unknown()])).describe("The [key, value] pairs of the object"),
155
+ metadata: {
156
+ description: "Get array of [key, value] pairs",
157
+ tags: ["core", "object"],
158
+ },
159
+ handler: async (input) => {
160
+ return Object.entries(input.object);
161
+ },
162
+ });
163
+ const FromEntriesInputSchema = z.object({
164
+ entries: z.array(z.tuple([z.string(), z.unknown()])).describe("The [key, value] pairs"),
165
+ });
166
+ const fromEntriesProcedure = defineProcedure({
167
+ path: ["fromEntries"],
168
+ input: FromEntriesInputSchema,
169
+ output: recordOutput("The object of the pairs"),
170
+ metadata: {
171
+ description: "Create object from [key, value] pairs",
172
+ tags: ["core", "object"],
173
+ },
174
+ handler: async (input) => {
175
+ return Object.fromEntries(input.entries);
176
+ },
177
+ });
178
+ const PickInputSchema = z.object({
179
+ object: z.record(z.string(), z.unknown()).describe("The object"),
180
+ keys: z.array(z.string()).describe("The keys"),
181
+ });
182
+ const pickProcedure = defineProcedure({
183
+ path: ["pick"],
184
+ input: PickInputSchema,
185
+ output: recordOutput("The object with only the given keys"),
186
+ metadata: {
187
+ description: "Pick specified keys from object",
188
+ tags: ["core", "object"],
189
+ },
190
+ handler: async (input) => {
191
+ const result = {};
192
+ for (const key of input.keys) {
193
+ if (key in input.object) {
194
+ result[key] = input.object[key];
195
+ }
196
+ }
197
+ return result;
198
+ },
199
+ });
200
+ const OmitInputSchema = z.object({
201
+ object: z.record(z.string(), z.unknown()).describe("The object"),
202
+ keys: z.array(z.string()).describe("The keys"),
203
+ });
204
+ const omitProcedure = defineProcedure({
205
+ path: ["omit"],
206
+ input: OmitInputSchema,
207
+ output: recordOutput("The object without the given keys"),
208
+ metadata: {
209
+ description: "Omit specified keys from object",
210
+ tags: ["core", "object"],
211
+ },
212
+ handler: async (input) => {
213
+ const keysToOmit = new Set(input.keys);
214
+ const result = {};
215
+ for (const key of Object.keys(input.object)) {
216
+ if (!keysToOmit.has(key)) {
217
+ result[key] = input.object[key];
218
+ }
219
+ }
220
+ return result;
221
+ },
222
+ });
223
+ const HasInputSchema = z.object({
224
+ object: z.record(z.string(), z.unknown()).describe("The object"),
225
+ path: z.string().describe("The path of the field, with dots (for example user.name)"),
226
+ });
227
+ const hasProcedure = defineProcedure({
228
+ path: ["has"],
229
+ input: HasInputSchema,
230
+ output: booleanOutput("True when the path exists"),
231
+ metadata: {
232
+ description: "Check if object has a value at the specified path",
233
+ tags: ["core", "object"],
234
+ },
235
+ handler: async (input) => {
236
+ return getByPath(input.object, input.path) !== undefined;
237
+ },
238
+ });
239
+ // =============================================================================
240
+ // Export Object Procedures
241
+ // =============================================================================
242
+ /**
243
+ * All object procedures (before namespacing).
244
+ */
245
+ const objectProceduresRaw = [
246
+ getProcedure,
247
+ setProcedure,
248
+ mergeProcedure,
249
+ keysProcedure,
250
+ valuesProcedure,
251
+ entriesProcedure,
252
+ fromEntriesProcedure,
253
+ pickProcedure,
254
+ omitProcedure,
255
+ hasProcedure,
256
+ ];
257
+ /**
258
+ * All object procedures namespaced under "client".
259
+ */
260
+ export const objectProcedures = namespace(["client"], objectProceduresRaw);
261
+ /**
262
+ * Object procedures module for registration.
263
+ */
264
+ export const objectModule = {
265
+ name: "client-object",
266
+ procedures: objectProcedures,
267
+ };
268
+ // Re-export individual procedures for direct access
269
+ export { getProcedure, setProcedure, mergeProcedure, keysProcedure, valuesProcedure, entriesProcedure, fromEntriesProcedure, pickProcedure, omitProcedure, hasProcedure, };
270
+ //# sourceMappingURL=object.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/procedures/core/object.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * The operands of the control-flow procedures, shared by `client.chain`, `client.conditional`
3
+ * and the others, and by `client.eval` (`meta.ts`).
4
+ */
5
+ import type { ProcedureContext, ProcedurePath } from "../types.js";
6
+ import { type AnyProcedureRef, type RefScope } from "../ref.js";
7
+ /**
8
+ * The operands of a control-flow procedure arrive raw: the procedure runs them itself, with the
9
+ * same rules as `exec()` (one interpreter, `hydrateInput`). The input of a control-flow procedure
10
+ * carries the scope of its caller (`withScope`), so an operand can read the names of an outer
11
+ * chain, `map` or `reduce` (deep dive CORE-13).
12
+ */
13
+ /** The raw-input rule of the caller's registry: the procedure at a path decides (deep dive CORE-5). */
14
+ export declare function rawRule(ctx: ProcedureContext): (path: ProcedurePath) => boolean;
15
+ /**
16
+ * Without a client, a control-flow procedure cannot run refs. This function gives a value with
17
+ * its known `$ref` values resolved. A name that the scope does not have stays as it is.
18
+ */
19
+ export declare function substituteRefs(value: unknown, scope: RefScope): unknown;
20
+ /**
21
+ * This function gives the value of an operand that is not a ref: it resolves its `$ref` values
22
+ * in `scope` and runs its nested refs, as `exec()` does for an input.
23
+ */
24
+ export declare function hydrateOperand(value: unknown, ctx: ProcedureContext, scope?: RefScope): Promise<unknown>;
25
+ /**
26
+ * This function runs an operand ref of a control-flow procedure.
27
+ *
28
+ * It resolves the `$ref` values of the ref's input in `scope`, runs the nested refs of the
29
+ * input and adds `extra` (the parent context, for example `cwd`). Then it calls the procedure.
30
+ * A procedure that takes its input raw (control flow) gets the input unchanged, with the scope:
31
+ * that procedure runs its own operands.
32
+ */
33
+ export declare function callOperand(ref: AnyProcedureRef, ctx: ProcedureContext, options?: {
34
+ scope?: RefScope | undefined;
35
+ extra?: Record<string, unknown> | undefined;
36
+ }): Promise<unknown>;
37
+ /** This function gives the value of any operand: a ref runs, another value is hydrated. */
38
+ export declare function evaluateOperand(value: unknown, ctx: ProcedureContext, options?: {
39
+ scope?: RefScope | undefined;
40
+ extra?: Record<string, unknown> | undefined;
41
+ }): Promise<unknown>;
42
+ /** The parent context that the control-flow procedures give to their operands. */
43
+ export declare function parentContext(input: {
44
+ cwd?: string | undefined;
45
+ node?: unknown;
46
+ }): Record<string, unknown>;
47
+ /** A child scope of `parent` with the given `$ref` names, for one call of `fn`. */
48
+ export declare function scopeWith(values: Record<string, unknown>, parent?: RefScope): RefScope;
49
+ /** The tags of a control-flow procedure: hydration gives it its input raw. */
50
+ export declare function controlFlowTags(...tags: string[]): string[];
51
+ //# sourceMappingURL=operands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operands.d.ts","sourceRoot":"","sources":["../../../src/procedures/core/operands.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAUL,KAAK,eAAe,EACpB,KAAK,QAAQ,EACd,MAAM,WAAW,CAAC;AAEnB;;;;;GAKG;AAEH,uGAAuG;AACvG,wBAAgB,OAAO,CAAC,GAAG,EAAE,gBAAgB,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAE/E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAevE;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAE9G;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAAO,GAC1F,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED,2FAA2F;AAC3F,wBAAsB,eAAe,CACnC,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAAO,GAC1F,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAK1G;AAED,mFAAmF;AACnF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAItF;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAE3D"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * The operands of the control-flow procedures, shared by `client.chain`, `client.conditional`
3
+ * and the others, and by `client.eval` (`meta.ts`).
4
+ */
5
+ import { PROCEDURE_REGISTRY } from "../registry.js";
6
+ import { isAnyProcedureRef, normalizeRef, hydrateInput, createRefScope, isOutputRef, lookupOutputRef, rawInputRule, withScope, RUNS_REFS_TAG, } from "../ref.js";
7
+ /**
8
+ * The operands of a control-flow procedure arrive raw: the procedure runs them itself, with the
9
+ * same rules as `exec()` (one interpreter, `hydrateInput`). The input of a control-flow procedure
10
+ * carries the scope of its caller (`withScope`), so an operand can read the names of an outer
11
+ * chain, `map` or `reduce` (deep dive CORE-13).
12
+ */
13
+ /** The raw-input rule of the caller's registry: the procedure at a path decides (deep dive CORE-5). */
14
+ export function rawRule(ctx) {
15
+ return rawInputRule(ctx.registry ?? PROCEDURE_REGISTRY);
16
+ }
17
+ /**
18
+ * Without a client, a control-flow procedure cannot run refs. This function gives a value with
19
+ * its known `$ref` values resolved. A name that the scope does not have stays as it is.
20
+ */
21
+ export function substituteRefs(value, scope) {
22
+ if (value === null || typeof value !== "object") {
23
+ return value;
24
+ }
25
+ if (isOutputRef(value)) {
26
+ const { found, value: resolved } = lookupOutputRef(value.$ref, scope);
27
+ return found ? resolved : value;
28
+ }
29
+ if (Array.isArray(value)) {
30
+ return value.map((item) => substituteRefs(item, scope));
31
+ }
32
+ if (isAnyProcedureRef(value)) {
33
+ return value;
34
+ }
35
+ return Object.fromEntries(Object.entries(value).map(([key, val]) => [key, substituteRefs(val, scope)]));
36
+ }
37
+ /**
38
+ * This function gives the value of an operand that is not a ref: it resolves its `$ref` values
39
+ * in `scope` and runs its nested refs, as `exec()` does for an input.
40
+ */
41
+ export async function hydrateOperand(value, ctx, scope) {
42
+ return hydrateInput(value, (path, input) => ctx.client.call(path, input), { scope, rawInput: rawRule(ctx), onRef: ctx.onRef });
43
+ }
44
+ /**
45
+ * This function runs an operand ref of a control-flow procedure.
46
+ *
47
+ * It resolves the `$ref` values of the ref's input in `scope`, runs the nested refs of the
48
+ * input and adds `extra` (the parent context, for example `cwd`). Then it calls the procedure.
49
+ * A procedure that takes its input raw (control flow) gets the input unchanged, with the scope:
50
+ * that procedure runs its own operands.
51
+ */
52
+ export async function callOperand(ref, ctx, options = {}) {
53
+ const normalized = normalizeRef(ref);
54
+ const raw = rawRule(ctx)(normalized.path);
55
+ let input = raw ? normalized.input : await hydrateOperand(normalized.input, ctx, options.scope);
56
+ const extra = options.extra ?? {};
57
+ if (Object.keys(extra).length > 0) {
58
+ input = { ...(typeof input === "object" && input !== null && !Array.isArray(input) ? input : {}), ...extra };
59
+ }
60
+ if (raw) {
61
+ input = withScope(input, options.scope);
62
+ }
63
+ return ctx.client.call(normalized.path, input);
64
+ }
65
+ /** This function gives the value of any operand: a ref runs, another value is hydrated. */
66
+ export async function evaluateOperand(value, ctx, options = {}) {
67
+ if (isAnyProcedureRef(value)) {
68
+ return callOperand(value, ctx, options);
69
+ }
70
+ return hydrateOperand(value, ctx, options.scope);
71
+ }
72
+ /** The parent context that the control-flow procedures give to their operands. */
73
+ export function parentContext(input) {
74
+ return {
75
+ ...(input.cwd ? { cwd: input.cwd } : {}),
76
+ ...(input.node ? { node: input.node } : {}),
77
+ };
78
+ }
79
+ /** A child scope of `parent` with the given `$ref` names, for one call of `fn`. */
80
+ export function scopeWith(values, parent) {
81
+ const scope = createRefScope(parent);
82
+ for (const [name, value] of Object.entries(values))
83
+ scope.outputs.set(name, value);
84
+ return scope;
85
+ }
86
+ /** The tags of a control-flow procedure: hydration gives it its input raw. */
87
+ export function controlFlowTags(...tags) {
88
+ return ["core", ...tags, RUNS_REFS_TAG];
89
+ }
90
+ //# sourceMappingURL=operands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operands.js","sourceRoot":"","sources":["../../../src/procedures/core/operands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The output schemas of the core procedures (roadmap 2.1).
3
+ *
4
+ * Before, every core procedure declared a pass-through output, so a wrong output went through,
5
+ * the MCP tools had no output schema, and `mark --help` could not show the result. These
6
+ * helpers give each output a real zod 4 schema with a description.
7
+ */
8
+ import { z } from "zod";
9
+ /**
10
+ * Any JavaScript number, also `NaN` and `Infinity`. zod 4's `z.number()` refuses both, but
11
+ * `client.divide` by 0, `client.sqrt` of a negative number and `client.pow` can give them (the
12
+ * Composer shows them). The JSON Schema is `{ "type": "number" }`.
13
+ */
14
+ export declare function numberOutput(description: string): z.ZodType<number>;
15
+ /** A string result. */
16
+ export declare function stringOutput(description: string): z.ZodType<string>;
17
+ /** A boolean result. */
18
+ export declare function booleanOutput(description: string): z.ZodType<boolean>;
19
+ /**
20
+ * A result whose shape depends on the input or on the program: any JSON value (also
21
+ * `undefined`). Its JSON Schema is `{}`, so an MCP client gets no output schema for it.
22
+ */
23
+ export declare function anyOutput(description: string): z.ZodType<unknown>;
24
+ /** An array of any values. */
25
+ export declare function arrayOutput(description: string): z.ZodType<unknown[]>;
26
+ /** An object with string keys and any values. */
27
+ export declare function recordOutput(description: string): z.ZodType<Record<string, unknown>>;
28
+ //# sourceMappingURL=outputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outputs.d.ts","sourceRoot":"","sources":["../../../src/procedures/core/outputs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAInE;AAED,uBAAuB;AACvB,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAEnE;AAED,wBAAwB;AACxB,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAErE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAEjE;AAED,8BAA8B;AAC9B,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAErE;AAED,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAEpF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * The output schemas of the core procedures (roadmap 2.1).
3
+ *
4
+ * Before, every core procedure declared a pass-through output, so a wrong output went through,
5
+ * the MCP tools had no output schema, and `mark --help` could not show the result. These
6
+ * helpers give each output a real zod 4 schema with a description.
7
+ */
8
+ import { z } from "zod";
9
+ /**
10
+ * Any JavaScript number, also `NaN` and `Infinity`. zod 4's `z.number()` refuses both, but
11
+ * `client.divide` by 0, `client.sqrt` of a negative number and `client.pow` can give them (the
12
+ * Composer shows them). The JSON Schema is `{ "type": "number" }`.
13
+ */
14
+ export function numberOutput(description) {
15
+ return z
16
+ .custom((value) => typeof value === "number", { message: "Expected a number" })
17
+ .meta({ type: "number", description });
18
+ }
19
+ /** A string result. */
20
+ export function stringOutput(description) {
21
+ return z.string().describe(description);
22
+ }
23
+ /** A boolean result. */
24
+ export function booleanOutput(description) {
25
+ return z.boolean().describe(description);
26
+ }
27
+ /**
28
+ * A result whose shape depends on the input or on the program: any JSON value (also
29
+ * `undefined`). Its JSON Schema is `{}`, so an MCP client gets no output schema for it.
30
+ */
31
+ export function anyOutput(description) {
32
+ return z.unknown().describe(description);
33
+ }
34
+ /** An array of any values. */
35
+ export function arrayOutput(description) {
36
+ return z.array(z.unknown()).describe(description);
37
+ }
38
+ /** An object with string keys and any values. */
39
+ export function recordOutput(description) {
40
+ return z.record(z.string(), z.unknown()).describe(description);
41
+ }
42
+ //# sourceMappingURL=outputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outputs.js","sourceRoot":"","sources":["../../../src/procedures/core/outputs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,CAAC;SACL,MAAM,CAAS,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;SACtF,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,uBAAuB;AACvB,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,aAAa,CAAC,WAAmB;IAC/C,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,WAAmB;IAC3C,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED,8BAA8B;AAC9B,MAAM,UAAU,WAAW,CAAC,WAAmB;IAC7C,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACpD,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACjE,CAAC"}