@procedures/client 0.2.3 → 0.4.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 (369) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/README.md +77 -44
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/adapters/http/client/transport.d.ts.map +1 -1
  5. package/dist/adapters/http/client/transport.js +35 -3
  6. package/dist/adapters/http/client/transport.js.map +1 -1
  7. package/dist/adapters/http/client/types.d.ts +3 -2
  8. package/dist/adapters/http/client/types.d.ts.map +1 -1
  9. package/dist/adapters/http/server/transport.d.ts +2 -2
  10. package/dist/adapters/http/server/transport.d.ts.map +1 -1
  11. package/dist/adapters/http/server/transport.js +54 -22
  12. package/dist/adapters/http/server/transport.js.map +1 -1
  13. package/dist/adapters/http/shared/headers.d.ts +1 -1
  14. package/dist/adapters/http/shared/headers.d.ts.map +1 -1
  15. package/dist/adapters/http/shared/headers.js +7 -6
  16. package/dist/adapters/http/shared/headers.js.map +1 -1
  17. package/dist/adapters/local/client/transport.d.ts +3 -0
  18. package/dist/adapters/local/client/transport.d.ts.map +1 -1
  19. package/dist/adapters/local/client/transport.js +67 -6
  20. package/dist/adapters/local/client/transport.js.map +1 -1
  21. package/dist/adapters/local/client/types.d.ts +15 -0
  22. package/dist/adapters/local/client/types.d.ts.map +1 -1
  23. package/dist/adapters/local/client/types.js.map +1 -1
  24. package/dist/adapters/mock/client/transport.d.ts +3 -2
  25. package/dist/adapters/mock/client/transport.d.ts.map +1 -1
  26. package/dist/adapters/mock/client/transport.js +8 -5
  27. package/dist/adapters/mock/client/transport.js.map +1 -1
  28. package/dist/adapters/mock/client/types.d.ts +7 -6
  29. package/dist/adapters/mock/client/types.d.ts.map +1 -1
  30. package/dist/adapters/port/transport.d.ts +62 -0
  31. package/dist/adapters/port/transport.d.ts.map +1 -0
  32. package/dist/adapters/port/transport.js +94 -0
  33. package/dist/adapters/port/transport.js.map +1 -0
  34. package/dist/adapters/websocket/client/index.d.ts +1 -1
  35. package/dist/adapters/websocket/client/index.d.ts.map +1 -1
  36. package/dist/adapters/websocket/client/index.js.map +1 -1
  37. package/dist/adapters/websocket/client/node.d.ts +30 -0
  38. package/dist/adapters/websocket/client/node.d.ts.map +1 -0
  39. package/dist/adapters/websocket/client/node.js +32 -0
  40. package/dist/adapters/websocket/client/node.js.map +1 -0
  41. package/dist/adapters/websocket/client/transport.d.ts +47 -7
  42. package/dist/adapters/websocket/client/transport.d.ts.map +1 -1
  43. package/dist/adapters/websocket/client/transport.js +229 -75
  44. package/dist/adapters/websocket/client/transport.js.map +1 -1
  45. package/dist/adapters/websocket/client/types.d.ts +71 -21
  46. package/dist/adapters/websocket/client/types.d.ts.map +1 -1
  47. package/dist/adapters/websocket/client/types.js.map +1 -1
  48. package/dist/adapters/websocket/server/transport.d.ts +65 -24
  49. package/dist/adapters/websocket/server/transport.d.ts.map +1 -1
  50. package/dist/adapters/websocket/server/transport.js +192 -263
  51. package/dist/adapters/websocket/server/transport.js.map +1 -1
  52. package/dist/adapters/websocket/server/types.d.ts +20 -1
  53. package/dist/adapters/websocket/server/types.d.ts.map +1 -1
  54. package/dist/adapters/websocket/shared/rpc.d.ts +129 -0
  55. package/dist/adapters/websocket/shared/rpc.d.ts.map +1 -0
  56. package/dist/adapters/websocket/shared/rpc.js +425 -0
  57. package/dist/adapters/websocket/shared/rpc.js.map +1 -0
  58. package/dist/browser.d.ts +29 -7
  59. package/dist/browser.d.ts.map +1 -1
  60. package/dist/browser.js +26 -3
  61. package/dist/browser.js.map +1 -1
  62. package/dist/client/call-types.d.ts +10 -10
  63. package/dist/client/call-types.d.ts.map +1 -1
  64. package/dist/client/call-types.js +1 -6
  65. package/dist/client/call-types.js.map +1 -1
  66. package/dist/client/client.d.ts +6 -1
  67. package/dist/client/client.d.ts.map +1 -1
  68. package/dist/client/client.js +23 -9
  69. package/dist/client/client.js.map +1 -1
  70. package/dist/client/deadline.d.ts +38 -0
  71. package/dist/client/deadline.d.ts.map +1 -0
  72. package/dist/client/deadline.js +60 -0
  73. package/dist/client/deadline.js.map +1 -0
  74. package/dist/client/errors/factory.d.ts.map +1 -1
  75. package/dist/client/errors/factory.js +11 -7
  76. package/dist/client/errors/factory.js.map +1 -1
  77. package/dist/client/errors/http-errors.d.ts.map +1 -1
  78. package/dist/client/errors/http-errors.js +6 -0
  79. package/dist/client/errors/http-errors.js.map +1 -1
  80. package/dist/client/errors/index.d.ts +1 -1
  81. package/dist/client/errors/index.js +1 -1
  82. package/dist/client/errors/registry.d.ts +2 -1
  83. package/dist/client/errors/registry.d.ts.map +1 -1
  84. package/dist/client/errors/registry.js +72 -22
  85. package/dist/client/errors/registry.js.map +1 -1
  86. package/dist/client/index.d.ts +9 -2
  87. package/dist/client/index.d.ts.map +1 -1
  88. package/dist/client/index.js +8 -2
  89. package/dist/client/index.js.map +1 -1
  90. package/dist/client/middleware/cache.d.ts +19 -5
  91. package/dist/client/middleware/cache.d.ts.map +1 -1
  92. package/dist/client/middleware/cache.js +106 -18
  93. package/dist/client/middleware/cache.js.map +1 -1
  94. package/dist/client/middleware/circuit-breaker.d.ts +28 -10
  95. package/dist/client/middleware/circuit-breaker.d.ts.map +1 -1
  96. package/dist/client/middleware/circuit-breaker.js +35 -24
  97. package/dist/client/middleware/circuit-breaker.js.map +1 -1
  98. package/dist/client/middleware/contexts.d.ts +16 -10
  99. package/dist/client/middleware/contexts.d.ts.map +1 -1
  100. package/dist/client/middleware/contexts.js.map +1 -1
  101. package/dist/client/middleware/items.d.ts +31 -2
  102. package/dist/client/middleware/items.d.ts.map +1 -1
  103. package/dist/client/middleware/items.js +86 -6
  104. package/dist/client/middleware/items.js.map +1 -1
  105. package/dist/client/middleware/lru.d.ts +2 -0
  106. package/dist/client/middleware/lru.d.ts.map +1 -1
  107. package/dist/client/middleware/lru.js +11 -0
  108. package/dist/client/middleware/lru.js.map +1 -1
  109. package/dist/client/middleware/rate-limit.d.ts +7 -6
  110. package/dist/client/middleware/rate-limit.d.ts.map +1 -1
  111. package/dist/client/middleware/rate-limit.js +9 -7
  112. package/dist/client/middleware/rate-limit.js.map +1 -1
  113. package/dist/client/middleware/resilience.d.ts +61 -0
  114. package/dist/client/middleware/resilience.d.ts.map +1 -0
  115. package/dist/client/middleware/resilience.js +59 -0
  116. package/dist/client/middleware/resilience.js.map +1 -0
  117. package/dist/client/middleware/retry.d.ts +45 -11
  118. package/dist/client/middleware/retry.d.ts.map +1 -1
  119. package/dist/client/middleware/retry.js +102 -22
  120. package/dist/client/middleware/retry.js.map +1 -1
  121. package/dist/client/middleware/timeout.d.ts +15 -12
  122. package/dist/client/middleware/timeout.d.ts.map +1 -1
  123. package/dist/client/middleware/timeout.js +48 -46
  124. package/dist/client/middleware/timeout.js.map +1 -1
  125. package/dist/client/middleware/tracing.d.ts.map +1 -1
  126. package/dist/client/middleware/tracing.js +11 -3
  127. package/dist/client/middleware/tracing.js.map +1 -1
  128. package/dist/client/types.d.ts +9 -1
  129. package/dist/client/types.d.ts.map +1 -1
  130. package/dist/client/types.js.map +1 -1
  131. package/dist/clock.d.ts +19 -0
  132. package/dist/clock.d.ts.map +1 -0
  133. package/dist/clock.js +18 -0
  134. package/dist/clock.js.map +1 -0
  135. package/dist/duration.d.ts +37 -0
  136. package/dist/duration.d.ts.map +1 -0
  137. package/dist/duration.js +44 -0
  138. package/dist/duration.js.map +1 -0
  139. package/dist/index.d.ts +4 -0
  140. package/dist/index.d.ts.map +1 -1
  141. package/dist/index.js +4 -0
  142. package/dist/index.js.map +1 -1
  143. package/dist/machines.d.ts +90 -0
  144. package/dist/machines.d.ts.map +1 -0
  145. package/dist/machines.js +127 -0
  146. package/dist/machines.js.map +1 -0
  147. package/dist/node.d.ts +11 -0
  148. package/dist/node.d.ts.map +1 -0
  149. package/dist/node.js +10 -0
  150. package/dist/node.js.map +1 -0
  151. package/dist/procedures/capability.d.ts +3 -6
  152. package/dist/procedures/capability.d.ts.map +1 -1
  153. package/dist/procedures/capability.js +7 -8
  154. package/dist/procedures/capability.js.map +1 -1
  155. package/dist/procedures/collection/index.d.ts +3 -3
  156. package/dist/procedures/collection/index.d.ts.map +1 -1
  157. package/dist/procedures/collection/index.js +1 -1
  158. package/dist/procedures/collection/index.js.map +1 -1
  159. package/dist/procedures/collection/procedures.d.ts.map +1 -1
  160. package/dist/procedures/collection/procedures.js +49 -1
  161. package/dist/procedures/collection/procedures.js.map +1 -1
  162. package/dist/procedures/collection/schemas.d.ts +33 -0
  163. package/dist/procedures/collection/schemas.d.ts.map +1 -1
  164. package/dist/procedures/collection/schemas.js +68 -0
  165. package/dist/procedures/collection/schemas.js.map +1 -1
  166. package/dist/procedures/collection/storage.d.ts +37 -0
  167. package/dist/procedures/collection/storage.d.ts.map +1 -1
  168. package/dist/procedures/core/array.d.ts +1 -1
  169. package/dist/procedures/core/array.d.ts.map +1 -1
  170. package/dist/procedures/core/array.js +81 -29
  171. package/dist/procedures/core/array.js.map +1 -1
  172. package/dist/procedures/core/index.d.ts.map +1 -1
  173. package/dist/procedures/core/index.js +17 -2
  174. package/dist/procedures/core/index.js.map +1 -1
  175. package/dist/procedures/core/logic.js +1 -1
  176. package/dist/procedures/core/logic.js.map +1 -1
  177. package/dist/procedures/core/math.d.ts.map +1 -1
  178. package/dist/procedures/core/math.js +5 -1
  179. package/dist/procedures/core/math.js.map +1 -1
  180. package/dist/procedures/core/meta.d.ts.map +1 -1
  181. package/dist/procedures/core/meta.js +43 -8
  182. package/dist/procedures/core/meta.js.map +1 -1
  183. package/dist/procedures/core/object.d.ts.map +1 -1
  184. package/dist/procedures/core/object.js +42 -13
  185. package/dist/procedures/core/object.js.map +1 -1
  186. package/dist/procedures/core/operands.d.ts.map +1 -1
  187. package/dist/procedures/core/operands.js +6 -1
  188. package/dist/procedures/core/operands.js.map +1 -1
  189. package/dist/procedures/core/string.d.ts.map +1 -1
  190. package/dist/procedures/core/string.js +4 -2
  191. package/dist/procedures/core/string.js.map +1 -1
  192. package/dist/procedures/core/type.d.ts.map +1 -1
  193. package/dist/procedures/core/type.js +4 -2
  194. package/dist/procedures/core/type.js.map +1 -1
  195. package/dist/procedures/define-procedure.d.ts +19 -7
  196. package/dist/procedures/define-procedure.d.ts.map +1 -1
  197. package/dist/procedures/define-procedure.js +57 -17
  198. package/dist/procedures/define-procedure.js.map +1 -1
  199. package/dist/procedures/discovery.d.ts +4 -6
  200. package/dist/procedures/discovery.d.ts.map +1 -1
  201. package/dist/procedures/discovery.js +4 -6
  202. package/dist/procedures/discovery.js.map +1 -1
  203. package/dist/procedures/effects.d.ts +16 -0
  204. package/dist/procedures/effects.d.ts.map +1 -1
  205. package/dist/procedures/effects.js +33 -0
  206. package/dist/procedures/effects.js.map +1 -1
  207. package/dist/procedures/idempotency.d.ts +73 -0
  208. package/dist/procedures/idempotency.d.ts.map +1 -0
  209. package/dist/procedures/idempotency.js +131 -0
  210. package/dist/procedures/idempotency.js.map +1 -0
  211. package/dist/procedures/index.d.ts +7 -3
  212. package/dist/procedures/index.d.ts.map +1 -1
  213. package/dist/procedures/index.js +6 -2
  214. package/dist/procedures/index.js.map +1 -1
  215. package/dist/procedures/interceptors.d.ts +17 -4
  216. package/dist/procedures/interceptors.d.ts.map +1 -1
  217. package/dist/procedures/interceptors.js +18 -7
  218. package/dist/procedures/interceptors.js.map +1 -1
  219. package/dist/procedures/invoke.d.ts +15 -3
  220. package/dist/procedures/invoke.d.ts.map +1 -1
  221. package/dist/procedures/invoke.js +8 -3
  222. package/dist/procedures/invoke.js.map +1 -1
  223. package/dist/procedures/manifest.d.ts +83 -0
  224. package/dist/procedures/manifest.d.ts.map +1 -0
  225. package/dist/procedures/manifest.js +90 -0
  226. package/dist/procedures/manifest.js.map +1 -0
  227. package/dist/procedures/ref.d.ts +4 -2
  228. package/dist/procedures/ref.d.ts.map +1 -1
  229. package/dist/procedures/ref.js +2 -1
  230. package/dist/procedures/ref.js.map +1 -1
  231. package/dist/procedures/runtime-programs.d.ts +19 -0
  232. package/dist/procedures/runtime-programs.d.ts.map +1 -0
  233. package/dist/procedures/runtime-programs.js +24 -0
  234. package/dist/procedures/runtime-programs.js.map +1 -0
  235. package/dist/procedures/types.d.ts +16 -0
  236. package/dist/procedures/types.d.ts.map +1 -1
  237. package/dist/procedures/types.js.map +1 -1
  238. package/dist/protocol.d.ts +47 -0
  239. package/dist/protocol.d.ts.map +1 -0
  240. package/dist/protocol.js +68 -0
  241. package/dist/protocol.js.map +1 -0
  242. package/dist/server/host-policy.d.ts +4 -3
  243. package/dist/server/host-policy.d.ts.map +1 -1
  244. package/dist/server/host-policy.js +6 -3
  245. package/dist/server/host-policy.js.map +1 -1
  246. package/dist/server/host-procedures.d.ts +31 -0
  247. package/dist/server/host-procedures.d.ts.map +1 -0
  248. package/dist/server/host-procedures.js +75 -0
  249. package/dist/server/host-procedures.js.map +1 -0
  250. package/dist/server/index.d.ts +3 -3
  251. package/dist/server/index.d.ts.map +1 -1
  252. package/dist/server/index.js +1 -1
  253. package/dist/server/index.js.map +1 -1
  254. package/dist/server/procedure-server.d.ts +112 -5
  255. package/dist/server/procedure-server.d.ts.map +1 -1
  256. package/dist/server/procedure-server.js +273 -19
  257. package/dist/server/procedure-server.js.map +1 -1
  258. package/dist/server/request-auth.d.ts +19 -0
  259. package/dist/server/request-auth.d.ts.map +1 -0
  260. package/dist/server/request-auth.js +32 -0
  261. package/dist/server/request-auth.js.map +1 -0
  262. package/dist/server/types.d.ts +32 -0
  263. package/dist/server/types.d.ts.map +1 -1
  264. package/dist/server/types.js.map +1 -1
  265. package/dist/timers.d.ts +60 -0
  266. package/dist/timers.d.ts.map +1 -0
  267. package/dist/timers.js +33 -0
  268. package/dist/timers.js.map +1 -0
  269. package/dist/tracing/traceparent.d.ts +26 -0
  270. package/dist/tracing/traceparent.d.ts.map +1 -0
  271. package/dist/tracing/traceparent.js +53 -0
  272. package/dist/tracing/traceparent.js.map +1 -0
  273. package/package.json +11 -4
  274. package/src/adapters/http/client/transport.ts +31 -3
  275. package/src/adapters/http/client/types.ts +3 -2
  276. package/src/adapters/http/server/transport.ts +61 -26
  277. package/src/adapters/http/shared/headers.ts +7 -6
  278. package/src/adapters/local/client/transport.ts +74 -7
  279. package/src/adapters/local/client/types.ts +18 -0
  280. package/src/adapters/mock/client/transport.ts +9 -6
  281. package/src/adapters/mock/client/types.ts +7 -6
  282. package/src/adapters/port/transport.ts +124 -0
  283. package/src/adapters/websocket/client/index.ts +1 -0
  284. package/src/adapters/websocket/client/node.ts +34 -0
  285. package/src/adapters/websocket/client/transport.ts +251 -81
  286. package/src/adapters/websocket/client/types.ts +81 -21
  287. package/src/adapters/websocket/server/transport.ts +199 -301
  288. package/src/adapters/websocket/server/types.ts +20 -1
  289. package/src/adapters/websocket/shared/rpc.ts +453 -0
  290. package/src/browser.ts +51 -3
  291. package/src/client/call-types.ts +10 -14
  292. package/src/client/client.ts +28 -9
  293. package/src/client/deadline.ts +64 -0
  294. package/src/client/errors/README.md +2 -0
  295. package/src/client/errors/factory.ts +12 -8
  296. package/src/client/errors/http-errors.ts +5 -0
  297. package/src/client/errors/index.ts +1 -1
  298. package/src/client/errors/registry.ts +79 -22
  299. package/src/client/index.ts +21 -3
  300. package/src/client/middleware/cache.ts +120 -23
  301. package/src/client/middleware/circuit-breaker.ts +65 -35
  302. package/src/client/middleware/contexts.ts +17 -10
  303. package/src/client/middleware/items.ts +101 -6
  304. package/src/client/middleware/lru.ts +12 -0
  305. package/src/client/middleware/rate-limit.ts +9 -9
  306. package/src/client/middleware/resilience.ts +81 -0
  307. package/src/client/middleware/retry.ts +146 -34
  308. package/src/client/middleware/timeout.ts +57 -55
  309. package/src/client/middleware/tracing.ts +13 -4
  310. package/src/client/types.ts +9 -1
  311. package/src/clock.ts +21 -0
  312. package/src/duration.ts +56 -0
  313. package/src/index.ts +4 -0
  314. package/src/machines.ts +186 -0
  315. package/src/node.ts +11 -0
  316. package/src/procedures/capability.ts +7 -8
  317. package/src/procedures/collection/index.ts +9 -1
  318. package/src/procedures/collection/procedures.ts +57 -0
  319. package/src/procedures/collection/schemas.ts +110 -0
  320. package/src/procedures/collection/storage.ts +38 -0
  321. package/src/procedures/core/array.ts +79 -31
  322. package/src/procedures/core/index.ts +17 -2
  323. package/src/procedures/core/logic.ts +1 -1
  324. package/src/procedures/core/math.ts +5 -1
  325. package/src/procedures/core/meta.ts +45 -8
  326. package/src/procedures/core/object.ts +48 -14
  327. package/src/procedures/core/operands.ts +7 -0
  328. package/src/procedures/core/string.ts +4 -2
  329. package/src/procedures/core/type.ts +4 -2
  330. package/src/procedures/define-procedure.ts +73 -20
  331. package/src/procedures/discovery.ts +4 -6
  332. package/src/procedures/effects.ts +35 -0
  333. package/src/procedures/idempotency.ts +152 -0
  334. package/src/procedures/index.ts +18 -2
  335. package/src/procedures/interceptors.ts +28 -11
  336. package/src/procedures/invoke.ts +19 -5
  337. package/src/procedures/manifest.ts +158 -0
  338. package/src/procedures/ref.ts +4 -2
  339. package/src/procedures/runtime-programs.ts +27 -0
  340. package/src/procedures/types.ts +16 -0
  341. package/src/protocol.ts +108 -0
  342. package/src/server/host-policy.ts +8 -5
  343. package/src/server/host-procedures.ts +102 -0
  344. package/src/server/index.ts +5 -2
  345. package/src/server/procedure-server.ts +328 -12
  346. package/src/server/request-auth.ts +35 -0
  347. package/src/server/types.ts +37 -0
  348. package/src/timers.ts +82 -0
  349. package/src/tracing/traceparent.ts +61 -0
  350. package/dist/procedures/cli/announce.d.ts +0 -67
  351. package/dist/procedures/cli/announce.d.ts.map +0 -1
  352. package/dist/procedures/cli/announce.js +0 -392
  353. package/dist/procedures/cli/announce.js.map +0 -1
  354. package/dist/procedures/cli/discover.d.ts +0 -66
  355. package/dist/procedures/cli/discover.d.ts.map +0 -1
  356. package/dist/procedures/cli/discover.js +0 -310
  357. package/dist/procedures/cli/discover.js.map +0 -1
  358. package/dist/procedures/cli/index.d.ts +0 -13
  359. package/dist/procedures/cli/index.d.ts.map +0 -1
  360. package/dist/procedures/cli/index.js +0 -203
  361. package/dist/procedures/cli/index.js.map +0 -1
  362. package/dist/procedures/cli/init.d.ts +0 -17
  363. package/dist/procedures/cli/init.d.ts.map +0 -1
  364. package/dist/procedures/cli/init.js +0 -336
  365. package/dist/procedures/cli/init.js.map +0 -1
  366. package/src/procedures/cli/announce.ts +0 -470
  367. package/src/procedures/cli/discover.ts +0 -390
  368. package/src/procedures/cli/index.ts +0 -231
  369. package/src/procedures/cli/init.ts +0 -370
@@ -1 +1 @@
1
- {"version":3,"file":"define-procedure.d.ts","sourceRoot":"","sources":["../../src/procedures/define-procedure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,iBAAiB,EAEjB,YAAY,EACZ,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAqCpB;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,wBAAwB;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,kEAAkE;IAClE,KAAK,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,IAAI,EAAE,aAAa,CAAC;IAEpB;;;OAGG;IACH,WAAW,EAAE,qBAAqB,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAE7B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,IAAI,EAAE,aAAa,CAAC;IACpB,iDAAiD;IACjD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAgGD,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAE1E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,qBAAqB,GAAG,SAAS,CAEpG;AAED,KAAK,UAAU,GAAG,IAAI,CAAC,qBAAqB,EAAE,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC;AAE/E;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,aAAa,EACnB,QAAQ,GAAE,UAA+B,GACxC,YAAY,GAAG,SAAS,CAG1B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,GAAE,UAA+B,GAAG,OAAO,CAE3G;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,GAAE,UAA+B,GAAG,YAAY,EAAE,CAEjG;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,GAAE,UAA+B,GAAG,IAAI,CAItF;AAMD;;GAEG;AACH,UAAU,cAAe,SAAQ,iBAAiB;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,6DAA6D;IAC7D,aAAa,EAAE,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,CAC9C,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,CAmEd,CAAC;AAMH,kFAAkF;AAClF,MAAM,WAAW,oBAAoB;IACnC,gCAAgC;IAChC,IAAI,EAAE,aAAa,CAAC;IACpB,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B,yDAAyD;IACzD,UAAU,EAAE,OAAO,CAAC;IACpB,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC1C;AAgBD,oCAAoC;AACpC,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,mCAAmC;AACnC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;CACzB;AAgBD;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAC3C,iBAAiB,EACjB;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,CAAC,oBAAoB,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAAC,EAC9G,iBAAiB,CAwBjB,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,CAC7C,kBAAkB,EAClB;IAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACrD,iBAAiB,CAmBjB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,CAC9C;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,EACvB;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACpB,iBAAiB,CAuBjB,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAAY,EAKxC,CAAC"}
1
+ {"version":3,"file":"define-procedure.d.ts","sourceRoot":"","sources":["../../src/procedures/define-procedure.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,9 @@ import { z } from "zod";
30
30
  import { anySchema, zodAdapter } from "./core/schemas.js";
31
31
  import { keyToPath, pathToKey } from "./types.js";
32
32
  import { createRefScope, hydrateInput, isAnyProcedureRef, markDataDriven, prepareRootCall, rawInputRule, RUNS_REFS_TAG, } from "./ref.js";
33
- import { PURE_EFFECTS, REGISTRY_READ_EFFECTS, withEffects } from "./effects.js";
33
+ import { INFERRED_EFFECTS_METADATA_KEY, PURE_EFFECTS, REGISTRY_READ_EFFECTS, effectsValue, withEffects } from "./effects.js";
34
+ import { MANIFEST_FORMAT, describeProcedure as describeEntry, describeRegistry } from "./manifest.js";
35
+ import { isRuntimeDefined, markRuntimeProgram, runtimeProgramOfHandler } from "./runtime-programs.js";
34
36
  // Input schemas of procedure.define and procedure.delete (roadmap 2.1)
35
37
  const procedurePathField = z.array(z.string().min(1)).min(1);
36
38
  const defineInputSchema = z.object({
@@ -78,6 +80,15 @@ const GetOutputSchema = z.looseObject({
78
80
  metadata: descriptionFields.metadata,
79
81
  hasInputSchema: z.boolean().optional().describe("True when the procedure has an input schema"),
80
82
  hasOutputSchema: z.boolean().optional().describe("True when the procedure has an output schema"),
83
+ input: z.record(z.string(), z.unknown()).optional().describe("The JSON Schema of the input"),
84
+ output: z.record(z.string(), z.unknown()).optional().describe("The JSON Schema of the output"),
85
+ effects: z.unknown().optional().describe("The declared effects: reads, writes, idempotent, destructive"),
86
+ });
87
+ /** The output of `procedure.manifest` */
88
+ const ManifestOutputSchema = z.looseObject({
89
+ format: z.literal(MANIFEST_FORMAT).describe("The format of the manifest"),
90
+ hash: z.string().describe("A hash of the entries: two manifests with the same hash describe the same procedures"),
91
+ procedures: z.array(z.looseObject({ path: z.array(z.string()), key: z.string() })).describe("The procedures, in the order of their keys"),
81
92
  });
82
93
  /** The output of `procedure.list` */
83
94
  const ListOutputSchema = z.looseObject({
@@ -123,24 +134,14 @@ function createAggregationHandler(aggregation) {
123
134
  // =============================================================================
124
135
  // Runtime-Defined Procedures
125
136
  // =============================================================================
126
- /**
127
- * The handlers that `procedure.define` made, with the program (the aggregation) of each. The
128
- * registry is the only store of the procedures: a procedure is runtime-defined when its handler
129
- * is a key here. (Before, a separate map kept them, and `procedure.delete` removed only the map
130
- * entry: deep dive CORE-3.) The program is kept here, not only in the metadata: a caller that
131
- * gives its own metadata to `procedure.define` replaces the metadata.
132
- */
133
- const RUNTIME_PROGRAMS = new WeakMap();
134
- /** True for a procedure that `procedure.define` made. */
135
- export function isRuntimeDefined(procedure) {
136
- return typeof procedure.handler === "function" && RUNTIME_PROGRAMS.has(procedure.handler);
137
- }
137
+ // The store of the programs of procedure.define (runtime-programs.ts, which imports nothing)
138
+ export { isRuntimeDefined } from "./runtime-programs.js";
138
139
  /**
139
140
  * The program (the aggregation) of a procedure that `procedure.define` made, or undefined for a
140
141
  * code procedure. A program store saves it and defines it again after a restart (roadmap 3.2).
141
142
  */
142
143
  export function runtimeProgramOf(procedure) {
143
- return typeof procedure.handler === "function" ? RUNTIME_PROGRAMS.get(procedure.handler) : undefined;
144
+ return runtimeProgramOfHandler(procedure.handler);
144
145
  }
145
146
  /**
146
147
  * Get a runtime-defined procedure by path.
@@ -208,6 +209,9 @@ export const defineProcedureProcedure = defineProcedure({
208
209
  if (existing && !replace) {
209
210
  throw new Error(`Procedure already exists at path: ${pathKey}`);
210
211
  }
212
+ // The effects of the body that the host found (roadmap R22). Only an interceptor of the host
213
+ // can give them: each transport removes the key from a request.
214
+ const inferred = effectsValue(ctx?.metadata?.[INFERRED_EFFECTS_METADATA_KEY]);
211
215
  // Create the procedure
212
216
  const procedure = defineProcedure({
213
217
  path,
@@ -222,12 +226,14 @@ export const defineProcedureProcedure = defineProcedure({
222
226
  // No effects of its own, as client.chain: the admission examines each nested call of a
223
227
  // data-driven procedure. The framework sets it, so the metadata of a caller cannot claim less
224
228
  effects: PURE_EFFECTS,
229
+ // The framework sets this field too: the effects of the body, for the tool hints
230
+ ...(inferred ? { inferredEffects: inferred } : { inferredEffects: undefined }),
225
231
  },
226
232
  handler: createAggregationHandler(aggregation),
227
233
  });
228
234
  // Its behavior comes from data: a server with an expose rule lets it call only exposed procedures
229
235
  markDataDriven(procedure);
230
- RUNTIME_PROGRAMS.set(procedure.handler, aggregation);
236
+ markRuntimeProgram(procedure.handler, aggregation);
231
237
  // Validate the procedure
232
238
  validateProcedure(procedure);
233
239
  // The registry is the store: exec()/call()/transports find the procedure there. See
@@ -286,14 +292,20 @@ export const getProcedureProcedure = defineProcedure({
286
292
  handler: async (input, ctx) => {
287
293
  const path = typeof input.path === "string" ? keyToPath(input.path) : input.path;
288
294
  const procedure = (ctx?.registry ?? PROCEDURE_REGISTRY).get(path);
289
- if (!procedure) {
295
+ // A procedure outside the expose rule of the host is not found (R17)
296
+ if (!procedure || (ctx?.expose && !ctx.expose(procedure.path))) {
290
297
  return { found: false };
291
298
  }
299
+ const entry = describeEntry(procedure);
292
300
  return {
293
301
  found: true,
294
302
  ...describeProcedure(procedure, true),
295
303
  hasInputSchema: !!procedure.input,
296
304
  hasOutputSchema: !!procedure.output,
305
+ // The JSON Schemas and the effects of the one manifest type (R17)
306
+ ...(entry.input ? { input: entry.input } : {}),
307
+ ...(entry.output ? { output: entry.output } : {}),
308
+ ...(entry.effects ? { effects: entry.effects } : {}),
297
309
  };
298
310
  },
299
311
  });
@@ -315,6 +327,9 @@ export const listProceduresProcedure = defineProcedure({
315
327
  },
316
328
  handler: async (input, ctx) => {
317
329
  let all = (ctx?.registry ?? PROCEDURE_REGISTRY).getAll();
330
+ // Only the procedures that the host exposes (R17)
331
+ if (ctx?.expose)
332
+ all = all.filter((procedure) => ctx.expose(procedure.path));
318
333
  if (input.runtime)
319
334
  all = all.filter(isRuntimeDefined);
320
335
  if (input.namespace)
@@ -323,6 +338,27 @@ export const listProceduresProcedure = defineProcedure({
323
338
  return { procedures, count: procedures.length };
324
339
  },
325
340
  });
341
+ /**
342
+ * The manifest of the caller's registry (roadmap R17): each procedure that the host exposes, with
343
+ * its JSON Schemas, effects and command-line metadata, and a hash. The compiler and the SDK
344
+ * generators read it.
345
+ */
346
+ export const manifestProcedure = defineProcedure({
347
+ path: ["procedure", "manifest"],
348
+ input: zodAdapter(z.object({ namespace: z.string().optional().describe("Only the procedures under this first path segment") })),
349
+ output: ManifestOutputSchema,
350
+ metadata: {
351
+ description: "The manifest of the registry: each exposed procedure with its schemas and effects",
352
+ tags: ["core", "meta"],
353
+ args: [],
354
+ shorts: { namespace: "n" },
355
+ output: "json",
356
+ },
357
+ handler: async (input, ctx) => describeRegistry(ctx?.registry ?? PROCEDURE_REGISTRY, {
358
+ ...(ctx?.expose ? { expose: ctx.expose } : {}),
359
+ ...(input.namespace ? { include: (procedure) => procedure.path[0] === input.namespace } : {}),
360
+ }),
361
+ });
326
362
  /**
327
363
  * Delete a runtime-defined procedure.
328
364
  */
@@ -356,7 +392,11 @@ export const deleteProcedureProcedure = defineProcedure({
356
392
  export const metaProcedures = [
357
393
  // They read the registry. define and delete change it (CAPABILITIES-2026-10).
358
394
  ...withEffects({ reads: ["registry"], writes: ["registry"] }, [defineProcedureProcedure]),
359
- ...withEffects(REGISTRY_READ_EFFECTS, [getProcedureProcedure, listProceduresProcedure]),
395
+ ...withEffects(REGISTRY_READ_EFFECTS, [
396
+ getProcedureProcedure,
397
+ listProceduresProcedure,
398
+ manifestProcedure,
399
+ ]),
360
400
  ...withEffects({ reads: ["registry"], writes: ["registry"] }, [deleteProcedureProcedure]),
361
401
  ];
362
402
  //# sourceMappingURL=define-procedure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"define-procedure.js","sourceRoot":"","sources":["../../src/procedures/define-procedure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-procedure.js","sourceRoot":"","sources":["../../src/procedures/define-procedure.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,11 @@
1
1
  /**
2
2
  * Procedure Registration Helpers
3
3
  *
4
- * Manual registration helpers for procedures. For compile-time auto-discovery,
5
- * use the CLI: `npx client-registry discover`
4
+ * These helpers add procedures to the global registry.
6
5
  *
7
- * Libraries that depend on client should:
8
- * 1. Add `"client": { "procedures": "./dist/register.js" }` to package.json
9
- * 2. Create a register.ts that uses createAndRegister()
10
- * 3. Consumers run `npx client-registry discover` to generate imports
6
+ * A package with procedures declares `"client": { "procedures": "./dist/register.js" }` in its
7
+ * `package.json`. Its `src/register.ts` registers its module. `mark` finds the packages by the
8
+ * `client.procedures` field, and an app imports the `/register` entry of each package that it uses.
11
9
  */
12
10
  import type { AnyProcedure, ProcedureModule } from "./types.js";
13
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/procedures/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMhE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI,CAEnE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,YAAY,EAAE,GACzB,eAAe,CAIjB"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/procedures/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMhE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI,CAEnE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,YAAY,EAAE,GACzB,eAAe,CAIjB"}
@@ -1,13 +1,11 @@
1
1
  /**
2
2
  * Procedure Registration Helpers
3
3
  *
4
- * Manual registration helpers for procedures. For compile-time auto-discovery,
5
- * use the CLI: `npx client-registry discover`
4
+ * These helpers add procedures to the global registry.
6
5
  *
7
- * Libraries that depend on client should:
8
- * 1. Add `"client": { "procedures": "./dist/register.js" }` to package.json
9
- * 2. Create a register.ts that uses createAndRegister()
10
- * 3. Consumers run `npx client-registry discover` to generate imports
6
+ * A package with procedures declares `"client": { "procedures": "./dist/register.js" }` in its
7
+ * `package.json`. Its `src/register.ts` registers its module. `mark` finds the packages by the
8
+ * `client.procedures` field, and an app imports the `/register` entry of each package that it uses.
11
9
  */
12
10
  import { PROCEDURE_REGISTRY } from "./registry.js";
13
11
  // =============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/procedures/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA0B;IAC3D,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,UAA0B;IAE1B,MAAM,MAAM,GAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACrD,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/procedures/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGnD,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA0B;IAC3D,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,UAA0B;IAE1B,MAAM,MAAM,GAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACrD,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -7,6 +7,22 @@ import type { AnyProcedure, Effects } from "./types.js";
7
7
  export declare const PURE_EFFECTS: Effects;
8
8
  /** The effects of a procedure that reads the procedure registry and changes nothing. */
9
9
  export declare const REGISTRY_READ_EFFECTS: Effects;
10
+ /**
11
+ * The metadata key of the effects that a host found for the body of `procedure.define`
12
+ * (`programCheckInterceptor` of `@procedures/compiler`, roadmap R22). The key starts with `__`, so
13
+ * each transport removes it from a request: only an interceptor of the host can set it.
14
+ */
15
+ export declare const INFERRED_EFFECTS_METADATA_KEY = "__inferredEffects";
16
+ /**
17
+ * The effects that a host found for a data-driven procedure (`metadata.inferredEffects`), or
18
+ * undefined. They are information for the tool hints and the explanations. The admission still
19
+ * examines each nested call of the procedure.
20
+ */
21
+ export declare function inferredEffectsOf(source: {
22
+ readonly metadata?: unknown;
23
+ } | Record<string, unknown> | undefined): Effects | undefined;
24
+ /** An `Effects` value with known reads and writes, or undefined. */
25
+ export declare function effectsValue(value: unknown): Effects | undefined;
10
26
  /**
11
27
  * This function gives copies of the procedures with the effects in their metadata. A procedure
12
28
  * that declares its own effects keeps them.
@@ -1 +1 @@
1
- {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../src/procedures/effects.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAExD,kGAAkG;AAClG,eAAO,MAAM,YAAY,EAAE,OAAgF,CAAC;AAE5G,wFAAwF;AACxF,eAAO,MAAM,qBAAqB,EAAE,OAA0F,CAAC;AAE/H;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAMnG"}
1
+ {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../../src/procedures/effects.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAExD,kGAAkG;AAClG,eAAO,MAAM,YAAY,EAAE,OAAgF,CAAC;AAE5G,wFAAwF;AACxF,eAAO,MAAM,qBAAqB,EAAE,OAA0F,CAAC;AAE/H;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,sBAAsB,CAAC;AAMjE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAIpI;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAUhE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CAMnG"}
@@ -6,6 +6,39 @@
6
6
  export const PURE_EFFECTS = Object.freeze({ reads: Object.freeze([]), writes: Object.freeze([]) });
7
7
  /** The effects of a procedure that reads the procedure registry and changes nothing. */
8
8
  export const REGISTRY_READ_EFFECTS = Object.freeze({ reads: Object.freeze(["registry"]), writes: Object.freeze([]) });
9
+ /**
10
+ * The metadata key of the effects that a host found for the body of `procedure.define`
11
+ * (`programCheckInterceptor` of `@procedures/compiler`, roadmap R22). The key starts with `__`, so
12
+ * each transport removes it from a request: only an interceptor of the host can set it.
13
+ */
14
+ export const INFERRED_EFFECTS_METADATA_KEY = "__inferredEffects";
15
+ function isNameList(value) {
16
+ return Array.isArray(value) && value.every((name) => typeof name === "string");
17
+ }
18
+ /**
19
+ * The effects that a host found for a data-driven procedure (`metadata.inferredEffects`), or
20
+ * undefined. They are information for the tool hints and the explanations. The admission still
21
+ * examines each nested call of the procedure.
22
+ */
23
+ export function inferredEffectsOf(source) {
24
+ const metadata = source && "metadata" in source ? source.metadata : source;
25
+ const value = metadata?.inferredEffects;
26
+ return effectsValue(value);
27
+ }
28
+ /** An `Effects` value with known reads and writes, or undefined. */
29
+ export function effectsValue(value) {
30
+ if (value === null || typeof value !== "object")
31
+ return undefined;
32
+ const { reads, writes, destructive, idempotent } = value;
33
+ if (!isNameList(reads) || !isNameList(writes))
34
+ return undefined;
35
+ return Object.freeze({
36
+ reads: Object.freeze([...reads]),
37
+ writes: Object.freeze([...writes]),
38
+ ...(typeof destructive === "boolean" ? { destructive } : {}),
39
+ ...(typeof idempotent === "boolean" ? { idempotent } : {}),
40
+ });
41
+ }
9
42
  /**
10
43
  * This function gives copies of the procedures with the effects in their metadata. A procedure
11
44
  * that declares its own effects keeps them.
@@ -1 +1 @@
1
- {"version":3,"file":"effects.js","sourceRoot":"","sources":["../../src/procedures/effects.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,kGAAkG;AAClG,MAAM,CAAC,MAAM,YAAY,GAAY,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE5G,wFAAwF;AACxF,MAAM,CAAC,MAAM,qBAAqB,GAAY,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE/H;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAyB,OAAgB,EAAE,UAAwB;IAC5F,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjC,SAAS,CAAC,QAA8C,EAAE,OAAO,KAAK,SAAS;QAC9E,CAAC,CAAC,SAAS;QACX,CAAC,CAAE,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAQ,CAC1E,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"effects.js","sourceRoot":"","sources":["../../src/procedures/effects.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,kGAAkG;AAClG,MAAM,CAAC,MAAM,YAAY,GAAY,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE5G,wFAAwF;AACxF,MAAM,CAAC,MAAM,qBAAqB,GAAY,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAE/H;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,mBAAmB,CAAC;AAEjE,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;AACjF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA6E;IAC7G,MAAM,QAAQ,GAAG,MAAM,IAAI,UAAU,IAAI,MAAM,CAAC,CAAC,CAAE,MAAiC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACvG,MAAM,KAAK,GAAI,QAAsD,EAAE,eAAe,CAAC;IACvF,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAClE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAgC,CAAC;IACpF,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;QAClC,GAAG,CAAC,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,OAAO,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAyB,OAAgB,EAAE,UAAwB;IAC5F,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACjC,SAAS,CAAC,QAA8C,EAAE,OAAO,KAAK,SAAS;QAC9E,CAAC,CAAC,SAAS;QACX,CAAC,CAAE,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAQ,CAC1E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Idempotency of calls (roadmap R1).
3
+ *
4
+ * The retry middleware gives each call one idempotency key, and each try of the call sends the
5
+ * same key. `ProcedureServer` keeps the result of a keyed call to a procedure that is not
6
+ * repeatable. A second try with the same key gets that result, and the handler does not run
7
+ * again. So a retry cannot do a write two times.
8
+ */
9
+ import type { Method } from "../client/types.js";
10
+ import type { AnyProcedure, Effects, ProcedurePath } from "./types.js";
11
+ import { type Duration } from "../duration.js";
12
+ /** The metadata key of the idempotency key of a call. Each try of one call sends the same key. */
13
+ export declare const IDEMPOTENCY_KEY_METADATA = "idempotency-key";
14
+ /** The longest idempotency key that a server accepts. A longer key is ignored. */
15
+ export declare const MAX_IDEMPOTENCY_KEY_LENGTH = 200;
16
+ /**
17
+ * True when a second call with the same input changes nothing more: the procedure is idempotent,
18
+ * or it changes nothing (`writes: []`). Undeclared effects are not repeatable.
19
+ */
20
+ export declare function isRepeatable(effects: Effects | undefined): boolean;
21
+ /**
22
+ * This function gives the `idempotent` option of the retry middleware from the procedures that
23
+ * the client knows: true for a repeatable procedure, false for another one, and undefined for a
24
+ * path that the registry does not have.
25
+ */
26
+ export declare function idempotentIn(registry: {
27
+ get(path: ProcedurePath): AnyProcedure | undefined;
28
+ }): (method: Method) => boolean | undefined;
29
+ /**
30
+ * This function gives the effects of the procedures that the client knows, by method: the
31
+ * `effects` option of the cache middleware (roadmap R13). A path that the registry does not have
32
+ * gives undefined.
33
+ */
34
+ export declare function effectsIn(registry: {
35
+ get(path: ProcedurePath): AnyProcedure | undefined;
36
+ }): (method: Method) => Effects | undefined;
37
+ /** This function makes a new idempotency key: a random UUID. */
38
+ export declare function newIdempotencyKey(): string;
39
+ /** The idempotency key of a call, from its metadata, or undefined. */
40
+ export declare function idempotencyKeyOf(metadata: Record<string, unknown> | undefined): string | undefined;
41
+ /** The options of the idempotency cache of a server. */
42
+ export interface IdempotencyOptions {
43
+ /** How long the server keeps a result after the call ends. The default is 10 minutes. */
44
+ readonly ttl?: Duration;
45
+ /** The most results that the server keeps. The oldest finished result goes first. The default is 1000. */
46
+ readonly maxEntries?: number;
47
+ /** The clock of the cache, in milliseconds. The default is `Date.now`. */
48
+ readonly now?: () => number;
49
+ }
50
+ /**
51
+ * The results of keyed calls. The first call with a key runs. A call with the same key while the
52
+ * first runs waits for it. A later call gets the same result until the time to live ends.
53
+ */
54
+ export declare class IdempotencyCache<T> {
55
+ private readonly entries;
56
+ private readonly ttlMs;
57
+ private readonly maxEntries;
58
+ private readonly now;
59
+ constructor(options?: IdempotencyOptions);
60
+ /** The number of results and calls that the cache holds. */
61
+ get size(): number;
62
+ /**
63
+ * The result of the call with this key. `run` starts only for the first call. `keep` tells if
64
+ * the cache keeps a result: a result that is not kept lets the next call with the key run again.
65
+ */
66
+ run(key: string, run: () => Promise<T>, keep: (result: T) => boolean): {
67
+ result: Promise<T>;
68
+ first: boolean;
69
+ };
70
+ /** This function removes the expired results, and the oldest finished results above the limit. */
71
+ private evict;
72
+ }
73
+ //# sourceMappingURL=idempotency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency.d.ts","sourceRoot":"","sources":["../../src/procedures/idempotency.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK3D,kGAAkG;AAClG,eAAO,MAAM,wBAAwB,oBAAoB,CAAC;AAE1D,kFAAkF;AAClF,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAIlE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE;IAAE,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,GAAG,SAAS,CAAA;CAAE,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAOtI;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE;IAAE,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,YAAY,GAAG,SAAS,CAAA;CAAE,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,SAAS,CAKnI;AAED,gEAAgE;AAChE,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGlG;AAED,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;IACxB,0GAA0G;IAC1G,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAQD;;;GAGG;AACH,qBAAa,gBAAgB,CAAC,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IAEnC,YAAY,OAAO,GAAE,kBAAuB,EAI3C;IAED,4DAA4D;IAC5D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,GAAG;QAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAoB5G;IAED,kGAAkG;IAClG,OAAO,CAAC,KAAK;CAYd"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Idempotency of calls (roadmap R1).
3
+ *
4
+ * The retry middleware gives each call one idempotency key, and each try of the call sends the
5
+ * same key. `ProcedureServer` keeps the result of a keyed call to a procedure that is not
6
+ * repeatable. A second try with the same key gets that result, and the handler does not run
7
+ * again. So a retry cannot do a write two times.
8
+ */
9
+ import { methodToPath } from "../server/method.js";
10
+ import { optionalMs } from "../duration.js";
11
+ import { TIMER_DEFAULTS } from "../timers.js";
12
+ // This file imports no module of the invocation, so the retry middleware stays small in a browser
13
+ /** The metadata key of the idempotency key of a call. Each try of one call sends the same key. */
14
+ export const IDEMPOTENCY_KEY_METADATA = "idempotency-key";
15
+ /** The longest idempotency key that a server accepts. A longer key is ignored. */
16
+ export const MAX_IDEMPOTENCY_KEY_LENGTH = 200;
17
+ /**
18
+ * True when a second call with the same input changes nothing more: the procedure is idempotent,
19
+ * or it changes nothing (`writes: []`). Undeclared effects are not repeatable.
20
+ */
21
+ export function isRepeatable(effects) {
22
+ if (effects === undefined)
23
+ return false;
24
+ if (effects.idempotent === true)
25
+ return true;
26
+ return effects.writes !== undefined && effects.writes.length === 0;
27
+ }
28
+ /**
29
+ * This function gives the `idempotent` option of the retry middleware from the procedures that
30
+ * the client knows: true for a repeatable procedure, false for another one, and undefined for a
31
+ * path that the registry does not have.
32
+ */
33
+ export function idempotentIn(registry) {
34
+ return (method) => {
35
+ const procedure = registry.get(methodToPath(method));
36
+ if (procedure === undefined)
37
+ return undefined;
38
+ const effects = procedure.metadata?.effects;
39
+ return isRepeatable(effects !== null && typeof effects === "object" ? effects : undefined);
40
+ };
41
+ }
42
+ /**
43
+ * This function gives the effects of the procedures that the client knows, by method: the
44
+ * `effects` option of the cache middleware (roadmap R13). A path that the registry does not have
45
+ * gives undefined.
46
+ */
47
+ export function effectsIn(registry) {
48
+ return (method) => {
49
+ const effects = registry.get(methodToPath(method))?.metadata?.effects;
50
+ return effects !== null && typeof effects === "object" ? effects : undefined;
51
+ };
52
+ }
53
+ /** This function makes a new idempotency key: a random UUID. */
54
+ export function newIdempotencyKey() {
55
+ const random = globalThis.crypto?.randomUUID;
56
+ if (random)
57
+ return random.call(globalThis.crypto);
58
+ // An older runtime without randomUUID: 128 random bits from Math.random
59
+ let key = "";
60
+ for (let index = 0; index < 4; index++)
61
+ key += Math.floor(Math.random() * 0x100000000).toString(16).padStart(8, "0");
62
+ return key;
63
+ }
64
+ /** The idempotency key of a call, from its metadata, or undefined. */
65
+ export function idempotencyKeyOf(metadata) {
66
+ const key = metadata?.[IDEMPOTENCY_KEY_METADATA];
67
+ return typeof key === "string" && key.length > 0 && key.length <= MAX_IDEMPOTENCY_KEY_LENGTH ? key : undefined;
68
+ }
69
+ /**
70
+ * The results of keyed calls. The first call with a key runs. A call with the same key while the
71
+ * first runs waits for it. A later call gets the same result until the time to live ends.
72
+ */
73
+ export class IdempotencyCache {
74
+ entries = new Map();
75
+ ttlMs;
76
+ maxEntries;
77
+ now;
78
+ constructor(options = {}) {
79
+ this.ttlMs = optionalMs(options.ttl, "ttl") ?? TIMER_DEFAULTS.idempotency.ttlMs;
80
+ this.maxEntries = options.maxEntries ?? 1000;
81
+ this.now = options.now ?? Date.now;
82
+ }
83
+ /** The number of results and calls that the cache holds. */
84
+ get size() {
85
+ return this.entries.size;
86
+ }
87
+ /**
88
+ * The result of the call with this key. `run` starts only for the first call. `keep` tells if
89
+ * the cache keeps a result: a result that is not kept lets the next call with the key run again.
90
+ */
91
+ run(key, run, keep) {
92
+ this.evict();
93
+ const existing = this.entries.get(key);
94
+ if (existing)
95
+ return { result: existing.done, first: false };
96
+ const entry = {
97
+ done: run().then((result) => {
98
+ if (keep(result))
99
+ entry.settledAt = this.now();
100
+ else if (this.entries.get(key) === entry)
101
+ this.entries.delete(key);
102
+ return result;
103
+ }, (error) => {
104
+ if (this.entries.get(key) === entry)
105
+ this.entries.delete(key);
106
+ throw error;
107
+ }),
108
+ settledAt: undefined,
109
+ };
110
+ this.entries.set(key, entry);
111
+ return { result: entry.done, first: true };
112
+ }
113
+ /** This function removes the expired results, and the oldest finished results above the limit. */
114
+ evict() {
115
+ const now = this.now();
116
+ for (const [key, entry] of this.entries) {
117
+ if (entry.settledAt !== undefined && now - entry.settledAt >= this.ttlMs)
118
+ this.entries.delete(key);
119
+ }
120
+ if (this.entries.size < this.maxEntries)
121
+ return;
122
+ // A Map keeps the order of insertion, so the first finished entries are the oldest
123
+ for (const [key, entry] of this.entries) {
124
+ if (this.entries.size < this.maxEntries)
125
+ break;
126
+ if (entry.settledAt !== undefined)
127
+ this.entries.delete(key);
128
+ }
129
+ }
130
+ }
131
+ //# sourceMappingURL=idempotency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../src/procedures/idempotency.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,17 @@
7
7
  export type { ProcedurePath, ProcedureMetadata, RepositoryProvider, ProcedureContext, ProcedureHandler, Procedure, AnyProcedure, ProcedureResult, ProcedureError, InferProcedureInput, InferProcedureOutput, InferProcedureMetadata, RegistryEventType, RegistryListener, ProcedureModule, RegistrationOptions, ProcedureRegistryLike, Effects, PermittedEffects, Register, ClearanceOf, ResourcesOf, Capability, CapabilityRequest, ClearanceOrder, NestedCallOptions, } from "./types.js";
8
8
  export { pathToKey, keyToPath } from "./types.js";
9
9
  export { STANDARD_RESOURCES, UNLIMITED_CAPABILITY, ladder, effectsOf, isReadOnly, isDestructive, isOpenWorld, toolHints, narrowCapability, capabilityRefusal, examinesNestedCall, explainInvocation, checkEffects, } from "./capability.js";
10
- export { PURE_EFFECTS, REGISTRY_READ_EFFECTS, withEffects } from "./effects.js";
10
+ export { PURE_EFFECTS, REGISTRY_READ_EFFECTS, withEffects, INFERRED_EFFECTS_METADATA_KEY, inferredEffectsOf, effectsValue } from "./effects.js";
11
+ export { MANIFEST_FORMAT, describeProcedure as describeProcedureEntry, describeRegistry, exposedProcedures, hashOf } from "./manifest.js";
12
+ export type { ProcedureEntry, ProcedureManifest, CliDescription, DescribeOptions, DescribeRegistryOptions } from "./manifest.js";
13
+ export { IDEMPOTENCY_KEY_METADATA, MAX_IDEMPOTENCY_KEY_LENGTH, IdempotencyCache, idempotencyKeyOf, idempotentIn, effectsIn, isRepeatable, newIdempotencyKey, } from "./idempotency.js";
14
+ export type { IdempotencyOptions } from "./idempotency.js";
11
15
  export type { ToolHints, CapabilityRefusal, CapabilityRefusalReason, InvocationExplanation, EffectsViolation } from "./capability.js";
12
16
  export { ProcedureRegistry, RegistryError, PROCEDURE_REGISTRY, assertValidPath } from "./registry.js";
13
17
  export { defineProcedure, defineStub, createProcedure, ProcedureBuilder, namespace, validateProcedure, } from "./define.js";
14
18
  export type { ProcedureDefinition, ProcedureStub } from "./define.js";
15
19
  export { createCollectionProcedures } from "./collection/index.js";
16
- export type { CollectionStorage, StorageMetadata } from "./collection/index.js";
20
+ export type { CollectionStorage, StorageChanges, StorageMetadata } from "./collection/index.js";
17
21
  export { registerModule, registerProcedures, createAndRegister, } from "./discovery.js";
18
22
  export { clientModule, defineModule, moduleClosure, registerModules, createRegistry, registerClientProcedures, } from "./module.js";
19
23
  export type { ModuleInput } from "./module.js";
@@ -22,6 +26,6 @@ export type { ProcedureWhen, ProcedureRef, ProcedureRefJson, AnyProcedureRef, Re
22
26
  export { coreProcedures, coreModule, allCoreProcedures, allCoreModules, chainProcedure, parallelProcedure, conditionalProcedure, andProcedure, orProcedure, notProcedure, allProcedure, anyProcedure, noneProcedure, mapProcedure, reduceProcedure, identityProcedure, constantProcedure, throwProcedure, tryCatchProcedure, anySchema, typedAnySchema, zodAdapter, outputSchema, type ZodLikeSchema, } from "./core/index.js";
23
27
  export { validateSchema, validateSchemaAsync, jsonSchemaOf, isStandardSchema, describeIssues, } from "./schema.js";
24
28
  export type { StandardSchemaV1, StandardJSONSchemaConverter, ProcedureSchema, InferSchema, SchemaResult, JsonSchema, JsonSchemaTarget, JsonSchemaSource, } from "./schema.js";
25
- export { defineProcedureProcedure, getProcedureProcedure, listProceduresProcedure, deleteProcedureProcedure, metaProcedures, getRuntimeProcedure, hasRuntimeProcedure, getAllRuntimeProcedures, clearRuntimeProcedures, isRuntimeDefined, runtimeProgramOf, } from "./define-procedure.js";
29
+ export { defineProcedureProcedure, getProcedureProcedure, manifestProcedure, listProceduresProcedure, deleteProcedureProcedure, metaProcedures, getRuntimeProcedure, hasRuntimeProcedure, getAllRuntimeProcedures, clearRuntimeProcedures, isRuntimeDefined, runtimeProgramOf, } from "./define-procedure.js";
26
30
  export type { AggregationDefinition, DefineProcedureInput, DefineProcedureOutput, } from "./define-procedure.js";
27
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/procedures/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/procedures/index.ts"],"names":[],"mappings":"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"}