@relkit/runtime-hono 0.5.4 → 0.5.5

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 (701) hide show
  1. package/dist/agent-active-execution.d.ts +5 -11
  2. package/dist/agent-active-execution.d.ts.map +1 -1
  3. package/dist/agent-active-execution.js +3 -0
  4. package/dist/agent-active-execution.js.map +1 -1
  5. package/dist/agent-active-execution.types.d.ts +14 -0
  6. package/dist/agent-active-execution.types.d.ts.map +1 -0
  7. package/dist/agent-active-execution.types.js +2 -0
  8. package/dist/agent-active-execution.types.js.map +1 -0
  9. package/dist/agent-approval-coordinator.d.ts +17 -6
  10. package/dist/agent-approval-coordinator.d.ts.map +1 -1
  11. package/dist/agent-approval-coordinator.js +56 -53
  12. package/dist/agent-approval-coordinator.js.map +1 -1
  13. package/dist/agent-approval-coordinator.types.d.ts +14 -0
  14. package/dist/agent-approval-coordinator.types.d.ts.map +1 -0
  15. package/dist/agent-approval-coordinator.types.js +2 -0
  16. package/dist/agent-approval-coordinator.types.js.map +1 -0
  17. package/dist/agent-approval-support.d.ts +26 -0
  18. package/dist/agent-approval-support.d.ts.map +1 -0
  19. package/dist/agent-approval-support.js +47 -0
  20. package/dist/agent-approval-support.js.map +1 -0
  21. package/dist/agent-capability-negotiation.d.ts +4 -0
  22. package/dist/agent-capability-negotiation.d.ts.map +1 -1
  23. package/dist/agent-capability-negotiation.js +4 -0
  24. package/dist/agent-capability-negotiation.js.map +1 -1
  25. package/dist/agent-command-validation.d.ts +22 -0
  26. package/dist/agent-command-validation.d.ts.map +1 -0
  27. package/dist/agent-command-validation.js +35 -0
  28. package/dist/agent-command-validation.js.map +1 -0
  29. package/dist/agent-compatibility.d.ts +14 -0
  30. package/dist/agent-compatibility.d.ts.map +1 -1
  31. package/dist/agent-compatibility.js +18 -0
  32. package/dist/agent-compatibility.js.map +1 -1
  33. package/dist/agent-content-sink.d.ts +68 -7
  34. package/dist/agent-content-sink.d.ts.map +1 -1
  35. package/dist/agent-content-sink.js +136 -123
  36. package/dist/agent-content-sink.js.map +1 -1
  37. package/dist/agent-content-sink.types.d.ts +10 -0
  38. package/dist/agent-content-sink.types.d.ts.map +1 -0
  39. package/dist/agent-content-sink.types.js +2 -0
  40. package/dist/agent-content-sink.types.js.map +1 -0
  41. package/dist/agent-control-admission.d.ts +13 -0
  42. package/dist/agent-control-admission.d.ts.map +1 -0
  43. package/dist/agent-control-admission.js +70 -0
  44. package/dist/agent-control-admission.js.map +1 -0
  45. package/dist/agent-control-application.d.ts +32 -0
  46. package/dist/agent-control-application.d.ts.map +1 -0
  47. package/dist/agent-control-application.js +114 -0
  48. package/dist/agent-control-application.js.map +1 -0
  49. package/dist/agent-control-worker.d.ts +43 -2
  50. package/dist/agent-control-worker.d.ts.map +1 -1
  51. package/dist/agent-control-worker.js +39 -104
  52. package/dist/agent-control-worker.js.map +1 -1
  53. package/dist/agent-control-worker.types.d.ts +4 -0
  54. package/dist/agent-control-worker.types.d.ts.map +1 -0
  55. package/dist/agent-control-worker.types.js +2 -0
  56. package/dist/agent-control-worker.types.js.map +1 -0
  57. package/dist/agent-conversation.d.ts +18 -0
  58. package/dist/agent-conversation.d.ts.map +1 -0
  59. package/dist/agent-conversation.js +33 -0
  60. package/dist/agent-conversation.js.map +1 -0
  61. package/dist/agent-follow-up.d.ts +43 -7
  62. package/dist/agent-follow-up.d.ts.map +1 -1
  63. package/dist/agent-follow-up.js +59 -25
  64. package/dist/agent-follow-up.js.map +1 -1
  65. package/dist/agent-follow-up.types.d.ts +10 -0
  66. package/dist/agent-follow-up.types.d.ts.map +1 -0
  67. package/dist/agent-follow-up.types.js +2 -0
  68. package/dist/agent-follow-up.types.js.map +1 -0
  69. package/dist/agent-inspector-projection.d.ts +23 -0
  70. package/dist/agent-inspector-projection.d.ts.map +1 -1
  71. package/dist/agent-inspector-projection.js +39 -0
  72. package/dist/agent-inspector-projection.js.map +1 -1
  73. package/dist/agent-inspector.d.ts +6 -0
  74. package/dist/agent-inspector.d.ts.map +1 -1
  75. package/dist/agent-inspector.js +28 -0
  76. package/dist/agent-inspector.js.map +1 -1
  77. package/dist/agent-journal.d.ts +118 -0
  78. package/dist/agent-journal.d.ts.map +1 -0
  79. package/dist/agent-journal.js +138 -0
  80. package/dist/agent-journal.js.map +1 -0
  81. package/dist/agent-observation.d.ts +32 -0
  82. package/dist/agent-observation.d.ts.map +1 -0
  83. package/dist/agent-observation.js +96 -0
  84. package/dist/agent-observation.js.map +1 -0
  85. package/dist/agent-observation.types.d.ts +16 -0
  86. package/dist/agent-observation.types.d.ts.map +1 -0
  87. package/dist/agent-observation.types.js +2 -0
  88. package/dist/agent-observation.types.js.map +1 -0
  89. package/dist/agent-progress-sink.d.ts +37 -2
  90. package/dist/agent-progress-sink.d.ts.map +1 -1
  91. package/dist/agent-progress-sink.js +81 -46
  92. package/dist/agent-progress-sink.js.map +1 -1
  93. package/dist/agent-progress-sink.types.d.ts +4 -0
  94. package/dist/agent-progress-sink.types.d.ts.map +1 -0
  95. package/dist/agent-progress-sink.types.js +2 -0
  96. package/dist/agent-progress-sink.types.js.map +1 -0
  97. package/dist/agent-protocol-encoding.d.ts +4 -0
  98. package/dist/agent-protocol-encoding.d.ts.map +1 -1
  99. package/dist/agent-protocol-encoding.js +24 -0
  100. package/dist/agent-protocol-encoding.js.map +1 -1
  101. package/dist/agent-protocol-encoding.types.d.ts +6 -0
  102. package/dist/agent-protocol-encoding.types.d.ts.map +1 -0
  103. package/dist/agent-protocol-encoding.types.js +2 -0
  104. package/dist/agent-protocol-encoding.types.js.map +1 -0
  105. package/dist/agent-protocol-frame-state.d.ts +34 -0
  106. package/dist/agent-protocol-frame-state.d.ts.map +1 -1
  107. package/dist/agent-protocol-frame-state.js +51 -0
  108. package/dist/agent-protocol-frame-state.js.map +1 -1
  109. package/dist/agent-protocol-progress.d.ts +7 -5
  110. package/dist/agent-protocol-progress.d.ts.map +1 -1
  111. package/dist/agent-protocol-progress.js +6 -0
  112. package/dist/agent-protocol-progress.js.map +1 -1
  113. package/dist/agent-protocol-progress.types.d.ts +6 -0
  114. package/dist/agent-protocol-progress.types.d.ts.map +1 -0
  115. package/dist/agent-protocol-progress.types.js +2 -0
  116. package/dist/agent-protocol-progress.types.js.map +1 -0
  117. package/dist/agent-protocol-stream.d.ts +13 -50
  118. package/dist/agent-protocol-stream.d.ts.map +1 -1
  119. package/dist/agent-protocol-stream.js +22 -0
  120. package/dist/agent-protocol-stream.js.map +1 -1
  121. package/dist/agent-protocol-stream.types.d.ts +53 -0
  122. package/dist/agent-protocol-stream.types.d.ts.map +1 -0
  123. package/dist/agent-protocol-stream.types.js +2 -0
  124. package/dist/agent-protocol-stream.types.js.map +1 -0
  125. package/dist/agent-protocol-support.d.ts +52 -4
  126. package/dist/agent-protocol-support.d.ts.map +1 -1
  127. package/dist/agent-protocol-support.js +58 -0
  128. package/dist/agent-protocol-support.js.map +1 -1
  129. package/dist/agent-protocol-support.types.d.ts +6 -0
  130. package/dist/agent-protocol-support.types.d.ts.map +1 -0
  131. package/dist/agent-protocol-support.types.js +2 -0
  132. package/dist/agent-protocol-support.types.js.map +1 -0
  133. package/dist/agent-protocol-tool.d.ts +17 -9
  134. package/dist/agent-protocol-tool.d.ts.map +1 -1
  135. package/dist/agent-protocol-tool.js +15 -0
  136. package/dist/agent-protocol-tool.js.map +1 -1
  137. package/dist/agent-protocol-tool.types.d.ts +11 -0
  138. package/dist/agent-protocol-tool.types.d.ts.map +1 -0
  139. package/dist/agent-protocol-tool.types.js +2 -0
  140. package/dist/agent-protocol-tool.types.js.map +1 -0
  141. package/dist/agent-protocol.d.ts +5 -0
  142. package/dist/agent-protocol.d.ts.map +1 -1
  143. package/dist/agent-protocol.js +30 -0
  144. package/dist/agent-protocol.js.map +1 -1
  145. package/dist/agent-reads.d.ts +64 -0
  146. package/dist/agent-reads.d.ts.map +1 -0
  147. package/dist/agent-reads.js +119 -0
  148. package/dist/agent-reads.js.map +1 -0
  149. package/dist/agent-request-validation.d.ts +50 -0
  150. package/dist/agent-request-validation.d.ts.map +1 -0
  151. package/dist/agent-request-validation.js +87 -0
  152. package/dist/agent-request-validation.js.map +1 -0
  153. package/dist/agent-rpc-errors.d.ts +14 -0
  154. package/dist/agent-rpc-errors.d.ts.map +1 -1
  155. package/dist/agent-rpc-errors.js +22 -0
  156. package/dist/agent-rpc-errors.js.map +1 -1
  157. package/dist/agent-rpc-read.d.ts +26 -16
  158. package/dist/agent-rpc-read.d.ts.map +1 -1
  159. package/dist/agent-rpc-read.js +50 -122
  160. package/dist/agent-rpc-read.js.map +1 -1
  161. package/dist/agent-rpc-resume.d.ts +49 -2
  162. package/dist/agent-rpc-resume.d.ts.map +1 -1
  163. package/dist/agent-rpc-resume.js +57 -23
  164. package/dist/agent-rpc-resume.js.map +1 -1
  165. package/dist/agent-rpc-resume.types.d.ts +4 -0
  166. package/dist/agent-rpc-resume.types.d.ts.map +1 -0
  167. package/dist/agent-rpc-resume.types.js +2 -0
  168. package/dist/agent-rpc-resume.types.js.map +1 -0
  169. package/dist/agent-rpc-support.d.ts +60 -23
  170. package/dist/agent-rpc-support.d.ts.map +1 -1
  171. package/dist/agent-rpc-support.js +75 -65
  172. package/dist/agent-rpc-support.js.map +1 -1
  173. package/dist/agent-rpc-support.schemas.d.ts +4 -0
  174. package/dist/agent-rpc-support.schemas.d.ts.map +1 -0
  175. package/dist/agent-rpc-support.schemas.js +4 -0
  176. package/dist/agent-rpc-support.schemas.js.map +1 -0
  177. package/dist/agent-rpc-support.types.d.ts +18 -0
  178. package/dist/agent-rpc-support.types.d.ts.map +1 -0
  179. package/dist/agent-rpc-support.types.js +2 -0
  180. package/dist/agent-rpc-support.types.js.map +1 -0
  181. package/dist/agent-rpc-worker.d.ts +43 -2
  182. package/dist/agent-rpc-worker.d.ts.map +1 -1
  183. package/dist/agent-rpc-worker.js +120 -117
  184. package/dist/agent-rpc-worker.js.map +1 -1
  185. package/dist/agent-rpc-worker.types.d.ts +4 -0
  186. package/dist/agent-rpc-worker.types.d.ts.map +1 -0
  187. package/dist/agent-rpc-worker.types.js +2 -0
  188. package/dist/agent-rpc-worker.types.js.map +1 -0
  189. package/dist/agent-rpc-write.d.ts +25 -0
  190. package/dist/agent-rpc-write.d.ts.map +1 -1
  191. package/dist/agent-rpc-write.js +34 -105
  192. package/dist/agent-rpc-write.js.map +1 -1
  193. package/dist/agent-rpc.d.ts +4 -0
  194. package/dist/agent-rpc.d.ts.map +1 -1
  195. package/dist/agent-rpc.js +10 -0
  196. package/dist/agent-rpc.js.map +1 -1
  197. package/dist/agent-run-admission.d.ts +13 -0
  198. package/dist/agent-run-admission.d.ts.map +1 -0
  199. package/dist/agent-run-admission.js +60 -0
  200. package/dist/agent-run-admission.js.map +1 -0
  201. package/dist/agent-run-journal.d.ts +41 -3
  202. package/dist/agent-run-journal.d.ts.map +1 -1
  203. package/dist/agent-run-journal.js +63 -81
  204. package/dist/agent-run-journal.js.map +1 -1
  205. package/dist/agent-run-journal.types.d.ts +4 -0
  206. package/dist/agent-run-journal.types.d.ts.map +1 -0
  207. package/dist/agent-run-journal.types.js +2 -0
  208. package/dist/agent-run-journal.types.js.map +1 -0
  209. package/dist/agent-run-supervision.d.ts +20 -0
  210. package/dist/agent-run-supervision.d.ts.map +1 -0
  211. package/dist/agent-run-supervision.js +42 -0
  212. package/dist/agent-run-supervision.js.map +1 -0
  213. package/dist/agent-run-supervision.types.d.ts +7 -0
  214. package/dist/agent-run-supervision.types.d.ts.map +1 -0
  215. package/dist/agent-run-supervision.types.js +2 -0
  216. package/dist/agent-run-supervision.types.js.map +1 -0
  217. package/dist/agent-run-tasks.d.ts +35 -1
  218. package/dist/agent-run-tasks.d.ts.map +1 -1
  219. package/dist/agent-run-tasks.js +72 -4
  220. package/dist/agent-run-tasks.js.map +1 -1
  221. package/dist/agent-run-tasks.types.d.ts +5 -0
  222. package/dist/agent-run-tasks.types.d.ts.map +1 -0
  223. package/dist/agent-run-tasks.types.js +2 -0
  224. package/dist/agent-run-tasks.types.js.map +1 -0
  225. package/dist/agent-runtime.d.ts +1 -16
  226. package/dist/agent-runtime.d.ts.map +1 -1
  227. package/dist/agent-runtime.types.d.ts +18 -0
  228. package/dist/agent-runtime.types.d.ts.map +1 -0
  229. package/dist/agent-runtime.types.js +2 -0
  230. package/dist/agent-runtime.types.js.map +1 -0
  231. package/dist/agent-tool-content.d.ts +17 -0
  232. package/dist/agent-tool-content.d.ts.map +1 -0
  233. package/dist/agent-tool-content.js +61 -0
  234. package/dist/agent-tool-content.js.map +1 -0
  235. package/dist/api-docs.d.ts +8 -13
  236. package/dist/api-docs.d.ts.map +1 -1
  237. package/dist/api-docs.js +38 -2
  238. package/dist/api-docs.js.map +1 -1
  239. package/dist/api-docs.types.d.ts +14 -0
  240. package/dist/api-docs.types.d.ts.map +1 -0
  241. package/dist/api-docs.types.js +2 -0
  242. package/dist/api-docs.types.js.map +1 -0
  243. package/dist/auth.d.ts +26 -15
  244. package/dist/auth.d.ts.map +1 -1
  245. package/dist/auth.js +46 -4
  246. package/dist/auth.js.map +1 -1
  247. package/dist/auth.types.d.ts +20 -0
  248. package/dist/auth.types.d.ts.map +1 -0
  249. package/dist/auth.types.js +2 -0
  250. package/dist/auth.types.js.map +1 -0
  251. package/dist/client-authorization.d.ts +22 -0
  252. package/dist/client-authorization.d.ts.map +1 -1
  253. package/dist/client-authorization.js +26 -12
  254. package/dist/client-authorization.js.map +1 -1
  255. package/dist/client-contract.d.ts +8 -4
  256. package/dist/client-contract.d.ts.map +1 -1
  257. package/dist/client-contract.js +6 -0
  258. package/dist/client-contract.js.map +1 -1
  259. package/dist/client-contract.types.d.ts +8 -0
  260. package/dist/client-contract.types.d.ts.map +1 -0
  261. package/dist/client-contract.types.js +2 -0
  262. package/dist/client-contract.types.js.map +1 -0
  263. package/dist/client-identity.d.ts +39 -15
  264. package/dist/client-identity.d.ts.map +1 -1
  265. package/dist/client-identity.js +50 -4
  266. package/dist/client-identity.js.map +1 -1
  267. package/dist/client-identity.types.d.ts +19 -0
  268. package/dist/client-identity.types.d.ts.map +1 -0
  269. package/dist/client-identity.types.js +2 -0
  270. package/dist/client-identity.types.js.map +1 -0
  271. package/dist/control-plane.d.ts +4 -0
  272. package/dist/control-plane.d.ts.map +1 -1
  273. package/dist/control-plane.js +4 -0
  274. package/dist/control-plane.js.map +1 -1
  275. package/dist/create-app.d.ts +11 -20
  276. package/dist/create-app.d.ts.map +1 -1
  277. package/dist/create-app.js +25 -8
  278. package/dist/create-app.js.map +1 -1
  279. package/dist/create-app.types.d.ts +21 -0
  280. package/dist/create-app.types.d.ts.map +1 -0
  281. package/dist/create-app.types.js +2 -0
  282. package/dist/create-app.types.js.map +1 -0
  283. package/dist/http-effect.d.ts +43 -0
  284. package/dist/http-effect.d.ts.map +1 -0
  285. package/dist/http-effect.js +67 -0
  286. package/dist/http-effect.js.map +1 -0
  287. package/dist/http-invocation.d.ts +22 -0
  288. package/dist/http-invocation.d.ts.map +1 -0
  289. package/dist/http-invocation.js +44 -0
  290. package/dist/http-invocation.js.map +1 -0
  291. package/dist/http-logging.d.ts +23 -0
  292. package/dist/http-logging.d.ts.map +1 -0
  293. package/dist/http-logging.js +69 -0
  294. package/dist/http-logging.js.map +1 -0
  295. package/dist/http-logging.types.d.ts +8 -0
  296. package/dist/http-logging.types.d.ts.map +1 -0
  297. package/dist/http-logging.types.js +2 -0
  298. package/dist/http-logging.types.js.map +1 -0
  299. package/dist/http-response.d.ts +22 -0
  300. package/dist/http-response.d.ts.map +1 -1
  301. package/dist/http-response.js +55 -8
  302. package/dist/http-response.js.map +1 -1
  303. package/dist/http-span-record.d.ts +5 -0
  304. package/dist/http-span-record.d.ts.map +1 -1
  305. package/dist/http-span-record.js +5 -0
  306. package/dist/http-span-record.js.map +1 -1
  307. package/dist/http-span.d.ts +18 -0
  308. package/dist/http-span.d.ts.map +1 -1
  309. package/dist/http-span.js +37 -3
  310. package/dist/http-span.js.map +1 -1
  311. package/dist/http-stream-observation.d.ts +13 -0
  312. package/dist/http-stream-observation.d.ts.map +1 -0
  313. package/dist/http-stream-observation.js +15 -0
  314. package/dist/http-stream-observation.js.map +1 -0
  315. package/dist/http-validation.d.ts +12 -0
  316. package/dist/http-validation.d.ts.map +1 -0
  317. package/dist/http-validation.js +17 -0
  318. package/dist/http-validation.js.map +1 -0
  319. package/dist/internal-endpoint-paths.d.ts +3 -0
  320. package/dist/internal-endpoint-paths.d.ts.map +1 -1
  321. package/dist/internal-endpoint-paths.js +3 -0
  322. package/dist/internal-endpoint-paths.js.map +1 -1
  323. package/dist/internal-endpoint-query.d.ts +18 -0
  324. package/dist/internal-endpoint-query.d.ts.map +1 -0
  325. package/dist/internal-endpoint-query.js +88 -0
  326. package/dist/internal-endpoint-query.js.map +1 -0
  327. package/dist/internal-endpoints-utils.d.ts +39 -4
  328. package/dist/internal-endpoints-utils.d.ts.map +1 -1
  329. package/dist/internal-endpoints-utils.js +48 -52
  330. package/dist/internal-endpoints-utils.js.map +1 -1
  331. package/dist/internal-endpoints.d.ts +11 -46
  332. package/dist/internal-endpoints.d.ts.map +1 -1
  333. package/dist/internal-endpoints.js +25 -2
  334. package/dist/internal-endpoints.js.map +1 -1
  335. package/dist/internal-endpoints.types.d.ts +57 -0
  336. package/dist/internal-endpoints.types.d.ts.map +1 -0
  337. package/dist/internal-endpoints.types.js +2 -0
  338. package/dist/internal-endpoints.types.js.map +1 -0
  339. package/dist/jobs/authorization.d.ts +22 -8
  340. package/dist/jobs/authorization.d.ts.map +1 -1
  341. package/dist/jobs/authorization.js +29 -16
  342. package/dist/jobs/authorization.js.map +1 -1
  343. package/dist/jobs/authorization.types.d.ts +9 -0
  344. package/dist/jobs/authorization.types.d.ts.map +1 -0
  345. package/dist/jobs/authorization.types.js +2 -0
  346. package/dist/jobs/authorization.types.js.map +1 -0
  347. package/dist/jobs/common.d.ts +54 -3
  348. package/dist/jobs/common.d.ts.map +1 -1
  349. package/dist/jobs/common.js +63 -23
  350. package/dist/jobs/common.js.map +1 -1
  351. package/dist/jobs/common.schemas.d.ts +6 -0
  352. package/dist/jobs/common.schemas.d.ts.map +1 -0
  353. package/dist/jobs/common.schemas.js +41 -0
  354. package/dist/jobs/common.schemas.js.map +1 -0
  355. package/dist/jobs/cursors.d.ts +38 -0
  356. package/dist/jobs/cursors.d.ts.map +1 -1
  357. package/dist/jobs/cursors.js +50 -0
  358. package/dist/jobs/cursors.js.map +1 -1
  359. package/dist/jobs/handlers-mutations-cancel.d.ts +15 -0
  360. package/dist/jobs/handlers-mutations-cancel.d.ts.map +1 -0
  361. package/dist/jobs/handlers-mutations-cancel.js +49 -0
  362. package/dist/jobs/handlers-mutations-cancel.js.map +1 -0
  363. package/dist/jobs/handlers-mutations-retry.d.ts +14 -0
  364. package/dist/jobs/handlers-mutations-retry.d.ts.map +1 -0
  365. package/dist/jobs/handlers-mutations-retry.js +37 -0
  366. package/dist/jobs/handlers-mutations-retry.js.map +1 -0
  367. package/dist/jobs/handlers-mutations-trigger.d.ts +14 -0
  368. package/dist/jobs/handlers-mutations-trigger.d.ts.map +1 -0
  369. package/dist/jobs/handlers-mutations-trigger.js +33 -0
  370. package/dist/jobs/handlers-mutations-trigger.js.map +1 -0
  371. package/dist/jobs/handlers-mutations.d.ts +33 -0
  372. package/dist/jobs/handlers-mutations.d.ts.map +1 -1
  373. package/dist/jobs/handlers-mutations.js +53 -69
  374. package/dist/jobs/handlers-mutations.js.map +1 -1
  375. package/dist/jobs/handlers-mutations.types.d.ts +10 -0
  376. package/dist/jobs/handlers-mutations.types.d.ts.map +1 -0
  377. package/dist/jobs/handlers-mutations.types.js +2 -0
  378. package/dist/jobs/handlers-mutations.types.js.map +1 -0
  379. package/dist/jobs/handlers-read-get.d.ts +14 -0
  380. package/dist/jobs/handlers-read-get.d.ts.map +1 -0
  381. package/dist/jobs/handlers-read-get.js +33 -0
  382. package/dist/jobs/handlers-read-get.js.map +1 -0
  383. package/dist/jobs/handlers-read-list.d.ts +14 -0
  384. package/dist/jobs/handlers-read-list.d.ts.map +1 -0
  385. package/dist/jobs/handlers-read-list.js +42 -0
  386. package/dist/jobs/handlers-read-list.js.map +1 -0
  387. package/dist/jobs/handlers-read-watch.d.ts +15 -0
  388. package/dist/jobs/handlers-read-watch.d.ts.map +1 -0
  389. package/dist/jobs/handlers-read-watch.js +39 -0
  390. package/dist/jobs/handlers-read-watch.js.map +1 -0
  391. package/dist/jobs/handlers-read.d.ts +33 -0
  392. package/dist/jobs/handlers-read.d.ts.map +1 -1
  393. package/dist/jobs/handlers-read.js +53 -66
  394. package/dist/jobs/handlers-read.js.map +1 -1
  395. package/dist/jobs/handlers-read.types.d.ts +10 -0
  396. package/dist/jobs/handlers-read.types.d.ts.map +1 -0
  397. package/dist/jobs/handlers-read.types.js +2 -0
  398. package/dist/jobs/handlers-read.types.js.map +1 -0
  399. package/dist/jobs/handlers-stream.d.ts +28 -0
  400. package/dist/jobs/handlers-stream.d.ts.map +1 -1
  401. package/dist/jobs/handlers-stream.js +77 -31
  402. package/dist/jobs/handlers-stream.js.map +1 -1
  403. package/dist/jobs/handlers-validation.d.ts +16 -0
  404. package/dist/jobs/handlers-validation.d.ts.map +1 -1
  405. package/dist/jobs/handlers-validation.js +21 -0
  406. package/dist/jobs/handlers-validation.js.map +1 -1
  407. package/dist/jobs/projection-stream.d.ts +11 -0
  408. package/dist/jobs/projection-stream.d.ts.map +1 -1
  409. package/dist/jobs/projection-stream.js +37 -0
  410. package/dist/jobs/projection-stream.js.map +1 -1
  411. package/dist/jobs/projection-validation.d.ts +12 -0
  412. package/dist/jobs/projection-validation.d.ts.map +1 -1
  413. package/dist/jobs/projection-validation.js +44 -0
  414. package/dist/jobs/projection-validation.js.map +1 -1
  415. package/dist/jobs/projection.d.ts +29 -0
  416. package/dist/jobs/projection.d.ts.map +1 -1
  417. package/dist/jobs/projection.js +34 -1
  418. package/dist/jobs/projection.js.map +1 -1
  419. package/dist/jobs/rpc.d.ts +4 -0
  420. package/dist/jobs/rpc.d.ts.map +1 -1
  421. package/dist/jobs/rpc.js +51 -1
  422. package/dist/jobs/rpc.js.map +1 -1
  423. package/dist/jobs/runtime.types.d.ts +49 -0
  424. package/dist/jobs/runtime.types.d.ts.map +1 -0
  425. package/dist/jobs/runtime.types.js +2 -0
  426. package/dist/jobs/runtime.types.js.map +1 -0
  427. package/dist/jobs/support-lookups.d.ts +20 -0
  428. package/dist/jobs/support-lookups.d.ts.map +1 -0
  429. package/dist/jobs/support-lookups.js +34 -0
  430. package/dist/jobs/support-lookups.js.map +1 -0
  431. package/dist/jobs/support.d.ts +56 -1
  432. package/dist/jobs/support.d.ts.map +1 -1
  433. package/dist/jobs/support.js +61 -20
  434. package/dist/jobs/support.js.map +1 -1
  435. package/dist/jobs/types.d.ts +17 -42
  436. package/dist/jobs/types.d.ts.map +1 -1
  437. package/dist/jobs/types.js +20 -0
  438. package/dist/jobs/types.js.map +1 -1
  439. package/dist/manifest-validation.d.ts +12 -1
  440. package/dist/manifest-validation.d.ts.map +1 -1
  441. package/dist/manifest-validation.js +17 -0
  442. package/dist/manifest-validation.js.map +1 -1
  443. package/dist/manifest-validation.types.d.ts +3 -0
  444. package/dist/manifest-validation.types.d.ts.map +1 -0
  445. package/dist/manifest-validation.types.js +2 -0
  446. package/dist/manifest-validation.types.js.map +1 -0
  447. package/dist/materialize-routes-utils.d.ts +41 -1
  448. package/dist/materialize-routes-utils.d.ts.map +1 -1
  449. package/dist/materialize-routes-utils.js +80 -22
  450. package/dist/materialize-routes-utils.js.map +1 -1
  451. package/dist/materialize-routes-validation.d.ts +4 -0
  452. package/dist/materialize-routes-validation.d.ts.map +1 -1
  453. package/dist/materialize-routes-validation.js +5 -1
  454. package/dist/materialize-routes-validation.js.map +1 -1
  455. package/dist/materialize-routes.d.ts +9 -100
  456. package/dist/materialize-routes.d.ts.map +1 -1
  457. package/dist/materialize-routes.js +24 -9
  458. package/dist/materialize-routes.js.map +1 -1
  459. package/dist/materialize-routes.types.d.ts +110 -0
  460. package/dist/materialize-routes.types.d.ts.map +1 -0
  461. package/dist/materialize-routes.types.js +2 -0
  462. package/dist/materialize-routes.types.js.map +1 -0
  463. package/dist/mcp.d.ts +39 -4
  464. package/dist/mcp.d.ts.map +1 -1
  465. package/dist/mcp.js +56 -10
  466. package/dist/mcp.js.map +1 -1
  467. package/dist/mcp.types.d.ts +15 -0
  468. package/dist/mcp.types.d.ts.map +1 -0
  469. package/dist/mcp.types.js +2 -0
  470. package/dist/mcp.types.js.map +1 -0
  471. package/dist/middleware-limits.d.ts +4 -0
  472. package/dist/middleware-limits.d.ts.map +1 -1
  473. package/dist/middleware-limits.js +16 -7
  474. package/dist/middleware-limits.js.map +1 -1
  475. package/dist/middleware-utils.d.ts +62 -53
  476. package/dist/middleware-utils.d.ts.map +1 -1
  477. package/dist/middleware-utils.js +72 -1
  478. package/dist/middleware-utils.js.map +1 -1
  479. package/dist/middleware-utils.types.d.ts +59 -0
  480. package/dist/middleware-utils.types.d.ts.map +1 -0
  481. package/dist/middleware-utils.types.js +2 -0
  482. package/dist/middleware-utils.types.js.map +1 -0
  483. package/dist/middleware.d.ts +19 -7
  484. package/dist/middleware.d.ts.map +1 -1
  485. package/dist/middleware.js +28 -6
  486. package/dist/middleware.js.map +1 -1
  487. package/dist/middleware.types.d.ts +10 -0
  488. package/dist/middleware.types.d.ts.map +1 -0
  489. package/dist/middleware.types.js +2 -0
  490. package/dist/middleware.types.js.map +1 -0
  491. package/dist/native-stream.d.ts +18 -1
  492. package/dist/native-stream.d.ts.map +1 -1
  493. package/dist/native-stream.js +55 -4
  494. package/dist/native-stream.js.map +1 -1
  495. package/dist/native-stream.schemas.d.ts +6 -0
  496. package/dist/native-stream.schemas.d.ts.map +1 -0
  497. package/dist/native-stream.schemas.js +6 -0
  498. package/dist/native-stream.schemas.js.map +1 -0
  499. package/dist/native-stream.types.d.ts +4 -0
  500. package/dist/native-stream.types.d.ts.map +1 -0
  501. package/dist/native-stream.types.js +2 -0
  502. package/dist/native-stream.types.js.map +1 -0
  503. package/dist/rate-limit-store.d.ts +37 -11
  504. package/dist/rate-limit-store.d.ts.map +1 -1
  505. package/dist/rate-limit-store.js +108 -43
  506. package/dist/rate-limit-store.js.map +1 -1
  507. package/dist/rate-limit-store.types.d.ts +18 -0
  508. package/dist/rate-limit-store.types.d.ts.map +1 -0
  509. package/dist/rate-limit-store.types.js +2 -0
  510. package/dist/rate-limit-store.types.js.map +1 -0
  511. package/dist/rate-limit-telemetry.d.ts +9 -0
  512. package/dist/rate-limit-telemetry.d.ts.map +1 -1
  513. package/dist/rate-limit-telemetry.js +9 -0
  514. package/dist/rate-limit-telemetry.js.map +1 -1
  515. package/dist/rate-limit.d.ts +8 -7
  516. package/dist/rate-limit.d.ts.map +1 -1
  517. package/dist/rate-limit.js +42 -0
  518. package/dist/rate-limit.js.map +1 -1
  519. package/dist/rate-limit.types.d.ts +9 -0
  520. package/dist/rate-limit.types.d.ts.map +1 -0
  521. package/dist/rate-limit.types.js +2 -0
  522. package/dist/rate-limit.types.js.map +1 -0
  523. package/dist/realtime-observation.d.ts +40 -0
  524. package/dist/realtime-observation.d.ts.map +1 -0
  525. package/dist/realtime-observation.js +147 -0
  526. package/dist/realtime-observation.js.map +1 -0
  527. package/dist/realtime-observation.types.d.ts +20 -0
  528. package/dist/realtime-observation.types.d.ts.map +1 -0
  529. package/dist/realtime-observation.types.js +2 -0
  530. package/dist/realtime-observation.types.js.map +1 -0
  531. package/dist/realtime-presence.d.ts +13 -0
  532. package/dist/realtime-presence.d.ts.map +1 -0
  533. package/dist/realtime-presence.js +24 -0
  534. package/dist/realtime-presence.js.map +1 -0
  535. package/dist/realtime-rpc-support.d.ts +15 -8
  536. package/dist/realtime-rpc-support.d.ts.map +1 -1
  537. package/dist/realtime-rpc-support.js +25 -5
  538. package/dist/realtime-rpc-support.js.map +1 -1
  539. package/dist/realtime-rpc-support.types.d.ts +9 -0
  540. package/dist/realtime-rpc-support.types.d.ts.map +1 -0
  541. package/dist/realtime-rpc-support.types.js +2 -0
  542. package/dist/realtime-rpc-support.types.js.map +1 -0
  543. package/dist/realtime-rpc.d.ts +4 -0
  544. package/dist/realtime-rpc.d.ts.map +1 -1
  545. package/dist/realtime-rpc.js +9 -124
  546. package/dist/realtime-rpc.js.map +1 -1
  547. package/dist/realtime-runtime.d.ts +1 -12
  548. package/dist/realtime-runtime.d.ts.map +1 -1
  549. package/dist/realtime-runtime.types.d.ts +14 -0
  550. package/dist/realtime-runtime.types.d.ts.map +1 -0
  551. package/dist/realtime-runtime.types.js +2 -0
  552. package/dist/realtime-runtime.types.js.map +1 -0
  553. package/dist/request-body-service.d.ts +23 -0
  554. package/dist/request-body-service.d.ts.map +1 -0
  555. package/dist/request-body-service.js +80 -0
  556. package/dist/request-body-service.js.map +1 -0
  557. package/dist/request-body-service.types.d.ts +7 -0
  558. package/dist/request-body-service.types.d.ts.map +1 -0
  559. package/dist/request-body-service.types.js +2 -0
  560. package/dist/request-body-service.types.js.map +1 -0
  561. package/dist/request-context.d.ts +5 -0
  562. package/dist/request-context.d.ts.map +1 -1
  563. package/dist/request-context.js +34 -0
  564. package/dist/request-context.js.map +1 -1
  565. package/dist/request-inference.d.ts +11 -0
  566. package/dist/request-inference.d.ts.map +1 -1
  567. package/dist/request-inference.js +33 -0
  568. package/dist/request-inference.js.map +1 -1
  569. package/dist/request-mapping-body.d.ts +10 -23
  570. package/dist/request-mapping-body.d.ts.map +1 -1
  571. package/dist/request-mapping-body.js +36 -30
  572. package/dist/request-mapping-body.js.map +1 -1
  573. package/dist/request-mapping-body.schemas.d.ts +9 -0
  574. package/dist/request-mapping-body.schemas.d.ts.map +1 -0
  575. package/dist/request-mapping-body.schemas.js +11 -0
  576. package/dist/request-mapping-body.schemas.js.map +1 -0
  577. package/dist/request-mapping-body.types.d.ts +31 -0
  578. package/dist/request-mapping-body.types.d.ts.map +1 -0
  579. package/dist/request-mapping-body.types.js +2 -0
  580. package/dist/request-mapping-body.types.js.map +1 -0
  581. package/dist/request-mapping-fields.d.ts +35 -0
  582. package/dist/request-mapping-fields.d.ts.map +1 -1
  583. package/dist/request-mapping-fields.js +48 -0
  584. package/dist/request-mapping-fields.js.map +1 -1
  585. package/dist/request-mapping-object.d.ts +22 -12
  586. package/dist/request-mapping-object.d.ts.map +1 -1
  587. package/dist/request-mapping-object.js +34 -4
  588. package/dist/request-mapping-object.js.map +1 -1
  589. package/dist/request-mapping-object.types.d.ts +19 -0
  590. package/dist/request-mapping-object.types.d.ts.map +1 -0
  591. package/dist/request-mapping-object.types.js +2 -0
  592. package/dist/request-mapping-object.types.js.map +1 -0
  593. package/dist/request-mapping-sources.d.ts +28 -1
  594. package/dist/request-mapping-sources.d.ts.map +1 -1
  595. package/dist/request-mapping-sources.js +27 -0
  596. package/dist/request-mapping-sources.js.map +1 -1
  597. package/dist/request-mapping-transform.d.ts +8 -0
  598. package/dist/request-mapping-transform.d.ts.map +1 -1
  599. package/dist/request-mapping-transform.js +20 -0
  600. package/dist/request-mapping-transform.js.map +1 -1
  601. package/dist/request-mapping.d.ts +31 -29
  602. package/dist/request-mapping.d.ts.map +1 -1
  603. package/dist/request-mapping.js +55 -15
  604. package/dist/request-mapping.js.map +1 -1
  605. package/dist/request-mapping.types.d.ts +38 -0
  606. package/dist/request-mapping.types.d.ts.map +1 -0
  607. package/dist/request-mapping.types.js +2 -0
  608. package/dist/request-mapping.types.js.map +1 -0
  609. package/dist/request-record-middleware.d.ts +14 -1
  610. package/dist/request-record-middleware.d.ts.map +1 -1
  611. package/dist/request-record-middleware.js +22 -0
  612. package/dist/request-record-middleware.js.map +1 -1
  613. package/dist/request-record-utils.d.ts +25 -2
  614. package/dist/request-record-utils.d.ts.map +1 -1
  615. package/dist/request-record-utils.js +27 -2
  616. package/dist/request-record-utils.js.map +1 -1
  617. package/dist/response-mapping-provider.d.ts +9 -0
  618. package/dist/response-mapping-provider.d.ts.map +1 -0
  619. package/dist/response-mapping-provider.js +15 -0
  620. package/dist/response-mapping-provider.js.map +1 -0
  621. package/dist/response-mapping-utils.d.ts +46 -2
  622. package/dist/response-mapping-utils.d.ts.map +1 -1
  623. package/dist/response-mapping-utils.js +56 -0
  624. package/dist/response-mapping-utils.js.map +1 -1
  625. package/dist/response-mapping-utils.types.d.ts +5 -0
  626. package/dist/response-mapping-utils.types.d.ts.map +1 -0
  627. package/dist/response-mapping-utils.types.js +2 -0
  628. package/dist/response-mapping-utils.types.js.map +1 -0
  629. package/dist/response-mapping-validation.d.ts +13 -0
  630. package/dist/response-mapping-validation.d.ts.map +1 -0
  631. package/dist/response-mapping-validation.js +20 -0
  632. package/dist/response-mapping-validation.js.map +1 -0
  633. package/dist/response-mapping.d.ts +57 -8
  634. package/dist/response-mapping.d.ts.map +1 -1
  635. package/dist/response-mapping.js +114 -72
  636. package/dist/response-mapping.js.map +1 -1
  637. package/dist/response-mapping.types.d.ts +11 -0
  638. package/dist/response-mapping.types.d.ts.map +1 -0
  639. package/dist/response-mapping.types.js +2 -0
  640. package/dist/response-mapping.types.js.map +1 -0
  641. package/dist/route-middleware.d.ts +5 -0
  642. package/dist/route-middleware.d.ts.map +1 -1
  643. package/dist/route-middleware.js +29 -5
  644. package/dist/route-middleware.js.map +1 -1
  645. package/dist/rpc-identity.d.ts +13 -6
  646. package/dist/rpc-identity.d.ts.map +1 -1
  647. package/dist/rpc-identity.js +11 -0
  648. package/dist/rpc-identity.js.map +1 -1
  649. package/dist/rpc-identity.types.d.ts +9 -0
  650. package/dist/rpc-identity.types.d.ts.map +1 -0
  651. package/dist/rpc-identity.types.js +2 -0
  652. package/dist/rpc-identity.types.js.map +1 -0
  653. package/dist/rpc-middleware-trace.d.ts +14 -0
  654. package/dist/rpc-middleware-trace.d.ts.map +1 -1
  655. package/dist/rpc-middleware-trace.js +20 -4
  656. package/dist/rpc-middleware-trace.js.map +1 -1
  657. package/dist/rpc-response.d.ts +12 -0
  658. package/dist/rpc-response.d.ts.map +1 -1
  659. package/dist/rpc-response.js +12 -0
  660. package/dist/rpc-response.js.map +1 -1
  661. package/dist/rpc-route-types.d.ts +26 -1
  662. package/dist/rpc-route-types.d.ts.map +1 -1
  663. package/dist/rpc-route-types.js +37 -0
  664. package/dist/rpc-route-types.js.map +1 -1
  665. package/dist/rpc-websocket.d.ts +6 -1
  666. package/dist/rpc-websocket.d.ts.map +1 -1
  667. package/dist/rpc-websocket.js +20 -1
  668. package/dist/rpc-websocket.js.map +1 -1
  669. package/dist/rpc.d.ts +11 -3
  670. package/dist/rpc.d.ts.map +1 -1
  671. package/dist/rpc.js +43 -6
  672. package/dist/rpc.js.map +1 -1
  673. package/dist/rpc.types.d.ts +5 -0
  674. package/dist/rpc.types.d.ts.map +1 -0
  675. package/dist/rpc.types.js +2 -0
  676. package/dist/rpc.types.js.map +1 -0
  677. package/dist/static-file-service.d.ts +22 -0
  678. package/dist/static-file-service.d.ts.map +1 -0
  679. package/dist/static-file-service.js +43 -0
  680. package/dist/static-file-service.js.map +1 -0
  681. package/dist/static-files.d.ts +7 -3
  682. package/dist/static-files.d.ts.map +1 -1
  683. package/dist/static-files.js +32 -19
  684. package/dist/static-files.js.map +1 -1
  685. package/dist/static-files.types.d.ts +5 -0
  686. package/dist/static-files.types.d.ts.map +1 -0
  687. package/dist/static-files.types.js +2 -0
  688. package/dist/static-files.types.js.map +1 -0
  689. package/dist/transport-security-errors.d.ts +10 -0
  690. package/dist/transport-security-errors.d.ts.map +1 -0
  691. package/dist/transport-security-errors.js +14 -0
  692. package/dist/transport-security-errors.js.map +1 -0
  693. package/dist/transport-security.d.ts +49 -13
  694. package/dist/transport-security.d.ts.map +1 -1
  695. package/dist/transport-security.js +86 -15
  696. package/dist/transport-security.js.map +1 -1
  697. package/dist/transport-security.types.d.ts +11 -0
  698. package/dist/transport-security.types.d.ts.map +1 -0
  699. package/dist/transport-security.types.js +2 -0
  700. package/dist/transport-security.types.js.map +1 -0
  701. package/package.json +19 -16
@@ -0,0 +1,15 @@
1
+ import { toFailureTelemetry } from "@relkit/runtime-effect";
2
+ /** Exposes a sanitized provider message only in development mode.
3
+ * @param failure - Normalized invocation failure whose private cause may contain provider diagnostics.
4
+ * @param mode - Configured runtime exposure or response-validation mode.
5
+ * @returns The sanitized provider cause message in development, otherwise undefined.
6
+ */
7
+ export function developmentProviderMessage(failure, mode) {
8
+ if (failure.kind !== "provider" || mode !== "development")
9
+ return undefined;
10
+ const cause = toFailureTelemetry(failure, { mode: "development" }).internal?.cause;
11
+ if (cause === null || typeof cause !== "object" || !("message" in cause))
12
+ return undefined;
13
+ return typeof cause.message === "string" ? cause.message : undefined;
14
+ }
15
+ //# sourceMappingURL=response-mapping-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-mapping-provider.js","sourceRoot":"","sources":["../src/response-mapping-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA0B,MAAM,wBAAwB,CAAC;AAGpF;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAA0B,EAC1B,IAA8B;IAE9B,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;IACnF,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3F,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC"}
@@ -1,16 +1,60 @@
1
1
  import type { HttpTriggerRegistration } from "@relkit/graph";
2
2
  import type { StandardIssue, StandardSchemaV1 } from "@relkit/schema";
3
3
  import type { RequestMappingIssue } from "./request-mapping.js";
4
- export type ResponseSchemaEntries = Readonly<Record<string, unknown>> | ReadonlyMap<string, unknown>;
5
- export type ResponseDeclaration = Record<string, unknown>;
4
+ import type { ResponseDeclaration, ResponseSchemaEntries } from "./response-mapping-utils.types.js";
5
+ export type { ResponseDeclaration, ResponseSchemaEntries } from "./response-mapping-utils.types.js";
6
+ /** Select an explicit response ID or the route's default success declaration.
7
+ * @param trigger - Compiled HTTP trigger registration.
8
+ * @param id - Optional event or declaration identifier.
9
+ * @returns The matching success/response declaration when available.
10
+ */
6
11
  export declare function findSuccess(trigger: HttpTriggerRegistration, id: string | undefined): ResponseDeclaration | undefined;
12
+ /** Find a declared route error by its public error or response ID.
13
+ * @param trigger - Compiled HTTP trigger registration.
14
+ * @param id - Optional event or declaration identifier.
15
+ * @returns The matching error declaration, or undefined.
16
+ */
7
17
  export declare function findError(trigger: HttpTriggerRegistration, id: string): ResponseDeclaration | undefined;
18
+ /** Find the route's validation-error response declaration.
19
+ * @param trigger - Compiled HTTP trigger registration.
20
+ * @returns The declaration, or undefined when the route uses the fallback.
21
+ */
8
22
  export declare function findValidation(trigger: HttpTriggerRegistration): ResponseDeclaration | undefined;
23
+ /** Find the first response whose response or error ID is requested.
24
+ * @param trigger - Compiled HTTP trigger registration.
25
+ * @param ids - Candidate public response or error IDs.
26
+ * @returns The matching declaration, or undefined.
27
+ */
9
28
  export declare function findResponse(trigger: HttpTriggerRegistration, ids: readonly string[]): ResponseDeclaration | undefined;
29
+ /** Resolve a declaration-local schema before scoped and unscoped manifest entries.
30
+ * @param trigger - Compiled HTTP trigger registration.
31
+ * @param declaration - Selected response declaration.
32
+ * @param entries - Manifest schema entries keyed by response identity.
33
+ * @returns The first supported Standard Schema descriptor.
34
+ */
10
35
  export declare function findSchema(trigger: HttpTriggerRegistration, declaration: ResponseDeclaration | undefined, entries: ResponseSchemaEntries | undefined): StandardSchemaV1 | undefined;
36
+ /** Use a declaration status when it falls in the HTTP status range.
37
+ * @param declaration - Selected response declaration.
38
+ * @param fallback - Status used when no supported declaration status exists.
39
+ * @returns The declared status or the supplied fallback.
40
+ */
11
41
  export declare function responseStatus(declaration: ResponseDeclaration | undefined, fallback: number): number;
42
+ /** Encode JSON output while omitting bodies for HTTP 204 and 304.
43
+ * @param value - Value to validate or project.
44
+ * @param status - HTTP response status.
45
+ * @returns A JSON response, or a bodyless response when required by the status.
46
+ */
12
47
  export declare function jsonResponse(value: unknown, status: number): Response;
48
+ /** Encode a stable error ID as a JSON HTTP response.
49
+ * @param error - Native failure or public error identifier.
50
+ * @param status - HTTP response status.
51
+ * @returns A response containing the error field and requested status.
52
+ */
13
53
  export declare function genericResponse(error: string, status: number): Response;
54
+ /** Bound issue messages and normalize field paths for public validation errors.
55
+ * @param issue - Validation or mapping issue to sanitize.
56
+ * @returns A safe code, message and frozen string/number path.
57
+ */
14
58
  export declare function safeIssue(issue: StandardIssue | RequestMappingIssue): {
15
59
  readonly code: string;
16
60
  readonly message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"response-mapping-utils.d.ts","sourceRoot":"","sources":["../src/response-mapping-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAC/B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACnE,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D,wBAAgB,WAAW,CACzB,OAAO,EAAE,uBAAuB,EAChC,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,mBAAmB,GAAG,SAAS,CAMjC;AACD,wBAAgB,SAAS,CACvB,OAAO,EAAE,uBAAuB,EAChC,EAAE,EAAE,MAAM,GACT,mBAAmB,GAAG,SAAS,CAIjC;AACD,wBAAgB,cAAc,CAAC,OAAO,EAAE,uBAAuB,GAAG,mBAAmB,GAAG,SAAS,CAEhG;AACD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,uBAAuB,EAChC,GAAG,EAAE,SAAS,MAAM,EAAE,GACrB,mBAAmB,GAAG,SAAS,CAMjC;AACD,wBAAgB,UAAU,CACxB,OAAO,EAAE,uBAAuB,EAChC,WAAW,EAAE,mBAAmB,GAAG,SAAS,EAC5C,OAAO,EAAE,qBAAqB,GAAG,SAAS,GACzC,gBAAgB,GAAG,SAAS,CAY9B;AACD,wBAAgB,cAAc,CAC5B,WAAW,EAAE,mBAAmB,GAAG,SAAS,EAC5C,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR;AACD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAMrE;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAEvE;AACD,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,GAAG;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC7C,CAWA"}
1
+ {"version":3,"file":"response-mapping-utils.d.ts","sourceRoot":"","sources":["../src/response-mapping-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AACpG,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAEpG;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,uBAAuB,EAChC,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,mBAAmB,GAAG,SAAS,CAMjC;AACD;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,uBAAuB,EAChC,EAAE,EAAE,MAAM,GACT,mBAAmB,GAAG,SAAS,CAIjC;AACD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,uBAAuB,GAAG,mBAAmB,GAAG,SAAS,CAEhG;AACD;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,uBAAuB,EAChC,GAAG,EAAE,SAAS,MAAM,EAAE,GACrB,mBAAmB,GAAG,SAAS,CAMjC;AACD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,uBAAuB,EAChC,WAAW,EAAE,mBAAmB,GAAG,SAAS,EAC5C,OAAO,EAAE,qBAAqB,GAAG,SAAS,GACzC,gBAAgB,GAAG,SAAS,CAY9B;AACD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,mBAAmB,GAAG,SAAS,EAC5C,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR;AACD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAMrE;AACD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAEvE;AACD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,mBAAmB,GAAG;IACrE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CAC7C,CAWA"}
@@ -1,3 +1,8 @@
1
+ /** Select an explicit response ID or the route's default success declaration.
2
+ * @param trigger - Compiled HTTP trigger registration.
3
+ * @param id - Optional event or declaration identifier.
4
+ * @returns The matching success/response declaration when available.
5
+ */
1
6
  export function findSuccess(trigger, id) {
2
7
  const values = responses(trigger);
3
8
  return id === undefined
@@ -5,16 +10,36 @@ export function findSuccess(trigger, id) {
5
10
  values.find((entry) => entry.kind === "response"))
6
11
  : findResponse(trigger, [id]);
7
12
  }
13
+ /** Find a declared route error by its public error or response ID.
14
+ * @param trigger - Compiled HTTP trigger registration.
15
+ * @param id - Optional event or declaration identifier.
16
+ * @returns The matching error declaration, or undefined.
17
+ */
8
18
  export function findError(trigger, id) {
9
19
  return responses(trigger).find((entry) => entry.kind === "error" && (entry.errorId === id || entry.id === id));
10
20
  }
21
+ /** Find the route's validation-error response declaration.
22
+ * @param trigger - Compiled HTTP trigger registration.
23
+ * @returns The declaration, or undefined when the route uses the fallback.
24
+ */
11
25
  export function findValidation(trigger) {
12
26
  return responses(trigger).find((entry) => entry.kind === "validation-error");
13
27
  }
28
+ /** Find the first response whose response or error ID is requested.
29
+ * @param trigger - Compiled HTTP trigger registration.
30
+ * @param ids - Candidate public response or error IDs.
31
+ * @returns The matching declaration, or undefined.
32
+ */
14
33
  export function findResponse(trigger, ids) {
15
34
  return responses(trigger).find((entry) => (typeof entry.id === "string" && ids.includes(entry.id)) ||
16
35
  (typeof entry.errorId === "string" && ids.includes(entry.errorId)));
17
36
  }
37
+ /** Resolve a declaration-local schema before scoped and unscoped manifest entries.
38
+ * @param trigger - Compiled HTTP trigger registration.
39
+ * @param declaration - Selected response declaration.
40
+ * @param entries - Manifest schema entries keyed by response identity.
41
+ * @returns The first supported Standard Schema descriptor.
42
+ */
18
43
  export function findSchema(trigger, declaration, entries) {
19
44
  const local = standardSchema(declaration?.schema);
20
45
  if (local !== undefined || entries === undefined || declaration === undefined)
@@ -28,6 +53,11 @@ export function findSchema(trigger, declaration, entries) {
28
53
  }
29
54
  return undefined;
30
55
  }
56
+ /** Use a declaration status when it falls in the HTTP status range.
57
+ * @param declaration - Selected response declaration.
58
+ * @param fallback - Status used when no supported declaration status exists.
59
+ * @returns The declared status or the supplied fallback.
60
+ */
31
61
  export function responseStatus(declaration, fallback) {
32
62
  return typeof declaration?.status === "number" &&
33
63
  declaration.status >= 100 &&
@@ -35,6 +65,11 @@ export function responseStatus(declaration, fallback) {
35
65
  ? declaration.status
36
66
  : fallback;
37
67
  }
68
+ /** Encode JSON output while omitting bodies for HTTP 204 and 304.
69
+ * @param value - Value to validate or project.
70
+ * @param status - HTTP response status.
71
+ * @returns A JSON response, or a bodyless response when required by the status.
72
+ */
38
73
  export function jsonResponse(value, status) {
39
74
  if (status === 204 || status === 304)
40
75
  return new Response(null, { status });
@@ -43,9 +78,18 @@ export function jsonResponse(value, status) {
43
78
  headers: { "content-type": "application/json" },
44
79
  });
45
80
  }
81
+ /** Encode a stable error ID as a JSON HTTP response.
82
+ * @param error - Native failure or public error identifier.
83
+ * @param status - HTTP response status.
84
+ * @returns A response containing the error field and requested status.
85
+ */
46
86
  export function genericResponse(error, status) {
47
87
  return jsonResponse({ error }, status);
48
88
  }
89
+ /** Bound issue messages and normalize field paths for public validation errors.
90
+ * @param issue - Validation or mapping issue to sanitize.
91
+ * @returns A safe code, message and frozen string/number path.
92
+ */
49
93
  export function safeIssue(issue) {
50
94
  return {
51
95
  code: "code" in issue ? String(issue.code) : "validation",
@@ -56,9 +100,17 @@ export function safeIssue(issue) {
56
100
  })),
57
101
  };
58
102
  }
103
+ /** Read object response declarations from route configuration.
104
+ * @param trigger - Compiled HTTP trigger registration.
105
+ * @returns Supported response records, or an empty array.
106
+ */
59
107
  function responses(trigger) {
60
108
  return Array.isArray(trigger.config.responses) ? trigger.config.responses.filter(isRecord) : [];
61
109
  }
110
+ /** Recognize a Standard Schema v1 descriptor with a callable validator.
111
+ * @param value - Value to validate or project.
112
+ * @returns The descriptor when valid, otherwise undefined.
113
+ */
62
114
  function standardSchema(value) {
63
115
  if (!isRecord(value) || !isRecord(value["~standard"]))
64
116
  return undefined;
@@ -66,6 +118,10 @@ function standardSchema(value) {
66
118
  ? value
67
119
  : undefined;
68
120
  }
121
+ /** Check whether a value is a non-null object suitable for field inspection.
122
+ * @param value - Value to validate or project.
123
+ * @returns Whether object fields can be inspected.
124
+ */
69
125
  function isRecord(value) {
70
126
  return value !== null && typeof value === "object" && !Array.isArray(value);
71
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"response-mapping-utils.js","sourceRoot":"","sources":["../src/response-mapping-utils.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,WAAW,CACzB,OAAgC,EAChC,EAAsB;IAEtB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,EAAE,KAAK,SAAS;QACrB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACtD,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClC,CAAC;AACD,MAAM,UAAU,SAAS,CACvB,OAAgC,EAChC,EAAU;IAEV,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAC/E,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,cAAc,CAAC,OAAgC;IAC7D,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;AAC/E,CAAC;AACD,MAAM,UAAU,YAAY,CAC1B,OAAgC,EAChC,GAAsB;IAEtB,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5B,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CACrE,CAAC;AACJ,CAAC;AACD,MAAM,UAAU,UAAU,CACxB,OAAgC,EAChC,WAA4C,EAC5C,OAA0C;IAE1C,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5F,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,MAAM,GAAG,cAAc,CAC3B,OAAO,YAAY,GAAG;YACpB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAClB,CAAC,CAAE,OAA6C,CAAC,GAAG,CAAC,CACxD,CAAC;QACF,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,MAAM,UAAU,cAAc,CAC5B,WAA4C,EAC5C,QAAgB;IAEhB,OAAO,OAAO,WAAW,EAAE,MAAM,KAAK,QAAQ;QAC5C,WAAW,CAAC,MAAM,IAAI,GAAG;QACzB,WAAW,CAAC,MAAM,IAAI,GAAG;QACzB,CAAC,CAAC,WAAW,CAAC,MAAM;QACpB,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,MAAc;IACzD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5E,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACzC,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,MAAc;IAC3D,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AACD,MAAM,UAAU,SAAS,CAAC,KAA0C;IAKlE,OAAO;QACL,IAAI,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY;QACzD,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe;QAC1F,IAAI,EAAE,MAAM,CAAC,MAAM,CACjB,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9D,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC,CAAC,CACH;KACF,CAAC;AACJ,CAAC;AACD,SAAS,SAAS,CAAC,OAAgC;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClG,CAAC;AACD,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACxE,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,KAAK,UAAU;QAC1F,CAAC,CAAE,KAAqC;QACxC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AACD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"response-mapping-utils.js","sourceRoot":"","sources":["../src/response-mapping-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** Runtime schemas indexed by response ID or route-ID/response-ID pair. */
2
+ export type ResponseSchemaEntries = Readonly<Record<string, unknown>> | ReadonlyMap<string, unknown>;
3
+ /** Compiled response metadata inspected defensively at the transport boundary. */
4
+ export type ResponseDeclaration = Record<string, unknown>;
5
+ //# sourceMappingURL=response-mapping-utils.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-mapping-utils.types.d.ts","sourceRoot":"","sources":["../src/response-mapping-utils.types.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,MAAM,qBAAqB,GAC/B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnE,kFAAkF;AAClF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=response-mapping-utils.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-mapping-utils.types.js","sourceRoot":"","sources":["../src/response-mapping-utils.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import type { HttpTriggerRegistration } from "@relkit/graph";
2
+ import { Effect } from "effect";
3
+ import { type ResponseDeclaration } from "./response-mapping-utils.js";
4
+ import type { ResponseMappingOptions } from "./response-mapping.types.js";
5
+ /** Validates foreign Standard Schema implementations only outside production mode.
6
+ * @param trigger - Registered route declaration with its target and transport contract.
7
+ * @param declaration - Selected response declaration used to locate its output schema.
8
+ * @param value - Value inspected, validated or projected by this operation.
9
+ * @param options - Application dependencies and configuration for this domain.
10
+ * @returns An Effect yielding whether the schema accepts the value, or true when checking is disabled.
11
+ */
12
+ export declare const responseIsValid: (trigger: HttpTriggerRegistration, declaration: ResponseDeclaration | undefined, value: unknown, options: ResponseMappingOptions) => Effect.Effect<boolean, never, never>;
13
+ //# sourceMappingURL=response-mapping-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-mapping-validation.d.ts","sourceRoot":"","sources":["../src/response-mapping-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,2KAe1B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { validate } from "@relkit/schema";
2
+ import { Effect } from "effect";
3
+ import { httpBoundary } from "./http-effect.js";
4
+ import { findSchema } from "./response-mapping-utils.js";
5
+ /** Validates foreign Standard Schema implementations only outside production mode.
6
+ * @param trigger - Registered route declaration with its target and transport contract.
7
+ * @param declaration - Selected response declaration used to locate its output schema.
8
+ * @param value - Value inspected, validated or projected by this operation.
9
+ * @param options - Application dependencies and configuration for this domain.
10
+ * @returns An Effect yielding whether the schema accepts the value, or true when checking is disabled.
11
+ */
12
+ export const responseIsValid = Effect.fn("ResponseMapping.validate")(function* (trigger, declaration, value, options) {
13
+ if (options.mode === "production")
14
+ return true;
15
+ const schema = findSchema(trigger, declaration, options.responseSchemas);
16
+ if (schema === undefined)
17
+ return true;
18
+ return yield* httpBoundary("response.validate", () => Promise.resolve(validate(schema, value))).pipe(Effect.map((result) => "value" in result), Effect.catch(() => Effect.succeed(false)));
19
+ });
20
+ //# sourceMappingURL=response-mapping-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-mapping-validation.js","sourceRoot":"","sources":["../src/response-mapping-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAA4B,MAAM,6BAA6B,CAAC;AAGnF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,QAAQ,CAAC,EAC5E,OAAgC,EAChC,WAA4C,EAC5C,KAAc,EACd,OAA+B;IAE/B,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACzE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,KAAK,CAAC,CAAC,YAAY,CAAC,mBAAmB,EAAE,GAAG,EAAE,CACnD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAc,CAAC,CAAC,CAClD,CAAC,IAAI,CACJ,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,EACzC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC1C,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,18 +1,67 @@
1
1
  import type { HttpTriggerRegistration } from "@relkit/graph";
2
2
  import { type StandardIssue } from "@relkit/schema";
3
+ import { Context, Effect, Layer } from "effect";
3
4
  import type { RequestMappingIssue } from "./request-mapping.js";
4
- export type ResponseMode = "development" | "test" | "production";
5
+ import type { ResponseMappingOptions } from "./response-mapping.types.js";
5
6
  export type { ResponseSchemaEntries } from "./response-mapping-utils.js";
6
- import type { ResponseSchemaEntries } from "./response-mapping-utils.js";
7
- export interface ResponseMappingOptions {
8
- readonly mode?: ResponseMode;
9
- readonly responseSchemas?: ResponseSchemaEntries;
10
- readonly signal?: AbortSignal;
11
- readonly responseId?: string;
7
+ export type { ResponseMappingOptions, ResponseMode } from "./response-mapping.types.js";
8
+ /** Serializes the declared success response after optional output-schema validation.
9
+ * @param trigger - Registered route declaration with its target and transport contract.
10
+ * @param value - Value inspected, validated or projected by this operation.
11
+ * @param options - Application dependencies and configuration for this domain.
12
+ * @returns An effect yielding the declared success response or a safe output-validation failure.
13
+ */
14
+ declare const success: (trigger: HttpTriggerRegistration, value: unknown, options?: ResponseMappingOptions | undefined) => Effect.Effect<Response, never, never>;
15
+ /** Maps declared failures to their public envelope without exposing native causes.
16
+ * @param trigger - Registered route declaration with its target and transport contract.
17
+ * @param cause - Native failure projected without exposing private exception details.
18
+ * @param options - Application dependencies and configuration for this domain.
19
+ * @returns An effect yielding the declared public error response or a sanitized transport fallback.
20
+ */
21
+ declare const failure: (trigger: HttpTriggerRegistration, cause: unknown, options?: ResponseMappingOptions | undefined) => Effect.Effect<Response, never, never>;
22
+ /** Sanitizes validation issue paths before producing the declared validation response.
23
+ * @param trigger - Registered route declaration with its target and transport contract.
24
+ * @param issues - issues supplied by the caller.
25
+ * @param options - Application dependencies and configuration for this domain.
26
+ * @returns An effect yielding sanitized issues at the declared validation status, normally HTTP 422.
27
+ */
28
+ declare const validation: (trigger: HttpTriggerRegistration, issues: readonly (RequestMappingIssue | StandardIssue)[], options?: ResponseMappingOptions | undefined) => Effect.Effect<Response, never, never>;
29
+ declare const ResponseMapping_base: Context.ServiceClass<ResponseMapping, "@relkit/runtime-hono/ResponseMapping", {
30
+ readonly success: typeof success;
31
+ readonly failure: typeof failure;
32
+ readonly validation: typeof validation;
33
+ }>;
34
+ /** Response construction and validation share one replaceable domain contract. */
35
+ export declare class ResponseMapping extends ResponseMapping_base {
12
36
  }
13
- /** Converts one successful engine result or normalized engine failure to HTTP. */
37
+ /** Live response policy, including safe public failure projection and configured schemas. */
38
+ export declare const ResponseMappingLive: Layer.Layer<ResponseMapping, never, never>;
39
+ /** Converts one successful engine result or normalized engine failure to HTTP.
40
+ * @param trigger - Registered route declaration with its target and transport contract.
41
+ * @param value - Value inspected, validated or projected by this operation.
42
+ * @param options - Application dependencies and configuration for this domain.
43
+ * @returns A Promise for the mapped success or public failure HTTP response.
44
+ */
14
45
  export declare function mapResponse(trigger: HttpTriggerRegistration, value: unknown, options?: ResponseMappingOptions): Promise<Response>;
46
+ /** Executes successful response mapping at the native framework edge.
47
+ * @param trigger - Registered route declaration with its target and transport contract.
48
+ * @param value - Value inspected, validated or projected by this operation.
49
+ * @param options - Application dependencies and configuration for this domain.
50
+ * @returns A Promise resolving the validated public HTTP response.
51
+ */
15
52
  export declare function mapSuccessResponse(trigger: HttpTriggerRegistration, value: unknown, options?: ResponseMappingOptions): Promise<Response>;
53
+ /** Executes public failure mapping at the native framework edge.
54
+ * @param trigger - Registered route declaration with its target and transport contract.
55
+ * @param cause - Native failure projected without exposing private exception details.
56
+ * @param options - Application dependencies and configuration for this domain.
57
+ * @returns A Promise resolving a safe declared failure response.
58
+ */
16
59
  export declare function mapFailureResponse(trigger: HttpTriggerRegistration, cause: unknown, options?: ResponseMappingOptions): Promise<Response>;
60
+ /** Executes request-validation mapping at the native framework edge.
61
+ * @param trigger - Registered route declaration with its target and transport contract.
62
+ * @param issues - issues supplied by the caller.
63
+ * @param options - Application dependencies and configuration for this domain.
64
+ * @returns A Promise resolving the sanitized validation response.
65
+ */
17
66
  export declare function mapInputValidationResponse(trigger: HttpTriggerRegistration, issues: readonly (StandardIssue | RequestMappingIssue)[], options?: ResponseMappingOptions): Promise<Response>;
18
67
  //# sourceMappingURL=response-mapping.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"response-mapping.d.ts","sourceRoot":"","sources":["../src/response-mapping.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAQ7D,OAAO,EAAY,KAAK,aAAa,EAAyB,MAAM,gBAAgB,CAAC;AACrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAchE,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,CAAC;AACjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CACzB,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAInB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAWnB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAyBnB;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,uBAAuB,EAChC,MAAM,EAAE,SAAS,CAAC,aAAa,GAAG,mBAAmB,CAAC,EAAE,EACxD,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAMnB"}
1
+ {"version":3,"file":"response-mapping.d.ts","sourceRoot":"","sources":["../src/response-mapping.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAO7D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAU,MAAM,QAAQ,CAAC;AAExD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAahE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,YAAY,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAExF;;;;;GAKG;AACH,QAAA,MAAM,OAAO,2IAUX,CAAC;AAEH;;;;;GAKG;AACH,QAAA,MAAM,OAAO,2IA8BX,CAAC;AAEH;;;;;GAKG;AACH,QAAA,MAAM,UAAU,qLAUd,CAAC;;sBAMmB,OAAO,OAAO;sBACd,OAAO,OAAO;yBACX,OAAO,UAAU;;AAN1C,kFAAkF;AAClF,qBAAa,eAAgB,SAAQ,oBAOM;CAAG;AAE9C,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,4CAI9B,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAInB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAMnB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,uBAAuB,EAChC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAMnB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,uBAAuB,EAChC,MAAM,EAAE,SAAS,CAAC,aAAa,GAAG,mBAAmB,CAAC,EAAE,EACxD,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAMnB"}
@@ -1,60 +1,127 @@
1
1
  import { InvocationValidationError } from "@relkit/engine";
2
- import { isInvocationFailure, normalizeFailure, toFailureTelemetry, toPublicEnvelope, } from "@relkit/runtime-effect";
3
- import { validate } from "@relkit/schema";
4
- import { findError, findResponse, findSchema, findSuccess, findValidation, genericResponse, jsonResponse, responseStatus, safeIssue, } from "./response-mapping-utils.js";
5
- /** Converts one successful engine result or normalized engine failure to HTTP. */
6
- export function mapResponse(trigger, value, options = {}) {
7
- return isFailure(value)
8
- ? mapFailureResponse(trigger, value, options)
9
- : mapSuccessResponse(trigger, value, options);
10
- }
11
- export async function mapSuccessResponse(trigger, value, options = {}) {
2
+ import { isInvocationFailure, normalizeFailure, toPublicEnvelope, } from "@relkit/runtime-effect";
3
+ import {} from "@relkit/schema";
4
+ import { Context, Effect, Layer, Result } from "effect";
5
+ import { observeHttp, runHttp } from "./http-effect.js";
6
+ import { developmentProviderMessage } from "./response-mapping-provider.js";
7
+ import { findError, findResponse, findSuccess, findValidation, genericResponse, jsonResponse, responseStatus, safeIssue, } from "./response-mapping-utils.js";
8
+ import { responseIsValid } from "./response-mapping-validation.js";
9
+ /** Serializes the declared success response after optional output-schema validation.
10
+ * @param trigger - Registered route declaration with its target and transport contract.
11
+ * @param value - Value inspected, validated or projected by this operation.
12
+ * @param options - Application dependencies and configuration for this domain.
13
+ * @returns An effect yielding the declared success response or a safe output-validation failure.
14
+ */
15
+ const success = Effect.fn("ResponseMapping.success")(function* (trigger, value, options = {}) {
12
16
  const declaration = findSuccess(trigger, options.responseId);
13
17
  if (value instanceof Response)
14
18
  return value;
15
- if (await responseIsValid(trigger, declaration, value, options)) {
16
- try {
17
- return jsonResponse(value, responseStatus(declaration, 200));
18
- }
19
- catch {
20
- return genericResponse("internal-error", 500);
21
- }
22
- }
23
- return genericResponse("internal-error", 500);
24
- }
25
- export async function mapFailureResponse(trigger, cause, options = {}) {
19
+ if (!(yield* responseIsValid(trigger, declaration, value, options)))
20
+ return genericResponse("internal-error", 500);
21
+ return yield* encodeJson(value, responseStatus(declaration, 200));
22
+ });
23
+ /** Maps declared failures to their public envelope without exposing native causes.
24
+ * @param trigger - Registered route declaration with its target and transport contract.
25
+ * @param cause - Native failure projected without exposing private exception details.
26
+ * @param options - Application dependencies and configuration for this domain.
27
+ * @returns An effect yielding the declared public error response or a sanitized transport fallback.
28
+ */
29
+ const failure = Effect.fn("ResponseMapping.failure")(function* (trigger, cause, options = {}) {
26
30
  if (cause instanceof InvocationValidationError && cause.phase === "input")
27
- return mapInputValidationResponse(trigger, cause.issues, options);
31
+ return yield* validation(trigger, cause.issues, options);
28
32
  if (cause instanceof InvocationValidationError && cause.phase === "output")
29
33
  return genericResponse("internal-error", 500);
30
- try {
31
- const failure = normalizeFailure(cause, options.signal === undefined ? {} : { signal: options.signal });
32
- if (failure.kind === "application") {
33
- const declaration = findError(trigger, failure.id);
34
- if (declaration === undefined)
35
- return genericResponse("internal-error", 500);
36
- const body = toPublicEnvelope(failure);
37
- if (!(await responseIsValid(trigger, declaration, failure.data, options)))
38
- return genericResponse("internal-error", 500);
39
- const response = jsonResponse(body, responseStatus(declaration, 500));
40
- if (failure.retry === "later" && failure.afterMs !== undefined)
41
- response.headers.set("Retry-After", String(Math.ceil(failure.afterMs / 1000)));
42
- return response;
43
- }
44
- return genericFailureResponse(trigger, failure, options);
45
- }
46
- catch {
34
+ const normalized = yield* Effect.result(Effect.try({
35
+ try: () => normalizeFailure(cause, options.signal === undefined ? {} : { signal: options.signal }),
36
+ catch: (error) => error,
37
+ }));
38
+ if (Result.isFailure(normalized))
47
39
  return genericResponse("internal-error", 500);
48
- }
49
- }
50
- export async function mapInputValidationResponse(trigger, issues, options = {}) {
40
+ const failure = normalized.success;
41
+ if (failure.kind !== "application")
42
+ return yield* genericFailureResponse(trigger, failure, options);
43
+ const declaration = findError(trigger, failure.id);
44
+ if (declaration === undefined ||
45
+ !(yield* responseIsValid(trigger, declaration, failure.data, options)))
46
+ return genericResponse("internal-error", 500);
47
+ const response = yield* encodeJson(toPublicEnvelope(failure), responseStatus(declaration, 500));
48
+ if (failure.retry === "later" && failure.afterMs !== undefined)
49
+ response.headers.set("Retry-After", String(Math.ceil(failure.afterMs / 1000)));
50
+ return response;
51
+ });
52
+ /** Sanitizes validation issue paths before producing the declared validation response.
53
+ * @param trigger - Registered route declaration with its target and transport contract.
54
+ * @param issues - issues supplied by the caller.
55
+ * @param options - Application dependencies and configuration for this domain.
56
+ * @returns An effect yielding sanitized issues at the declared validation status, normally HTTP 422.
57
+ */
58
+ const validation = Effect.fn("ResponseMapping.validation")(function* (trigger, issues, options = {}) {
51
59
  const body = { error: "validation", issues: issues.map(safeIssue) };
52
60
  const declaration = findValidation(trigger);
53
- return (await responseIsValid(trigger, declaration, body, options))
61
+ return (yield* responseIsValid(trigger, declaration, body, options))
54
62
  ? jsonResponse(body, responseStatus(declaration, 422))
55
63
  : genericResponse("internal-error", 500);
64
+ });
65
+ /** Response construction and validation share one replaceable domain contract. */
66
+ export class ResponseMapping extends Context.Service()("@relkit/runtime-hono/ResponseMapping") {
56
67
  }
57
- async function genericFailureResponse(trigger, failure, options) {
68
+ /** Live response policy, including safe public failure projection and configured schemas. */
69
+ export const ResponseMappingLive = Layer.succeed(ResponseMapping, {
70
+ success: (...args) => observeHttp("response.success", success(...args)),
71
+ failure: (...args) => observeHttp("response.failure", failure(...args)),
72
+ validation: (...args) => observeHttp("response.validation", validation(...args)),
73
+ });
74
+ /** Converts one successful engine result or normalized engine failure to HTTP.
75
+ * @param trigger - Registered route declaration with its target and transport contract.
76
+ * @param value - Value inspected, validated or projected by this operation.
77
+ * @param options - Application dependencies and configuration for this domain.
78
+ * @returns A Promise for the mapped success or public failure HTTP response.
79
+ */
80
+ export function mapResponse(trigger, value, options = {}) {
81
+ return value instanceof Error || isInvocationFailure(value)
82
+ ? mapFailureResponse(trigger, value, options)
83
+ : mapSuccessResponse(trigger, value, options);
84
+ }
85
+ /** Executes successful response mapping at the native framework edge.
86
+ * @param trigger - Registered route declaration with its target and transport contract.
87
+ * @param value - Value inspected, validated or projected by this operation.
88
+ * @param options - Application dependencies and configuration for this domain.
89
+ * @returns A Promise resolving the validated public HTTP response.
90
+ */
91
+ export function mapSuccessResponse(trigger, value, options = {}) {
92
+ return runHttp(Effect.flatMap(ResponseMapping, (service) => service.success(trigger, value, options)).pipe(Effect.provide(ResponseMappingLive)));
93
+ }
94
+ /** Executes public failure mapping at the native framework edge.
95
+ * @param trigger - Registered route declaration with its target and transport contract.
96
+ * @param cause - Native failure projected without exposing private exception details.
97
+ * @param options - Application dependencies and configuration for this domain.
98
+ * @returns A Promise resolving a safe declared failure response.
99
+ */
100
+ export function mapFailureResponse(trigger, cause, options = {}) {
101
+ return runHttp(Effect.flatMap(ResponseMapping, (service) => service.failure(trigger, cause, options)).pipe(Effect.provide(ResponseMappingLive)));
102
+ }
103
+ /** Executes request-validation mapping at the native framework edge.
104
+ * @param trigger - Registered route declaration with its target and transport contract.
105
+ * @param issues - issues supplied by the caller.
106
+ * @param options - Application dependencies and configuration for this domain.
107
+ * @returns A Promise resolving the sanitized validation response.
108
+ */
109
+ export function mapInputValidationResponse(trigger, issues, options = {}) {
110
+ return runHttp(Effect.flatMap(ResponseMapping, (service) => service.validation(trigger, issues, options)).pipe(Effect.provide(ResponseMappingLive)));
111
+ }
112
+ /** Converts a serializable application value; invalid JSON values become safe HTTP failures.
113
+ * @param value - Value inspected, validated or projected by this operation.
114
+ * @param status - HTTP status associated with the observed response or lifecycle event.
115
+ * @returns An effect yielding serialized JSON or a safe HTTP 500 response when serialization fails.
116
+ */
117
+ const encodeJson = Effect.fn("ResponseMapping.encodeJson")((value, status) => Effect.try({ try: () => jsonResponse(value, status), catch: (cause) => cause }).pipe(Effect.catch(() => Effect.succeed(genericResponse("internal-error", 500)))));
118
+ /** Map a non-application failure to its declared response or bounded transport fallback.
119
+ * @param trigger - Route declarations used to select an outcome-specific response.
120
+ * @param failure - Normalized provider, cancellation, timeout or defect failure.
121
+ * @param options - Runtime exposure mode and optional response schemas.
122
+ * @returns An effect yielding a validated public failure response without native cause details.
123
+ */
124
+ const genericFailureResponse = Effect.fn("ResponseMapping.genericFailure")(function* (trigger, failure, options) {
58
125
  const { kind, outcome } = failure;
59
126
  const declaration = findResponse(trigger, [outcome, kind]);
60
127
  const details = {
@@ -68,33 +135,8 @@ async function genericFailureResponse(trigger, failure, options) {
68
135
  const detail = details[outcome] ?? details[kind] ?? { status: 500, error: "internal-error" };
69
136
  const message = developmentProviderMessage(failure, options.mode);
70
137
  const body = { error: detail.error, ...(message === undefined ? {} : { message }) };
71
- return (await responseIsValid(trigger, declaration, body, options))
72
- ? jsonResponse(body, responseStatus(declaration, detail.status))
138
+ return (yield* responseIsValid(trigger, declaration, body, options))
139
+ ? yield* encodeJson(body, responseStatus(declaration, detail.status))
73
140
  : genericResponse("internal-error", 500);
74
- }
75
- function developmentProviderMessage(failure, mode) {
76
- if (failure.kind !== "provider" || mode !== "development")
77
- return undefined;
78
- const cause = toFailureTelemetry(failure, { mode: "development" }).internal?.cause;
79
- if (cause === null || typeof cause !== "object" || !("message" in cause))
80
- return undefined;
81
- return typeof cause.message === "string" ? cause.message : undefined;
82
- }
83
- async function responseIsValid(trigger, declaration, value, options) {
84
- if (options.mode === "production")
85
- return true;
86
- const schema = findSchema(trigger, declaration, options.responseSchemas);
87
- if (schema === undefined)
88
- return true;
89
- try {
90
- const result = await validate(schema, value);
91
- return "value" in result;
92
- }
93
- catch {
94
- return false;
95
- }
96
- }
97
- function isFailure(value) {
98
- return value instanceof Error || isInvocationFailure(value);
99
- }
141
+ });
100
142
  //# sourceMappingURL=response-mapping.js.map