ts-procedures 8.3.0 → 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 (124) hide show
  1. package/agent_config/claude-code/skills/ts-procedures/SKILL.md +26 -8
  2. package/agent_config/claude-code/skills/ts-procedures/templates/client.md +3 -3
  3. package/agent_config/claude-code/skills/ts-procedures/templates/hono.md +3 -3
  4. package/agent_config/claude-code/skills/ts-procedures/templates/procedure.md +3 -3
  5. package/agent_config/claude-code/skills/ts-procedures/templates/stream-procedure.md +3 -3
  6. package/build/client/call.js +1 -1
  7. package/build/client/call.js.map +1 -1
  8. package/build/client/index.d.ts +1 -1
  9. package/build/client/index.js +23 -1
  10. package/build/client/index.js.map +1 -1
  11. package/build/client/index.test.js +87 -0
  12. package/build/client/index.test.js.map +1 -1
  13. package/build/client/resolve-options.d.ts +5 -4
  14. package/build/client/resolve-options.js +18 -7
  15. package/build/client/resolve-options.js.map +1 -1
  16. package/build/client/resolve-options.test.js +53 -24
  17. package/build/client/resolve-options.test.js.map +1 -1
  18. package/build/client/stream.js +1 -1
  19. package/build/client/stream.js.map +1 -1
  20. package/build/client/types.d.ts +31 -3
  21. package/build/codegen/__fixtures__/make-envelope.d.ts +41 -0
  22. package/build/codegen/__fixtures__/make-envelope.js +38 -0
  23. package/build/codegen/__fixtures__/make-envelope.js.map +1 -0
  24. package/build/codegen/bin/cli.d.ts +11 -0
  25. package/build/codegen/bin/cli.js +30 -21
  26. package/build/codegen/bin/cli.js.map +1 -1
  27. package/build/codegen/bin/cli.test.js +36 -1
  28. package/build/codegen/bin/cli.test.js.map +1 -1
  29. package/build/codegen/bin/flag-specs.d.ts +10 -0
  30. package/build/codegen/bin/flag-specs.js +60 -0
  31. package/build/codegen/bin/flag-specs.js.map +1 -0
  32. package/build/codegen/bin/flag-specs.test.d.ts +1 -0
  33. package/build/codegen/bin/flag-specs.test.js +26 -0
  34. package/build/codegen/bin/flag-specs.test.js.map +1 -0
  35. package/build/codegen/collect-models.d.ts +37 -0
  36. package/build/codegen/collect-models.js +74 -0
  37. package/build/codegen/collect-models.js.map +1 -0
  38. package/build/codegen/collect-models.test.d.ts +1 -0
  39. package/build/codegen/collect-models.test.js +40 -0
  40. package/build/codegen/collect-models.test.js.map +1 -0
  41. package/build/codegen/emit-client-runtime.js +1 -0
  42. package/build/codegen/emit-client-runtime.js.map +1 -1
  43. package/build/codegen/emit-models.d.ts +26 -0
  44. package/build/codegen/emit-models.js +53 -0
  45. package/build/codegen/emit-models.js.map +1 -0
  46. package/build/codegen/emit-models.test.d.ts +1 -0
  47. package/build/codegen/emit-models.test.js +42 -0
  48. package/build/codegen/emit-models.test.js.map +1 -0
  49. package/build/codegen/emit-scope.d.ts +10 -0
  50. package/build/codegen/emit-scope.js +119 -34
  51. package/build/codegen/emit-scope.js.map +1 -1
  52. package/build/codegen/emit-types.d.ts +26 -1
  53. package/build/codegen/emit-types.js +27 -5
  54. package/build/codegen/emit-types.js.map +1 -1
  55. package/build/codegen/index.d.ts +5 -0
  56. package/build/codegen/index.js +2 -0
  57. package/build/codegen/index.js.map +1 -1
  58. package/build/codegen/model-refs.d.ts +27 -0
  59. package/build/codegen/model-refs.js +49 -0
  60. package/build/codegen/model-refs.js.map +1 -0
  61. package/build/codegen/model-refs.test.d.ts +1 -0
  62. package/build/codegen/model-refs.test.js +33 -0
  63. package/build/codegen/model-refs.test.js.map +1 -0
  64. package/build/codegen/pipeline.d.ts +3 -0
  65. package/build/codegen/pipeline.js +3 -1
  66. package/build/codegen/pipeline.js.map +1 -1
  67. package/build/codegen/schema-walk.d.ts +13 -0
  68. package/build/codegen/schema-walk.js +26 -0
  69. package/build/codegen/schema-walk.js.map +1 -0
  70. package/build/codegen/schema-walk.test.d.ts +1 -0
  71. package/build/codegen/schema-walk.test.js +35 -0
  72. package/build/codegen/schema-walk.test.js.map +1 -0
  73. package/build/codegen/targets/_shared/target-run.d.ts +5 -0
  74. package/build/codegen/targets/ts/run.js +28 -1
  75. package/build/codegen/targets/ts/run.js.map +1 -1
  76. package/build/codegen/targets/ts/shared-models.test.d.ts +1 -0
  77. package/build/codegen/targets/ts/shared-models.test.js +258 -0
  78. package/build/codegen/targets/ts/shared-models.test.js.map +1 -0
  79. package/build/doc-envelope.d.ts +13 -0
  80. package/build/doc-envelope.js +23 -0
  81. package/build/doc-envelope.js.map +1 -0
  82. package/build/doc-envelope.test.d.ts +1 -0
  83. package/build/doc-envelope.test.js +31 -0
  84. package/build/doc-envelope.test.js.map +1 -0
  85. package/build/exports.d.ts +2 -0
  86. package/build/exports.js +1 -0
  87. package/build/exports.js.map +1 -1
  88. package/docs/client-and-codegen.md +101 -0
  89. package/docs/handoffs/ajsc-named-type-collision.md +134 -0
  90. package/docs/handoffs/ajsc-named-type-support.md +181 -0
  91. package/docs/superpowers/plans/2026-06-05-dx-feedback-round.md +1292 -0
  92. package/docs/superpowers/specs/2026-06-05-dx-feedback-round-design.md +285 -0
  93. package/package.json +2 -2
  94. package/src/client/call.ts +1 -1
  95. package/src/client/index.test.ts +98 -0
  96. package/src/client/index.ts +32 -1
  97. package/src/client/resolve-options.test.ts +73 -26
  98. package/src/client/resolve-options.ts +23 -9
  99. package/src/client/stream.ts +1 -1
  100. package/src/client/types.ts +34 -3
  101. package/src/codegen/__fixtures__/make-envelope.ts +89 -0
  102. package/src/codegen/bin/cli.test.ts +38 -1
  103. package/src/codegen/bin/cli.ts +33 -22
  104. package/src/codegen/bin/flag-specs.test.ts +27 -0
  105. package/src/codegen/bin/flag-specs.ts +69 -0
  106. package/src/codegen/collect-models.test.ts +46 -0
  107. package/src/codegen/collect-models.ts +108 -0
  108. package/src/codegen/emit-client-runtime.ts +1 -0
  109. package/src/codegen/emit-models.test.ts +48 -0
  110. package/src/codegen/emit-models.ts +63 -0
  111. package/src/codegen/emit-scope.ts +145 -33
  112. package/src/codegen/emit-types.ts +48 -7
  113. package/src/codegen/index.ts +7 -0
  114. package/src/codegen/model-refs.test.ts +37 -0
  115. package/src/codegen/model-refs.ts +57 -0
  116. package/src/codegen/pipeline.ts +6 -1
  117. package/src/codegen/schema-walk.test.ts +37 -0
  118. package/src/codegen/schema-walk.ts +23 -0
  119. package/src/codegen/targets/_shared/target-run.ts +5 -0
  120. package/src/codegen/targets/ts/run.ts +33 -0
  121. package/src/codegen/targets/ts/shared-models.test.ts +283 -0
  122. package/src/doc-envelope.test.ts +35 -0
  123. package/src/doc-envelope.ts +30 -0
  124. package/src/exports.ts +2 -0
@@ -1,4 +1,5 @@
1
- import { jsonSchemaToTypeString, jsonSchemaToTypeBody, jsonSchemaToExtractedTypes, renameExtractedTypes, extractedDeclName, } from './emit-types.js';
1
+ import { jsonSchemaToTypeString, jsonSchemaToTypeBody, jsonSchemaToTypeBodyWithRefs, jsonSchemaToExtractedTypes, renameExtractedTypes, extractedDeclName, } from './emit-types.js';
2
+ import { substituteModelRefs } from './model-refs.js';
2
3
  import { CODEGEN_HEADER } from './constants.js';
3
4
  import { toPascalCase } from './naming.js';
4
5
  // ---------------------------------------------------------------------------
@@ -57,6 +58,72 @@ function versionedPascal(name, version) {
57
58
  function indent(text, prefix) {
58
59
  return text.split('\n').map((line) => (line ? prefix + line : line)).join('\n');
59
60
  }
61
+ // ---------------------------------------------------------------------------
62
+ // Shared-model conversion wrappers (ajsc x-named-type)
63
+ // ---------------------------------------------------------------------------
64
+ /**
65
+ * Drop-in replacement for `jsonSchemaToExtractedTypes` that, when shared models
66
+ * are in play, rewrites every `$id` subschema into an `x-named-type` node before
67
+ * ajsc. ajsc emits each as a bare verbatim reference and reports it via
68
+ * `referencedNamedTypes`; this wrapper folds those names into
69
+ * `ctx.referencedModels` so `emitScopeFile` can build the `_models` import.
70
+ *
71
+ * Short-circuits to the exact original call when no models are configured, so
72
+ * output is byte-identical for envelopes without `$id` models.
73
+ */
74
+ async function convertExtracted(schema, ctx) {
75
+ if (ctx.idToModelName == null || ctx.idToModelName.size === 0) {
76
+ return jsonSchemaToExtractedTypes(schema, ctx.ajsc);
77
+ }
78
+ const { schema: sub } = substituteModelRefs(schema, ctx.idToModelName);
79
+ const result = await jsonSchemaToExtractedTypes(sub, ctx.ajsc);
80
+ if (result != null) {
81
+ assertNoModelNameCollision(result);
82
+ for (const name of result.referencedNamedTypes)
83
+ ctx.referencedModels.add(name);
84
+ }
85
+ return result;
86
+ }
87
+ /**
88
+ * Guards ajsc's documented `x-named-type` collision caveat. If a shared-model
89
+ * name (referenced via `x-named-type`) also matches the name ajsc derives for a
90
+ * sibling *structural* sub-type, ajsc silently MERGES them — the model reference
91
+ * resolves to the unrelated structural type. The merge happens inside ajsc's own
92
+ * pass, so it can't be disentangled afterward (a post-hoc rename would rewrite
93
+ * the model reference too, producing a silently-wrong type). Instead we detect
94
+ * the collision — a name present in BOTH `referencedNamedTypes` AND
95
+ * `extractedTypeNames` (ajsc's own documented collision signal) — and fail fast
96
+ * with an actionable message. The throw is wrapped with the route's name/scope
97
+ * by `emitScopeFile`.
98
+ */
99
+ function assertNoModelNameCollision(result) {
100
+ if (result.referencedNamedTypes.length === 0 || result.extractedTypeNames.length === 0)
101
+ return;
102
+ const extracted = new Set(result.extractedTypeNames);
103
+ const collisions = result.referencedNamedTypes.filter((name) => extracted.has(name));
104
+ if (collisions.length === 0)
105
+ return;
106
+ const names = collisions.map((n) => `'${n}'`).join(', ');
107
+ throw new Error(`shared model ${names} collides with a generated type of the same name derived ` +
108
+ `from a property in this route's schema — ajsc would silently merge them. Rename ` +
109
+ `the colliding property, or change the model's $id/title so the generated names differ`);
110
+ }
111
+ /**
112
+ * Drop-in replacement for `jsonSchemaToTypeBody` mirroring {@link convertExtracted}
113
+ * for the bare-body (flat / merged-alias) conversion path.
114
+ */
115
+ async function convertBody(schema, ctx) {
116
+ if (ctx.idToModelName == null || ctx.idToModelName.size === 0) {
117
+ return jsonSchemaToTypeBody(schema, ctx.ajsc);
118
+ }
119
+ const { schema: sub } = substituteModelRefs(schema, ctx.idToModelName);
120
+ const result = await jsonSchemaToTypeBodyWithRefs(sub, ctx.ajsc);
121
+ if (result == null)
122
+ return undefined;
123
+ for (const name of result.referencedNamedTypes)
124
+ ctx.referencedModels.add(name);
125
+ return result.body;
126
+ }
60
127
  /**
61
128
  * Tracks extracted declarations emitted into a single namespace, guarding
62
129
  * against duplicate identifiers (defense-in-depth on top of the rename pass).
@@ -125,7 +192,7 @@ async function formatTypes(routePascal, types, ctx, extraReserved) {
125
192
  for (const { shortName, schema } of types) {
126
193
  if (schema == null)
127
194
  continue;
128
- const rawResult = await jsonSchemaToExtractedTypes(schema, ctx.ajsc);
195
+ const rawResult = await convertExtracted(schema, ctx);
129
196
  if (rawResult == null)
130
197
  continue;
131
198
  const result = renameExtractedTypes(rawResult, taken);
@@ -147,7 +214,7 @@ async function formatTypes(routePascal, types, ctx, extraReserved) {
147
214
  if (schema == null)
148
215
  continue;
149
216
  const flatName = `${routePascal}${shortName}`;
150
- const body = await jsonSchemaToTypeBody(schema, ctx.ajsc);
217
+ const body = await convertBody(schema, ctx);
151
218
  if (body == null)
152
219
  continue;
153
220
  declarations.push(`export type ${flatName} = ${body}`);
@@ -261,7 +328,7 @@ types, ctx, taken) {
261
328
  if (schema == null)
262
329
  continue;
263
330
  if (ctx.namespaceTypes) {
264
- const rawResult = await jsonSchemaToExtractedTypes(schema, ctx.ajsc);
331
+ const rawResult = await convertExtracted(schema, ctx);
265
332
  if (rawResult == null)
266
333
  continue;
267
334
  const result = renameExtractedTypes(rawResult, taken);
@@ -275,7 +342,7 @@ types, ctx, taken) {
275
342
  }
276
343
  else {
277
344
  const flatName = `${routePascal}${nsName}${shortName}`;
278
- const body = await jsonSchemaToTypeBody(schema, ctx.ajsc);
345
+ const body = await convertBody(schema, ctx);
279
346
  if (body == null)
280
347
  continue;
281
348
  refs[shortName] = flatName;
@@ -336,7 +403,8 @@ async function emitApiRoute(route, ctx) {
336
403
  const declarations = [];
337
404
  let paramsTypeName = 'unknown';
338
405
  let returnTypeName = 'void';
339
- // Track reserved names across all sub-namespaces
406
+ // Track reserved names across all sub-namespaces. Model names are reserved
407
+ // so an ajsc-extracted sub-type can't silently merge with a referenced model.
340
408
  const taken = new Set(['Req', 'Response']);
341
409
  if (ctx.namespaceTypes) {
342
410
  // Namespace mode: emit nested Req {} and Response {} namespaces inside route namespace.
@@ -378,7 +446,7 @@ async function emitApiRoute(route, ctx) {
378
446
  if (schema == null)
379
447
  continue;
380
448
  const flatName = `${pascal}Req${shortName}`;
381
- const body = await jsonSchemaToTypeBody(schema, ctx.ajsc);
449
+ const body = await convertBody(schema, ctx);
382
450
  if (body == null)
383
451
  continue;
384
452
  declarations.push(`export type ${flatName} = ${body}`);
@@ -398,7 +466,7 @@ async function emitApiRoute(route, ctx) {
398
466
  if (schema == null)
399
467
  continue;
400
468
  const flatName = `${pascal}Response${shortName}`;
401
- const body = await jsonSchemaToTypeBody(schema, ctx.ajsc);
469
+ const body = await convertBody(schema, ctx);
402
470
  if (body == null)
403
471
  continue;
404
472
  declarations.push(`export type ${flatName} = ${body}`);
@@ -487,7 +555,7 @@ async function emitHttpStreamRoute(route, ctx) {
487
555
  for (const { shortName, schema } of directTypes) {
488
556
  if (schema == null)
489
557
  continue;
490
- const rawResult = await jsonSchemaToExtractedTypes(schema, ctx.ajsc);
558
+ const rawResult = await convertExtracted(schema, ctx);
491
559
  if (rawResult == null)
492
560
  continue;
493
561
  const result = renameExtractedTypes(rawResult, taken);
@@ -515,7 +583,7 @@ async function emitHttpStreamRoute(route, ctx) {
515
583
  if (schema == null)
516
584
  continue;
517
585
  const flatName = `${pascal}Req${shortName}`;
518
- const body = await jsonSchemaToTypeBody(schema, ctx.ajsc);
586
+ const body = await convertBody(schema, ctx);
519
587
  if (body == null)
520
588
  continue;
521
589
  declarations.push(`export type ${flatName} = ${body}`);
@@ -528,19 +596,19 @@ async function emitHttpStreamRoute(route, ctx) {
528
596
  paramsTypeName = `${pascal}Req`;
529
597
  }
530
598
  if (resHeadersSchema != null) {
531
- const body = await jsonSchemaToTypeBody(resHeadersSchema, ctx.ajsc);
599
+ const body = await convertBody(resHeadersSchema, ctx);
532
600
  if (body != null)
533
601
  declarations.push(`export type ${pascal}ResponseHeaders = ${body}`);
534
602
  }
535
603
  if (yieldSchema != null) {
536
- const body = await jsonSchemaToTypeBody(yieldSchema, ctx.ajsc);
604
+ const body = await convertBody(yieldSchema, ctx);
537
605
  if (body != null) {
538
606
  declarations.push(`export type ${pascal}Yield = ${body}`);
539
607
  yieldTypeName = `${pascal}Yield`;
540
608
  }
541
609
  }
542
610
  if (returnSchema != null) {
543
- const body = await jsonSchemaToTypeBody(returnSchema, ctx.ajsc);
611
+ const body = await convertBody(returnSchema, ctx);
544
612
  if (body != null) {
545
613
  declarations.push(`export type ${pascal}ReturnType = ${body}`);
546
614
  returnTypeName = `${pascal}ReturnType`;
@@ -608,14 +676,17 @@ async function emitStreamRoute(route, ctx) {
608
676
  * jsdoc, etc.) produce extracted sub-types inside each namespace.
609
677
  */
610
678
  export async function emitScopeFile(group, options) {
611
- const { ajsc: ajscOpts, clientImportPath = 'ts-procedures/client', namespaceTypes = false, serviceName = 'Api', errorKeys, } = options ?? {};
679
+ const { ajsc: ajscOpts, clientImportPath = 'ts-procedures/client', namespaceTypes = false, serviceName = 'Api', errorKeys, idToModelName, } = options ?? {};
612
680
  const pascal = toPascalCase(group.camelCase);
681
+ const referencedModels = new Set();
613
682
  const ctx = {
614
683
  ajsc: ajscOpts,
615
684
  namespaceTypes,
616
685
  scopePascal: pascal,
617
686
  serviceName,
618
687
  errorKeys,
688
+ idToModelName,
689
+ referencedModels,
619
690
  };
620
691
  const allTypeDeclarations = [];
621
692
  const callables = [];
@@ -669,8 +740,12 @@ export async function emitScopeFile(group, options) {
669
740
  errorsImport = `import type * as _errors from './_errors'`;
670
741
  }
671
742
  }
672
- const importsBlock = [clientImports, errorsImport].filter(Boolean).join('\n');
673
743
  const callablesBlock = callables.join('\n\n');
744
+ // Assemble the type + callable section for this scope. ajsc already emitted
745
+ // bare model references (via `x-named-type`); `convertExtracted` / `convertBody`
746
+ // folded the reported names into `ctx.referencedModels`, which drives the
747
+ // `_models` import below. No post-pass over the body is needed.
748
+ let body;
674
749
  if (namespaceTypes) {
675
750
  // Namespace mode: types AND `bindScope` live inside `export namespace ${pascal}`.
676
751
  // Putting the function inside the namespace makes the merged symbol
@@ -690,35 +765,45 @@ export async function emitScopeFile(group, options) {
690
765
  ' }',
691
766
  ].join('\n'),
692
767
  ].join('\n\n');
693
- return [
694
- CODEGEN_HEADER,
695
- importsBlock,
696
- '',
768
+ body = [
697
769
  `export namespace ${pascal} {`,
698
770
  namespaceMembers,
699
771
  '}',
700
772
  '',
701
773
  ].join('\n');
702
774
  }
703
- // Flat mode: types at module level, `bind${pascal}Scope` standalone.
704
- const typesBlock = allTypeDeclarations.length > 0
705
- ? allTypeDeclarations.join('\n') + '\n'
706
- : '';
775
+ else {
776
+ // Flat mode: types at module level, `bind${pascal}Scope` standalone.
777
+ const typesBlock = allTypeDeclarations.length > 0
778
+ ? allTypeDeclarations.join('\n') + '\n'
779
+ : '';
780
+ body = [
781
+ '// ── Types ────────────────────────────────────────',
782
+ '',
783
+ typesBlock,
784
+ '// ── Callables ────────────────────────────────────',
785
+ '',
786
+ `export function bind${pascal}Scope(client: ClientInstance) {`,
787
+ ' return {',
788
+ callablesBlock,
789
+ ' }',
790
+ '}',
791
+ '',
792
+ ].join('\n');
793
+ }
794
+ // Build the shared-models import line when any route referenced a `$id` model.
795
+ // Matches the `_errors` import convention exactly: `'./_models'` with no `.js`.
796
+ let modelsImport = '';
797
+ if (referencedModels.size > 0) {
798
+ const names = [...referencedModels].sort().join(', ');
799
+ modelsImport = `import type { ${names} } from './_models'`;
800
+ }
801
+ const importsBlock = [clientImports, errorsImport, modelsImport].filter(Boolean).join('\n');
707
802
  return [
708
803
  CODEGEN_HEADER,
709
804
  importsBlock,
710
805
  '',
711
- '// ── Types ────────────────────────────────────────',
712
- '',
713
- typesBlock,
714
- '// ── Callables ────────────────────────────────────',
715
- '',
716
- `export function bind${pascal}Scope(client: ClientInstance) {`,
717
- ' return {',
718
- callablesBlock,
719
- ' }',
720
- '}',
721
- '',
806
+ body,
722
807
  ].join('\n');
723
808
  }
724
809
  //# sourceMappingURL=emit-scope.js.map
@@ -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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"}
@@ -24,11 +24,36 @@ export declare function jsonSchemaToTypeString(typeName: string, schema: Record<
24
24
  * Returns undefined for undefined or null schema.
25
25
  */
26
26
  export declare function jsonSchemaToTypeBody(schema: Record<string, unknown> | undefined, options?: AjscOptions): Promise<string | undefined>;
27
+ /**
28
+ * Like {@link jsonSchemaToTypeBody} but also surfaces the ajsc converter's
29
+ * `referencedNamedTypes` — the bare type names emitted verbatim because they
30
+ * carried an `x-named-type` keyword (see `model-refs.ts`). Drives the
31
+ * `_models` import in flat-mode scope emission.
32
+ *
33
+ * Returns undefined for undefined or null schema.
34
+ */
35
+ export declare function jsonSchemaToTypeBodyWithRefs(schema: Record<string, unknown> | undefined, options?: AjscOptions): Promise<{
36
+ body: string;
37
+ referencedNamedTypes: string[];
38
+ } | undefined>;
27
39
  export interface ExtractedTypeOutput {
28
40
  /** Extracted sub-type/enum declarations (e.g., `export type Address = { ... }`, `export enum Status { ... }`). */
29
41
  declarations: string[];
30
42
  /** The root type body (bare literal, e.g., `{ user: User; }`) without the `export type Root =` wrapper. */
31
43
  body: string;
44
+ /**
45
+ * Bare type names ajsc emitted verbatim (because they carried an
46
+ * `x-named-type` keyword — see `model-refs.ts`). Drives the `_models`
47
+ * import in namespace-mode scope emission. Empty when no models referenced.
48
+ */
49
+ referencedNamedTypes: string[];
50
+ /**
51
+ * Names ajsc declared/extracted as named sub-types in this output (its own
52
+ * `extractedTypeNames`). Intersecting this with {@link referencedNamedTypes}
53
+ * is ajsc's documented signal that an `x-named-type` model collided with a
54
+ * structural sub-type of the same name (see `assertNoModelNameCollision`).
55
+ */
56
+ extractedTypeNames: string[];
32
57
  }
33
58
  /**
34
59
  * Converts a JSON Schema to extracted TypeScript types using ajsc with
@@ -72,4 +97,4 @@ export declare function extractedDeclName(decl: string): string | undefined;
72
97
  * renamed type silently resolves to a different schema's sub-type of the same
73
98
  * name (a latent wrong-type bug that only hides when the shapes happen to match).
74
99
  */
75
- export declare function renameExtractedTypes(result: ExtractedTypeOutput, taken: Set<string>): ExtractedTypeOutput;
100
+ export declare function renameExtractedTypes(result: Omit<ExtractedTypeOutput, 'referencedNamedTypes' | 'extractedTypeNames'> & Partial<Pick<ExtractedTypeOutput, 'referencedNamedTypes' | 'extractedTypeNames'>>, taken: Set<string>): ExtractedTypeOutput;
@@ -25,7 +25,8 @@ async function resolveTypeBody(schema, options) {
25
25
  code = code.replace(/^(?:export\s+)?type\s+\w+\s*=\s*/, '');
26
26
  // Remove trailing semicolons and newlines
27
27
  code = code.replace(/;\s*$/, '').trim();
28
- return code;
28
+ const referencedNamedTypes = converter.referencedNamedTypes ?? [];
29
+ return { body: code, referencedNamedTypes };
29
30
  }
30
31
  /**
31
32
  * Converts a JSON Schema to a TypeScript type string using ajsc.
@@ -38,8 +39,8 @@ async function resolveTypeBody(schema, options) {
38
39
  export async function jsonSchemaToTypeString(typeName, schema, options) {
39
40
  if (schema == null)
40
41
  return undefined;
41
- const code = await resolveTypeBody(schema, options);
42
- return `export type ${typeName} = ${code}`;
42
+ const { body } = await resolveTypeBody(schema, options);
43
+ return `export type ${typeName} = ${body}`;
43
44
  }
44
45
  /**
45
46
  * Converts a JSON Schema to a bare TypeScript type body using ajsc.
@@ -50,6 +51,20 @@ export async function jsonSchemaToTypeString(typeName, schema, options) {
50
51
  * Returns undefined for undefined or null schema.
51
52
  */
52
53
  export async function jsonSchemaToTypeBody(schema, options) {
54
+ if (schema == null)
55
+ return undefined;
56
+ const { body } = await resolveTypeBody(schema, options);
57
+ return body;
58
+ }
59
+ /**
60
+ * Like {@link jsonSchemaToTypeBody} but also surfaces the ajsc converter's
61
+ * `referencedNamedTypes` — the bare type names emitted verbatim because they
62
+ * carried an `x-named-type` keyword (see `model-refs.ts`). Drives the
63
+ * `_models` import in flat-mode scope emission.
64
+ *
65
+ * Returns undefined for undefined or null schema.
66
+ */
67
+ export async function jsonSchemaToTypeBodyWithRefs(schema, options) {
53
68
  if (schema == null)
54
69
  return undefined;
55
70
  return resolveTypeBody(schema, options);
@@ -111,6 +126,8 @@ export async function jsonSchemaToExtractedTypes(schema, options) {
111
126
  ...options,
112
127
  inlineTypes: false,
113
128
  });
129
+ const referencedNamedTypes = converter.referencedNamedTypes ?? [];
130
+ const extractedTypeNames = converter.extractedTypeNames ?? [];
114
131
  const code = converter.code.trim();
115
132
  if (!code) {
116
133
  throw new Error(`[ts-procedures-codegen] ajsc produced empty output. Schema: ${JSON.stringify(schema)}`);
@@ -156,7 +173,7 @@ export async function jsonSchemaToExtractedTypes(schema, options) {
156
173
  .replace(/;\s*$/, '')
157
174
  .trim();
158
175
  }
159
- return { declarations, body };
176
+ return { declarations, body, referencedNamedTypes, extractedTypeNames };
160
177
  }
161
178
  /**
162
179
  * Returns the declared name of an `export type|enum|interface X = …` block,
@@ -231,6 +248,11 @@ export function renameExtractedTypes(result, taken) {
231
248
  declarations[i] = declarations[i].replace(re, alias);
232
249
  }
233
250
  }
234
- return { declarations, body };
251
+ return {
252
+ declarations,
253
+ body,
254
+ referencedNamedTypes: result.referencedNamedTypes ?? [],
255
+ extractedTypeNames: result.extractedTypeNames ?? [],
256
+ };
235
257
  }
236
258
  //# sourceMappingURL=emit-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emit-types.js","sourceRoot":"","sources":["../../src/codegen/emit-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit-types.js","sourceRoot":"","sources":["../../src/codegen/emit-types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type ResolveInput } from './resolve-envelope.js';
2
2
  import { type GeneratedFile } from './pipeline.js';
3
3
  import type { AjscOptions } from './emit-types.js';
4
+ import type { SharedTypesImportMap } from './collect-models.js';
4
5
  import type { KotlinEmitter } from './targets/kotlin/ajsc-adapter.js';
5
6
  import type { SwiftEmitter } from './targets/swift/ajsc-adapter.js';
6
7
  export interface GenerateClientOptions extends ResolveInput {
@@ -12,6 +13,10 @@ export interface GenerateClientOptions extends ResolveInput {
12
13
  selfContained?: boolean;
13
14
  serviceName?: string;
14
15
  cleanOutDir?: boolean;
16
+ /** Hoist `$id`-bearing schemas into a shared `_models.ts` and reference them from scopes (TS target). */
17
+ shareModels?: boolean;
18
+ /** Maps a model `$id` to an external import so a shared model is re-exported rather than generated. */
19
+ sharedTypesImport?: SharedTypesImportMap;
15
20
  target?: 'ts' | 'kotlin' | 'swift';
16
21
  kotlinPackage?: string;
17
22
  kotlinSerializer?: 'kotlinx' | 'none';
@@ -12,6 +12,8 @@ export async function generateClient(options) {
12
12
  selfContained: options.selfContained,
13
13
  serviceName: options.serviceName,
14
14
  cleanOutDir: options.cleanOutDir,
15
+ shareModels: options.shareModels,
16
+ sharedTypesImport: options.sharedTypesImport,
15
17
  target: options.target,
16
18
  kotlinPackage: options.kotlinPackage,
17
19
  kotlinSerializer: options.kotlinSerializer,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAqB,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAA;AA0B/D,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA8B;IACjE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;IAC/C,OAAO,WAAW,CAAC;QACjB,QAAQ;QACR,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAqB,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAA;AA+B/D,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA8B;IACjE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;IAC/C,OAAO,WAAW,CAAC;QACjB,QAAQ;QACR,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Shared-`$id` model referencing via ajsc's `x-named-type` keyword (ajsc ≥7.3.0).
3
+ *
4
+ * ajsc inlines plain `$ref`s, so to make a route reference a hoisted model by
5
+ * name instead of re-inlining its shape, {@link substituteModelRefs} rewrites
6
+ * each `$id` subschema (BEFORE ajsc runs) into `{ 'x-named-type': '<Name>' }`.
7
+ * ajsc then emits a bare verbatim reference to `<Name>` (surviving arrays and
8
+ * both `inlineTypes` modes, never extracted as a sub-type) and reports it via
9
+ * the converter's `referencedNamedTypes` — which the emitter uses to add the
10
+ * `import type { … } from './_models'` line.
11
+ */
12
+ /**
13
+ * Returns a deep-cloned schema where every object node carrying a `$id` present
14
+ * in `idToName` is replaced by `{ 'x-named-type': '<Name>' }`. The input is
15
+ * never mutated.
16
+ *
17
+ * - Replaced nodes are NOT recursed into (they're gone).
18
+ * - A node whose `$id === skipSelfId` is left in place (used when emitting that
19
+ * model itself), but its CHILDREN are still recursed so nested OTHER models are
20
+ * still referenced.
21
+ *
22
+ * @returns the rewritten schema and the set of referenced model names.
23
+ */
24
+ export declare function substituteModelRefs(schema: Record<string, unknown>, idToName: Map<string, string>, skipSelfId?: string): {
25
+ schema: Record<string, unknown>;
26
+ referenced: Set<string>;
27
+ };