ts-procedures 7.2.0 → 8.0.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.
- package/README.md +65 -3
- package/agent_config/claude-code/agents/ts-procedures-architect.md +6 -8
- package/agent_config/claude-code/skills/ts-procedures/SKILL.md +30 -33
- package/agent_config/claude-code/skills/ts-procedures/anti-patterns.md +139 -53
- package/agent_config/claude-code/skills/ts-procedures/api-reference.md +208 -231
- package/agent_config/claude-code/skills/ts-procedures/patterns.md +80 -153
- package/agent_config/claude-code/skills/ts-procedures-review/SKILL.md +1 -1
- package/agent_config/claude-code/skills/ts-procedures-review/checklist.md +4 -5
- package/agent_config/claude-code/skills/ts-procedures-scaffold/SKILL.md +4 -7
- package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/hono.md +223 -0
- package/agent_config/copilot/copilot-instructions.md +36 -48
- package/agent_config/cursor/cursorrules +36 -48
- package/build/client/call.js +4 -1
- package/build/client/call.js.map +1 -1
- package/build/client/call.test.js +23 -0
- package/build/client/call.test.js.map +1 -1
- package/build/client/fetch-adapter.js +3 -1
- package/build/client/fetch-adapter.js.map +1 -1
- package/build/client/fetch-adapter.test.js +11 -1
- package/build/client/fetch-adapter.test.js.map +1 -1
- package/build/client/index.test.js +7 -7
- package/build/client/index.test.js.map +1 -1
- package/build/client/request-builder.d.ts +1 -1
- package/build/client/request-builder.js +2 -2
- package/build/client/request-builder.js.map +1 -1
- package/build/client/stream.js +13 -2
- package/build/client/stream.js.map +1 -1
- package/build/client/stream.test.js +32 -7
- package/build/client/stream.test.js.map +1 -1
- package/build/client/typed-error-dispatch.test.js +8 -92
- package/build/client/typed-error-dispatch.test.js.map +1 -1
- package/build/client/types.d.ts +21 -3
- package/build/codegen/bin/cli.js +0 -0
- package/build/codegen/e2e.test.js +87 -23
- package/build/codegen/e2e.test.js.map +1 -1
- package/build/codegen/emit-errors.integration.test.js +1 -1
- package/build/codegen/emit-errors.integration.test.js.map +1 -1
- package/build/codegen/emit-scope.js +308 -47
- package/build/codegen/emit-scope.js.map +1 -1
- package/build/codegen/emit-scope.test.js +363 -110
- package/build/codegen/emit-scope.test.js.map +1 -1
- package/build/codegen/pipeline.test.js +7 -7
- package/build/codegen/pipeline.test.js.map +1 -1
- package/build/codegen/resolve-envelope.js +1 -1
- package/build/codegen/resolve-envelope.js.map +1 -1
- package/build/codegen/resolve-envelope.test.js +5 -5
- package/build/codegen/resolve-envelope.test.js.map +1 -1
- package/build/codegen/targets/_shared/route-slots.d.ts +8 -3
- package/build/codegen/targets/_shared/route-slots.js +49 -8
- package/build/codegen/targets/_shared/route-slots.js.map +1 -1
- package/build/codegen/targets/_shared/route-slots.test.js +99 -26
- package/build/codegen/targets/_shared/route-slots.test.js.map +1 -1
- package/build/codegen/targets/kotlin/emit-route-kotlin.test.js +88 -17
- package/build/codegen/targets/kotlin/emit-route-kotlin.test.js.map +1 -1
- package/build/codegen/targets/kotlin/emit-scope-kotlin.test.js +9 -6
- package/build/codegen/targets/kotlin/emit-scope-kotlin.test.js.map +1 -1
- package/build/codegen/targets/kotlin/integration.test.js +6 -0
- package/build/codegen/targets/kotlin/integration.test.js.map +1 -1
- package/build/codegen/targets/swift/access-level.test.js +8 -11
- package/build/codegen/targets/swift/access-level.test.js.map +1 -1
- package/build/codegen/targets/swift/emit-route-swift.test.js +91 -20
- package/build/codegen/targets/swift/emit-route-swift.test.js.map +1 -1
- package/build/codegen/targets/swift/emit-scope-swift.test.js +12 -9
- package/build/codegen/targets/swift/emit-scope-swift.test.js.map +1 -1
- package/build/codegen/targets/swift/integration.test.js +6 -0
- package/build/codegen/targets/swift/integration.test.js.map +1 -1
- package/build/create-http-stream.d.ts +58 -0
- package/build/create-http-stream.js +122 -0
- package/build/create-http-stream.js.map +1 -0
- package/build/create-http-stream.test.js +88 -0
- package/build/create-http-stream.test.js.map +1 -0
- package/build/create-http.d.ts +49 -0
- package/build/create-http.js +108 -0
- package/build/create-http.js.map +1 -0
- package/build/create-http.test.js +137 -0
- package/build/create-http.test.js.map +1 -0
- package/build/create-stream.d.ts +35 -0
- package/build/create-stream.js +123 -0
- package/build/create-stream.js.map +1 -0
- package/build/create-stream.test.js +428 -0
- package/build/create-stream.test.js.map +1 -0
- package/build/create.d.ts +28 -0
- package/build/create.js +82 -0
- package/build/create.js.map +1 -0
- package/build/create.test.js +483 -0
- package/build/create.test.js.map +1 -0
- package/build/exports.d.ts +2 -0
- package/build/implementations/http/astro/index.test.js +20 -12
- package/build/implementations/http/astro/index.test.js.map +1 -1
- package/build/implementations/http/doc-registry.js +1 -1
- package/build/implementations/http/doc-registry.js.map +1 -1
- package/build/implementations/http/doc-registry.test.js +36 -5
- package/build/implementations/http/doc-registry.test.js.map +1 -1
- package/build/implementations/http/error-dispatch.d.ts +76 -0
- package/build/implementations/http/error-dispatch.js +77 -0
- package/build/implementations/http/error-dispatch.js.map +1 -0
- package/build/implementations/http/error-dispatch.test.js +254 -0
- package/build/implementations/http/error-dispatch.test.js.map +1 -0
- package/build/implementations/http/error-taxonomy.d.ts +5 -5
- package/build/implementations/http/hono/docs/http-doc.d.ts +6 -0
- package/build/implementations/http/hono/docs/http-doc.js +42 -0
- package/build/implementations/http/hono/docs/http-doc.js.map +1 -0
- package/build/implementations/http/hono/docs/http-stream-doc.d.ts +6 -0
- package/build/implementations/http/hono/docs/http-stream-doc.js +40 -0
- package/build/implementations/http/hono/docs/http-stream-doc.js.map +1 -0
- package/build/implementations/http/hono/docs/rpc-doc.d.ts +6 -0
- package/build/implementations/http/hono/docs/rpc-doc.js +24 -0
- package/build/implementations/http/hono/docs/rpc-doc.js.map +1 -0
- package/build/implementations/http/hono/docs/stream-doc.d.ts +6 -0
- package/build/implementations/http/hono/docs/stream-doc.js +42 -0
- package/build/implementations/http/hono/docs/stream-doc.js.map +1 -0
- package/build/implementations/http/hono/handlers/http-stream.d.ts +10 -0
- package/build/implementations/http/hono/handlers/http-stream.js +123 -0
- package/build/implementations/http/hono/handlers/http-stream.js.map +1 -0
- package/build/implementations/http/hono/handlers/http-stream.test.js +128 -0
- package/build/implementations/http/hono/handlers/http-stream.test.js.map +1 -0
- package/build/implementations/http/hono/handlers/http.d.ts +10 -0
- package/build/implementations/http/hono/handlers/http.js +115 -0
- package/build/implementations/http/hono/handlers/http.js.map +1 -0
- package/build/implementations/http/hono/handlers/http.test.js +118 -0
- package/build/implementations/http/hono/handlers/http.test.js.map +1 -0
- package/build/implementations/http/hono/handlers/rpc.d.ts +11 -0
- package/build/implementations/http/hono/handlers/rpc.js +32 -0
- package/build/implementations/http/hono/handlers/rpc.js.map +1 -0
- package/build/implementations/http/hono/handlers/rpc.test.js +73 -0
- package/build/implementations/http/hono/handlers/rpc.test.js.map +1 -0
- package/build/implementations/http/hono/handlers/stream.d.ts +23 -0
- package/build/implementations/http/hono/handlers/stream.js +147 -0
- package/build/implementations/http/hono/handlers/stream.js.map +1 -0
- package/build/implementations/http/hono/handlers/stream.test.d.ts +1 -0
- package/build/implementations/http/hono/handlers/stream.test.js +177 -0
- package/build/implementations/http/hono/handlers/stream.test.js.map +1 -0
- package/build/implementations/http/hono/index.d.ts +57 -0
- package/build/implementations/http/hono/index.js +149 -0
- package/build/implementations/http/hono/index.js.map +1 -0
- package/build/implementations/http/hono/index.test.d.ts +1 -0
- package/build/implementations/http/hono/index.test.js +274 -0
- package/build/implementations/http/hono/index.test.js.map +1 -0
- package/build/implementations/http/hono/path.d.ts +17 -0
- package/build/implementations/http/hono/path.js +39 -0
- package/build/implementations/http/hono/path.js.map +1 -0
- package/build/implementations/http/hono/path.test.d.ts +1 -0
- package/build/implementations/http/hono/path.test.js +83 -0
- package/build/implementations/http/hono/path.test.js.map +1 -0
- package/build/implementations/http/hono/types.d.ts +51 -0
- package/build/implementations/http/hono/types.js.map +1 -0
- package/build/implementations/http/on-request-error.test.js +6 -96
- package/build/implementations/http/on-request-error.test.js.map +1 -1
- package/build/implementations/http/route-errors.test.js +11 -59
- package/build/implementations/http/route-errors.test.js.map +1 -1
- package/build/implementations/types.d.ts +43 -9
- package/build/index.d.ts +125 -115
- package/build/index.js +10 -222
- package/build/index.js.map +1 -1
- package/build/index.test.js +30 -822
- package/build/index.test.js.map +1 -1
- package/build/migration.test.d.ts +1 -0
- package/build/migration.test.js +34 -0
- package/build/migration.test.js.map +1 -0
- package/build/schema/compute-schema.d.ts +11 -3
- package/build/schema/compute-schema.js +13 -7
- package/build/schema/compute-schema.js.map +1 -1
- package/build/schema/parser.d.ts +11 -3
- package/build/schema/parser.js +49 -9
- package/build/schema/parser.js.map +1 -1
- package/build/stack-utils.js +8 -0
- package/build/stack-utils.js.map +1 -1
- package/build/types.d.ts +142 -0
- package/build/types.js.map +1 -0
- package/docs/astro-adapter.md +5 -5
- package/docs/core.md +34 -17
- package/docs/http-integrations.md +83 -170
- package/docs/streaming.md +3 -60
- package/docs/superpowers/plans/2026-05-07-astro-adapter.md +2 -7
- package/docs/superpowers/plans/2026-05-08-create-http.md +3355 -0
- package/docs/superpowers/plans/2026-05-08-hono-app-builder-convergence.md +3365 -0
- package/docs/superpowers/specs/2026-05-07-astro-adapter-design.md +1 -3
- package/docs/superpowers/specs/2026-05-08-create-http-design.md +409 -0
- package/docs/superpowers/specs/2026-05-08-hono-app-builder-convergence-design.md +411 -0
- package/package.json +4 -22
- package/src/client/call.test.ts +26 -0
- package/src/client/call.ts +4 -1
- package/src/client/fetch-adapter.test.ts +14 -1
- package/src/client/fetch-adapter.ts +3 -1
- package/src/client/index.test.ts +7 -7
- package/src/client/request-builder.ts +2 -2
- package/src/client/stream.test.ts +39 -7
- package/src/client/stream.ts +16 -2
- package/src/client/typed-error-dispatch.test.ts +7 -97
- package/src/client/types.ts +21 -3
- package/src/codegen/__fixtures__/users-envelope.json +119 -38
- package/src/codegen/e2e.test.ts +98 -24
- package/src/codegen/emit-errors.integration.test.ts +1 -1
- package/src/codegen/emit-scope.test.ts +395 -110
- package/src/codegen/emit-scope.ts +350 -55
- package/src/codegen/pipeline.test.ts +7 -7
- package/src/codegen/resolve-envelope.test.ts +5 -5
- package/src/codegen/resolve-envelope.ts +1 -1
- package/src/codegen/targets/_shared/route-slots.test.ts +109 -26
- package/src/codegen/targets/_shared/route-slots.ts +48 -11
- package/src/codegen/targets/kotlin/__fixtures__/users-golden.kt +73 -0
- package/src/codegen/targets/kotlin/emit-route-kotlin.test.ts +100 -17
- package/src/codegen/targets/kotlin/emit-scope-kotlin.test.ts +9 -6
- package/src/codegen/targets/kotlin/integration.test.ts +19 -0
- package/src/codegen/targets/swift/__fixtures__/users-golden.swift +79 -0
- package/src/codegen/targets/swift/access-level.test.ts +8 -11
- package/src/codegen/targets/swift/emit-route-swift.test.ts +103 -20
- package/src/codegen/targets/swift/emit-scope-swift.test.ts +12 -9
- package/src/codegen/targets/swift/integration.test.ts +17 -0
- package/src/create-http-stream.test.ts +97 -0
- package/src/create-http-stream.ts +191 -0
- package/src/create-http.test.ts +163 -0
- package/src/create-http.ts +211 -0
- package/src/create-stream.test.ts +565 -0
- package/src/create-stream.ts +228 -0
- package/src/create.test.ts +658 -0
- package/src/create.ts +172 -0
- package/src/exports.ts +2 -0
- package/src/implementations/http/README.md +135 -95
- package/src/implementations/http/astro/README.md +4 -5
- package/src/implementations/http/astro/index.test.ts +25 -18
- package/src/implementations/http/doc-registry.test.ts +42 -5
- package/src/implementations/http/doc-registry.ts +1 -1
- package/src/implementations/http/error-dispatch.test.ts +283 -0
- package/src/implementations/http/error-dispatch.ts +176 -0
- package/src/implementations/http/error-taxonomy.ts +5 -5
- package/src/implementations/http/hono/docs/http-doc.ts +43 -0
- package/src/implementations/http/hono/docs/http-stream-doc.ts +44 -0
- package/src/implementations/http/hono/docs/rpc-doc.ts +34 -0
- package/src/implementations/http/hono/docs/stream-doc.ts +53 -0
- package/src/implementations/http/hono/handlers/http-stream.test.ts +150 -0
- package/src/implementations/http/hono/handlers/http-stream.ts +152 -0
- package/src/implementations/http/hono/handlers/http.test.ts +130 -0
- package/src/implementations/http/hono/handlers/http.ts +147 -0
- package/src/implementations/http/hono/handlers/rpc.test.ts +81 -0
- package/src/implementations/http/hono/handlers/rpc.ts +54 -0
- package/src/implementations/http/hono/handlers/stream.test.ts +198 -0
- package/src/implementations/http/hono/handlers/stream.ts +208 -0
- package/src/implementations/http/hono/index.test.ts +329 -0
- package/src/implementations/http/hono/index.ts +204 -0
- package/src/implementations/http/hono/path.test.ts +96 -0
- package/src/implementations/http/hono/path.ts +59 -0
- package/src/implementations/http/hono/types.ts +93 -0
- package/src/implementations/http/on-request-error.test.ts +10 -116
- package/src/implementations/http/route-errors.test.ts +11 -77
- package/src/implementations/types.ts +44 -9
- package/src/index.test.ts +35 -1091
- package/src/index.ts +50 -474
- package/src/migration.test.ts +48 -0
- package/src/schema/compute-schema.ts +26 -12
- package/src/schema/parser.ts +62 -12
- package/src/stack-utils.ts +8 -0
- package/src/types.ts +133 -0
- package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/express-rpc.md +0 -137
- package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/hono-api.md +0 -173
- package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/hono-rpc.md +0 -142
- package/agent_config/claude-code/skills/ts-procedures-scaffold/templates/hono-stream.md +0 -147
- package/build/implementations/http/express-rpc/error-taxonomy.test.js +0 -83
- package/build/implementations/http/express-rpc/error-taxonomy.test.js.map +0 -1
- package/build/implementations/http/express-rpc/index.d.ts +0 -125
- package/build/implementations/http/express-rpc/index.js +0 -216
- package/build/implementations/http/express-rpc/index.js.map +0 -1
- package/build/implementations/http/express-rpc/index.test.js +0 -684
- package/build/implementations/http/express-rpc/index.test.js.map +0 -1
- package/build/implementations/http/express-rpc/types.d.ts +0 -11
- package/build/implementations/http/express-rpc/types.js.map +0 -1
- package/build/implementations/http/hono-api/error-taxonomy.test.js +0 -137
- package/build/implementations/http/hono-api/error-taxonomy.test.js.map +0 -1
- package/build/implementations/http/hono-api/index.d.ts +0 -151
- package/build/implementations/http/hono-api/index.js +0 -344
- package/build/implementations/http/hono-api/index.js.map +0 -1
- package/build/implementations/http/hono-api/index.test.js +0 -992
- package/build/implementations/http/hono-api/index.test.js.map +0 -1
- package/build/implementations/http/hono-api/types.d.ts +0 -13
- package/build/implementations/http/hono-api/types.js.map +0 -1
- package/build/implementations/http/hono-rpc/error-taxonomy.test.js +0 -64
- package/build/implementations/http/hono-rpc/error-taxonomy.test.js.map +0 -1
- package/build/implementations/http/hono-rpc/index.d.ts +0 -130
- package/build/implementations/http/hono-rpc/index.js +0 -209
- package/build/implementations/http/hono-rpc/index.js.map +0 -1
- package/build/implementations/http/hono-rpc/index.test.js +0 -828
- package/build/implementations/http/hono-rpc/index.test.js.map +0 -1
- package/build/implementations/http/hono-rpc/types.d.ts +0 -11
- package/build/implementations/http/hono-rpc/types.js +0 -2
- package/build/implementations/http/hono-rpc/types.js.map +0 -1
- package/build/implementations/http/hono-stream/error-taxonomy.test.js +0 -159
- package/build/implementations/http/hono-stream/error-taxonomy.test.js.map +0 -1
- package/build/implementations/http/hono-stream/index.d.ts +0 -171
- package/build/implementations/http/hono-stream/index.js +0 -415
- package/build/implementations/http/hono-stream/index.js.map +0 -1
- package/build/implementations/http/hono-stream/index.test.js +0 -1383
- package/build/implementations/http/hono-stream/index.test.js.map +0 -1
- package/build/implementations/http/hono-stream/types.d.ts +0 -15
- package/build/implementations/http/hono-stream/types.js +0 -2
- package/build/implementations/http/hono-stream/types.js.map +0 -1
- package/src/implementations/http/express-rpc/README.md +0 -280
- package/src/implementations/http/express-rpc/error-taxonomy.test.ts +0 -103
- package/src/implementations/http/express-rpc/index.test.ts +0 -957
- package/src/implementations/http/express-rpc/index.ts +0 -327
- package/src/implementations/http/express-rpc/types.ts +0 -16
- package/src/implementations/http/hono-api/README.md +0 -284
- package/src/implementations/http/hono-api/error-taxonomy.test.ts +0 -179
- package/src/implementations/http/hono-api/index.test.ts +0 -1341
- package/src/implementations/http/hono-api/index.ts +0 -519
- package/src/implementations/http/hono-api/types.ts +0 -16
- package/src/implementations/http/hono-rpc/README.md +0 -357
- package/src/implementations/http/hono-rpc/error-taxonomy.test.ts +0 -82
- package/src/implementations/http/hono-rpc/index.test.ts +0 -1107
- package/src/implementations/http/hono-rpc/index.ts +0 -320
- package/src/implementations/http/hono-rpc/types.ts +0 -16
- package/src/implementations/http/hono-stream/README.md +0 -559
- package/src/implementations/http/hono-stream/error-taxonomy.test.ts +0 -178
- package/src/implementations/http/hono-stream/index.test.ts +0 -1804
- package/src/implementations/http/hono-stream/index.ts +0 -622
- package/src/implementations/http/hono-stream/types.ts +0 -20
- /package/build/{implementations/http/express-rpc/error-taxonomy.test.d.ts → create-http-stream.test.d.ts} +0 -0
- /package/build/{implementations/http/express-rpc/index.test.d.ts → create-http.test.d.ts} +0 -0
- /package/build/{implementations/http/hono-api/error-taxonomy.test.d.ts → create-stream.test.d.ts} +0 -0
- /package/build/{implementations/http/hono-api/index.test.d.ts → create.test.d.ts} +0 -0
- /package/build/implementations/http/{hono-rpc/error-taxonomy.test.d.ts → error-dispatch.test.d.ts} +0 -0
- /package/build/implementations/http/{hono-rpc/index.test.d.ts → hono/handlers/http-stream.test.d.ts} +0 -0
- /package/build/implementations/http/{hono-stream/error-taxonomy.test.d.ts → hono/handlers/http.test.d.ts} +0 -0
- /package/build/implementations/http/{hono-stream/index.test.d.ts → hono/handlers/rpc.test.d.ts} +0 -0
- /package/build/implementations/http/{express-rpc → hono}/types.js +0 -0
- /package/build/{implementations/http/hono-api/types.js → types.js} +0 -0
|
@@ -10,6 +10,8 @@ import { toPascalCase } from './naming.js';
|
|
|
10
10
|
* versions that don't set `kind` on route docs.
|
|
11
11
|
*/
|
|
12
12
|
function inferRouteKind(route) {
|
|
13
|
+
if ('streamMode' in route && 'fullPath' in route)
|
|
14
|
+
return 'http-stream';
|
|
13
15
|
if ('streamMode' in route)
|
|
14
16
|
return 'stream';
|
|
15
17
|
if ('fullPath' in route)
|
|
@@ -200,77 +202,333 @@ async function emitRpcRoute(route, ctx) {
|
|
|
200
202
|
const hasErrorsInjected = injectRouteErrors(declarations, pascal, errorUnion, ctx.namespaceTypes);
|
|
201
203
|
return { typeDeclarations: declarations, callable, hasStream: false, hasErrors: hasErrorsInjected };
|
|
202
204
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
205
|
+
/**
|
|
206
|
+
* Formats a group of named types into a nested sub-namespace block (for namespace mode).
|
|
207
|
+
* Returns an array of lines to be inserted into the parent namespace, and a map of
|
|
208
|
+
* shortName → qualified type reference for use in callables.
|
|
209
|
+
*
|
|
210
|
+
* In flat mode, returns declarations like `export type ${prefix}${shortName} = ...`
|
|
211
|
+
* and refs like `${prefix}${shortName}`.
|
|
212
|
+
*/
|
|
213
|
+
async function formatSubNamespace(routePascal, nsName, // e.g. 'Req' or 'Response'
|
|
214
|
+
types, ctx, taken) {
|
|
215
|
+
const refs = {};
|
|
216
|
+
const nsLines = [];
|
|
217
|
+
const seenDeclarations = new Set();
|
|
218
|
+
// Pre-reserve short names to prevent sub-type extraction collision
|
|
219
|
+
for (const t of types) {
|
|
220
|
+
if (t.schema != null)
|
|
221
|
+
taken.add(t.shortName);
|
|
215
222
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
// reserve it up-front to keep ajsc-extracted sub-types from shadowing it.
|
|
220
|
-
const { declarations, refs } = await formatTypes(pascal, channelTypes, ctx, new Set(['Params']));
|
|
221
|
-
// Compose structured Params type from channels
|
|
222
|
-
let paramsTypeName = 'unknown';
|
|
223
|
-
if (presentChannels.length > 0) {
|
|
223
|
+
for (const { shortName, schema } of types) {
|
|
224
|
+
if (schema == null)
|
|
225
|
+
continue;
|
|
224
226
|
if (ctx.namespaceTypes) {
|
|
225
|
-
const
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
const
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
if (closingIdx !== -1) {
|
|
234
|
-
declarations[lastIdx] =
|
|
235
|
-
lastDecl.slice(0, closingIdx) +
|
|
236
|
-
` export type Params = { ${structureFields} }\n` +
|
|
237
|
-
lastDecl.slice(closingIdx);
|
|
227
|
+
const rawResult = await jsonSchemaToExtractedTypes(schema, ctx.ajsc);
|
|
228
|
+
if (rawResult == null)
|
|
229
|
+
continue;
|
|
230
|
+
const result = renameExtractedTypes(rawResult, taken);
|
|
231
|
+
for (const decl of result.declarations) {
|
|
232
|
+
if (!seenDeclarations.has(decl)) {
|
|
233
|
+
seenDeclarations.add(decl);
|
|
234
|
+
nsLines.push(indent(decl, ' '));
|
|
238
235
|
}
|
|
239
236
|
}
|
|
240
|
-
|
|
237
|
+
nsLines.push(` export type ${shortName} = ${result.body}`);
|
|
238
|
+
refs[shortName] = `${ctx.scopePascal}.${routePascal}.${nsName}.${shortName}`;
|
|
241
239
|
}
|
|
242
240
|
else {
|
|
243
|
-
const
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
241
|
+
const flatName = `${routePascal}${nsName}${shortName}`;
|
|
242
|
+
const body = await jsonSchemaToTypeBody(schema, ctx.ajsc);
|
|
243
|
+
if (body == null)
|
|
244
|
+
continue;
|
|
245
|
+
refs[shortName] = flatName;
|
|
248
246
|
}
|
|
249
247
|
}
|
|
250
|
-
|
|
248
|
+
if (ctx.namespaceTypes) {
|
|
249
|
+
if (nsLines.length === 0)
|
|
250
|
+
return { nsBlock: null, refs };
|
|
251
|
+
const nsBlock = ` export namespace ${nsName} {\n${nsLines.join('\n')}\n }`;
|
|
252
|
+
return { nsBlock, refs };
|
|
253
|
+
}
|
|
254
|
+
return { nsBlock: null, refs };
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Builds the conditional return type string for an API or http-stream callable.
|
|
258
|
+
*
|
|
259
|
+
* - Both body + headers → `{ body: <Body>; headers: <Headers> }`
|
|
260
|
+
* - Only body → `<Body>`
|
|
261
|
+
* - Only headers → `{ headers: <Headers> }`
|
|
262
|
+
* - Neither → `void`
|
|
263
|
+
*/
|
|
264
|
+
function buildApiReturnType(bodyRef, headersRef) {
|
|
265
|
+
if (bodyRef && headersRef) {
|
|
266
|
+
return `{ body: ${bodyRef}; headers: ${headersRef} }`;
|
|
267
|
+
}
|
|
268
|
+
if (bodyRef)
|
|
269
|
+
return bodyRef;
|
|
270
|
+
if (headersRef)
|
|
271
|
+
return `{ headers: ${headersRef} }`;
|
|
272
|
+
return 'void';
|
|
273
|
+
}
|
|
274
|
+
async function emitApiRoute(route, ctx) {
|
|
275
|
+
const pascal = toPascalCase(route.name);
|
|
276
|
+
const req = route.jsonSchema.req ?? {};
|
|
277
|
+
const res = route.jsonSchema.res ?? {};
|
|
278
|
+
// Request channels
|
|
279
|
+
const reqChannelKeys = ['pathParams', 'query', 'body', 'headers'];
|
|
280
|
+
const reqTypes = [];
|
|
281
|
+
const presentChannels = [];
|
|
282
|
+
for (const channel of reqChannelKeys) {
|
|
283
|
+
const schema = req[channel];
|
|
284
|
+
if (schema != null) {
|
|
285
|
+
reqTypes.push({ shortName: toPascalCase(channel), schema });
|
|
286
|
+
presentChannels.push(channel);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
// Response slots
|
|
290
|
+
const resTypes = [
|
|
291
|
+
{ shortName: 'Body', schema: res.body },
|
|
292
|
+
{ shortName: 'Headers', schema: res.headers },
|
|
293
|
+
];
|
|
251
294
|
const scopeStr = route.scope ?? 'default';
|
|
252
295
|
const errorUnion = buildErrorUnion(route.errors, ctx);
|
|
253
296
|
const hasErrors = errorUnion !== null;
|
|
254
297
|
const errorsRef = ctx.namespaceTypes
|
|
255
298
|
? `${ctx.scopePascal}.${pascal}.Errors`
|
|
256
299
|
: `${pascal}Errors`;
|
|
300
|
+
const declarations = [];
|
|
301
|
+
let paramsTypeName = 'unknown';
|
|
302
|
+
let returnTypeName = 'void';
|
|
303
|
+
// Track reserved names across all sub-namespaces
|
|
304
|
+
const taken = new Set(['Req', 'Response']);
|
|
305
|
+
if (ctx.namespaceTypes) {
|
|
306
|
+
// Namespace mode: emit nested Req {} and Response {} namespaces inside route namespace.
|
|
307
|
+
// Also emit merged type aliases `export type Req = { ... }` and `export type Response = ...`
|
|
308
|
+
// so they can be used as type arguments to bindCallable (TS requires a TYPE, not a namespace).
|
|
309
|
+
const nsLines = [];
|
|
310
|
+
const { nsBlock: reqBlock, refs: reqRefs } = await formatSubNamespace(pascal, 'Req', reqTypes, ctx, taken);
|
|
311
|
+
if (reqBlock) {
|
|
312
|
+
nsLines.push(reqBlock);
|
|
313
|
+
// Merged type alias for Req so it can be used as a generic type arg
|
|
314
|
+
const reqFields = presentChannels
|
|
315
|
+
.map((ch) => `${ch}: Req.${toPascalCase(ch)}`)
|
|
316
|
+
.join('; ');
|
|
317
|
+
nsLines.push(` export type Req = { ${reqFields} }`);
|
|
318
|
+
}
|
|
319
|
+
const { nsBlock: resBlock, refs: resRefs } = await formatSubNamespace(pascal, 'Response', resTypes, ctx, taken);
|
|
320
|
+
if (resBlock) {
|
|
321
|
+
nsLines.push(resBlock);
|
|
322
|
+
// No merged Response type alias needed: we reference Response.Body / Response.Headers
|
|
323
|
+
// directly in the return type string, which are namespace-qualified paths (valid).
|
|
324
|
+
}
|
|
325
|
+
// Emit Errors type last (injected by injectRouteErrors below)
|
|
326
|
+
// Build the route namespace block
|
|
327
|
+
if (nsLines.length > 0) {
|
|
328
|
+
declarations.push(` export namespace ${pascal} {\n${nsLines.join('\n\n')}\n }`);
|
|
329
|
+
}
|
|
330
|
+
// Params type: use the merged Req type alias
|
|
331
|
+
if (presentChannels.length > 0) {
|
|
332
|
+
paramsTypeName = `${ctx.scopePascal}.${pascal}.Req`;
|
|
333
|
+
}
|
|
334
|
+
// Return type
|
|
335
|
+
const bodyRef = resRefs['Body'];
|
|
336
|
+
const headersRef = resRefs['Headers'];
|
|
337
|
+
returnTypeName = buildApiReturnType(bodyRef, headersRef);
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
// Flat mode: emit individual types prefixed with route + sub-namespace name
|
|
341
|
+
for (const { shortName, schema } of reqTypes) {
|
|
342
|
+
if (schema == null)
|
|
343
|
+
continue;
|
|
344
|
+
const flatName = `${pascal}Req${shortName}`;
|
|
345
|
+
const body = await jsonSchemaToTypeBody(schema, ctx.ajsc);
|
|
346
|
+
if (body == null)
|
|
347
|
+
continue;
|
|
348
|
+
declarations.push(`export type ${flatName} = ${body}`);
|
|
349
|
+
}
|
|
350
|
+
// Flat mode: compose structured Req type
|
|
351
|
+
if (presentChannels.length > 0) {
|
|
352
|
+
const structureFields = presentChannels
|
|
353
|
+
.map((ch) => `${ch}: ${pascal}Req${toPascalCase(ch)}`)
|
|
354
|
+
.join('; ');
|
|
355
|
+
declarations.push(`export type ${pascal}Req = { ${structureFields} }`);
|
|
356
|
+
paramsTypeName = `${pascal}Req`;
|
|
357
|
+
}
|
|
358
|
+
// Flat mode: emit response types
|
|
359
|
+
let bodyRef;
|
|
360
|
+
let headersRef;
|
|
361
|
+
for (const { shortName, schema } of resTypes) {
|
|
362
|
+
if (schema == null)
|
|
363
|
+
continue;
|
|
364
|
+
const flatName = `${pascal}Response${shortName}`;
|
|
365
|
+
const body = await jsonSchemaToTypeBody(schema, ctx.ajsc);
|
|
366
|
+
if (body == null)
|
|
367
|
+
continue;
|
|
368
|
+
declarations.push(`export type ${flatName} = ${body}`);
|
|
369
|
+
if (shortName === 'Body')
|
|
370
|
+
bodyRef = flatName;
|
|
371
|
+
if (shortName === 'Headers')
|
|
372
|
+
headersRef = flatName;
|
|
373
|
+
}
|
|
374
|
+
returnTypeName = buildApiReturnType(bodyRef, headersRef);
|
|
375
|
+
// Flat mode errors
|
|
376
|
+
if (errorUnion) {
|
|
377
|
+
declarations.push(`export type ${pascal}Errors = ${errorUnion}`);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
const responseHeadersDeclared = res.headers != null;
|
|
257
381
|
const helperCall = hasErrors
|
|
258
|
-
? `client.bindCallableTyped<${paramsTypeName}, ${
|
|
259
|
-
: `client.bindCallable<${paramsTypeName}, ${
|
|
260
|
-
|
|
261
|
-
const callable = [
|
|
262
|
-
` /** ${route.method.toUpperCase()} ${route.fullPath} */`,
|
|
263
|
-
` ${route.name}: ${helperCall}({`,
|
|
382
|
+
? `client.bindCallableTyped<${paramsTypeName}, ${returnTypeName}, ${errorsRef}>`
|
|
383
|
+
: `client.bindCallable<${paramsTypeName}, ${returnTypeName}>`;
|
|
384
|
+
const descriptorLines = [
|
|
264
385
|
` name: '${route.name}',`,
|
|
265
386
|
` scope: '${scopeStr}',`,
|
|
266
387
|
` path: '${route.fullPath}',`,
|
|
267
388
|
` method: '${route.method}',`,
|
|
268
389
|
` kind: 'api',`,
|
|
390
|
+
...(responseHeadersDeclared ? [` responseHeadersDeclared: true,`] : []),
|
|
391
|
+
];
|
|
392
|
+
const callable = [
|
|
393
|
+
` /** ${route.method.toUpperCase()} ${route.fullPath} */`,
|
|
394
|
+
` ${route.name}: ${helperCall}({`,
|
|
395
|
+
...descriptorLines,
|
|
269
396
|
` }),`,
|
|
270
397
|
].join('\n');
|
|
271
|
-
const hasErrorsInjected =
|
|
398
|
+
const hasErrorsInjected = ctx.namespaceTypes
|
|
399
|
+
? injectRouteErrors(declarations, pascal, errorUnion, ctx.namespaceTypes)
|
|
400
|
+
: errorUnion !== null; // flat mode already emitted errors above
|
|
272
401
|
return { typeDeclarations: declarations, callable, hasStream: false, hasErrors: hasErrorsInjected };
|
|
273
402
|
}
|
|
403
|
+
async function emitHttpStreamRoute(route, ctx) {
|
|
404
|
+
const pascal = toPascalCase(route.name);
|
|
405
|
+
const req = route.jsonSchema.req ?? {};
|
|
406
|
+
const res = route.jsonSchema.res ?? {};
|
|
407
|
+
// Request channels
|
|
408
|
+
const reqChannelKeys = ['pathParams', 'query', 'body', 'headers'];
|
|
409
|
+
const reqTypes = [];
|
|
410
|
+
const presentChannels = [];
|
|
411
|
+
for (const channel of reqChannelKeys) {
|
|
412
|
+
const schema = req[channel];
|
|
413
|
+
if (schema != null) {
|
|
414
|
+
reqTypes.push({ shortName: toPascalCase(channel), schema });
|
|
415
|
+
presentChannels.push(channel);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
// Yield + ReturnType
|
|
419
|
+
const yieldSchema = route.jsonSchema.yield;
|
|
420
|
+
const returnSchema = route.jsonSchema.returnType;
|
|
421
|
+
const resHeadersSchema = res.headers;
|
|
422
|
+
const scopeStr = route.scope ?? 'default';
|
|
423
|
+
const declarations = [];
|
|
424
|
+
let paramsTypeName = 'unknown';
|
|
425
|
+
let yieldTypeName = 'unknown';
|
|
426
|
+
let returnTypeName = 'void';
|
|
427
|
+
const taken = new Set(['Req', 'Response', 'Yield', 'ReturnType']);
|
|
428
|
+
if (ctx.namespaceTypes) {
|
|
429
|
+
const nsLines = [];
|
|
430
|
+
// Req sub-namespace
|
|
431
|
+
const { nsBlock: reqBlock, refs: reqRefs } = await formatSubNamespace(pascal, 'Req', reqTypes, ctx, taken);
|
|
432
|
+
if (reqBlock) {
|
|
433
|
+
nsLines.push(reqBlock);
|
|
434
|
+
// Merged type alias so Req can be used as a generic type arg (same pattern as emitApiRoute)
|
|
435
|
+
const reqFields = presentChannels
|
|
436
|
+
.map((ch) => `${ch}: Req.${toPascalCase(ch)}`)
|
|
437
|
+
.join('; ');
|
|
438
|
+
nsLines.push(` export type Req = { ${reqFields} }`);
|
|
439
|
+
}
|
|
440
|
+
// Response sub-namespace (headers only for http-stream)
|
|
441
|
+
const resTypes = [{ shortName: 'Headers', schema: resHeadersSchema }];
|
|
442
|
+
const { nsBlock: resBlock } = await formatSubNamespace(pascal, 'Response', resTypes, ctx, taken);
|
|
443
|
+
if (resBlock)
|
|
444
|
+
nsLines.push(resBlock);
|
|
445
|
+
// Yield and ReturnType directly in the route namespace
|
|
446
|
+
const directTypes = [
|
|
447
|
+
{ shortName: 'Yield', schema: yieldSchema },
|
|
448
|
+
{ shortName: 'ReturnType', schema: returnSchema },
|
|
449
|
+
];
|
|
450
|
+
const seenDeclarations = new Set();
|
|
451
|
+
for (const { shortName, schema } of directTypes) {
|
|
452
|
+
if (schema == null)
|
|
453
|
+
continue;
|
|
454
|
+
const rawResult = await jsonSchemaToExtractedTypes(schema, ctx.ajsc);
|
|
455
|
+
if (rawResult == null)
|
|
456
|
+
continue;
|
|
457
|
+
const result = renameExtractedTypes(rawResult, taken);
|
|
458
|
+
for (const decl of result.declarations) {
|
|
459
|
+
if (!seenDeclarations.has(decl)) {
|
|
460
|
+
seenDeclarations.add(decl);
|
|
461
|
+
nsLines.push(indent(decl, ' '));
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
nsLines.push(` export type ${shortName} = ${result.body}`);
|
|
465
|
+
}
|
|
466
|
+
if (nsLines.length > 0) {
|
|
467
|
+
declarations.push(` export namespace ${pascal} {\n${nsLines.join('\n')}\n }`);
|
|
468
|
+
}
|
|
469
|
+
if (presentChannels.length > 0) {
|
|
470
|
+
paramsTypeName = `${ctx.scopePascal}.${pascal}.Req`;
|
|
471
|
+
}
|
|
472
|
+
if (yieldSchema != null)
|
|
473
|
+
yieldTypeName = `${ctx.scopePascal}.${pascal}.Yield`;
|
|
474
|
+
if (returnSchema != null)
|
|
475
|
+
returnTypeName = `${ctx.scopePascal}.${pascal}.ReturnType`;
|
|
476
|
+
}
|
|
477
|
+
else {
|
|
478
|
+
// Flat mode
|
|
479
|
+
for (const { shortName, schema } of reqTypes) {
|
|
480
|
+
if (schema == null)
|
|
481
|
+
continue;
|
|
482
|
+
const flatName = `${pascal}Req${shortName}`;
|
|
483
|
+
const body = await jsonSchemaToTypeBody(schema, ctx.ajsc);
|
|
484
|
+
if (body == null)
|
|
485
|
+
continue;
|
|
486
|
+
declarations.push(`export type ${flatName} = ${body}`);
|
|
487
|
+
}
|
|
488
|
+
if (presentChannels.length > 0) {
|
|
489
|
+
const structureFields = presentChannels
|
|
490
|
+
.map((ch) => `${ch}: ${pascal}Req${toPascalCase(ch)}`)
|
|
491
|
+
.join('; ');
|
|
492
|
+
declarations.push(`export type ${pascal}Req = { ${structureFields} }`);
|
|
493
|
+
paramsTypeName = `${pascal}Req`;
|
|
494
|
+
}
|
|
495
|
+
if (resHeadersSchema != null) {
|
|
496
|
+
const body = await jsonSchemaToTypeBody(resHeadersSchema, ctx.ajsc);
|
|
497
|
+
if (body != null)
|
|
498
|
+
declarations.push(`export type ${pascal}ResponseHeaders = ${body}`);
|
|
499
|
+
}
|
|
500
|
+
if (yieldSchema != null) {
|
|
501
|
+
const body = await jsonSchemaToTypeBody(yieldSchema, ctx.ajsc);
|
|
502
|
+
if (body != null) {
|
|
503
|
+
declarations.push(`export type ${pascal}Yield = ${body}`);
|
|
504
|
+
yieldTypeName = `${pascal}Yield`;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
if (returnSchema != null) {
|
|
508
|
+
const body = await jsonSchemaToTypeBody(returnSchema, ctx.ajsc);
|
|
509
|
+
if (body != null) {
|
|
510
|
+
declarations.push(`export type ${pascal}ReturnType = ${body}`);
|
|
511
|
+
returnTypeName = `${pascal}ReturnType`;
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
const callable = [
|
|
516
|
+
` /** ${route.method.toUpperCase()} ${route.fullPath} */`,
|
|
517
|
+
` ${route.name}(req: ${paramsTypeName}, options?: ProcedureCallOptions): TypedStream<${yieldTypeName}, ${returnTypeName}> {`,
|
|
518
|
+
` return client.stream<${yieldTypeName}, ${returnTypeName}>({`,
|
|
519
|
+
` name: '${route.name}',`,
|
|
520
|
+
` scope: '${scopeStr}',`,
|
|
521
|
+
` path: '${route.fullPath}',`,
|
|
522
|
+
` method: '${route.method}',`,
|
|
523
|
+
` kind: 'http-stream',`,
|
|
524
|
+
` streamMode: '${route.streamMode}',`,
|
|
525
|
+
` params: req,`,
|
|
526
|
+
` }, options)`,
|
|
527
|
+
` },`,
|
|
528
|
+
].join('\n');
|
|
529
|
+
const hasErrors = injectRouteErrors(declarations, pascal, buildErrorUnion(route.errors, ctx), ctx.namespaceTypes);
|
|
530
|
+
return { typeDeclarations: declarations, callable, hasStream: true, hasErrors };
|
|
531
|
+
}
|
|
274
532
|
async function emitStreamRoute(route, ctx) {
|
|
275
533
|
const pascal = versionedPascal(route.name, route.version);
|
|
276
534
|
// Unwrap SSE envelope from yieldType
|
|
@@ -341,6 +599,9 @@ export async function emitScopeFile(group, options) {
|
|
|
341
599
|
else if (kind === 'stream') {
|
|
342
600
|
chunks = await emitStreamRoute(route, ctx);
|
|
343
601
|
}
|
|
602
|
+
else if (kind === 'http-stream') {
|
|
603
|
+
chunks = await emitHttpStreamRoute(route, ctx);
|
|
604
|
+
}
|
|
344
605
|
else {
|
|
345
606
|
throw new Error(`Unknown route kind "${kind}"`);
|
|
346
607
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-scope.js","sourceRoot":"","sources":["../../src/codegen/emit-scope.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emit-scope.js","sourceRoot":"","sources":["../../src/codegen/emit-scope.ts"],"names":[],"mappings":"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"}
|