ts-procedures 9.1.0 → 9.3.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 (189) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/agent_config/claude-code/skills/ts-procedures/api-reference.md +29 -22
  3. package/agent_config/copilot/copilot-instructions.md +2 -0
  4. package/agent_config/cursor/cursorrules +2 -0
  5. package/build/codegen/bin/cli.d.ts +4 -0
  6. package/build/codegen/bin/cli.js +19 -0
  7. package/build/codegen/bin/cli.js.map +1 -1
  8. package/build/codegen/bin/cli.test.js +21 -0
  9. package/build/codegen/bin/cli.test.js.map +1 -1
  10. package/build/codegen/bin/flag-specs.js +3 -0
  11. package/build/codegen/bin/flag-specs.js.map +1 -1
  12. package/build/codegen/check-output.d.ts +28 -0
  13. package/build/codegen/check-output.js +216 -0
  14. package/build/codegen/check-output.js.map +1 -0
  15. package/build/codegen/check-output.test.d.ts +1 -0
  16. package/build/codegen/check-output.test.js +160 -0
  17. package/build/codegen/check-output.test.js.map +1 -0
  18. package/build/codegen/emit/api-route.js +1 -1
  19. package/build/codegen/emit/api-route.js.map +1 -1
  20. package/build/codegen/emit/context.d.ts +9 -0
  21. package/build/codegen/emit/http-stream-route.js +1 -1
  22. package/build/codegen/emit/http-stream-route.js.map +1 -1
  23. package/build/codegen/emit/rpc-route.js +1 -1
  24. package/build/codegen/emit/rpc-route.js.map +1 -1
  25. package/build/codegen/emit/scope-file.js +14 -0
  26. package/build/codegen/emit/scope-file.js.map +1 -1
  27. package/build/codegen/emit/stream-route.js +1 -1
  28. package/build/codegen/emit/stream-route.js.map +1 -1
  29. package/build/codegen/emit-scope.test.js +55 -0
  30. package/build/codegen/emit-scope.test.js.map +1 -1
  31. package/build/codegen/emit-types.js +19 -0
  32. package/build/codegen/emit-types.js.map +1 -1
  33. package/build/codegen/emit-types.test.js +34 -0
  34. package/build/codegen/emit-types.test.js.map +1 -1
  35. package/build/codegen/index.d.ts +14 -0
  36. package/build/codegen/index.js +11 -1
  37. package/build/codegen/index.js.map +1 -1
  38. package/build/codegen/targets/ts/name-collision.test.d.ts +1 -0
  39. package/build/codegen/targets/ts/name-collision.test.js +30 -0
  40. package/build/codegen/targets/ts/name-collision.test.js.map +1 -0
  41. package/build/codegen/targets/ts/run.js +13 -0
  42. package/build/codegen/targets/ts/run.js.map +1 -1
  43. package/build/core/create-http-stream.d.ts +3 -14
  44. package/build/core/create-http-stream.js.map +1 -1
  45. package/build/core/create-http.d.ts +2 -9
  46. package/build/core/create-http.js.map +1 -1
  47. package/build/core/create-http.test-d.d.ts +1 -0
  48. package/build/core/create-http.test-d.js +104 -0
  49. package/build/core/create-http.test-d.js.map +1 -0
  50. package/build/core/procedures.d.ts +6 -16
  51. package/build/core/types.d.ts +49 -4
  52. package/build/errors.d.ts +33 -0
  53. package/build/errors.js +91 -0
  54. package/build/errors.js.map +1 -0
  55. package/build/errors.test.d.ts +1 -0
  56. package/build/errors.test.js +122 -0
  57. package/build/errors.test.js.map +1 -0
  58. package/build/exports.d.ts +1 -1
  59. package/build/exports.js.map +1 -1
  60. package/build/implementations/http/doc-registry.d.ts +28 -0
  61. package/build/implementations/http/doc-registry.js +96 -0
  62. package/build/implementations/http/doc-registry.js.map +1 -0
  63. package/build/implementations/http/doc-registry.test.d.ts +1 -0
  64. package/build/implementations/http/doc-registry.test.js +516 -0
  65. package/build/implementations/http/doc-registry.test.js.map +1 -0
  66. package/build/implementations/http/error-taxonomy.d.ts +249 -0
  67. package/build/implementations/http/error-taxonomy.js +252 -0
  68. package/build/implementations/http/error-taxonomy.js.map +1 -0
  69. package/build/implementations/http/error-taxonomy.test.d.ts +1 -0
  70. package/build/implementations/http/error-taxonomy.test.js +399 -0
  71. package/build/implementations/http/error-taxonomy.test.js.map +1 -0
  72. package/build/implementations/http/express-rpc/error-taxonomy.test.d.ts +1 -0
  73. package/build/implementations/http/express-rpc/error-taxonomy.test.js +83 -0
  74. package/build/implementations/http/express-rpc/error-taxonomy.test.js.map +1 -0
  75. package/build/implementations/http/express-rpc/index.d.ts +125 -0
  76. package/build/implementations/http/express-rpc/index.js +216 -0
  77. package/build/implementations/http/express-rpc/index.js.map +1 -0
  78. package/build/implementations/http/express-rpc/index.test.d.ts +1 -0
  79. package/build/implementations/http/express-rpc/index.test.js +684 -0
  80. package/build/implementations/http/express-rpc/index.test.js.map +1 -0
  81. package/build/implementations/http/express-rpc/types.d.ts +11 -0
  82. package/build/implementations/http/express-rpc/types.js +2 -0
  83. package/build/implementations/http/express-rpc/types.js.map +1 -0
  84. package/build/implementations/http/hono-api/error-taxonomy.test.d.ts +1 -0
  85. package/build/implementations/http/hono-api/error-taxonomy.test.js +137 -0
  86. package/build/implementations/http/hono-api/error-taxonomy.test.js.map +1 -0
  87. package/build/implementations/http/hono-api/index.d.ts +151 -0
  88. package/build/implementations/http/hono-api/index.js +344 -0
  89. package/build/implementations/http/hono-api/index.js.map +1 -0
  90. package/build/implementations/http/hono-api/index.test.d.ts +1 -0
  91. package/build/implementations/http/hono-api/index.test.js +992 -0
  92. package/build/implementations/http/hono-api/index.test.js.map +1 -0
  93. package/build/implementations/http/hono-api/types.d.ts +13 -0
  94. package/build/implementations/http/hono-api/types.js +2 -0
  95. package/build/implementations/http/hono-api/types.js.map +1 -0
  96. package/build/implementations/http/hono-rpc/error-taxonomy.test.d.ts +1 -0
  97. package/build/implementations/http/hono-rpc/error-taxonomy.test.js +64 -0
  98. package/build/implementations/http/hono-rpc/error-taxonomy.test.js.map +1 -0
  99. package/build/implementations/http/hono-rpc/index.d.ts +130 -0
  100. package/build/implementations/http/hono-rpc/index.js +209 -0
  101. package/build/implementations/http/hono-rpc/index.js.map +1 -0
  102. package/build/implementations/http/hono-rpc/index.test.d.ts +1 -0
  103. package/build/implementations/http/hono-rpc/index.test.js +828 -0
  104. package/build/implementations/http/hono-rpc/index.test.js.map +1 -0
  105. package/build/implementations/http/hono-rpc/types.d.ts +11 -0
  106. package/build/implementations/http/hono-rpc/types.js +2 -0
  107. package/build/implementations/http/hono-rpc/types.js.map +1 -0
  108. package/build/implementations/http/hono-stream/error-taxonomy.test.d.ts +1 -0
  109. package/build/implementations/http/hono-stream/error-taxonomy.test.js +159 -0
  110. package/build/implementations/http/hono-stream/error-taxonomy.test.js.map +1 -0
  111. package/build/implementations/http/hono-stream/index.d.ts +171 -0
  112. package/build/implementations/http/hono-stream/index.js +415 -0
  113. package/build/implementations/http/hono-stream/index.js.map +1 -0
  114. package/build/implementations/http/hono-stream/index.test.d.ts +1 -0
  115. package/build/implementations/http/hono-stream/index.test.js +1383 -0
  116. package/build/implementations/http/hono-stream/index.test.js.map +1 -0
  117. package/build/implementations/http/hono-stream/types.d.ts +15 -0
  118. package/build/implementations/http/hono-stream/types.js +2 -0
  119. package/build/implementations/http/hono-stream/types.js.map +1 -0
  120. package/build/implementations/http/on-request-error.test.d.ts +1 -0
  121. package/build/implementations/http/on-request-error.test.js +173 -0
  122. package/build/implementations/http/on-request-error.test.js.map +1 -0
  123. package/build/implementations/http/route-errors.test.d.ts +1 -0
  124. package/build/implementations/http/route-errors.test.js +139 -0
  125. package/build/implementations/http/route-errors.test.js.map +1 -0
  126. package/build/implementations/types.d.ts +192 -0
  127. package/build/implementations/types.js +2 -0
  128. package/build/implementations/types.js.map +1 -0
  129. package/build/index.d.ts +165 -0
  130. package/build/index.js +258 -0
  131. package/build/index.js.map +1 -0
  132. package/build/index.test.d.ts +1 -0
  133. package/build/index.test.js +920 -0
  134. package/build/index.test.js.map +1 -0
  135. package/build/schema/extract-json-schema.d.ts +2 -0
  136. package/build/schema/extract-json-schema.js +12 -0
  137. package/build/schema/extract-json-schema.js.map +1 -0
  138. package/build/schema/extract-json-schema.test.d.ts +1 -0
  139. package/build/schema/extract-json-schema.test.js +23 -0
  140. package/build/schema/extract-json-schema.test.js.map +1 -0
  141. package/build/schema/parser.d.ts +28 -0
  142. package/build/schema/parser.js +170 -0
  143. package/build/schema/parser.js.map +1 -0
  144. package/build/schema/parser.test.d.ts +1 -0
  145. package/build/schema/parser.test.js +120 -0
  146. package/build/schema/parser.test.js.map +1 -0
  147. package/build/schema/resolve-schema-lib.d.ts +12 -0
  148. package/build/schema/resolve-schema-lib.js +11 -0
  149. package/build/schema/resolve-schema-lib.js.map +1 -0
  150. package/build/schema/resolve-schema-lib.test.d.ts +1 -0
  151. package/build/schema/resolve-schema-lib.test.js +17 -0
  152. package/build/schema/resolve-schema-lib.test.js.map +1 -0
  153. package/build/schema/types.d.ts +8 -0
  154. package/build/schema/types.js +2 -0
  155. package/build/schema/types.js.map +1 -0
  156. package/build/server/types.d.ts +6 -12
  157. package/build/stack-utils.d.ts +25 -0
  158. package/build/stack-utils.js +95 -0
  159. package/build/stack-utils.js.map +1 -0
  160. package/build/stack-utils.test.d.ts +1 -0
  161. package/build/stack-utils.test.js +80 -0
  162. package/build/stack-utils.test.js.map +1 -0
  163. package/docs/client-and-codegen.md +17 -0
  164. package/docs/core.md +1 -0
  165. package/docs/migration-v8-to-v9.md +12 -4
  166. package/package.json +1 -1
  167. package/src/codegen/bin/cli.test.ts +28 -0
  168. package/src/codegen/bin/cli.ts +26 -0
  169. package/src/codegen/bin/flag-specs.ts +3 -0
  170. package/src/codegen/check-output.test.ts +177 -0
  171. package/src/codegen/check-output.ts +262 -0
  172. package/src/codegen/emit/api-route.ts +1 -1
  173. package/src/codegen/emit/context.ts +9 -0
  174. package/src/codegen/emit/http-stream-route.ts +1 -1
  175. package/src/codegen/emit/rpc-route.ts +1 -1
  176. package/src/codegen/emit/scope-file.ts +17 -0
  177. package/src/codegen/emit/stream-route.ts +1 -1
  178. package/src/codegen/emit-scope.test.ts +60 -0
  179. package/src/codegen/emit-types.test.ts +36 -0
  180. package/src/codegen/emit-types.ts +20 -0
  181. package/src/codegen/index.ts +23 -1
  182. package/src/codegen/targets/ts/name-collision.test.ts +34 -0
  183. package/src/codegen/targets/ts/run.ts +16 -0
  184. package/src/core/create-http-stream.ts +11 -12
  185. package/src/core/create-http.test-d.ts +154 -0
  186. package/src/core/create-http.ts +11 -7
  187. package/src/core/types.ts +63 -4
  188. package/src/exports.ts +5 -0
  189. package/src/server/types.ts +8 -12
@@ -0,0 +1,216 @@
1
+ /**
2
+ * Opt-in self-validation of generated output (`--check`).
3
+ *
4
+ * Codegen is otherwise throw-to-fail: a bug that emits syntactically-written
5
+ * but non-compiling output (a dangling type reference, a duplicate identifier)
6
+ * exits 0 and silently overwrites a previously-working client. `--check` turns
7
+ * that into a loud, non-zero failure.
8
+ *
9
+ * Two modes:
10
+ * - `'scan'` (default): a dependency-free, in-memory scan for *dangling type
11
+ * references* — a type alias whose body is a bare identifier that is never
12
+ * declared or imported (the exact shape of the namespace-mode root-union
13
+ * bug, `export type Params = Root`). It deliberately does NOT try to detect
14
+ * duplicate identifiers: that needs an accurate model of TypeScript's
15
+ * declaration-merging rules to avoid false positives (a value and a type
16
+ * legally share a name), the duplicate-from-name-collision case is already
17
+ * caught deterministically at the source (see `emitScopeFile`), and `'tsc'`
18
+ * mode catches the rest. Keeping the scan to one high-confidence check makes
19
+ * it reliable and trivial to reason about.
20
+ * - `'tsc'`: a real `tsc --noEmit` over the generated code via the programmatic
21
+ * `typescript` API — authoritative, catches everything. `typescript` is a
22
+ * dev/peer dependency that some consumers won't have installed, so it
23
+ * gracefully falls back to `'scan'` (with a warning) when it can't be
24
+ * resolved.
25
+ */
26
+ import { dirname, resolve } from 'node:path';
27
+ // ---------------------------------------------------------------------------
28
+ // Scan mode
29
+ // ---------------------------------------------------------------------------
30
+ // Any exported declaration that introduces an identifier the file can later
31
+ // reference (so a `export type X = Foo` whose `Foo` is declared lower down
32
+ // doesn't read as dangling).
33
+ const DECL_RE = /^\s*export\s+(?:declare\s+)?(?:type|interface|class|const|let|var|function|enum|namespace)\s+([A-Za-z_$][\w$]*)/;
34
+ // `export type X = <body>` — body captured for the bare-identifier test.
35
+ const TYPE_ALIAS_RE = /^\s*export\s+type\s+([A-Za-z_$][\w$]*)\s*=\s*(.+?);?\s*$/;
36
+ const IMPORT_NAMES_RE = /import\s+(?:type\s+)?(?:\*\s+as\s+\w+|(\w+)\s*,?\s*)?(?:\{([^}]*)\})?\s*from/g;
37
+ const BARE_IDENT_RE = /^[A-Za-z_$][\w$]*$/;
38
+ // TS lib globals / primitives a bare type-alias body may legitimately resolve
39
+ // to without being declared or imported in the file.
40
+ const BUILTIN_TYPES = new Set([
41
+ 'string', 'number', 'boolean', 'void', 'undefined', 'null', 'unknown', 'any',
42
+ 'never', 'object', 'symbol', 'bigint', 'this', 'true', 'false', 'Date',
43
+ 'Array', 'ReadonlyArray', 'Record', 'Promise', 'Map', 'Set', 'Partial',
44
+ 'Required', 'Readonly', 'Pick', 'Omit', 'Exclude', 'Extract', 'NonNullable',
45
+ 'ReturnType', 'Parameters', 'Uint8Array', 'ArrayBuffer', 'Blob',
46
+ ]);
47
+ /**
48
+ * Collects every identifier the file declares or imports — the set of names a
49
+ * bare type-alias body is allowed to reference. Declarations at any nesting are
50
+ * counted: the check only asks "does this name exist in the file at all", not
51
+ * "is it in scope here", so it never false-positives on a valid reference.
52
+ */
53
+ function collectKnownNames(code) {
54
+ const names = new Set();
55
+ for (const line of code.split('\n')) {
56
+ const decl = DECL_RE.exec(line);
57
+ if (decl)
58
+ names.add(decl[1]);
59
+ }
60
+ for (const m of code.matchAll(IMPORT_NAMES_RE)) {
61
+ if (m[1])
62
+ names.add(m[1]);
63
+ if (m[2]) {
64
+ for (const part of m[2].split(',')) {
65
+ const name = part.split(/\s+as\s+/).pop()?.trim();
66
+ if (name)
67
+ names.add(name);
68
+ }
69
+ }
70
+ }
71
+ return names;
72
+ }
73
+ /**
74
+ * Flags `export type X = <Bare>` where `<Bare>` is a lone identifier that is
75
+ * neither declared nor imported in the file nor a TS built-in — the exact shape
76
+ * of the namespace-mode root-union bug (`export type Params = Root`). Bodies
77
+ * that are anything other than a single bare identifier (object literals,
78
+ * unions, generics, qualified names) are left alone: they're either valid or
79
+ * the kind of error only a real type-check can adjudicate.
80
+ */
81
+ function scanFile(file, known) {
82
+ const issues = [];
83
+ const lines = file.code.split('\n');
84
+ for (let i = 0; i < lines.length; i += 1) {
85
+ const alias = TYPE_ALIAS_RE.exec(lines[i]);
86
+ if (alias == null)
87
+ continue;
88
+ const rhs = alias[2].trim();
89
+ if (BARE_IDENT_RE.test(rhs) && !BUILTIN_TYPES.has(rhs) && !known.has(rhs)) {
90
+ issues.push({
91
+ file: file.path,
92
+ line: i + 1,
93
+ message: `Type alias "${alias[1]}" references "${rhs}", which is never declared or imported in this file (dangling reference).`,
94
+ });
95
+ }
96
+ }
97
+ return issues;
98
+ }
99
+ export function scanGeneratedFiles(files) {
100
+ return files
101
+ .filter((f) => f.path.endsWith('.ts'))
102
+ .flatMap((f) => scanFile(f, collectKnownNames(f.code)));
103
+ }
104
+ // ---------------------------------------------------------------------------
105
+ // tsc mode
106
+ // ---------------------------------------------------------------------------
107
+ /**
108
+ * Type-checks the generated files in-process with the programmatic `typescript`
109
+ * API. Builds a `Program` over the in-memory `code` via a `CompilerHost` that
110
+ * serves generated content for generated paths and delegates everything else
111
+ * (the default lib + `node_modules`) to the real filesystem. Files are anchored
112
+ * at `outDir`, so extensionless/bare imports (`./_models`, `ts-procedures/client`)
113
+ * resolve under Bundler resolution exactly as the consumer's tooling resolves
114
+ * them: self-contained output resolves entirely within the in-memory set;
115
+ * non-self-contained output finds the installed `ts-procedures` by walking up
116
+ * from `outDir` to the nearest `node_modules`. It reads no bytes it didn't emit
117
+ * and writes nothing, so it can't perturb the frozen codegen output. Works in
118
+ * dry-run too (nothing needs to be on disk). Returns `null` to signal "couldn't
119
+ * run, fall back to scan" when `typescript` can't be resolved.
120
+ *
121
+ * The in-memory host approach mirrors the sibling ts-channels generator's
122
+ * `assertGeneratedFilesCompile`, keeping the two generators' tsc checks aligned.
123
+ */
124
+ async function tscCheck(files) {
125
+ let ts;
126
+ try {
127
+ const mod = await import('typescript');
128
+ ts = mod.default ?? mod;
129
+ }
130
+ catch {
131
+ return null;
132
+ }
133
+ const tsFiles = files.filter((f) => f.path.endsWith('.ts'));
134
+ if (tsFiles.length === 0)
135
+ return [];
136
+ // ts-procedures emits extensionless relative imports (`from './_models'`),
137
+ // which are illegal under NodeNext — so type-check under Bundler resolution to
138
+ // match how that output is actually consumed (tsx / bundlers).
139
+ const options = {
140
+ target: ts.ScriptTarget.ES2022,
141
+ module: ts.ModuleKind.ESNext,
142
+ moduleResolution: ts.ModuleResolutionKind.Bundler,
143
+ strict: true,
144
+ noEmit: true,
145
+ skipLibCheck: true,
146
+ };
147
+ const generated = new Map();
148
+ const generatedDirs = new Set();
149
+ for (const f of tsFiles) {
150
+ const abs = resolve(f.path);
151
+ generated.set(abs, f.code);
152
+ generatedDirs.add(dirname(abs));
153
+ }
154
+ const host = ts.createCompilerHost(options, true);
155
+ const baseGetSourceFile = host.getSourceFile.bind(host);
156
+ const baseReadFile = host.readFile.bind(host);
157
+ const baseFileExists = host.fileExists.bind(host);
158
+ const baseDirectoryExists = host.directoryExists?.bind(host);
159
+ host.getSourceFile = (fileName, languageVersionOrOptions, onError, shouldCreate) => {
160
+ const content = generated.get(resolve(fileName));
161
+ if (content !== undefined)
162
+ return ts.createSourceFile(fileName, content, languageVersionOrOptions, true);
163
+ return baseGetSourceFile(fileName, languageVersionOrOptions, onError, shouldCreate);
164
+ };
165
+ host.readFile = (fileName) => {
166
+ const content = generated.get(resolve(fileName));
167
+ return content !== undefined ? content : baseReadFile(fileName);
168
+ };
169
+ host.fileExists = (fileName) => generated.has(resolve(fileName)) || baseFileExists(fileName);
170
+ // Without this, Bundler resolution of `./_types` etc. bails when the virtual
171
+ // outDir doesn't exist on disk (e.g. --dry-run) and every relative import
172
+ // reports TS2307, cascading into TS7006 implicit-any noise.
173
+ host.directoryExists = (d) => generatedDirs.has(resolve(d)) || (baseDirectoryExists?.(d) ?? false);
174
+ const program = ts.createProgram([...generated.keys()], options, host);
175
+ const diagnostics = ts.getPreEmitDiagnostics(program).filter((d) => d.file != null && generated.has(resolve(d.file.fileName)));
176
+ return diagnostics.map((d) => {
177
+ const message = ts.flattenDiagnosticMessageText(d.messageText, '\n');
178
+ const issue = {
179
+ file: d.file.fileName,
180
+ message: `TS${d.code}: ${message}`,
181
+ };
182
+ if (d.start != null) {
183
+ issue.line = d.file.getLineAndCharacterOfPosition(d.start).line + 1;
184
+ }
185
+ return issue;
186
+ });
187
+ }
188
+ export async function checkGeneratedFiles(files, options) {
189
+ if (options.mode === 'tsc') {
190
+ // The in-memory type-check works from the emitted code, so it runs even in
191
+ // --dry-run. The only reason to fall back is a missing `typescript` peer.
192
+ const tscIssues = await tscCheck(files);
193
+ if (tscIssues != null) {
194
+ return { ok: tscIssues.length === 0, mode: 'tsc', issues: tscIssues };
195
+ }
196
+ options.logger?.('[ts-procedures-codegen] --check-mode tsc requested but `typescript` could not be resolved. Falling back to the scan check.');
197
+ }
198
+ const issues = scanGeneratedFiles(files);
199
+ return { ok: issues.length === 0, mode: 'scan', issues };
200
+ }
201
+ /**
202
+ * Renders a failed {@link CheckResult} as a multi-line, human-readable report.
203
+ * Shared by the CLI (stderr) and `generateClient({ validate })` (thrown error)
204
+ * so both surface findings identically.
205
+ */
206
+ export function formatCheckResult(result) {
207
+ const lines = [
208
+ `[ts-procedures-codegen] Self-check (${result.mode}) found ${result.issues.length} problem(s) in the generated output:`,
209
+ ];
210
+ for (const issue of result.issues) {
211
+ const loc = issue.line != null ? `:${issue.line}` : '';
212
+ lines.push(` ${issue.file}${loc} — ${issue.message}`);
213
+ }
214
+ return lines.join('\n');
215
+ }
216
+ //# sourceMappingURL=check-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-output.js","sourceRoot":"","sources":["../../src/codegen/check-output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,160 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { scanGeneratedFiles, checkGeneratedFiles, formatCheckResult } from './check-output.js';
3
+ import { runPipeline } from './pipeline.js';
4
+ import { generateClient } from './index.js';
5
+ import { makeRpcRoute, makeEnvelope } from './__fixtures__/make-envelope.js';
6
+ const file = (path, code) => ({ path, code });
7
+ const validEnvelope = makeEnvelope([
8
+ makeRpcRoute({
9
+ name: 'GetUser',
10
+ scope: 'users',
11
+ jsonSchema: {
12
+ body: { type: 'object', properties: { id: { type: 'string' } }, required: ['id'] },
13
+ response: { type: 'object', properties: { name: { type: 'string' } }, required: ['name'] },
14
+ },
15
+ }),
16
+ ]);
17
+ describe('check-output scan', () => {
18
+ it('does not flag same-named types in different namespaces (no false positive)', () => {
19
+ const code = [
20
+ 'export namespace Tasks {',
21
+ ' export namespace A {',
22
+ ' export type Ref = { a: string }',
23
+ ' }',
24
+ ' export namespace B {',
25
+ ' export type Ref = { b: number }',
26
+ ' }',
27
+ '}',
28
+ '',
29
+ ].join('\n');
30
+ expect(scanGeneratedFiles([file('/out/tasks.ts', code)])).toEqual([]);
31
+ });
32
+ it('flags a dangling bare type-alias reference (the namespace-mode Root bug)', () => {
33
+ const code = [
34
+ 'export namespace Tasks {',
35
+ ' export namespace SetLink {',
36
+ ' export type Params = Root',
37
+ ' }',
38
+ '}',
39
+ '',
40
+ ].join('\n');
41
+ const issues = scanGeneratedFiles([file('/out/tasks.ts', code)]);
42
+ expect(issues).toHaveLength(1);
43
+ expect(issues[0].message).toContain('dangling reference');
44
+ expect(issues[0].message).toContain('Root');
45
+ });
46
+ it('does not flag a bare alias that resolves to an import', () => {
47
+ const code = ["import type { Message } from './_models'", 'export type Params = Message', ''].join('\n');
48
+ expect(scanGeneratedFiles([file('/out/a.ts', code)])).toEqual([]);
49
+ });
50
+ it('does not flag a bare alias that resolves to a built-in', () => {
51
+ expect(scanGeneratedFiles([file('/out/a.ts', 'export type Params = string\n')])).toEqual([]);
52
+ });
53
+ it('does not flag a bare alias that resolves to a type declared in the same file', () => {
54
+ const code = ['export type Inner = { a: string }', 'export type Params = Inner', ''].join('\n');
55
+ expect(scanGeneratedFiles([file('/out/a.ts', code)])).toEqual([]);
56
+ });
57
+ });
58
+ describe('checkGeneratedFiles orchestration', () => {
59
+ it('returns ok for clean scan', async () => {
60
+ const r = await checkGeneratedFiles([file('/out/a.ts', 'export type X = string\n')], { mode: 'scan' });
61
+ expect(r).toEqual({ ok: true, mode: 'scan', issues: [] });
62
+ });
63
+ it('returns not-ok with issues for broken scan', async () => {
64
+ const r = await checkGeneratedFiles([file('/out/a.ts', 'export type X = Nope\n')], { mode: 'scan' });
65
+ expect(r.ok).toBe(false);
66
+ expect(r.mode).toBe('scan');
67
+ expect(r.issues).toHaveLength(1);
68
+ });
69
+ it('tsc mode type-checks in-memory and passes clean self-resolving output', async () => {
70
+ const r = await checkGeneratedFiles([file('/out/a.ts', 'export type X = string\nexport const y: X = "z"\n')], {
71
+ mode: 'tsc',
72
+ });
73
+ // typescript is a devDependency here, so tsc mode actually runs.
74
+ expect(r.mode).toBe('tsc');
75
+ expect(r.ok).toBe(true);
76
+ });
77
+ it('tsc mode flags a real type error', async () => {
78
+ const r = await checkGeneratedFiles([file('/out/a.ts', 'export const n: number = "not a number"\n')], {
79
+ mode: 'tsc',
80
+ });
81
+ expect(r.mode).toBe('tsc');
82
+ expect(r.ok).toBe(false);
83
+ expect(r.issues.length).toBeGreaterThan(0);
84
+ expect(r.issues[0].message).toMatch(/^TS\d+:/);
85
+ });
86
+ // End-to-end: a real self-contained client (vendored ./_client + ./_types)
87
+ // must type-check via the in-memory host, proving relative imports resolve
88
+ // within the emitted set without anything written to disk.
89
+ it('tsc mode passes real self-contained generated output (dry-run, in-memory)', async () => {
90
+ const envelope = makeEnvelope([
91
+ makeRpcRoute({
92
+ name: 'GetUser',
93
+ scope: 'users',
94
+ jsonSchema: {
95
+ body: { type: 'object', properties: { id: { type: 'string' } }, required: ['id'] },
96
+ response: { type: 'object', properties: { name: { type: 'string' } }, required: ['name'] },
97
+ },
98
+ }),
99
+ ]);
100
+ const files = await runPipeline({
101
+ envelope,
102
+ outDir: '/unused-out',
103
+ dryRun: true,
104
+ selfContained: true,
105
+ namespaceTypes: true,
106
+ });
107
+ const r = await checkGeneratedFiles(files, { mode: 'tsc' });
108
+ expect(r.mode).toBe('tsc');
109
+ expect(r.issues).toEqual([]);
110
+ expect(r.ok).toBe(true);
111
+ // The dependency-free scan must also pass the same real output.
112
+ expect(scanGeneratedFiles(files)).toEqual([]);
113
+ });
114
+ });
115
+ describe('formatCheckResult', () => {
116
+ it('renders a header and one line per issue', () => {
117
+ const text = formatCheckResult({
118
+ ok: false,
119
+ mode: 'scan',
120
+ issues: [{ file: '/out/tasks.ts', line: 4, message: 'Type alias "Params" references "Root" …' }],
121
+ });
122
+ expect(text).toContain('Self-check (scan) found 1 problem(s)');
123
+ expect(text).toContain('/out/tasks.ts:4 — Type alias "Params" references "Root" …');
124
+ });
125
+ });
126
+ describe('generateClient({ validate })', () => {
127
+ it('returns files when valid output passes the scan', async () => {
128
+ const files = await generateClient({
129
+ envelope: validEnvelope,
130
+ outDir: '/unused-out',
131
+ dryRun: true,
132
+ selfContained: true,
133
+ namespaceTypes: true,
134
+ validate: true,
135
+ });
136
+ expect(files.length).toBeGreaterThan(0);
137
+ });
138
+ it('returns files when valid output passes the tsc check', async () => {
139
+ const files = await generateClient({
140
+ envelope: validEnvelope,
141
+ outDir: '/unused-out',
142
+ dryRun: true,
143
+ selfContained: true,
144
+ namespaceTypes: true,
145
+ validate: { mode: 'tsc' },
146
+ });
147
+ expect(files.length).toBeGreaterThan(0);
148
+ });
149
+ it('does not validate when the option is omitted', async () => {
150
+ const files = await generateClient({
151
+ envelope: validEnvelope,
152
+ outDir: '/unused-out',
153
+ dryRun: true,
154
+ selfContained: true,
155
+ namespaceTypes: true,
156
+ });
157
+ expect(files.length).toBeGreaterThan(0);
158
+ });
159
+ });
160
+ //# sourceMappingURL=check-output.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-output.test.js","sourceRoot":"","sources":["../../src/codegen/check-output.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAG5E,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,IAAY,EAAiB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAE5E,MAAM,aAAa,GAAG,YAAY,CAAC;IACjC,YAAY,CAAC;QACX,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE;YAClF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;SAC3F;KACF,CAAC;CACH,CAAC,CAAA;AAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,IAAI,GAAG;YACX,0BAA0B;YAC1B,wBAAwB;YACxB,qCAAqC;YACrC,KAAK;YACL,wBAAwB;YACxB,qCAAqC;YACrC,KAAK;YACL,GAAG;YACH,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,IAAI,GAAG;YACX,0BAA0B;YAC1B,8BAA8B;YAC9B,+BAA+B;YAC/B,KAAK;YACL,GAAG;YACH,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACZ,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAChE,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;QAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,CAAC,0CAA0C,EAAE,8BAA8B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxG,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC9F,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,IAAI,GAAG,CAAC,mCAAmC,EAAE,4BAA4B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC/F,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,CAAC,GAAG,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QACtG,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,CAAC,GAAG,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QACpG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,CAAC,GAAG,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,mDAAmD,CAAC,CAAC,EAAE;YAC5G,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;QACF,iEAAiE;QACjE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,CAAC,GAAG,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,2CAA2C,CAAC,CAAC,EAAE;YACpG,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;QACF,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAC1C,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,2EAA2E;IAC3E,2EAA2E;IAC3E,2DAA2D;IAC3D,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,QAAQ,GAAG,YAAY,CAAC;YAC5B,YAAY,CAAC;gBACX,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,OAAO;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE;oBAClF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;iBAC3F;aACF,CAAC;SACH,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC;YAC9B,QAAQ;YACR,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3D,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvB,gEAAgE;QAChE,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,IAAI,GAAG,iBAAiB,CAAC;YAC7B,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;SACjG,CAAC,CAAA;QACF,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAA;QAC9D,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,2DAA2D,CAAC,CAAA;IACrF,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC;YACjC,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;QACF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC;YACjC,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SAC1B,CAAC,CAAA;QACF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC;YACjC,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,IAAI;YACZ,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAA;QACF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -151,6 +151,6 @@ export async function emitApiRoute(route, ctx) {
151
151
  const hasErrorsInjected = ctx.namespaceTypes
152
152
  ? injectRouteErrors(declarations, pascal, errorUnion, ctx.namespaceTypes)
153
153
  : errorUnion !== null; // flat mode already emitted errors above
154
- return { typeDeclarations: declarations, callable, hasStream: false, hasErrors: hasErrorsInjected };
154
+ return { typeDeclarations: declarations, callable, hasStream: false, hasErrors: hasErrorsInjected, routePascal: pascal };
155
155
  }
156
156
  //# sourceMappingURL=api-route.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-route.js","sourceRoot":"","sources":["../../../src/codegen/emit/api-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-route.js","sourceRoot":"","sources":["../../../src/codegen/emit/api-route.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,15 @@ export interface RouteChunks {
12
12
  hasStream: boolean;
13
13
  /** True when this route emitted an `Errors` type (drives the `_errors` import at the top of the scope file). */
14
14
  hasErrors: boolean;
15
+ /**
16
+ * The PascalCase name this route emits its types/namespace under (e.g.
17
+ * `GetTask`). `emitScopeFile` checks these for collisions across routes in
18
+ * the scope — two routes whose names pascalize to the same value (e.g.
19
+ * `get-task` and `getTask`, or `Foo`@v2 and `FooV2`@v1) would otherwise emit
20
+ * merged namespaces / duplicate `export type` declarations and a duplicated
21
+ * callable key, none of which compile.
22
+ */
23
+ routePascal: string;
15
24
  }
16
25
  export interface EmitRouteContext {
17
26
  ajsc?: AjscOptions;
@@ -133,6 +133,6 @@ export async function emitHttpStreamRoute(route, ctx) {
133
133
  ` },`,
134
134
  ].join('\n');
135
135
  const hasErrors = injectRouteErrors(declarations, pascal, buildErrorUnion(route.errors, ctx), ctx.namespaceTypes);
136
- return { typeDeclarations: declarations, callable, hasStream: true, hasErrors };
136
+ return { typeDeclarations: declarations, callable, hasStream: true, hasErrors, routePascal: pascal };
137
137
  }
138
138
  //# sourceMappingURL=http-stream-route.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-stream-route.js","sourceRoot":"","sources":["../../../src/codegen/emit/http-stream-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-stream-route.js","sourceRoot":"","sources":["../../../src/codegen/emit/http-stream-route.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,6 @@ export async function emitRpcRoute(route, ctx) {
32
32
  ` }),`,
33
33
  ].join('\n');
34
34
  const hasErrorsInjected = injectRouteErrors(declarations, pascal, errorUnion, ctx.namespaceTypes);
35
- return { typeDeclarations: declarations, callable, hasStream: false, hasErrors: hasErrorsInjected };
35
+ return { typeDeclarations: declarations, callable, hasStream: false, hasErrors: hasErrorsInjected, routePascal: pascal };
36
36
  }
37
37
  //# sourceMappingURL=rpc-route.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-route.js","sourceRoot":"","sources":["../../../src/codegen/emit/rpc-route.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE3G,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAsB,EAAE,GAAqB;IAC9E,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAEzD,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE;QACvD,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;QACtD,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;KAC7D,EAAE,GAAG,CAAC,CAAA;IAEP,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAA;IAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,SAAS,CAAA;IACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAEjF,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrD,MAAM,SAAS,GAAG,UAAU,KAAK,IAAI,CAAA;IACrC,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc;QAClC,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,IAAI,MAAM,SAAS;QACvC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAA;IACrB,MAAM,UAAU,GAAG,SAAS;QAC1B,CAAC,CAAC,4BAA4B,cAAc,KAAK,gBAAgB,KAAK,SAAS,GAAG;QAClF,CAAC,CAAC,uBAAuB,cAAc,KAAK,gBAAgB,GAAG,CAAA;IAEjE,MAAM,QAAQ,GAAG;QACf,kBAAkB,CAAC;YACjB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE;YACvC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;SACxC,CAAC;QACF,OAAO,MAAM,KAAK,UAAU,IAAI;QAChC,gBAAgB,MAAM,IAAI;QAC1B,iBAAiB,QAAQ,IAAI;QAC7B,gBAAgB,KAAK,CAAC,IAAI,IAAI;QAC9B,kBAAkB,KAAK,CAAC,MAAM,IAAI;QAClC,oBAAoB;QACpB,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;IAEjG,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAA;AACrG,CAAC"}
1
+ {"version":3,"file":"rpc-route.js","sourceRoot":"","sources":["../../../src/codegen/emit/rpc-route.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE3G,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAsB,EAAE,GAAqB;IAC9E,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAEzD,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE;QACvD,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;QACtD,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;KAC7D,EAAE,GAAG,CAAC,CAAA;IAEP,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAA;IAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,SAAS,CAAA;IACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAEjF,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrD,MAAM,SAAS,GAAG,UAAU,KAAK,IAAI,CAAA;IACrC,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc;QAClC,CAAC,CAAC,GAAG,GAAG,CAAC,WAAW,IAAI,MAAM,SAAS;QACvC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAA;IACrB,MAAM,UAAU,GAAG,SAAS;QAC1B,CAAC,CAAC,4BAA4B,cAAc,KAAK,gBAAgB,KAAK,SAAS,GAAG;QAClF,CAAC,CAAC,uBAAuB,cAAc,KAAK,gBAAgB,GAAG,CAAA;IAEjE,MAAM,QAAQ,GAAG;QACf,kBAAkB,CAAC;YACjB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE;YACvC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;SACxC,CAAC;QACF,OAAO,MAAM,KAAK,UAAU,IAAI;QAChC,gBAAgB,MAAM,IAAI;QAC1B,iBAAiB,QAAQ,IAAI;QAC7B,gBAAgB,KAAK,CAAC,IAAI,IAAI;QAC9B,kBAAkB,KAAK,CAAC,MAAM,IAAI;QAClC,oBAAoB;QACpB,SAAS;KACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;IAEjG,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;AAC1H,CAAC"}
@@ -49,6 +49,13 @@ export async function emitScopeFile(group, options) {
49
49
  const callables = [];
50
50
  let hasStream = false;
51
51
  let scopeHasErrors = false;
52
+ // routePascal → the first route name that claimed it. Two routes whose names
53
+ // pascalize to the same value (e.g. `get-task`/`getTask`, or `Foo`@v2 and
54
+ // `FooV2`@v1) would emit merged namespaces, duplicate `export type`
55
+ // declarations, and a duplicated callable key — none of which compile. We
56
+ // fail fast with an actionable message rather than silently emit a broken
57
+ // scope file.
58
+ const pascalToName = new Map();
52
59
  for (const route of group.routes) {
53
60
  let chunks;
54
61
  const kind = route.kind ?? inferRouteKind(route);
@@ -73,6 +80,13 @@ export async function emitScopeFile(group, options) {
73
80
  const msg = err instanceof Error ? err.message : String(err);
74
81
  throw new Error(`[ts-procedures-codegen] Failed to emit route "${route.name}" (kind: ${kind}, scope: ${group.scopeKey}): ${msg}`);
75
82
  }
83
+ const prior = pascalToName.get(chunks.routePascal);
84
+ if (prior != null) {
85
+ throw new Error(`[ts-procedures-codegen] Scope "${group.scopeKey}": routes "${prior}" and "${route.name}" both generate the name "${chunks.routePascal}", ` +
86
+ `whose generated types and callable would collide (duplicate identifier / duplicate object key). ` +
87
+ `Rename one of the routes so they pascalize to distinct names.`);
88
+ }
89
+ pascalToName.set(chunks.routePascal, route.name);
76
90
  allTypeDeclarations.push(...chunks.typeDeclarations);
77
91
  callables.push(chunks.callable);
78
92
  if (chunks.hasStream)
@@ -1 +1 @@
1
- {"version":3,"file":"scope-file.js","sourceRoot":"","sources":["../../../src/codegen/emit/scope-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-file.js","sourceRoot":"","sources":["../../../src/codegen/emit/scope-file.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,6 @@ export async function emitStreamRoute(route, ctx) {
57
57
  ` },`,
58
58
  ].join('\n');
59
59
  const hasErrors = injectRouteErrors(declarations, pascal, buildErrorUnion(route.errors, ctx), ctx.namespaceTypes);
60
- return { typeDeclarations: declarations, callable, hasStream: true, hasErrors };
60
+ return { typeDeclarations: declarations, callable, hasStream: true, hasErrors, routePascal: pascal };
61
61
  }
62
62
  //# sourceMappingURL=stream-route.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream-route.js","sourceRoot":"","sources":["../../../src/codegen/emit/stream-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-route.js","sourceRoot":"","sources":["../../../src/codegen/emit/stream-route.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE3G;;;GAGG;AACH,SAAS,aAAa,CAAC,MAA+B;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAA;IAC/B,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC5D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAA;IAC1D,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC/E,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CACxB,MAA+B;IAE/B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAA;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAqD,CAAA;IAC1E,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IAChC,OAAO,UAAU,IAAI,MAAM,CAAA;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAyB,EAAE,GAAqB;IACpF,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAEzD,qCAAqC;IACrC,IAAI,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAA;IAC5C,IAAI,WAAW,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QACpF,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE;QACvD,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE;QACxD,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE;QAC3C,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE;KAC7D,EAAE,GAAG,CAAC,CAAA;IAEP,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAA;IAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAA;IAChD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAA;IAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAA;IAEjF,MAAM,QAAQ,GAAG;QACf,kBAAkB,CAAC;YACjB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAChE,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,IAAI;SAChB,CAAC;QACF,OAAO,MAAM,YAAY,cAAc,kDAAkD,aAAa,KAAK,cAAc,KAAK;QAC9H,8BAA8B,aAAa,KAAK,cAAc,KAAK;QACnE,kBAAkB,MAAM,IAAI;QAC5B,mBAAmB,QAAQ,IAAI;QAC/B,kBAAkB,KAAK,CAAC,IAAI,IAAI;QAChC,oBAAoB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI;QACjD,yBAAyB;QACzB,wBAAwB,KAAK,CAAC,UAAU,IAAI;QAC5C,iBAAiB;QACjB,mBAAmB;QACnB,QAAQ;KACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,MAAM,SAAS,GAAG,iBAAiB,CACjC,YAAY,EACZ,MAAM,EACN,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,EAClC,GAAG,CAAC,cAAc,CACnB,CAAA;IAED,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,CAAA;AACtG,CAAC"}