@relkit/runtime-hono 0.5.3 → 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
@@ -1,51 +1,82 @@
1
1
  import { TASK_ITEM_MAX_BYTES, validateCanonicalOutput } from "@relkit/jobs";
2
- import { authorizeJobOperation, assertGrantLive } from "./authorization.js";
2
+ import { Context, Effect, Layer, Stream } from "effect";
3
+ import { httpBoundary, HttpBoundaryError, httpIterable, observeHttp, runHttp, } from "../http-effect.js";
4
+ import { assertGrantLive, authorizeJobOperation } from "./authorization.js";
3
5
  import { configFor, envelopeInput, guardJobRequest, optionalCursor, requiredText, } from "./common.js";
4
6
  import { decodeJobCursor, encodeJobCursor } from "./cursors.js";
7
+ import { projectStreamFrame } from "./projection.js";
5
8
  import { descriptorFor, jobError, runtimeFor, trustedScopeFor } from "./support.js";
6
9
  import { jobPolicy } from "./types.js";
7
- import { projectStreamFrame } from "./projection.js";
8
- export async function streamJobRun(options, context, job, value, signal) {
10
+ /** Authorizes and exposes a named job stream with validated projected frames.
11
+ * @param options - Application dependencies and configuration for this domain.
12
+ * @param context - Trusted Hono or oRPC request context containing request state and authentication.
13
+ * @param job - Registered job declaration and its client operation policy.
14
+ * @param value - Value inspected, validated or projected by this operation.
15
+ * @param signal - Cancellation signal inherited from the caller or owning scope.
16
+ * @returns An Effect yielding an authorized iterable with validated frames and signed resume cursors.
17
+ */
18
+ const streamJobRunEffect = Effect.fn("JobStreams.streamJobRun")(function* (options, context, job, value, signal) {
9
19
  const input = envelopeInput(value, ["runId", "name", "after", "expectedIdentity"]);
10
- await guardJobRequest(options, context, input, "stream");
20
+ yield* httpBoundary("jobs.streamJobRun", () => guardJobRequest(options, context, input, "stream"));
11
21
  const config = configFor(options);
12
- const descriptor = await descriptorFor(config, job);
13
- const runtime = await runtimeFor(config, job);
22
+ const descriptor = yield* httpBoundary("jobs.streamJobRun", () => descriptorFor(config, job));
23
+ const runtime = yield* httpBoundary("jobs.streamJobRun", () => runtimeFor(config, job));
14
24
  const runId = requiredText(input.runId, "run ID");
15
25
  const name = requiredText(input.name, "stream name");
16
26
  const policy = jobPolicy(job);
17
27
  if (!policy.streams.includes(name))
18
- throw jobError("RELKIT_JOB_ACCESS_DENIED", "Job stream was not found.");
19
- const trusted = await trustedScopeFor(config, context, job, "stream");
20
- const authorized = await authorizeJobOperation(config, context, job, descriptor, "stream", undefined, undefined, signal, runId, name);
28
+ return yield* Effect.fail(new HttpBoundaryError({
29
+ operation: "jobs.streamJobRun",
30
+ cause: jobError("RELKIT_JOB_ACCESS_DENIED", "Job stream was not found."),
31
+ }));
32
+ const trusted = yield* httpBoundary("jobs.streamJobRun", () => trustedScopeFor(config, context, job, "stream"));
33
+ const authorized = yield* httpBoundary("jobs.streamJobRun", () => authorizeJobOperation(config, context, job, descriptor, "stream", undefined, undefined, signal, runId, name));
21
34
  const owner = { ...trusted, scope: authorized.grant.scope };
22
35
  const filters = { runId, name };
23
36
  const after = decodeJobCursor(config, owner, job, "stream", filters, optionalCursor(input.after, "cursor"));
24
37
  const source = nativeStream(runtime, runId, name, after, signal, owner.scope);
25
- return (async function* () {
26
- for await (const frame of source) {
27
- assertGrantLive(authorized.grant);
28
- const streamSchema = descriptor.task.streams?.[name];
29
- if (frameIsChunk(frame) && streamSchema !== undefined) {
30
- try {
31
- await validateCanonicalOutput(streamSchema, frame.item, TASK_ITEM_MAX_BYTES);
32
- }
33
- catch {
34
- throw jobError("RELKIT_JOB_ACCESS_DENIED", "Job stream data is not available.");
35
- }
36
- }
37
- const projected = projectStreamFrame(frame, runId, name);
38
- if (!("cursor" in projected) || projected.cursor === undefined) {
39
- yield projected;
40
- continue;
41
- }
42
- yield {
43
- ...projected,
44
- cursor: encodeJobCursor(config, owner, job, "stream", filters, projected.cursor),
45
- };
38
+ return httpIterable(Stream.fromAsyncIterable(source, (cause) => new HttpBoundaryError({ operation: "jobs.stream.read", cause })).pipe(Stream.mapEffect(Effect.fn("JobStreams.projectFrame")(function* (frame) {
39
+ assertGrantLive(authorized.grant);
40
+ const streamSchema = descriptor.task.streams?.[name];
41
+ if (frameIsChunk(frame) && streamSchema !== undefined) {
42
+ yield* httpBoundary("jobs.stream.validate", () => validateCanonicalOutput(streamSchema, frame.item, TASK_ITEM_MAX_BYTES)).pipe(Effect.mapError(() => new HttpBoundaryError({
43
+ operation: "jobs.stream.validate",
44
+ cause: jobError("RELKIT_JOB_ACCESS_DENIED", "Job stream data is not available."),
45
+ })));
46
46
  }
47
- })();
47
+ const projected = projectStreamFrame(frame, runId, name);
48
+ if (!("cursor" in projected) || projected.cursor === undefined) {
49
+ return projected;
50
+ }
51
+ return {
52
+ ...projected,
53
+ cursor: encodeJobCursor(config, owner, job, "stream", filters, projected.cursor),
54
+ };
55
+ }))));
56
+ });
57
+ /** Runs stream job run through the request service, preserving the Promise API.
58
+ * @param options - Application dependencies and configuration for this domain.
59
+ * @param context - Trusted Hono or oRPC request context containing request state and authentication.
60
+ * @param job - Registered job declaration and its client operation policy.
61
+ * @param value - Value inspected, validated or projected by this operation.
62
+ * @param signal - Cancellation signal inherited from the caller or owning scope.
63
+ * @returns An authorized named-stream iterable whose frames are projected as they are consumed.
64
+ */
65
+ export function streamJobRun(options, context, job, value, signal) {
66
+ return runHttp(Effect.gen(function* () {
67
+ const service = yield* JobStreams;
68
+ return yield* service.streamJobRun(options, context, job, value, signal);
69
+ }).pipe(Effect.provide(JobStreamsLive)));
48
70
  }
71
+ /** Selects the provider's supported job stream method and validates its iterator contract.
72
+ * @param runtime - Configured runtime and provider dependencies.
73
+ * @param runId - Stable run identifier within the owning generation or provider scope.
74
+ * @param name - Declared field, header, stream or configuration key.
75
+ * @param after - Resume checkpoint after which observation continues.
76
+ * @param signal - Cancellation signal inherited from the caller or owning scope.
77
+ * @param scope - Authorized provider scope or lifetime scope owning the operation.
78
+ * @returns The provider's observation iterable, rejecting unsupported or invalid stream adapters.
79
+ */
49
80
  function nativeStream(runtime, runId, name, after, signal, scope) {
50
81
  const streams = runtime.adapter.streams;
51
82
  if (streams === undefined)
@@ -59,14 +90,29 @@ function nativeStream(runtime, runId, name, after, signal, scope) {
59
90
  throw jobError("RELKIT_JOB_STREAM_UNSUPPORTED", "Job stream is invalid.");
60
91
  return source;
61
92
  }
93
+ /** Recognizes stream chunk frames before validating their public items.
94
+ * @param value - Value inspected, validated or projected by this operation.
95
+ * @returns Whether the inspected value satisfies the declared type guard.
96
+ */
62
97
  function frameIsChunk(value) {
63
98
  return (value !== null &&
64
99
  typeof value === "object" &&
65
100
  value.kind === "chunk");
66
101
  }
102
+ /** Recognizes a value that supplies the asynchronous iterator protocol.
103
+ * @param value - Value inspected, validated or projected by this operation.
104
+ * @returns Whether the inspected value satisfies the declared type guard.
105
+ */
67
106
  function isAsyncIterable(value) {
68
107
  return (value !== null &&
69
108
  typeof value === "object" &&
70
109
  typeof value[Symbol.asyncIterator] === "function");
71
110
  }
111
+ /** Effect workflow for validated and authorized job requests. */
112
+ export class JobStreams extends Context.Service()("@relkit/runtime-hono/JobStreams") {
113
+ }
114
+ /** Live job workflows; replace the service layer for focused transport tests. */
115
+ export const JobStreamsLive = Layer.succeed(JobStreams, {
116
+ streamJobRun: (...args) => observeHttp("jobs.streamJobRun", streamJobRunEffect(...args)),
117
+ });
72
118
  //# sourceMappingURL=handlers-stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers-stream.js","sourceRoot":"","sources":["../../src/jobs/handlers-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers-stream.js","sourceRoot":"","sources":["../../src/jobs/handlers-stream.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,22 @@
1
1
  import type { RunListQuery, RunSnapshot } from "@relkit/contracts/jobs";
2
2
  import { type JobDescriptorAny, type JobsRuntime } from "@relkit/jobs";
3
+ /** Validate safe run metadata and declared input/progress/output schemas.
4
+ * @param descriptor - Job descriptor supplying canonical schemas and declared errors.
5
+ * @param run - Persisted run being inspected.
6
+ * @returns Nothing for valid run data; otherwise a public access-denied failure.
7
+ */
3
8
  export declare function validateCanonicalRun(descriptor: JobDescriptorAny, run: RunSnapshot): Promise<void>;
9
+ /** Read a run through controls constrained to the trusted scope.
10
+ * @param runtime - Native jobs runtime.
11
+ * @param scope - Execution scope used to partition the operation.
12
+ * @param runId - Selected run identifier.
13
+ * @param signal - Optional caller cancellation signal.
14
+ * @returns The snapshot; missing reads become a public not-found error.
15
+ */
4
16
  export declare function readRun(runtime: JobsRuntime, scope: string, runId: string, signal?: AbortSignal): Promise<RunSnapshot>;
17
+ /** Validate supported list filters, bounded text, statuses and page size.
18
+ * @param value - Value to validate or project.
19
+ * @returns The accepted list query or an access-denied failure.
20
+ */
5
21
  export declare function queryInput(value: unknown): RunListQuery;
6
22
  //# sourceMappingURL=handlers-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers-validation.d.ts","sourceRoot":"","sources":["../../src/jobs/handlers-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AAKtB,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CAef;AAED,wBAAsB,OAAO,CAC3B,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC,CAUtB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAsEvD"}
1
+ {"version":3,"file":"handlers-validation.d.ts","sourceRoot":"","sources":["../../src/jobs/handlers-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AAKtB;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC,CAUtB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAsEvD"}
@@ -2,6 +2,11 @@ import { createJobsControls, TASK_ITEM_MAX_BYTES, validateCanonicalInput, valida
2
2
  import { optionalCursor, recordInput } from "./common.js";
3
3
  import { assertSafeRun } from "./projection-validation.js";
4
4
  import { jobError, scopedRuntime } from "./support.js";
5
+ /** Validate safe run metadata and declared input/progress/output schemas.
6
+ * @param descriptor - Job descriptor supplying canonical schemas and declared errors.
7
+ * @param run - Persisted run being inspected.
8
+ * @returns Nothing for valid run data; otherwise a public access-denied failure.
9
+ */
5
10
  export async function validateCanonicalRun(descriptor, run) {
6
11
  try {
7
12
  assertSafeRun(run);
@@ -19,6 +24,13 @@ export async function validateCanonicalRun(descriptor, run) {
19
24
  throw jobError("RELKIT_JOB_ACCESS_DENIED", "Job run data is not available.");
20
25
  }
21
26
  }
27
+ /** Read a run through controls constrained to the trusted scope.
28
+ * @param runtime - Native jobs runtime.
29
+ * @param scope - Execution scope used to partition the operation.
30
+ * @param runId - Selected run identifier.
31
+ * @param signal - Optional caller cancellation signal.
32
+ * @returns The snapshot; missing reads become a public not-found error.
33
+ */
22
34
  export async function readRun(runtime, scope, runId, signal) {
23
35
  try {
24
36
  return await createJobsControls(scopedRuntime(runtime, scope)).get(runId, signal === undefined ? {} : { signal });
@@ -29,6 +41,10 @@ export async function readRun(runtime, scope, runId, signal) {
29
41
  throw jobError("RELKIT_JOB_RUN_NOT_FOUND", "Job run was not found.");
30
42
  }
31
43
  }
44
+ /** Validate supported list filters, bounded text, statuses and page size.
45
+ * @param value - Value to validate or project.
46
+ * @returns The accepted list query or an access-denied failure.
47
+ */
32
48
  export function queryInput(value) {
33
49
  if (value === undefined)
34
50
  return {};
@@ -108,6 +124,11 @@ const RUN_STATUSES = new Set([
108
124
  "timed-out",
109
125
  "unknown",
110
126
  ]);
127
+ /** Require a nonempty list filter bounded to 256 UTF-8 bytes.
128
+ * @param value - Value to validate or project.
129
+ * @param name - Field, job or stream name.
130
+ * @returns The validated query text.
131
+ */
111
132
  function boundedQueryText(value, name) {
112
133
  if (typeof value !== "string" ||
113
134
  value.length === 0 ||
@@ -1 +1 @@
1
- {"version":3,"file":"handlers-validation.js","sourceRoot":"","sources":["../../src/jobs/handlers-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers-validation.js","sourceRoot":"","sources":["../../src/jobs/handlers-validation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,15 @@
1
1
  import { type JsonValue } from "@relkit/contracts";
2
2
  import type { NamedStreamFrame } from "@relkit/contracts/jobs";
3
+ /** Validate stream identity, metadata and bounded JSON chunk content.
4
+ * @param frame - Native frame to validate or encode.
5
+ * @param runId - Selected run identifier.
6
+ * @param name - Field, job or stream name.
7
+ * @returns A frozen public stream frame matching the requested run and stream.
8
+ * @example
9
+ * const frame = projectStreamFrame({ kind: "chunk", runId: "run-1", name: "tokens",
10
+ * attempt: 1, generation: "gen-1", schemaVersion: "1", sequence: 0,
11
+ * item: { text: "hello" }, privateDebug: "omitted" }, "run-1", "tokens");
12
+ * // frame contains the validated chunk and no privateDebug field.
13
+ */
3
14
  export declare function projectStreamFrame(frame: unknown, runId: string, name: string): NamedStreamFrame<JsonValue>;
4
15
  //# sourceMappingURL=projection-stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projection-stream.d.ts","sourceRoot":"","sources":["../../src/jobs/projection-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,gBAAgB,CAAC,SAAS,CAAC,CA2C7B"}
1
+ {"version":3,"file":"projection-stream.d.ts","sourceRoot":"","sources":["../../src/jobs/projection-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI/D;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,gBAAgB,CAAC,SAAS,CAAC,CA2C7B"}
@@ -1,6 +1,17 @@
1
1
  import { assertJsonValue, canonicalJson, isJsonValue } from "@relkit/contracts";
2
2
  import { TASK_ITEM_MAX_BYTES } from "@relkit/jobs";
3
3
  import { jobError } from "./support.js";
4
+ /** Validate stream identity, metadata and bounded JSON chunk content.
5
+ * @param frame - Native frame to validate or encode.
6
+ * @param runId - Selected run identifier.
7
+ * @param name - Field, job or stream name.
8
+ * @returns A frozen public stream frame matching the requested run and stream.
9
+ * @example
10
+ * const frame = projectStreamFrame({ kind: "chunk", runId: "run-1", name: "tokens",
11
+ * attempt: 1, generation: "gen-1", schemaVersion: "1", sequence: 0,
12
+ * item: { text: "hello" }, privateDebug: "omitted" }, "run-1", "tokens");
13
+ * // frame contains the validated chunk and no privateDebug field.
14
+ */
4
15
  export function projectStreamFrame(frame, runId, name) {
5
16
  if (!isRecord(frame) ||
6
17
  frame.runId !== runId ||
@@ -41,9 +52,19 @@ export function projectStreamFrame(frame, runId, name) {
41
52
  ...(reason === undefined ? {} : { reason }),
42
53
  });
43
54
  }
55
+ /** Recognize the supported named stream lifecycle frame kinds.
56
+ * @param value - Value to validate or project.
57
+ * @returns Whether the kind is start, chunk, reset or end.
58
+ */
44
59
  function isStreamKind(value) {
45
60
  return value === "start" || value === "chunk" || value === "reset" || value === "end";
46
61
  }
62
+ /** Require nonempty metadata within the supplied UTF-8 byte bound.
63
+ * @param value - Value to validate or project.
64
+ * @param name - Field, job or stream name.
65
+ * @param maxBytes - Maximum encoded UTF-8 byte length.
66
+ * @returns The validated text; unsupported metadata throws a public job error.
67
+ */
47
68
  function boundedText(value, name = "stream frame text", maxBytes = 256) {
48
69
  if (typeof value !== "string" ||
49
70
  value.length === 0 ||
@@ -52,18 +73,30 @@ function boundedText(value, name = "stream frame text", maxBytes = 256) {
52
73
  }
53
74
  return value;
54
75
  }
76
+ /** Require a nonnegative safe integer for stream counters.
77
+ * @param value - Value to validate or project.
78
+ * @returns The validated integer.
79
+ */
55
80
  function boundedNumber(value) {
56
81
  if (!Number.isSafeInteger(value) || value < 0) {
57
82
  throw jobError("RELKIT_JOB_ACCESS_DENIED", "Job stream frame is invalid.");
58
83
  }
59
84
  return value;
60
85
  }
86
+ /** Validate a supported stream reset reason.
87
+ * @param value - Value to validate or project.
88
+ * @returns The reconnect, expired-cursor or overflow reason.
89
+ */
61
90
  function streamResetReason(value) {
62
91
  if (value !== "reconnected" && value !== "cursor-expired" && value !== "overflow") {
63
92
  throw jobError("RELKIT_JOB_ACCESS_DENIED", "Job stream frame is invalid.");
64
93
  }
65
94
  return value;
66
95
  }
96
+ /** Enforce the canonical JSON byte limit for one stream item.
97
+ * @param value - Value to validate or project.
98
+ * @returns Nothing for a bounded item; otherwise throws an access-denied error.
99
+ */
67
100
  function assertJsonSize(value) {
68
101
  try {
69
102
  if (new TextEncoder().encode(canonicalJson(value)).byteLength > TASK_ITEM_MAX_BYTES) {
@@ -76,6 +109,10 @@ function assertJsonSize(value) {
76
109
  throw jobError("RELKIT_JOB_ACCESS_DENIED", "Job stream item is invalid.");
77
110
  }
78
111
  }
112
+ /** Check whether a value is a non-null object suitable for field inspection.
113
+ * @param value - Value to validate or project.
114
+ * @returns Whether object fields can be inspected.
115
+ */
79
116
  function isRecord(value) {
80
117
  return value !== null && typeof value === "object" && !Array.isArray(value);
81
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"projection-stream.js","sourceRoot":"","sources":["../../src/jobs/projection-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection-stream.js","sourceRoot":"","sources":["../../src/jobs/projection-stream.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,17 @@
1
1
  import type { RunAvailability, RunSnapshot, RunWatchFrame } from "@relkit/contracts/jobs";
2
+ /** Validate run metadata, status, result consistency and cancellation fields.
3
+ * @param value - Value to validate or project.
4
+ * @returns Nothing when the value satisfies the supported public snapshot shape.
5
+ */
2
6
  export declare function assertSafeRun(value: unknown): asserts value is RunSnapshot;
7
+ /** Validate and project per-service run availability metadata.
8
+ * @param value - Value to validate or project.
9
+ * @returns Frozen service availability entries containing supported fields.
10
+ */
3
11
  export declare function safeAvailability(value: readonly unknown[]): readonly RunAvailability[];
12
+ /** Validate run observation metadata and snapshot/reset-specific fields.
13
+ * @param value - Value to validate or project.
14
+ * @returns Nothing when the watch frame is safe to project.
15
+ */
4
16
  export declare function assertSafeWatchFrame(value: unknown): asserts value is RunWatchFrame<RunSnapshot>;
5
17
  //# sourceMappingURL=projection-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projection-validation.d.ts","sourceRoot":"","sources":["../../src/jobs/projection-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA2B1F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CA+C1E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,eAAe,EAAE,CAYtF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,WAAW,CAAC,CAqBhG"}
1
+ {"version":3,"file":"projection-validation.d.ts","sourceRoot":"","sources":["../../src/jobs/projection-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AA2B1F;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,WAAW,CA+C1E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,eAAe,EAAE,CAYtF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,WAAW,CAAC,CAqBhG"}
@@ -21,6 +21,10 @@ const RESULT_AVAILABILITY = new Set([
21
21
  "version-incompatible",
22
22
  "unavailable",
23
23
  ]);
24
+ /** Validate run metadata, status, result consistency and cancellation fields.
25
+ * @param value - Value to validate or project.
26
+ * @returns Nothing when the value satisfies the supported public snapshot shape.
27
+ */
24
28
  export function assertSafeRun(value) {
25
29
  if (!isRecord(value) || value.accepted !== true)
26
30
  invalidRun();
@@ -69,6 +73,10 @@ export function assertSafeRun(value) {
69
73
  if (value.cancellation !== undefined)
70
74
  assertCancellation(value.cancellation);
71
75
  }
76
+ /** Validate and project per-service run availability metadata.
77
+ * @param value - Value to validate or project.
78
+ * @returns Frozen service availability entries containing supported fields.
79
+ */
72
80
  export function safeAvailability(value) {
73
81
  return value.map((entry) => {
74
82
  if (!isRecord(entry))
@@ -85,6 +93,10 @@ export function safeAvailability(value) {
85
93
  });
86
94
  });
87
95
  }
96
+ /** Validate run observation metadata and snapshot/reset-specific fields.
97
+ * @param value - Value to validate or project.
98
+ * @returns Nothing when the watch frame is safe to project.
99
+ */
88
100
  export function assertSafeWatchFrame(value) {
89
101
  if (!isRecord(value) || !isWatchKind(value.kind))
90
102
  invalidFrame();
@@ -103,6 +115,10 @@ export function assertSafeWatchFrame(value) {
103
115
  !["reconnected", "cursor-expired", "history-unavailable", "overflow"].includes(String(value.reason)))
104
116
  invalidFrame();
105
117
  }
118
+ /** Validate cancellation receipt identity, outcome and optional timestamp.
119
+ * @param value - Value to validate or project.
120
+ * @returns Nothing when cancellation metadata has the supported shape.
121
+ */
106
122
  function assertCancellation(value) {
107
123
  if (!isRecord(value))
108
124
  invalidRun();
@@ -115,6 +131,12 @@ function assertCancellation(value) {
115
131
  if (value.requestedAt !== undefined)
116
132
  boundedText(value.requestedAt, "cancellation timestamp");
117
133
  }
134
+ /** Require nonempty metadata within the supplied UTF-8 byte bound.
135
+ * @param value - Value to validate or project.
136
+ * @param name - Field, job or stream name.
137
+ * @param maxBytes - Maximum encoded UTF-8 byte length.
138
+ * @returns The validated text; unsupported metadata throws a public job error.
139
+ */
118
140
  function boundedText(value, name, maxBytes = 256) {
119
141
  if (typeof value !== "string" ||
120
142
  value.length === 0 ||
@@ -122,21 +144,43 @@ function boundedText(value, name, maxBytes = 256) {
122
144
  throw jobError("RELKIT_JOB_ACCESS_DENIED", `Job ${name} is not available.`);
123
145
  }
124
146
  }
147
+ /** Reject unavailable or malformed public run data.
148
+ * @returns Never; throws a public access-denied error.
149
+ */
125
150
  function invalidRun() {
126
151
  throw jobError("RELKIT_JOB_ACCESS_DENIED", "Job run data is not available.");
127
152
  }
153
+ /** Reject malformed service availability or page metadata.
154
+ * @returns Never; throws a public run-not-found error.
155
+ */
128
156
  function invalidPage() {
129
157
  throw jobError("RELKIT_JOB_RUN_NOT_FOUND", "Job run page is unavailable.");
130
158
  }
159
+ /** Reject malformed watch observation metadata.
160
+ * @returns Never; throws a public run-not-found error.
161
+ */
131
162
  function invalidFrame() {
132
163
  throw jobError("RELKIT_JOB_RUN_NOT_FOUND", "Job observation frame is invalid.");
133
164
  }
165
+ /** Recognize the supported run watch frame kinds.
166
+ * @param value - Value to validate or project.
167
+ * @returns Whether the kind is snapshot, update or reset.
168
+ */
134
169
  function isWatchKind(value) {
135
170
  return value === "snapshot" || value === "update" || value === "reset";
136
171
  }
172
+ /** Check whether a value is a non-null object suitable for field inspection.
173
+ * @param value - Value to validate or project.
174
+ * @returns Whether object fields can be inspected.
175
+ */
137
176
  function isRecord(value) {
138
177
  return value !== null && typeof value === "object" && !Array.isArray(value);
139
178
  }
179
+ /** Check a field without accepting inherited properties.
180
+ * @param value - Value to validate or project.
181
+ * @param key - Property or profile key to inspect.
182
+ * @returns Whether the object owns the requested key.
183
+ */
140
184
  function hasOwn(value, key) {
141
185
  return Object.prototype.hasOwnProperty.call(value, key);
142
186
  }
@@ -1 +1 @@
1
- {"version":3,"file":"projection-validation.js","sourceRoot":"","sources":["../../src/jobs/projection-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,WAAW;IACX,QAAQ;IACR,WAAW;IACX,WAAW;IACX,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,SAAS;IACT,WAAW;IACX,MAAM;IACN,UAAU;IACV,SAAS;IACT,cAAc;IACd,sBAAsB;IACtB,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;QAAE,UAAU,EAAE,CAAC;IAC9D,KAAK,MAAM,GAAG,IAAI;QAChB,OAAO;QACP,OAAO;QACP,QAAQ;QACR,aAAa;QACb,YAAY;QACZ,SAAS;QACT,SAAS;QACT,YAAY;KACb,EAAE,CAAC;QACF,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,UAAU,EAAE,CAAC;IACtF,IACE,OAAO,KAAK,CAAC,kBAAkB,KAAK,QAAQ;QAC5C,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC;QAElD,UAAU,EAAE,CAAC;IACf,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACjE,KAAK,MAAM,GAAG,IAAI;QAChB,WAAW;QACX,iBAAiB;QACjB,oBAAoB;QACpB,aAAa;QACb,cAAc;QACd,cAAc;QACd,WAAW;QACX,aAAa;QACb,gBAAgB;KACjB,EAAE,CAAC;QACF,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IACD,IACE,KAAK,CAAC,OAAO,KAAK,SAAS;QAC3B,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QAEhG,UAAU,EAAE,CAAC;IACf,IACE,KAAK,CAAC,MAAM,KAAK,WAAW;QAC5B,KAAK,CAAC,kBAAkB,KAAK,WAAW;QACxC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;QAExB,UAAU,EAAE,CAAC;IACf,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC;QAAE,UAAU,EAAE,CAAC;IAC1E,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;QAAE,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAyB;IACxD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,WAAW,EAAE,CAAC;QACpC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa;YAAE,WAAW,EAAE,CAAC;QAChF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QACjF,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;SAChE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,YAAY,EAAE,CAAC;IACjE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;IACvD,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAC9C,IACE,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrC,KAAK,CAAC,QAAQ,GAAG,CAAC;QAElB,YAAY,EAAE,CAAC;IACjB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1E,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAC7F,YAAY,EAAE,CAAC;IACjB,IACE,KAAK,CAAC,IAAI,KAAK,OAAO;QACtB,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC,QAAQ,CAC5E,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB;QAED,YAAY,EAAE,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,UAAU,EAAE,CAAC;IACnC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IAChD,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;IAC5D,IACE,KAAK,CAAC,OAAO,KAAK,WAAW;QAC7B,KAAK,CAAC,OAAO,KAAK,kBAAkB;QACpC,KAAK,CAAC,OAAO,KAAK,aAAa;QAE/B,UAAU,EAAE,CAAC;IACf,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;QAAE,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAY,EAAE,QAAQ,GAAG,GAAG;IAC/D,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,KAAK,CAAC;QAClB,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,QAAQ,EACrD,CAAC;QACD,MAAM,QAAQ,CAAC,0BAA0B,EAAE,OAAO,IAAI,oBAAoB,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,QAAQ,CAAC,0BAA0B,EAAE,gCAAgC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,QAAQ,CAAC,0BAA0B,EAAE,8BAA8B,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,QAAQ,CAAC,0BAA0B,EAAE,mCAAmC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,CAAC;AACzE,CAAC;AAED,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;AAED,SAAS,MAAM,CAAC,KAAa,EAAE,GAAgB;IAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"projection-validation.js","sourceRoot":"","sources":["../../src/jobs/projection-validation.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,39 @@ import type { RunCancellationReceipt, RunPage, RunRetryReceipt, RunSnapshot, Run
2
2
  import type { TaskJobNode } from "@relkit/graph";
3
3
  import type { JobDescriptorAny } from "@relkit/jobs";
4
4
  import type { JobPolicyProjection } from "./types.js";
5
+ /** Validate and redact a run according to its public field policy.
6
+ * @param run - Persisted run being inspected.
7
+ * @param policy - Allowed public fields and operations.
8
+ * @param descriptor - Job descriptor supplying canonical schemas and declared errors.
9
+ * @returns The public run snapshot with only selected fields.
10
+ */
5
11
  export declare function projectSnapshot(run: RunSnapshot, policy: JobPolicyProjection, descriptor?: JobDescriptorAny): RunSnapshot;
12
+ /** Validate page metadata and apply the job's field projection.
13
+ * @param page - Provider page to validate or project.
14
+ * @param policy - Allowed public fields and operations.
15
+ * @param descriptor - Job descriptor supplying canonical schemas and declared errors.
16
+ * @returns The public page with safe service availability metadata.
17
+ */
6
18
  export declare function projectPage(page: RunPage<RunSnapshot>, policy: JobPolicyProjection, descriptor?: JobDescriptorAny): RunPage<RunSnapshot>;
19
+ /** Validate a watch frame and project its embedded run.
20
+ * @param frame - Native frame to validate or encode.
21
+ * @param policy - Allowed public fields and operations.
22
+ * @param descriptor - Job descriptor supplying canonical schemas and declared errors.
23
+ * @returns A frozen frame containing only supported metadata and public run fields.
24
+ */
7
25
  export declare function projectWatchFrame(frame: RunWatchFrame<RunSnapshot>, policy: JobPolicyProjection, descriptor?: JobDescriptorAny): RunWatchFrame<RunSnapshot>;
26
+ /** Project the optional run in a cancellation receipt.
27
+ * @param receipt - Provider cancellation or retry receipt.
28
+ * @param policy - Allowed public fields and operations.
29
+ * @param descriptor - Job descriptor supplying canonical schemas and declared errors.
30
+ * @returns A frozen receipt with any run restricted to public fields.
31
+ */
8
32
  export declare function projectCancellation(receipt: RunCancellationReceipt, policy: JobPolicyProjection, descriptor?: JobDescriptorAny): RunCancellationReceipt;
33
+ /** Verify retry identity and expose only supported acceptance fields.
34
+ * @param receipt - Provider cancellation or retry receipt.
35
+ * @param job - Compiled task job registration.
36
+ * @returns A frozen retry receipt matching the selected job/task version.
37
+ */
9
38
  export declare function projectRetry(receipt: RunRetryReceipt, job: Pick<TaskJobNode, "jobId" | "taskId" | "taskVersion">): RunRetryReceipt;
10
39
  export { projectStreamFrame } from "./projection-stream.js";
11
40
  //# sourceMappingURL=projection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/jobs/projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,WAAW,EACX,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAItD,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,gBAAgB,GAC5B,WAAW,CAOb;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,EAC1B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAatB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,EACjC,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,gBAAgB,GAC5B,aAAa,CAAC,WAAW,CAAC,CAiC5B;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,gBAAgB,GAC5B,sBAAsB,CAQxB;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAC,GACzD,eAAe,CAqBjB;AAOD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/jobs/projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,OAAO,EACP,eAAe,EACf,WAAW,EACX,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,gBAAgB,GAC5B,WAAW,CAOb;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,EAC1B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,WAAW,CAAC,CAatB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,EACjC,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,gBAAgB,GAC5B,aAAa,CAAC,WAAW,CAAC,CAiC5B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,sBAAsB,EAC/B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,gBAAgB,GAC5B,sBAAsB,CAQxB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,eAAe,EACxB,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAC,GACzD,eAAe,CAqBjB;AAWD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}