ts-procedures 7.3.0 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/README.md +65 -3
  2. package/agent_config/claude-code/agents/ts-procedures-architect.md +6 -8
  3. package/agent_config/claude-code/skills/ts-procedures/SKILL.md +30 -33
  4. package/agent_config/claude-code/skills/ts-procedures/anti-patterns.md +104 -53
  5. package/agent_config/claude-code/skills/ts-procedures/api-reference.md +205 -232
  6. package/agent_config/claude-code/skills/ts-procedures/patterns.md +80 -153
  7. package/agent_config/claude-code/skills/ts-procedures-review/SKILL.md +1 -1
  8. package/agent_config/claude-code/skills/ts-procedures-review/checklist.md +4 -5
  9. package/agent_config/claude-code/skills/ts-procedures-scaffold/SKILL.md +4 -7
  10. package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/hono.md +223 -0
  11. package/agent_config/copilot/copilot-instructions.md +34 -48
  12. package/agent_config/cursor/cursorrules +34 -48
  13. package/build/client/call.js +4 -1
  14. package/build/client/call.js.map +1 -1
  15. package/build/client/call.test.js +23 -0
  16. package/build/client/call.test.js.map +1 -1
  17. package/build/client/fetch-adapter.js +3 -1
  18. package/build/client/fetch-adapter.js.map +1 -1
  19. package/build/client/fetch-adapter.test.js +11 -1
  20. package/build/client/fetch-adapter.test.js.map +1 -1
  21. package/build/client/index.test.js +7 -7
  22. package/build/client/index.test.js.map +1 -1
  23. package/build/client/request-builder.d.ts +1 -1
  24. package/build/client/request-builder.js +2 -2
  25. package/build/client/request-builder.js.map +1 -1
  26. package/build/client/stream.js +13 -2
  27. package/build/client/stream.js.map +1 -1
  28. package/build/client/stream.test.js +32 -7
  29. package/build/client/stream.test.js.map +1 -1
  30. package/build/client/typed-error-dispatch.test.js +8 -92
  31. package/build/client/typed-error-dispatch.test.js.map +1 -1
  32. package/build/client/types.d.ts +21 -3
  33. package/build/codegen/bin/cli.js +0 -0
  34. package/build/codegen/e2e.test.js +418 -23
  35. package/build/codegen/e2e.test.js.map +1 -1
  36. package/build/codegen/emit-errors.integration.test.js +1 -1
  37. package/build/codegen/emit-errors.integration.test.js.map +1 -1
  38. package/build/codegen/emit-scope.js +351 -55
  39. package/build/codegen/emit-scope.js.map +1 -1
  40. package/build/codegen/emit-scope.test.js +540 -110
  41. package/build/codegen/emit-scope.test.js.map +1 -1
  42. package/build/codegen/emit-types.d.ts +6 -2
  43. package/build/codegen/emit-types.js +81 -20
  44. package/build/codegen/emit-types.js.map +1 -1
  45. package/build/codegen/emit-types.test.js +70 -1
  46. package/build/codegen/emit-types.test.js.map +1 -1
  47. package/build/codegen/pipeline.test.js +7 -7
  48. package/build/codegen/pipeline.test.js.map +1 -1
  49. package/build/codegen/resolve-envelope.js +1 -1
  50. package/build/codegen/resolve-envelope.js.map +1 -1
  51. package/build/codegen/resolve-envelope.test.js +5 -5
  52. package/build/codegen/resolve-envelope.test.js.map +1 -1
  53. package/build/codegen/targets/_shared/route-slots.d.ts +8 -3
  54. package/build/codegen/targets/_shared/route-slots.js +49 -8
  55. package/build/codegen/targets/_shared/route-slots.js.map +1 -1
  56. package/build/codegen/targets/_shared/route-slots.test.js +99 -26
  57. package/build/codegen/targets/_shared/route-slots.test.js.map +1 -1
  58. package/build/codegen/targets/kotlin/emit-route-kotlin.test.js +88 -17
  59. package/build/codegen/targets/kotlin/emit-route-kotlin.test.js.map +1 -1
  60. package/build/codegen/targets/kotlin/emit-scope-kotlin.test.js +9 -6
  61. package/build/codegen/targets/kotlin/emit-scope-kotlin.test.js.map +1 -1
  62. package/build/codegen/targets/kotlin/integration.test.js +6 -0
  63. package/build/codegen/targets/kotlin/integration.test.js.map +1 -1
  64. package/build/codegen/targets/swift/access-level.test.js +8 -11
  65. package/build/codegen/targets/swift/access-level.test.js.map +1 -1
  66. package/build/codegen/targets/swift/emit-route-swift.test.js +91 -20
  67. package/build/codegen/targets/swift/emit-route-swift.test.js.map +1 -1
  68. package/build/codegen/targets/swift/emit-scope-swift.test.js +12 -9
  69. package/build/codegen/targets/swift/emit-scope-swift.test.js.map +1 -1
  70. package/build/codegen/targets/swift/integration.test.js +6 -0
  71. package/build/codegen/targets/swift/integration.test.js.map +1 -1
  72. package/build/create-http-stream.d.ts +58 -0
  73. package/build/create-http-stream.js +122 -0
  74. package/build/create-http-stream.js.map +1 -0
  75. package/build/create-http-stream.test.js +88 -0
  76. package/build/create-http-stream.test.js.map +1 -0
  77. package/build/create-http.d.ts +49 -0
  78. package/build/create-http.js +108 -0
  79. package/build/create-http.js.map +1 -0
  80. package/build/create-http.test.js +137 -0
  81. package/build/create-http.test.js.map +1 -0
  82. package/build/create-stream.d.ts +35 -0
  83. package/build/create-stream.js +123 -0
  84. package/build/create-stream.js.map +1 -0
  85. package/build/create-stream.test.js +428 -0
  86. package/build/create-stream.test.js.map +1 -0
  87. package/build/create.d.ts +28 -0
  88. package/build/create.js +82 -0
  89. package/build/create.js.map +1 -0
  90. package/build/create.test.js +483 -0
  91. package/build/create.test.js.map +1 -0
  92. package/build/exports.d.ts +2 -0
  93. package/build/implementations/http/astro/index.test.js +20 -12
  94. package/build/implementations/http/astro/index.test.js.map +1 -1
  95. package/build/implementations/http/doc-registry.js +1 -1
  96. package/build/implementations/http/doc-registry.js.map +1 -1
  97. package/build/implementations/http/doc-registry.test.js +36 -5
  98. package/build/implementations/http/doc-registry.test.js.map +1 -1
  99. package/build/implementations/http/error-dispatch.d.ts +76 -0
  100. package/build/implementations/http/error-dispatch.js +77 -0
  101. package/build/implementations/http/error-dispatch.js.map +1 -0
  102. package/build/implementations/http/error-dispatch.test.js +254 -0
  103. package/build/implementations/http/error-dispatch.test.js.map +1 -0
  104. package/build/implementations/http/error-taxonomy.d.ts +5 -5
  105. package/build/implementations/http/hono/docs/http-doc.d.ts +6 -0
  106. package/build/implementations/http/hono/docs/http-doc.js +42 -0
  107. package/build/implementations/http/hono/docs/http-doc.js.map +1 -0
  108. package/build/implementations/http/hono/docs/http-stream-doc.d.ts +6 -0
  109. package/build/implementations/http/hono/docs/http-stream-doc.js +40 -0
  110. package/build/implementations/http/hono/docs/http-stream-doc.js.map +1 -0
  111. package/build/implementations/http/hono/docs/rpc-doc.d.ts +6 -0
  112. package/build/implementations/http/hono/docs/rpc-doc.js +24 -0
  113. package/build/implementations/http/hono/docs/rpc-doc.js.map +1 -0
  114. package/build/implementations/http/hono/docs/stream-doc.d.ts +6 -0
  115. package/build/implementations/http/hono/docs/stream-doc.js +42 -0
  116. package/build/implementations/http/hono/docs/stream-doc.js.map +1 -0
  117. package/build/implementations/http/hono/handlers/http-stream.d.ts +10 -0
  118. package/build/implementations/http/hono/handlers/http-stream.js +123 -0
  119. package/build/implementations/http/hono/handlers/http-stream.js.map +1 -0
  120. package/build/implementations/http/hono/handlers/http-stream.test.js +128 -0
  121. package/build/implementations/http/hono/handlers/http-stream.test.js.map +1 -0
  122. package/build/implementations/http/hono/handlers/http.d.ts +10 -0
  123. package/build/implementations/http/hono/handlers/http.js +115 -0
  124. package/build/implementations/http/hono/handlers/http.js.map +1 -0
  125. package/build/implementations/http/hono/handlers/http.test.js +118 -0
  126. package/build/implementations/http/hono/handlers/http.test.js.map +1 -0
  127. package/build/implementations/http/hono/handlers/rpc.d.ts +11 -0
  128. package/build/implementations/http/hono/handlers/rpc.js +32 -0
  129. package/build/implementations/http/hono/handlers/rpc.js.map +1 -0
  130. package/build/implementations/http/hono/handlers/rpc.test.js +73 -0
  131. package/build/implementations/http/hono/handlers/rpc.test.js.map +1 -0
  132. package/build/implementations/http/hono/handlers/stream.d.ts +23 -0
  133. package/build/implementations/http/hono/handlers/stream.js +147 -0
  134. package/build/implementations/http/hono/handlers/stream.js.map +1 -0
  135. package/build/implementations/http/hono/handlers/stream.test.d.ts +1 -0
  136. package/build/implementations/http/hono/handlers/stream.test.js +177 -0
  137. package/build/implementations/http/hono/handlers/stream.test.js.map +1 -0
  138. package/build/implementations/http/hono/index.d.ts +57 -0
  139. package/build/implementations/http/hono/index.js +149 -0
  140. package/build/implementations/http/hono/index.js.map +1 -0
  141. package/build/implementations/http/hono/index.test.d.ts +1 -0
  142. package/build/implementations/http/hono/index.test.js +274 -0
  143. package/build/implementations/http/hono/index.test.js.map +1 -0
  144. package/build/implementations/http/hono/path.d.ts +17 -0
  145. package/build/implementations/http/hono/path.js +39 -0
  146. package/build/implementations/http/hono/path.js.map +1 -0
  147. package/build/implementations/http/hono/path.test.d.ts +1 -0
  148. package/build/implementations/http/hono/path.test.js +83 -0
  149. package/build/implementations/http/hono/path.test.js.map +1 -0
  150. package/build/implementations/http/hono/types.d.ts +51 -0
  151. package/build/implementations/http/hono/types.js.map +1 -0
  152. package/build/implementations/http/on-request-error.test.js +6 -96
  153. package/build/implementations/http/on-request-error.test.js.map +1 -1
  154. package/build/implementations/http/route-errors.test.js +11 -59
  155. package/build/implementations/http/route-errors.test.js.map +1 -1
  156. package/build/implementations/types.d.ts +43 -9
  157. package/build/index.d.ts +124 -124
  158. package/build/index.js +10 -221
  159. package/build/index.js.map +1 -1
  160. package/build/index.test.js +20 -919
  161. package/build/index.test.js.map +1 -1
  162. package/build/migration.test.d.ts +1 -0
  163. package/build/migration.test.js +34 -0
  164. package/build/migration.test.js.map +1 -0
  165. package/build/schema/compute-schema.d.ts +11 -3
  166. package/build/schema/compute-schema.js +13 -7
  167. package/build/schema/compute-schema.js.map +1 -1
  168. package/build/schema/parser.d.ts +11 -3
  169. package/build/schema/parser.js +49 -9
  170. package/build/schema/parser.js.map +1 -1
  171. package/build/stack-utils.js +8 -0
  172. package/build/stack-utils.js.map +1 -1
  173. package/build/types.d.ts +142 -0
  174. package/build/types.js.map +1 -0
  175. package/docs/astro-adapter.md +5 -5
  176. package/docs/core.md +15 -17
  177. package/docs/http-integrations.md +83 -170
  178. package/docs/streaming.md +3 -60
  179. package/docs/superpowers/plans/2026-05-07-astro-adapter.md +2 -7
  180. package/docs/superpowers/plans/2026-05-08-create-http.md +3355 -0
  181. package/docs/superpowers/plans/2026-05-08-hono-app-builder-convergence.md +3365 -0
  182. package/docs/superpowers/specs/2026-05-07-astro-adapter-design.md +1 -3
  183. package/docs/superpowers/specs/2026-05-08-create-http-design.md +409 -0
  184. package/docs/superpowers/specs/2026-05-08-hono-app-builder-convergence-design.md +411 -0
  185. package/package.json +4 -22
  186. package/src/client/call.test.ts +26 -0
  187. package/src/client/call.ts +4 -1
  188. package/src/client/fetch-adapter.test.ts +14 -1
  189. package/src/client/fetch-adapter.ts +3 -1
  190. package/src/client/index.test.ts +7 -7
  191. package/src/client/request-builder.ts +2 -2
  192. package/src/client/stream.test.ts +39 -7
  193. package/src/client/stream.ts +16 -2
  194. package/src/client/typed-error-dispatch.test.ts +7 -97
  195. package/src/client/types.ts +21 -3
  196. package/src/codegen/__fixtures__/users-envelope.json +119 -38
  197. package/src/codegen/e2e.test.ts +452 -24
  198. package/src/codegen/emit-errors.integration.test.ts +1 -1
  199. package/src/codegen/emit-scope.test.ts +581 -110
  200. package/src/codegen/emit-scope.ts +390 -61
  201. package/src/codegen/emit-types.test.ts +73 -1
  202. package/src/codegen/emit-types.ts +82 -21
  203. package/src/codegen/pipeline.test.ts +7 -7
  204. package/src/codegen/resolve-envelope.test.ts +5 -5
  205. package/src/codegen/resolve-envelope.ts +1 -1
  206. package/src/codegen/targets/_shared/route-slots.test.ts +109 -26
  207. package/src/codegen/targets/_shared/route-slots.ts +48 -11
  208. package/src/codegen/targets/kotlin/__fixtures__/users-golden.kt +73 -0
  209. package/src/codegen/targets/kotlin/emit-route-kotlin.test.ts +100 -17
  210. package/src/codegen/targets/kotlin/emit-scope-kotlin.test.ts +9 -6
  211. package/src/codegen/targets/kotlin/integration.test.ts +19 -0
  212. package/src/codegen/targets/swift/__fixtures__/users-golden.swift +79 -0
  213. package/src/codegen/targets/swift/access-level.test.ts +8 -11
  214. package/src/codegen/targets/swift/emit-route-swift.test.ts +103 -20
  215. package/src/codegen/targets/swift/emit-scope-swift.test.ts +12 -9
  216. package/src/codegen/targets/swift/integration.test.ts +17 -0
  217. package/src/create-http-stream.test.ts +97 -0
  218. package/src/create-http-stream.ts +191 -0
  219. package/src/create-http.test.ts +163 -0
  220. package/src/create-http.ts +211 -0
  221. package/src/create-stream.test.ts +565 -0
  222. package/src/create-stream.ts +228 -0
  223. package/src/create.test.ts +658 -0
  224. package/src/create.ts +172 -0
  225. package/src/exports.ts +2 -0
  226. package/src/implementations/http/README.md +135 -95
  227. package/src/implementations/http/astro/README.md +4 -5
  228. package/src/implementations/http/astro/index.test.ts +25 -18
  229. package/src/implementations/http/doc-registry.test.ts +42 -5
  230. package/src/implementations/http/doc-registry.ts +1 -1
  231. package/src/implementations/http/error-dispatch.test.ts +283 -0
  232. package/src/implementations/http/error-dispatch.ts +176 -0
  233. package/src/implementations/http/error-taxonomy.ts +5 -5
  234. package/src/implementations/http/hono/docs/http-doc.ts +43 -0
  235. package/src/implementations/http/hono/docs/http-stream-doc.ts +44 -0
  236. package/src/implementations/http/hono/docs/rpc-doc.ts +34 -0
  237. package/src/implementations/http/hono/docs/stream-doc.ts +53 -0
  238. package/src/implementations/http/hono/handlers/http-stream.test.ts +150 -0
  239. package/src/implementations/http/hono/handlers/http-stream.ts +152 -0
  240. package/src/implementations/http/hono/handlers/http.test.ts +130 -0
  241. package/src/implementations/http/hono/handlers/http.ts +147 -0
  242. package/src/implementations/http/hono/handlers/rpc.test.ts +81 -0
  243. package/src/implementations/http/hono/handlers/rpc.ts +54 -0
  244. package/src/implementations/http/hono/handlers/stream.test.ts +198 -0
  245. package/src/implementations/http/hono/handlers/stream.ts +208 -0
  246. package/src/implementations/http/hono/index.test.ts +329 -0
  247. package/src/implementations/http/hono/index.ts +204 -0
  248. package/src/implementations/http/hono/path.test.ts +96 -0
  249. package/src/implementations/http/hono/path.ts +59 -0
  250. package/src/implementations/http/hono/types.ts +93 -0
  251. package/src/implementations/http/on-request-error.test.ts +10 -116
  252. package/src/implementations/http/route-errors.test.ts +11 -77
  253. package/src/implementations/types.ts +44 -9
  254. package/src/index.test.ts +22 -1249
  255. package/src/index.ts +49 -485
  256. package/src/migration.test.ts +48 -0
  257. package/src/schema/compute-schema.ts +26 -12
  258. package/src/schema/parser.ts +62 -12
  259. package/src/stack-utils.ts +8 -0
  260. package/src/types.ts +133 -0
  261. package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/express-rpc.md +0 -137
  262. package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/hono-api.md +0 -173
  263. package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/hono-rpc.md +0 -142
  264. package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/hono-stream.md +0 -147
  265. package/build/implementations/http/express-rpc/error-taxonomy.test.js +0 -83
  266. package/build/implementations/http/express-rpc/error-taxonomy.test.js.map +0 -1
  267. package/build/implementations/http/express-rpc/index.d.ts +0 -125
  268. package/build/implementations/http/express-rpc/index.js +0 -216
  269. package/build/implementations/http/express-rpc/index.js.map +0 -1
  270. package/build/implementations/http/express-rpc/index.test.js +0 -684
  271. package/build/implementations/http/express-rpc/index.test.js.map +0 -1
  272. package/build/implementations/http/express-rpc/types.d.ts +0 -11
  273. package/build/implementations/http/express-rpc/types.js.map +0 -1
  274. package/build/implementations/http/hono-api/error-taxonomy.test.js +0 -137
  275. package/build/implementations/http/hono-api/error-taxonomy.test.js.map +0 -1
  276. package/build/implementations/http/hono-api/index.d.ts +0 -151
  277. package/build/implementations/http/hono-api/index.js +0 -344
  278. package/build/implementations/http/hono-api/index.js.map +0 -1
  279. package/build/implementations/http/hono-api/index.test.js +0 -992
  280. package/build/implementations/http/hono-api/index.test.js.map +0 -1
  281. package/build/implementations/http/hono-api/types.d.ts +0 -13
  282. package/build/implementations/http/hono-api/types.js.map +0 -1
  283. package/build/implementations/http/hono-rpc/error-taxonomy.test.js +0 -64
  284. package/build/implementations/http/hono-rpc/error-taxonomy.test.js.map +0 -1
  285. package/build/implementations/http/hono-rpc/index.d.ts +0 -130
  286. package/build/implementations/http/hono-rpc/index.js +0 -209
  287. package/build/implementations/http/hono-rpc/index.js.map +0 -1
  288. package/build/implementations/http/hono-rpc/index.test.js +0 -828
  289. package/build/implementations/http/hono-rpc/index.test.js.map +0 -1
  290. package/build/implementations/http/hono-rpc/types.d.ts +0 -11
  291. package/build/implementations/http/hono-rpc/types.js +0 -2
  292. package/build/implementations/http/hono-rpc/types.js.map +0 -1
  293. package/build/implementations/http/hono-stream/error-taxonomy.test.js +0 -159
  294. package/build/implementations/http/hono-stream/error-taxonomy.test.js.map +0 -1
  295. package/build/implementations/http/hono-stream/index.d.ts +0 -171
  296. package/build/implementations/http/hono-stream/index.js +0 -415
  297. package/build/implementations/http/hono-stream/index.js.map +0 -1
  298. package/build/implementations/http/hono-stream/index.test.js +0 -1383
  299. package/build/implementations/http/hono-stream/index.test.js.map +0 -1
  300. package/build/implementations/http/hono-stream/types.d.ts +0 -15
  301. package/build/implementations/http/hono-stream/types.js +0 -2
  302. package/build/implementations/http/hono-stream/types.js.map +0 -1
  303. package/src/implementations/http/express-rpc/README.md +0 -280
  304. package/src/implementations/http/express-rpc/error-taxonomy.test.ts +0 -103
  305. package/src/implementations/http/express-rpc/index.test.ts +0 -957
  306. package/src/implementations/http/express-rpc/index.ts +0 -327
  307. package/src/implementations/http/express-rpc/types.ts +0 -16
  308. package/src/implementations/http/hono-api/README.md +0 -284
  309. package/src/implementations/http/hono-api/error-taxonomy.test.ts +0 -179
  310. package/src/implementations/http/hono-api/index.test.ts +0 -1341
  311. package/src/implementations/http/hono-api/index.ts +0 -519
  312. package/src/implementations/http/hono-api/types.ts +0 -16
  313. package/src/implementations/http/hono-rpc/README.md +0 -357
  314. package/src/implementations/http/hono-rpc/error-taxonomy.test.ts +0 -82
  315. package/src/implementations/http/hono-rpc/index.test.ts +0 -1107
  316. package/src/implementations/http/hono-rpc/index.ts +0 -320
  317. package/src/implementations/http/hono-rpc/types.ts +0 -16
  318. package/src/implementations/http/hono-stream/README.md +0 -559
  319. package/src/implementations/http/hono-stream/error-taxonomy.test.ts +0 -178
  320. package/src/implementations/http/hono-stream/index.test.ts +0 -1804
  321. package/src/implementations/http/hono-stream/index.ts +0 -622
  322. package/src/implementations/http/hono-stream/types.ts +0 -20
  323. /package/build/{implementations/http/express-rpc/error-taxonomy.test.d.ts → create-http-stream.test.d.ts} +0 -0
  324. /package/build/{implementations/http/express-rpc/index.test.d.ts → create-http.test.d.ts} +0 -0
  325. /package/build/{implementations/http/hono-api/error-taxonomy.test.d.ts → create-stream.test.d.ts} +0 -0
  326. /package/build/{implementations/http/hono-api/index.test.d.ts → create.test.d.ts} +0 -0
  327. /package/build/implementations/http/{hono-rpc/error-taxonomy.test.d.ts → error-dispatch.test.d.ts} +0 -0
  328. /package/build/implementations/http/{hono-rpc/index.test.d.ts → hono/handlers/http-stream.test.d.ts} +0 -0
  329. /package/build/implementations/http/{hono-stream/error-taxonomy.test.d.ts → hono/handlers/http.test.d.ts} +0 -0
  330. /package/build/implementations/http/{hono-stream/index.test.d.ts → hono/handlers/rpc.test.d.ts} +0 -0
  331. /package/build/implementations/http/{express-rpc → hono}/types.js +0 -0
  332. /package/build/{implementations/http/hono-api/types.js → types.js} +0 -0
package/build/index.js CHANGED
@@ -1,230 +1,17 @@
1
- import { ProcedureError, ProcedureValidationError, ProcedureYieldValidationError, } from './errors.js';
2
- import { computeSchema } from './schema/compute-schema.js';
3
- import { captureDefinitionInfo } from './stack-utils.js';
1
+ import { makeCreate } from './create.js';
2
+ import { makeCreateStream } from './create-stream.js';
3
+ import { makeCreateHttp } from './create-http.js';
4
+ import { makeCreateHttpStream } from './create-http-stream.js';
4
5
  export function Procedures(
5
6
  /**
6
7
  * Optionally provided builder to register Procedures
7
8
  */
8
9
  builder) {
9
10
  const procedures = new Map();
10
- function Create(name, config, handler) {
11
- // Capture definition location as first action
12
- const definitionInfo = captureDefinitionInfo();
13
- // BEFORE computeSchema - fail fast on duplicate
14
- if (procedures.has(name)) {
15
- throw new Error(`Procedure with name ${name} is already registered`);
16
- }
17
- const { jsonSchema, validations } = computeSchema(name, config.schema, definitionInfo);
18
- // Create error factory once at registration time (outside handler)
19
- const errorFactory = (message, meta) => {
20
- return new ProcedureError(name, message, meta, definitionInfo);
21
- };
22
- const registeredProcedure = {
23
- name,
24
- config: {
25
- // ctx: config.hook, ??? why was this here
26
- ...config,
27
- description: config.description,
28
- schema: jsonSchema,
29
- validation: {
30
- params: validations.params,
31
- ...(validations.input && { input: validations.input }),
32
- },
33
- },
34
- handler: async (ctx, params) => {
35
- try {
36
- // Skip validation if caller has already validated (e.g., HonoStreamAppBuilder) or if builder config dictates noRuntimeValidation
37
- const skipValidation = ctx.isPrevalidated ||
38
- builder?.config?.noRuntimeValidation;
39
- if (validations?.params && !skipValidation) {
40
- const { errors } = validations.params(params);
41
- if (errors) {
42
- throw new ProcedureValidationError(name, `Validation error for ${name}`, errors, definitionInfo);
43
- }
44
- }
45
- // Validate each input channel independently for better error messages.
46
- // Double validation (per-channel + merged) is intentional for developer experience;
47
- // the cost is negligible — revisit if validation becomes a performance bottleneck.
48
- if (validations?.input && !skipValidation) {
49
- for (const [channel, validator] of Object.entries(validations.input)) {
50
- const channelValue = params?.[channel];
51
- const { errors } = validator(channelValue);
52
- if (errors) {
53
- throw new ProcedureValidationError(name, `Validation error for ${name} in input.${channel}`, errors, definitionInfo);
54
- }
55
- }
56
- }
57
- const localCtx = {
58
- error: errorFactory, // Reuse pre-created factory
59
- };
60
- // params is correctly typed at the public API boundary via conditional type;
61
- // cast here because TS cannot narrow conditional generics inside implementations
62
- return await handler({
63
- ...ctx,
64
- ...localCtx,
65
- }, params);
66
- }
67
- catch (error) {
68
- if (error instanceof ProcedureError) {
69
- throw error;
70
- }
71
- else {
72
- const err = new ProcedureError(name, `Error in handler for ${name} - ${error?.message}`, undefined, definitionInfo);
73
- err.cause = error; // Preserve original error
74
- // Preserve original stack but append definition info
75
- if (error.stack && definitionInfo.definedAt) {
76
- const { file, line, column } = definitionInfo.definedAt;
77
- err.stack =
78
- error.stack +
79
- `\n--- Procedure "${name}" defined at ---\n at ${file}:${line}:${column}`;
80
- }
81
- else if (error.stack) {
82
- err.stack = error.stack;
83
- }
84
- throw err;
85
- }
86
- }
87
- },
88
- };
89
- procedures.set(name, registeredProcedure);
90
- if (builder?.onCreate) {
91
- builder.onCreate(registeredProcedure);
92
- }
93
- const info = {
94
- name,
95
- ...registeredProcedure.config,
96
- };
97
- // return so can be called directly (ie: int/unit tests)
98
- return {
99
- [name]: registeredProcedure.handler,
100
- procedure: registeredProcedure.handler,
101
- info,
102
- };
103
- }
104
- function CreateStream(name, config, handler) {
105
- // Capture definition location as first action
106
- const definitionInfo = captureDefinitionInfo();
107
- // BEFORE computeSchema - fail fast on duplicate
108
- if (procedures.has(name)) {
109
- throw new Error(`Procedure with name ${name} is already registered`);
110
- }
111
- const { jsonSchema, validations } = computeSchema(name, config.schema, definitionInfo);
112
- // Create error factory once at registration time (outside handler)
113
- const errorFactory = (message, meta) => {
114
- return new ProcedureError(name, message, meta, definitionInfo);
115
- };
116
- const validateYields = config.validateYields ?? false;
117
- const registeredProcedure = {
118
- name,
119
- isStream: true,
120
- config: {
121
- ...config,
122
- description: config.description,
123
- schema: jsonSchema,
124
- validation: {
125
- params: validations.params,
126
- yield: validations.yield,
127
- ...(validations.input && { input: validations.input }),
128
- },
129
- },
130
- handler: async function* wrappedHandler(ctx, params) {
131
- // Create abort controller for this stream
132
- const abortController = new AbortController();
133
- // Skip validation if caller has already validated (e.g., HonoStreamAppBuilder) or if builder config dictates noRuntimeValidation
134
- const skipValidation = ctx.isPrevalidated ||
135
- builder?.config?.noRuntimeValidation;
136
- if (validations?.params && !skipValidation) {
137
- const { errors } = validations.params(params);
138
- if (errors) {
139
- throw new ProcedureValidationError(name, `Validation error for ${name}`, errors, definitionInfo);
140
- }
141
- }
142
- // Validate each input channel independently (see Create for rationale)
143
- if (validations?.input && !skipValidation) {
144
- for (const [channel, validator] of Object.entries(validations.input)) {
145
- const channelValue = params?.[channel];
146
- const { errors } = validator(channelValue);
147
- if (errors) {
148
- throw new ProcedureValidationError(name, `Validation error for ${name} in input.${channel}`, errors, definitionInfo);
149
- }
150
- }
151
- }
152
- // Combine with external signal (e.g., from HTTP request) if provided
153
- const incomingSignal = ctx.signal;
154
- const signal = incomingSignal
155
- ? AbortSignal.any([incomingSignal, abortController.signal])
156
- : abortController.signal;
157
- const streamCtx = {
158
- error: errorFactory,
159
- signal,
160
- };
161
- // params is correctly typed at the public API boundary via conditional type;
162
- // cast here because TS cannot narrow conditional generics inside implementations
163
- const userGenerator = handler({
164
- ...ctx,
165
- ...streamCtx,
166
- }, params);
167
- const userIterator = userGenerator[Symbol.asyncIterator]();
168
- try {
169
- let userIterResult = await userIterator.next();
170
- while (!userIterResult.done) {
171
- const value = userIterResult.value;
172
- // Only validate if explicitly enabled via validateYields: true
173
- if (validateYields && validations.yield) {
174
- const { errors } = validations.yield(value);
175
- if (errors) {
176
- throw new ProcedureYieldValidationError(name, `Yield validation error for ${name}`, errors, definitionInfo);
177
- }
178
- }
179
- yield value;
180
- userIterResult = await userIterator.next();
181
- }
182
- // Propagate the generator's return value so consumers (e.g. HonoStreamAppBuilder)
183
- // can send it as a special 'return' SSE event
184
- return userIterResult.value;
185
- }
186
- catch (error) {
187
- // Preserve the original error class so HTTP builders' taxonomies and
188
- // `onMidStreamError` callbacks see the actual thrown type — boxing
189
- // user-defined errors inside ProcedureError defeats route-declared
190
- // typed-error dispatch on the client. Augment the stack trace in
191
- // place with the procedure's definition site when available.
192
- if (definitionInfo.definedAt && error && typeof error.stack === 'string') {
193
- const { file, line, column } = definitionInfo.definedAt;
194
- error.stack = `${error.stack}\n--- Procedure "${name}" defined at ---\n at ${file}:${line}:${column}`;
195
- }
196
- throw error;
197
- }
198
- finally {
199
- // Propagate `.return()` to the user generator so its `finally`
200
- // blocks (and any `signal`-driven cleanup) run when the consumer
201
- // closes the stream early. No-op when iteration already completed.
202
- try {
203
- await userIterator.return?.(undefined);
204
- }
205
- catch {
206
- // Swallow — cleanup must not mask the primary error path
207
- }
208
- abortController.abort('stream-completed');
209
- }
210
- },
211
- };
212
- procedures.set(name, registeredProcedure);
213
- if (builder?.onCreate) {
214
- builder.onCreate(registeredProcedure);
215
- }
216
- const info = {
217
- name,
218
- isStream: true,
219
- ...registeredProcedure.config,
220
- };
221
- // return so can be called directly (ie: int/unit tests)
222
- return {
223
- [name]: registeredProcedure.handler,
224
- procedure: registeredProcedure.handler,
225
- info,
226
- };
227
- }
11
+ const Create = makeCreate(procedures, builder);
12
+ const CreateStream = makeCreateStream(procedures, builder);
13
+ const CreateHttp = makeCreateHttp(procedures, builder);
14
+ const CreateHttpStream = makeCreateHttpStream(procedures, builder);
228
15
  return {
229
16
  /**
230
17
  * Get all registered procedures
@@ -252,6 +39,8 @@ builder) {
252
39
  },
253
40
  Create,
254
41
  CreateStream,
42
+ CreateHttp,
43
+ CreateHttpStream,
255
44
  };
256
45
  }
257
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAuB9D,MAAM,UAAU,UAAU;AACxB;;GAEG;AACH,OAoBC;IAED,MAAM,UAAU,GAMZ,IAAI,GAAG,EAAE,CAAA;IAEb,MAAM,MAAM,GAAG,UAAU,CAA4B,UAAU,EAAE,OAAO,CAAC,CAAA;IACzE,MAAM,YAAY,GAAG,gBAAgB,CAA4B,UAAU,EAAE,OAAO,CAAC,CAAA;IACrF,MAAM,UAAU,GAAG,cAAc,CAAW,UAAU,EAAE,OAAO,CAAC,CAAA;IAChE,MAAM,gBAAgB,GAAG,oBAAoB,CAAW,UAAU,EAAE,OAAO,CAAC,CAAA;IAE5E,OAAO;QACL;;WAEG;QACH,aAAa,EAAE,GAAG,EAAE;YAClB,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;QACxC,CAAC;QAED;;WAEG;QACH,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE;YAC7B,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC;QAED;;WAEG;QACH,eAAe,EAAE,CAAC,IAAY,EAAE,EAAE;YAChC,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;QAED;;WAEG;QACH,KAAK,EAAE,GAAG,EAAE;YACV,UAAU,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;QAED,MAAM;QACN,YAAY;QACZ,UAAU;QACV,gBAAgB;KACjB,CAAA;AACH,CAAC"}