ts-procedures 8.2.1 → 8.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/agent_config/claude-code/skills/ts-procedures/SKILL.md +31 -9
  2. package/agent_config/claude-code/skills/ts-procedures/api-reference.md +3 -1
  3. package/agent_config/claude-code/skills/ts-procedures/patterns.md +30 -6
  4. package/agent_config/claude-code/skills/ts-procedures/templates/client.md +3 -3
  5. package/agent_config/claude-code/skills/ts-procedures/templates/hono.md +3 -3
  6. package/agent_config/claude-code/skills/ts-procedures/templates/procedure.md +3 -3
  7. package/agent_config/claude-code/skills/ts-procedures/templates/stream-procedure.md +3 -3
  8. package/agent_config/copilot/copilot-instructions.md +10 -6
  9. package/agent_config/cursor/cursorrules +10 -6
  10. package/build/client/call.js +1 -1
  11. package/build/client/call.js.map +1 -1
  12. package/build/client/index.d.ts +1 -1
  13. package/build/client/index.js +23 -1
  14. package/build/client/index.js.map +1 -1
  15. package/build/client/index.test.js +87 -0
  16. package/build/client/index.test.js.map +1 -1
  17. package/build/client/resolve-options.d.ts +5 -4
  18. package/build/client/resolve-options.js +18 -7
  19. package/build/client/resolve-options.js.map +1 -1
  20. package/build/client/resolve-options.test.js +53 -24
  21. package/build/client/resolve-options.test.js.map +1 -1
  22. package/build/client/stream.js +1 -1
  23. package/build/client/stream.js.map +1 -1
  24. package/build/client/types.d.ts +31 -3
  25. package/build/codegen/__fixtures__/make-envelope.d.ts +41 -0
  26. package/build/codegen/__fixtures__/make-envelope.js +38 -0
  27. package/build/codegen/__fixtures__/make-envelope.js.map +1 -0
  28. package/build/codegen/bin/cli.d.ts +11 -0
  29. package/build/codegen/bin/cli.js +30 -21
  30. package/build/codegen/bin/cli.js.map +1 -1
  31. package/build/codegen/bin/cli.test.js +36 -1
  32. package/build/codegen/bin/cli.test.js.map +1 -1
  33. package/build/codegen/bin/flag-specs.d.ts +10 -0
  34. package/build/codegen/bin/flag-specs.js +60 -0
  35. package/build/codegen/bin/flag-specs.js.map +1 -0
  36. package/build/codegen/bin/flag-specs.test.d.ts +1 -0
  37. package/build/codegen/bin/flag-specs.test.js +26 -0
  38. package/build/codegen/bin/flag-specs.test.js.map +1 -0
  39. package/build/codegen/collect-models.d.ts +37 -0
  40. package/build/codegen/collect-models.js +74 -0
  41. package/build/codegen/collect-models.js.map +1 -0
  42. package/build/codegen/collect-models.test.d.ts +1 -0
  43. package/build/codegen/collect-models.test.js +40 -0
  44. package/build/codegen/collect-models.test.js.map +1 -0
  45. package/build/codegen/emit-client-runtime.js +1 -0
  46. package/build/codegen/emit-client-runtime.js.map +1 -1
  47. package/build/codegen/emit-errors.integration.test.js +22 -0
  48. package/build/codegen/emit-errors.integration.test.js.map +1 -1
  49. package/build/codegen/emit-models.d.ts +26 -0
  50. package/build/codegen/emit-models.js +53 -0
  51. package/build/codegen/emit-models.js.map +1 -0
  52. package/build/codegen/emit-models.test.d.ts +1 -0
  53. package/build/codegen/emit-models.test.js +42 -0
  54. package/build/codegen/emit-models.test.js.map +1 -0
  55. package/build/codegen/emit-scope.d.ts +10 -0
  56. package/build/codegen/emit-scope.js +119 -34
  57. package/build/codegen/emit-scope.js.map +1 -1
  58. package/build/codegen/emit-types.d.ts +26 -1
  59. package/build/codegen/emit-types.js +27 -5
  60. package/build/codegen/emit-types.js.map +1 -1
  61. package/build/codegen/index.d.ts +5 -0
  62. package/build/codegen/index.js +2 -0
  63. package/build/codegen/index.js.map +1 -1
  64. package/build/codegen/model-refs.d.ts +27 -0
  65. package/build/codegen/model-refs.js +49 -0
  66. package/build/codegen/model-refs.js.map +1 -0
  67. package/build/codegen/model-refs.test.d.ts +1 -0
  68. package/build/codegen/model-refs.test.js +33 -0
  69. package/build/codegen/model-refs.test.js.map +1 -0
  70. package/build/codegen/pipeline.d.ts +3 -0
  71. package/build/codegen/pipeline.js +3 -1
  72. package/build/codegen/pipeline.js.map +1 -1
  73. package/build/codegen/schema-walk.d.ts +13 -0
  74. package/build/codegen/schema-walk.js +26 -0
  75. package/build/codegen/schema-walk.js.map +1 -0
  76. package/build/codegen/schema-walk.test.d.ts +1 -0
  77. package/build/codegen/schema-walk.test.js +35 -0
  78. package/build/codegen/schema-walk.test.js.map +1 -0
  79. package/build/codegen/targets/_shared/target-run.d.ts +5 -0
  80. package/build/codegen/targets/ts/run.js +28 -1
  81. package/build/codegen/targets/ts/run.js.map +1 -1
  82. package/build/codegen/targets/ts/shared-models.test.d.ts +1 -0
  83. package/build/codegen/targets/ts/shared-models.test.js +258 -0
  84. package/build/codegen/targets/ts/shared-models.test.js.map +1 -0
  85. package/build/doc-envelope.d.ts +13 -0
  86. package/build/doc-envelope.js +23 -0
  87. package/build/doc-envelope.js.map +1 -0
  88. package/build/doc-envelope.test.d.ts +1 -0
  89. package/build/doc-envelope.test.js +31 -0
  90. package/build/doc-envelope.test.js.map +1 -0
  91. package/build/exports.d.ts +2 -0
  92. package/build/exports.js +1 -0
  93. package/build/exports.js.map +1 -1
  94. package/build/implementations/http/error-taxonomy.d.ts +40 -0
  95. package/build/implementations/http/error-taxonomy.js +57 -5
  96. package/build/implementations/http/error-taxonomy.js.map +1 -1
  97. package/build/implementations/http/error-taxonomy.test.js +95 -1
  98. package/build/implementations/http/error-taxonomy.test.js.map +1 -1
  99. package/build/implementations/http/hono/handlers/http.js +19 -24
  100. package/build/implementations/http/hono/handlers/http.js.map +1 -1
  101. package/build/implementations/http/hono/handlers/http.test.js +64 -1
  102. package/build/implementations/http/hono/handlers/http.test.js.map +1 -1
  103. package/docs/client-and-codegen.md +109 -0
  104. package/docs/core.md +2 -0
  105. package/docs/handoffs/ajsc-named-type-collision.md +134 -0
  106. package/docs/handoffs/ajsc-named-type-support.md +181 -0
  107. package/docs/http-integrations.md +4 -0
  108. package/docs/superpowers/plans/2026-06-05-dx-feedback-round.md +1292 -0
  109. package/docs/superpowers/specs/2026-06-05-dx-feedback-round-design.md +285 -0
  110. package/package.json +2 -2
  111. package/src/client/call.ts +1 -1
  112. package/src/client/index.test.ts +98 -0
  113. package/src/client/index.ts +32 -1
  114. package/src/client/resolve-options.test.ts +73 -26
  115. package/src/client/resolve-options.ts +23 -9
  116. package/src/client/stream.ts +1 -1
  117. package/src/client/types.ts +34 -3
  118. package/src/codegen/__fixtures__/make-envelope.ts +89 -0
  119. package/src/codegen/bin/cli.test.ts +38 -1
  120. package/src/codegen/bin/cli.ts +33 -22
  121. package/src/codegen/bin/flag-specs.test.ts +27 -0
  122. package/src/codegen/bin/flag-specs.ts +69 -0
  123. package/src/codegen/collect-models.test.ts +46 -0
  124. package/src/codegen/collect-models.ts +108 -0
  125. package/src/codegen/emit-client-runtime.ts +1 -0
  126. package/src/codegen/emit-errors.integration.test.ts +26 -0
  127. package/src/codegen/emit-models.test.ts +48 -0
  128. package/src/codegen/emit-models.ts +63 -0
  129. package/src/codegen/emit-scope.ts +145 -33
  130. package/src/codegen/emit-types.ts +48 -7
  131. package/src/codegen/index.ts +7 -0
  132. package/src/codegen/model-refs.test.ts +37 -0
  133. package/src/codegen/model-refs.ts +57 -0
  134. package/src/codegen/pipeline.ts +6 -1
  135. package/src/codegen/schema-walk.test.ts +37 -0
  136. package/src/codegen/schema-walk.ts +23 -0
  137. package/src/codegen/targets/_shared/target-run.ts +5 -0
  138. package/src/codegen/targets/ts/run.ts +33 -0
  139. package/src/codegen/targets/ts/shared-models.test.ts +283 -0
  140. package/src/doc-envelope.test.ts +35 -0
  141. package/src/doc-envelope.ts +30 -0
  142. package/src/exports.ts +2 -0
  143. package/src/implementations/http/error-taxonomy.test.ts +111 -0
  144. package/src/implementations/http/error-taxonomy.ts +60 -5
  145. package/src/implementations/http/hono/handlers/http.test.ts +69 -1
  146. package/src/implementations/http/hono/handlers/http.ts +19 -21
@@ -1 +1 @@
1
- {"version":3,"file":"error-taxonomy.test.js","sourceRoot":"","sources":["../../../src/implementations/http/error-taxonomy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-taxonomy.test.js","sourceRoot":"","sources":["../../../src/implementations/http/error-taxonomy.test.ts"],"names":[],"mappings":"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"}
@@ -68,33 +68,28 @@ export function installHttpRoute(params) {
68
68
  : undefined;
69
69
  const result = await procedure.handler({ ...context, signal: c.req.raw.signal }, reqParams);
70
70
  cfg.api?.onSuccess?.(procedure, c);
71
- // 204 No Content no body, just optional headers
72
- if (successStatus === 204) {
73
- if (result && typeof result === 'object' && 'headers' in result && result.headers) {
74
- for (const [k, v] of Object.entries(result.headers)) {
75
- c.header(k, v);
76
- }
77
- }
78
- return c.body(null, 204);
79
- }
80
- let body = result;
81
- let headers;
82
- if (result && typeof result === 'object' && 'body' in result && 'headers' in result) {
83
- body = result.body;
84
- headers = result.headers;
85
- }
86
- else if (result && typeof result === 'object' && 'headers' in result && !('body' in result)) {
87
- for (const [k, v] of Object.entries(result.headers)) {
71
+ // The `{ body, headers }` envelope is OPT-IN via `schema.res.headers`: when
72
+ // the route declares response headers, the handler returns `{ body, headers }`;
73
+ // otherwise its return value IS the body. Gating on the schema (rather than
74
+ // duck-typing the result for a `body`/`headers` key) lets a domain object
75
+ // safely carry its own `body`/`headers` field without being unwrapped.
76
+ // Normalize both shapes to a single `{ body, headers }` so the response
77
+ // decision below is uniform for every legal return shape.
78
+ const hasResHeaders = procedure.config.schema?.res?.headers != null;
79
+ const { body, headers } = hasResHeaders
80
+ ? (result ?? {})
81
+ : { body: result, headers: undefined };
82
+ if (headers && typeof headers === 'object') {
83
+ for (const [k, v] of Object.entries(headers))
88
84
  c.header(k, v);
89
- }
90
- return c.body(null, successStatus);
91
85
  }
92
- else if (result && typeof result === 'object' && 'body' in result && !('headers' in result)) {
93
- body = result.body;
86
+ // No body to send a 204 status, or an `undefined` return (a `void`
87
+ // handler, or a headers-only `res: { headers }` envelope). Emit a clean
88
+ // bodyless response instead of `c.json(undefined)`, which would send an
89
+ // empty, unparseable body under an `application/json` content-type.
90
+ if (successStatus === 204 || body === undefined) {
91
+ return c.body(null, successStatus);
94
92
  }
95
- if (headers)
96
- for (const [k, v] of Object.entries(headers))
97
- c.header(k, v);
98
93
  return c.json(body, successStatus);
99
94
  }
100
95
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../../../src/implementations/http/hono/handlers/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../../../src/implementations/http/hono/handlers/http.ts"],"names":[],"mappings":"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"}
@@ -108,11 +108,74 @@ describe('installHttpRoute', () => {
108
108
  P.CreateHttp('Q', {
109
109
  path: '/q', method: 'get',
110
110
  schema: { req: { query: Type.Any() }, res: { body: Type.Any() } },
111
- }, async (_ctx, { query }) => ({ body: query }));
111
+ }, async (_ctx, { query }) => query);
112
112
  }, { api: { queryParser } });
113
113
  const res = await app.request('/q?a=1&b=2');
114
114
  expect(queryParser).toHaveBeenCalledWith('a=1&b=2');
115
115
  expect(await res.json()).toEqual({ parsed: true, raw: 'a=1&b=2' });
116
116
  });
117
+ test('domain object with a top-level "body" field serializes whole (no res.headers)', async () => {
118
+ const { app } = buildApp((P) => {
119
+ P.CreateHttp('GetMessage', {
120
+ path: '/msg', method: 'get',
121
+ schema: { res: { body: Type.Object({ id: Type.String(), body: Type.String() }) } },
122
+ }, async () => ({ id: '1', body: 'hello text' }));
123
+ });
124
+ const res = await app.request('/msg');
125
+ expect(res.status).toBe(200);
126
+ expect(await res.json()).toEqual({ id: '1', body: 'hello text' });
127
+ });
128
+ test('envelope unwraps when res.headers is declared', async () => {
129
+ const { app } = buildApp((P) => {
130
+ P.CreateHttp('Enveloped', {
131
+ path: '/env', method: 'get',
132
+ schema: { res: { body: Type.Object({ ok: Type.Boolean() }), headers: Type.Object({}) } },
133
+ }, async () => ({ body: { ok: true }, headers: { 'x-trace': 'z' } }));
134
+ });
135
+ const res = await app.request('/env');
136
+ expect(res.status).toBe(200);
137
+ expect(res.headers.get('x-trace')).toBe('z');
138
+ expect(await res.json()).toEqual({ ok: true });
139
+ });
140
+ // Headers-only response shape — `res: { headers }` with no `res.body`. The
141
+ // handler returns `{ headers }` (no body key). The response must be bodyless,
142
+ // not an empty `application/json` payload that a client can't parse.
143
+ test('headers-only res schema returns a clean bodyless response', async () => {
144
+ const { app } = buildApp((P) => {
145
+ P.CreateHttp('HeadOnly', {
146
+ path: '/ho', method: 'get',
147
+ schema: { res: { headers: Type.Object({}) } },
148
+ }, async () => ({ headers: { 'x-trace': 'h1' } }));
149
+ });
150
+ const res = await app.request('/ho');
151
+ expect(res.status).toBe(200);
152
+ expect(res.headers.get('x-trace')).toBe('h1');
153
+ expect(res.headers.get('content-type')).toBeNull();
154
+ expect(await res.text()).toBe('');
155
+ });
156
+ // A void handler on a non-204 status sends a clean bodyless response rather
157
+ // than an empty `application/json` payload — uniform with the headers-only and
158
+ // 204 paths (an undefined body is always bodyless).
159
+ test('void handler on a 200 status returns a clean bodyless response', async () => {
160
+ const { app } = buildApp((P) => {
161
+ P.CreateHttp('Void', { path: '/void', method: 'get', schema: {} }, async () => undefined);
162
+ });
163
+ const res = await app.request('/void');
164
+ expect(res.status).toBe(200);
165
+ expect(res.headers.get('content-type')).toBeNull();
166
+ expect(await res.text()).toBe('');
167
+ });
168
+ test('res.headers declared with a 204 status applies headers and no body', async () => {
169
+ const { app } = buildApp((P) => {
170
+ P.CreateHttp('NoContent', {
171
+ path: '/nc', method: 'delete',
172
+ schema: { res: { headers: Type.Object({}) } },
173
+ }, async () => ({ headers: { 'x-trace': 'd1' } }));
174
+ });
175
+ const res = await app.request('/nc', { method: 'DELETE' });
176
+ expect(res.status).toBe(204);
177
+ expect(res.headers.get('x-trace')).toBe('d1');
178
+ expect(await res.text()).toBe('');
179
+ });
117
180
  });
118
181
  //# sourceMappingURL=http.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.test.js","sourceRoot":"","sources":["../../../../../src/implementations/http/hono/handlers/http.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.test.js","sourceRoot":"","sources":["../../../../../src/implementations/http/hono/handlers/http.test.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@
4
4
 
5
5
  ts-procedures can generate type-safe client SDKs directly from your server's `DocRegistry` output. Generated files include TypeScript types and callable functions for every registered procedure, organized by scope — no manual type duplication required.
6
6
 
7
+ ## Setup / prerequisites
8
+
9
+ > **ESM only.** ts-procedures and its generated output are ESM-only — a `tsconfig.json` with `"module": "commonjs"` fails immediately. In your consuming project set `"type": "module"` in `package.json`, and in `tsconfig.json` use `"module": "ESNext"` with `"moduleResolution": "Bundler"` (or `"NodeNext"`). Run scripts with [`tsx`](https://github.com/privatenumber/tsx) during development (e.g. `tsx src/index.ts`).
10
+
7
11
  ## Quick Start
8
12
 
9
13
  **Step 1 — Serve your docs endpoint** (see [DocRegistry](./http-integrations.md#docregistry--composing-docs-from-multiple-builders) for setup):
@@ -35,7 +39,11 @@ const api = createApiClient({
35
39
  },
36
40
  },
37
41
  })
42
+ ```
38
43
 
44
+ > **Note:** `basePath` must be the **origin only** (e.g. `http://localhost:3000`), not `http://localhost:3000/api`. Generated client paths already include the server's `pathPrefix` (e.g. `/api/...`), so putting the prefix in `basePath` too doubles it up to `/api/api/...`.
45
+
46
+ ```typescript
39
47
  try {
40
48
  const user = await api.users.GetUser({ pathParams: { id: '123' } })
41
49
  } catch (err) {
@@ -64,6 +72,32 @@ const api = createClient({
64
72
  })
65
73
  ```
66
74
 
75
+ ## Offline codegen (no running server)
76
+
77
+ You don't need a live HTTP server to generate the client. Serialize the DocEnvelope to disk with `writeDocEnvelope`, then point codegen at the file with `--file`.
78
+
79
+ **Step 1 — Emit the envelope to a file:**
80
+
81
+ ```typescript
82
+ // scripts/emit-docs.ts
83
+ import { writeDocEnvelope } from 'ts-procedures'
84
+ import { buildApp } from '../src/app.js' // builds your HonoAppBuilder / DocRegistry
85
+
86
+ const builder = buildApp()
87
+ await writeDocEnvelope(builder, 'docs.json')
88
+ ```
89
+
90
+ `writeDocEnvelope` accepts a built `HonoAppBuilder` (via `toDocEnvelope()`), a `DocRegistry` (via `toJSON()`), or a plain `DocEnvelope` object — no running HTTP server required. Parent directories are created as needed and the envelope is written as pretty JSON.
91
+
92
+ **Step 2 — Run codegen against the file:**
93
+
94
+ ```bash
95
+ tsx scripts/emit-docs.ts
96
+ npx ts-procedures-codegen --file docs.json --out src/generated --service-name Api
97
+ ```
98
+
99
+ This is handy for CI pipelines and monorepos where the client is generated as a build step without standing up the server.
100
+
67
101
  ## Generated File Structure
68
102
 
69
103
  Running the codegen command produces one file per scope, plus shared types, client runtime, error types, and a barrel export:
@@ -191,6 +225,81 @@ const client = createClient({
191
225
  })
192
226
  ```
193
227
 
228
+ ### Authentication (rotating tokens)
229
+
230
+ A bearer token usually changes over the lifetime of a client — it expires and gets refreshed. The catch: a **static** `headers` record is captured **once**, when you create the client (or when you build the per-call options object). Whatever token value was in scope at that moment is frozen into the request forever:
231
+
232
+ ```typescript
233
+ // ⚠️ Goes stale: `session.token` is read once, at client construction.
234
+ const client = createClient({
235
+ adapter,
236
+ scopes: createApiBindings,
237
+ defaults: {
238
+ headers: { Authorization: `Bearer ${session.token}` },
239
+ },
240
+ })
241
+ ```
242
+
243
+ There are two seams for re-evaluating the value on every request.
244
+
245
+ **Function-valued `headers` (recommended).** Instead of a record, pass a function. It's invoked (and awaited, if it returns a promise) on every call, so the current token is always read fresh:
246
+
247
+ ```typescript
248
+ const client = createClient({
249
+ adapter,
250
+ scopes: createApiBindings,
251
+ defaults: {
252
+ // Re-evaluated per request — never goes stale.
253
+ headers: () => ({ Authorization: `Bearer ${session.token}` }),
254
+ },
255
+ })
256
+
257
+ // The function may be async — useful when the token is loaded on demand:
258
+ const client = createClient({
259
+ adapter,
260
+ scopes: createApiBindings,
261
+ defaults: {
262
+ headers: async () => ({ Authorization: `Bearer ${await getAccessToken()}` }),
263
+ },
264
+ })
265
+ ```
266
+
267
+ The function form works everywhere a `headers` record does — client `defaults.headers` and per-call `options.headers` — and the same precedence applies: per-call headers (function or record) win over default headers, and route-declared headers from `schema.input.headers` win over both. A per-call function override:
268
+
269
+ ```typescript
270
+ await client.users.GetUser(
271
+ { pathParams: { id: '123' } },
272
+ { headers: () => ({ Authorization: `Bearer ${oneOffToken}` }) },
273
+ )
274
+ ```
275
+
276
+ **The `auth` shorthand (most concise).** For the common case — a single rotating bearer token — pass `auth: () => session.token` directly on the client config. It's sugar over function-valued `headers`: re-evaluated per request, wired to `Authorization: Bearer <token>` internally, and a `null`/`undefined` return omits the header (handy while a session is still loading). It composes with `defaults.headers` (both are applied) and remains overridable by per-call `headers` and `onBeforeRequest`:
277
+
278
+ ```typescript
279
+ const client = createClient({
280
+ adapter,
281
+ scopes: createApiBindings,
282
+ auth: () => session.token, // may be async; null/undefined → no Authorization header
283
+ })
284
+ ```
285
+
286
+ **The `onBeforeRequest` hook (alternative).** If you need full access to the outgoing request — not just the header values — mutate it from the hook. The hook runs last and has the final say (see [Precedence](#precedence)):
287
+
288
+ ```typescript
289
+ const client = createClient({
290
+ adapter,
291
+ scopes: createApiBindings,
292
+ hooks: {
293
+ onBeforeRequest(ctx) {
294
+ ctx.request.headers = { ...ctx.request.headers, Authorization: `Bearer ${session.token}` }
295
+ return ctx
296
+ },
297
+ },
298
+ })
299
+ ```
300
+
301
+ > **Warning:** A token placed in a **static** `headers` record (`headers: { Authorization: ... }`) type-checks fine and silently goes stale — the request keeps sending whatever token was current at construction time. For any value that changes between calls, use the function form or `onBeforeRequest`.
302
+
194
303
  ### Typed Per-Request Metadata
195
304
 
196
305
  Every `AdapterRequest` carries an optional `meta` field typed via the `RequestMeta` interface. `RequestMeta` is declared empty by design — augment it in your own project via TypeScript declaration merging and your fields become typed end-to-end: in per-call options, in hook contexts, and inside your adapter.
package/docs/core.md CHANGED
@@ -214,6 +214,8 @@ schema: { params: Type.Object({ title: Type.String() }) }
214
214
 
215
215
  TypeBox schemas are valid JSON Schema and work directly with AJV for runtime validation.
216
216
 
217
+ > **Composing schemas:** the bundled typebox has no `Type.Composite`. Compose with a flat object spread instead — `Type.Object({ ...Base.properties, extra: Type.String() })` — which also keeps the emitted JSON Schema a single `object` rather than an `allOf`.
218
+
217
219
  ### Validation Behavior
218
220
 
219
221
  AJV is configured with:
@@ -0,0 +1,134 @@
1
+ # Handoff: x-named-type reference should win over a same-named structural extraction
2
+
3
+ > **STATUS: OPEN REQUEST — not yet shipped in ajsc.** ts-procedures currently DETECTS this collision and throws a route-qualified error, rejecting an otherwise-valid schema. We'd retire that detect-and-error once ajsc disambiguates per the proposal below.
4
+
5
+ **To:** ajsc maintainer
6
+ **From:** ts-procedures codegen (consumer of ajsc as the JSON-Schema → TS/Kotlin/Swift emitter)
7
+ **Date:** 2026-06-06
8
+ **ajsc version inspected:** 7.3.0
9
+ **Priority:** medium — removes a DX wart in ts-procedures (a valid schema is rejected); no current miscompilation, because we detect-and-error rather than emit wrong code
10
+
11
+ ---
12
+
13
+ ## TL;DR
14
+
15
+ `x-named-type` (shipped in 7.3.0, thank you) lets ts-procedures reference a shared model `Message` instead of inlining it. But when a route schema *also* has a property whose ajsc-derived extraction name equals that model name, ajsc **silently merges** the two: the external reference resolves to the unrelated structural sub-type. Your README already documents this caveat and the detection signal (`extractedTypeNames` ∩ `referencedNamedTypes`).
16
+
17
+ The ask: make an `x-named-type` reference **take precedence** over a would-be structural extraction of the same name — rename the *extraction*, keep the *reference* verbatim. The reference is an explicit author intent ("this is the external `Message`"); the extraction name is an ajsc-derived convenience. Intent should win.
18
+
19
+ Additive and opt-in in effect (only changes output for schemas that currently collide, which today produce silently-wrong code). Nothing changes when no collision exists.
20
+
21
+ ---
22
+
23
+ ## Why this happens
24
+
25
+ ts-procedures hoists every `$id`-bearing subschema into a shared `_models.ts` and rewrites each route schema's occurrence into `{ "x-named-type": "<Name>" }` so routes *reference* the model rather than inline it (the integration contract from the prior `x-named-type` handoff, now live).
26
+
27
+ Separately, with `inlineTypes: false`, ajsc extracts inline nested objects into sub-types **named after the property** (PascalCased). So a route schema can independently produce an extracted sub-type whose name happens to equal a model's title.
28
+
29
+ When those two names coincide, ajsc's `$ref`/extraction merge collapses them. Because the merge happens **inside ajsc, before codegen sees any output**, a post-hoc rename downstream can't fix it — renaming the emitted text would rewrite the model reference too, yielding a silently-wrong type. The merge is lossy at the source.
30
+
31
+ ## What ajsc 7.3.0 does today (the blocker)
32
+
33
+ A route property named `message` (an inline object) PascalCases to an extracted sub-type `Message`. A sibling property `latest` references the external model via `{ "x-named-type": "Message" }`. The reference and the extraction share the name `Message`, and ajsc merges them — `latest` resolves to the structural `{ unread }`, **not** the external `Message`.
34
+
35
+ ```jsonc
36
+ // input route schema (inlineTypes: false)
37
+ { "type": "object", "properties": {
38
+ "latest": { "x-named-type": "Message" }, // external ref → shared _models.ts Message
39
+ "message": { "type": "object", "title": "Message", // inline → ajsc extracts a sub-type "Message"
40
+ "properties": { "unread": { "type": "boolean" } } } } }
41
+ ```
42
+
43
+ ```ts
44
+ // ajsc 7.3.0 output — the extracted structural type wins; the external reference is lost
45
+ export type Message = { unread?: boolean }; // structural extraction (from `message`)
46
+ export type Root = { latest?: Message; message?: Message };
47
+ // ^^^^^^^ WRONG — `latest` now points at { unread } instead of the
48
+ // real shared Message model. The x-named-type intent was silently merged away.
49
+ // converter.referencedNamedTypes === ['Message'] AND converter.extractedTypeNames === ['Message', …]
50
+ // → both lists contain 'Message': the documented collision signal.
51
+ ```
52
+
53
+ ```ts
54
+ // desired output — the reference wins, the extraction is renamed
55
+ export type MessageRef = { unread?: boolean }; // structural extraction, disambiguated
56
+ export type Root = { latest?: Message; message?: MessageRef };
57
+ // ^^^^^^^ correct — external Message preserved (imported from _models)
58
+ // ^^^^^^^^^^ structural sub-type disambiguated
59
+ // converter.extractedTypeNames === ['MessageRef', …] // the rename is reported back
60
+ // converter.referencedNamedTypes === ['Message'] // reference untouched
61
+ ```
62
+
63
+ The reference is what the author explicitly asked for; the extraction name is incidental. The reference should be the one preserved verbatim.
64
+
65
+ ---
66
+
67
+ ## Requested feature
68
+
69
+ When a name referenced via `x-named-type` would collide with a name ajsc is about to assign to an *extracted* structural sub-type, **the reference wins**: keep the referenced name verbatim and disambiguate the extraction. Pick whichever of the following best fits ajsc's internals — listed in our order of preference:
70
+
71
+ ### Option (a) — x-named-type references win (recommended)
72
+
73
+ When a referenced name collides with a would-be extraction, **rename the extraction** (append a suffix — `Ref`, `Inner`, or a numeric tail like ajsc already uses elsewhere) and keep the reference verbatim. Surface the *final* extraction name in `extractedTypeNames` so the caller sees the rename. The referenced name in `referencedNamedTypes` is unchanged.
74
+
75
+ This is the most "just works" outcome: the schema author gets a correct external reference and a (renamed) structural type, with zero new API surface. It mirrors ajsc's existing sub-type-naming disambiguation, just seeded by the set of referenced names.
76
+
77
+ ### Option (b) — a `reservedExtractionNames` converter option
78
+
79
+ Add a converter option — `reservedExtractionNames?: Set<string>` (or `reservedNames`) — so the caller can hand ajsc the set of model names up front and guarantee extractions avoid them (renaming on conflict). This puts the caller in control and is explicit, at the cost of one new option. ts-procedures would pass the full set of `_models.ts` names. Functionally equivalent to (a) for our case; (a) is preferable because it needs no caller wiring and protects every consumer by default.
80
+
81
+ ### Option (c) — explicit no-op acknowledgement
82
+
83
+ If you prefer to keep disambiguation as the caller's responsibility, a short note in the README confirming that — and that the documented `extractedTypeNames` ∩ `referencedNamedTypes` signal is the intended detection mechanism — lets us keep our detect-and-error in good conscience. Least preferred: it leaves a valid schema rejectable downstream.
84
+
85
+ **Recommendation: (a).** It removes the failure mode for every consumer with no new API and matches the principle that an explicit reference outranks a derived extraction name.
86
+
87
+ ---
88
+
89
+ ## Current downstream interim (the DX wart)
90
+
91
+ ts-procedures DETECTS the collision and throws rather than emit wrong code. The check (`assertNoModelNameCollision` in `src/codegen/emit-scope.ts`) is the **set intersection** of the converter's two reported lists — ajsc's documented signal:
92
+
93
+ ```
94
+ collision = referencedNamedTypes ∩ extractedTypeNames
95
+ ```
96
+
97
+ A non-empty intersection means a referenced model name also appears as an ajsc-extracted declaration — i.e. the silent merge happened. We throw a clear, route-qualified error telling the author to rename the colliding property or change the model's `$id`/`title`. This is correct but unfortunate: the schema is *valid*, and the author is forced to rename something to satisfy a code-generator limitation. We'd retire this the moment ajsc disambiguates.
98
+
99
+ ---
100
+
101
+ ## How ts-procedures will consume it (integration contract)
102
+
103
+ Once ajsc disambiguates (option (a) or (b)):
104
+
105
+ 1. We **drop the detect-and-error** in `emit-scope.ts` — or downgrade it to a defensive `assert` (a non-empty intersection should then be impossible, so a remaining one would indicate an ajsc regression rather than a user error).
106
+ 2. The colliding schema **just works**: `latest: Message` resolves to the shared `_models.ts` model; the structural sibling emits under its disambiguated name (e.g. `MessageRef`), referenced correctly from the route type.
107
+ 3. We continue to read `referencedNamedTypes` for imports (unchanged) and `extractedTypeNames` for the route's local type set — which, under option (a), now carries the renamed extraction automatically.
108
+
109
+ The contract we depend on: **a referenced `x-named-type` name is never overwritten by an extraction — the extraction yields**, and the final extraction name is reported in `extractedTypeNames`.
110
+
111
+ ---
112
+
113
+ ## Tests worth adding
114
+
115
+ 1. `x-named-type: "Message"` sibling to an inline object property `message` (PascalCases to `Message`) ⇒ reference resolves to external `Message`; extraction renamed (e.g. `MessageRef`); `extractedTypeNames` carries the renamed name; `referencedNamedTypes === ['Message']`; the two lists no longer intersect.
116
+ 2. Same model referenced at N sites alongside one colliding extraction ⇒ all references stay verbatim; only the extraction is renamed.
117
+ 3. Multiple distinct collisions in one schema ⇒ each extraction independently disambiguated; references all preserved.
118
+ 4. No collision (referenced name ≠ any extraction name) ⇒ byte-identical to current 7.3.0 output (regression guard).
119
+ 5. Option (b) only: `reservedExtractionNames` containing a name that *would not* otherwise collide ⇒ extraction proactively avoids it; references unaffected.
120
+
121
+ ---
122
+
123
+ ## Versioning
124
+
125
+ Additive in effect — it only changes output for schemas that **currently miscompile** (a silent merge). For every non-colliding schema the output is byte-identical. A **minor** bump (e.g. 7.4.0). ts-procedures will gate the removal of its detect-and-error on the ajsc version that introduces the precedence rule, keeping the guard as a fallback for one release if you'd prefer a soft cutover.
126
+
127
+ ---
128
+
129
+ ## Contact / context
130
+
131
+ - `src/codegen/emit-scope.ts` — `assertNoModelNameCollision` (the detect-and-error we want to retire)
132
+ - `src/codegen/emit-types.ts` — `referencedNamedTypes` already surfaced (`ExtractedTypeOutput.referencedNamedTypes`, `jsonSchemaToTypeBodyWithRefs`); `extractedTypeNames` not yet surfaced, will be wired when (a)/(b) lands
133
+ - `src/codegen/collect-models.ts`, `emit-models.ts` — `$id` model collection / `_models.ts` emission (unaffected)
134
+ - `docs/handoffs/ajsc-named-type-support.md` — the prior (shipped) `x-named-type` handoff this builds on