@gqlkit-ts/cli 0.6.0 → 0.7.1

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 (194) hide show
  1. package/dist/auto-type-generator/auto-type-generator.d.ts +7 -0
  2. package/dist/auto-type-generator/auto-type-generator.d.ts.map +1 -1
  3. package/dist/auto-type-generator/auto-type-generator.js +375 -55
  4. package/dist/auto-type-generator/auto-type-generator.js.map +1 -1
  5. package/dist/auto-type-generator/discriminator-field-validator.d.ts +26 -0
  6. package/dist/auto-type-generator/discriminator-field-validator.d.ts.map +1 -0
  7. package/dist/auto-type-generator/discriminator-field-validator.js +242 -0
  8. package/dist/auto-type-generator/discriminator-field-validator.js.map +1 -0
  9. package/dist/auto-type-generator/discriminator-naming.d.ts +11 -0
  10. package/dist/auto-type-generator/discriminator-naming.d.ts.map +1 -0
  11. package/dist/auto-type-generator/discriminator-naming.js +15 -0
  12. package/dist/auto-type-generator/discriminator-naming.js.map +1 -0
  13. package/dist/auto-type-generator/discriminator-resolve-type-generator.d.ts +44 -0
  14. package/dist/auto-type-generator/discriminator-resolve-type-generator.d.ts.map +1 -0
  15. package/dist/auto-type-generator/discriminator-resolve-type-generator.js +77 -0
  16. package/dist/auto-type-generator/discriminator-resolve-type-generator.js.map +1 -0
  17. package/dist/auto-type-generator/index.d.ts +3 -0
  18. package/dist/auto-type-generator/index.d.ts.map +1 -1
  19. package/dist/auto-type-generator/index.js +3 -0
  20. package/dist/auto-type-generator/index.js.map +1 -1
  21. package/dist/auto-type-generator/inline-enum-collector.d.ts.map +1 -1
  22. package/dist/auto-type-generator/inline-enum-collector.js +14 -7
  23. package/dist/auto-type-generator/inline-enum-collector.js.map +1 -1
  24. package/dist/auto-type-generator/inline-object-converter.d.ts +12 -0
  25. package/dist/auto-type-generator/inline-object-converter.d.ts.map +1 -0
  26. package/dist/auto-type-generator/inline-object-converter.js +72 -0
  27. package/dist/auto-type-generator/inline-object-converter.js.map +1 -0
  28. package/dist/auto-type-generator/inline-object-traverser.d.ts +2 -1
  29. package/dist/auto-type-generator/inline-object-traverser.d.ts.map +1 -1
  30. package/dist/auto-type-generator/inline-object-traverser.js +22 -4
  31. package/dist/auto-type-generator/inline-object-traverser.js.map +1 -1
  32. package/dist/auto-type-generator/inline-union-collector.d.ts.map +1 -1
  33. package/dist/auto-type-generator/inline-union-collector.js +20 -6
  34. package/dist/auto-type-generator/inline-union-collector.js.map +1 -1
  35. package/dist/auto-type-generator/inline-union-types.d.ts +2 -0
  36. package/dist/auto-type-generator/inline-union-types.d.ts.map +1 -1
  37. package/dist/auto-type-generator/inline-union-validator.js +3 -3
  38. package/dist/auto-type-generator/inline-union-validator.js.map +1 -1
  39. package/dist/auto-type-generator/intersection-flattener.d.ts +44 -0
  40. package/dist/auto-type-generator/intersection-flattener.d.ts.map +1 -0
  41. package/dist/auto-type-generator/intersection-flattener.js +398 -0
  42. package/dist/auto-type-generator/intersection-flattener.js.map +1 -0
  43. package/dist/auto-type-generator/naming-convention.d.ts +21 -0
  44. package/dist/auto-type-generator/naming-convention.d.ts.map +1 -1
  45. package/dist/auto-type-generator/naming-convention.js +145 -1
  46. package/dist/auto-type-generator/naming-convention.js.map +1 -1
  47. package/dist/auto-type-generator/typename-extractor.d.ts +2 -0
  48. package/dist/auto-type-generator/typename-extractor.d.ts.map +1 -1
  49. package/dist/auto-type-generator/typename-extractor.js +11 -3
  50. package/dist/auto-type-generator/typename-extractor.js.map +1 -1
  51. package/dist/auto-type-generator/typename-resolve-type-generator.d.ts +2 -0
  52. package/dist/auto-type-generator/typename-resolve-type-generator.d.ts.map +1 -1
  53. package/dist/auto-type-generator/typename-resolve-type-generator.js +12 -84
  54. package/dist/auto-type-generator/typename-resolve-type-generator.js.map +1 -1
  55. package/dist/auto-type-generator/typename-types.d.ts +4 -0
  56. package/dist/auto-type-generator/typename-types.d.ts.map +1 -1
  57. package/dist/auto-type-generator/typename-types.js +6 -0
  58. package/dist/auto-type-generator/typename-types.js.map +1 -1
  59. package/dist/auto-type-generator/typename-validator.d.ts.map +1 -1
  60. package/dist/auto-type-generator/typename-validator.js +4 -3
  61. package/dist/auto-type-generator/typename-validator.js.map +1 -1
  62. package/dist/commands/gen.d.ts.map +1 -1
  63. package/dist/commands/gen.js +2 -1
  64. package/dist/commands/gen.js.map +1 -1
  65. package/dist/config/types.d.ts +7 -0
  66. package/dist/config/types.d.ts.map +1 -1
  67. package/dist/config-loader/index.d.ts +1 -1
  68. package/dist/config-loader/index.d.ts.map +1 -1
  69. package/dist/config-loader/index.js.map +1 -1
  70. package/dist/config-loader/loader.d.ts +6 -0
  71. package/dist/config-loader/loader.d.ts.map +1 -1
  72. package/dist/config-loader/loader.js +1 -0
  73. package/dist/config-loader/loader.js.map +1 -1
  74. package/dist/config-loader/validator.d.ts.map +1 -1
  75. package/dist/config-loader/validator.js +84 -1
  76. package/dist/config-loader/validator.js.map +1 -1
  77. package/dist/gen-orchestrator/orchestrator.d.ts +2 -1
  78. package/dist/gen-orchestrator/orchestrator.d.ts.map +1 -1
  79. package/dist/gen-orchestrator/orchestrator.js +15 -2
  80. package/dist/gen-orchestrator/orchestrator.js.map +1 -1
  81. package/dist/resolver-extractor/extractor/define-api-extractor.d.ts.map +1 -1
  82. package/dist/resolver-extractor/extractor/define-api-extractor.js +4 -0
  83. package/dist/resolver-extractor/extractor/define-api-extractor.js.map +1 -1
  84. package/dist/resolver-extractor/validator/abstract-resolver-validator.d.ts +2 -0
  85. package/dist/resolver-extractor/validator/abstract-resolver-validator.d.ts.map +1 -1
  86. package/dist/resolver-extractor/validator/abstract-resolver-validator.js +16 -3
  87. package/dist/resolver-extractor/validator/abstract-resolver-validator.js.map +1 -1
  88. package/dist/schema-generator/emitter/code-emitter.d.ts.map +1 -1
  89. package/dist/schema-generator/emitter/code-emitter.js +13 -1
  90. package/dist/schema-generator/emitter/code-emitter.js.map +1 -1
  91. package/dist/schema-generator/emitter/discriminator-resolve-type-emitter.d.ts +18 -0
  92. package/dist/schema-generator/emitter/discriminator-resolve-type-emitter.d.ts.map +1 -0
  93. package/dist/schema-generator/emitter/discriminator-resolve-type-emitter.js +89 -0
  94. package/dist/schema-generator/emitter/discriminator-resolve-type-emitter.js.map +1 -0
  95. package/dist/schema-generator/generate-schema.d.ts +2 -0
  96. package/dist/schema-generator/generate-schema.d.ts.map +1 -1
  97. package/dist/schema-generator/generate-schema.js +69 -10
  98. package/dist/schema-generator/generate-schema.js.map +1 -1
  99. package/dist/schema-generator/integrator/result-integrator.d.ts +4 -0
  100. package/dist/schema-generator/integrator/result-integrator.d.ts.map +1 -1
  101. package/dist/schema-generator/integrator/result-integrator.js +18 -2
  102. package/dist/schema-generator/integrator/result-integrator.js.map +1 -1
  103. package/dist/schema-generator/resolver-collector/resolver-collector.d.ts +2 -0
  104. package/dist/schema-generator/resolver-collector/resolver-collector.d.ts.map +1 -1
  105. package/dist/schema-generator/resolver-collector/resolver-collector.js +4 -0
  106. package/dist/schema-generator/resolver-collector/resolver-collector.js.map +1 -1
  107. package/dist/shared/constants.d.ts.map +1 -1
  108. package/dist/shared/constants.js +14 -1
  109. package/dist/shared/constants.js.map +1 -1
  110. package/dist/shared/enum-prefix-detector.d.ts.map +1 -1
  111. package/dist/shared/enum-prefix-detector.js +78 -8
  112. package/dist/shared/enum-prefix-detector.js.map +1 -1
  113. package/dist/shared/inline-object-utils.js +1 -1
  114. package/dist/shared/inline-object-utils.js.map +1 -1
  115. package/dist/shared/type-converter.d.ts.map +1 -1
  116. package/dist/shared/type-converter.js +55 -0
  117. package/dist/shared/type-converter.js.map +1 -1
  118. package/dist/type-extractor/converter/graphql-converter.d.ts.map +1 -1
  119. package/dist/type-extractor/converter/graphql-converter.js +11 -1
  120. package/dist/type-extractor/converter/graphql-converter.js.map +1 -1
  121. package/dist/type-extractor/extractor/field-type-resolver.d.ts +18 -0
  122. package/dist/type-extractor/extractor/field-type-resolver.d.ts.map +1 -1
  123. package/dist/type-extractor/extractor/field-type-resolver.js +218 -16
  124. package/dist/type-extractor/extractor/field-type-resolver.js.map +1 -1
  125. package/dist/type-extractor/extractor/type-extractor.d.ts +1 -0
  126. package/dist/type-extractor/extractor/type-extractor.d.ts.map +1 -1
  127. package/dist/type-extractor/extractor/type-extractor.js +127 -14
  128. package/dist/type-extractor/extractor/type-extractor.js.map +1 -1
  129. package/dist/type-extractor/extractor/type-name-collector.d.ts.map +1 -1
  130. package/dist/type-extractor/extractor/type-name-collector.js +19 -4
  131. package/dist/type-extractor/extractor/type-name-collector.js.map +1 -1
  132. package/dist/type-extractor/types/diagnostics.d.ts +1 -1
  133. package/dist/type-extractor/types/diagnostics.d.ts.map +1 -1
  134. package/dist/type-extractor/types/index.d.ts +1 -1
  135. package/dist/type-extractor/types/index.d.ts.map +1 -1
  136. package/dist/type-extractor/types/index.js +1 -1
  137. package/dist/type-extractor/types/index.js.map +1 -1
  138. package/dist/type-extractor/types/ts-type-reference-factory.d.ts +7 -1
  139. package/dist/type-extractor/types/ts-type-reference-factory.d.ts.map +1 -1
  140. package/dist/type-extractor/types/ts-type-reference-factory.js +18 -3
  141. package/dist/type-extractor/types/ts-type-reference-factory.js.map +1 -1
  142. package/dist/type-extractor/types/typescript.d.ts +3 -1
  143. package/dist/type-extractor/types/typescript.d.ts.map +1 -1
  144. package/dist/type-extractor/validator/type-validator.d.ts.map +1 -1
  145. package/dist/type-extractor/validator/type-validator.js +6 -1
  146. package/dist/type-extractor/validator/type-validator.js.map +1 -1
  147. package/docs/configuration.md +19 -0
  148. package/docs/index.md +1 -0
  149. package/docs/integration/ai-sdk.md +189 -0
  150. package/docs/schema/unions.md +117 -0
  151. package/package.json +2 -2
  152. package/src/auto-type-generator/auto-type-generator.ts +576 -58
  153. package/src/auto-type-generator/discriminator-field-validator.ts +368 -0
  154. package/src/auto-type-generator/discriminator-naming.ts +24 -0
  155. package/src/auto-type-generator/discriminator-resolve-type-generator.ts +136 -0
  156. package/src/auto-type-generator/index.ts +17 -0
  157. package/src/auto-type-generator/inline-enum-collector.ts +19 -4
  158. package/src/auto-type-generator/inline-object-converter.ts +100 -0
  159. package/src/auto-type-generator/inline-object-traverser.ts +33 -7
  160. package/src/auto-type-generator/inline-union-collector.ts +26 -4
  161. package/src/auto-type-generator/inline-union-types.ts +2 -0
  162. package/src/auto-type-generator/inline-union-validator.ts +3 -3
  163. package/src/auto-type-generator/intersection-flattener.ts +554 -0
  164. package/src/auto-type-generator/naming-convention.ts +205 -1
  165. package/src/auto-type-generator/typename-extractor.ts +17 -3
  166. package/src/auto-type-generator/typename-resolve-type-generator.ts +19 -108
  167. package/src/auto-type-generator/typename-types.ts +7 -0
  168. package/src/auto-type-generator/typename-validator.ts +4 -3
  169. package/src/commands/gen.ts +9 -2
  170. package/src/config/types.ts +10 -0
  171. package/src/config-loader/index.ts +1 -0
  172. package/src/config-loader/loader.ts +11 -0
  173. package/src/config-loader/validator.ts +100 -1
  174. package/src/gen-orchestrator/orchestrator.ts +19 -2
  175. package/src/resolver-extractor/extractor/define-api-extractor.ts +4 -0
  176. package/src/resolver-extractor/validator/abstract-resolver-validator.ts +20 -6
  177. package/src/schema-generator/emitter/code-emitter.ts +26 -1
  178. package/src/schema-generator/emitter/discriminator-resolve-type-emitter.ts +125 -0
  179. package/src/schema-generator/generate-schema.ts +100 -13
  180. package/src/schema-generator/integrator/result-integrator.ts +25 -1
  181. package/src/schema-generator/resolver-collector/resolver-collector.ts +7 -0
  182. package/src/shared/constants.ts +15 -1
  183. package/src/shared/enum-prefix-detector.ts +96 -8
  184. package/src/shared/inline-object-utils.ts +1 -1
  185. package/src/shared/type-converter.ts +63 -0
  186. package/src/type-extractor/converter/graphql-converter.ts +17 -1
  187. package/src/type-extractor/extractor/field-type-resolver.ts +266 -16
  188. package/src/type-extractor/extractor/type-extractor.ts +148 -11
  189. package/src/type-extractor/extractor/type-name-collector.ts +19 -4
  190. package/src/type-extractor/types/diagnostics.ts +10 -1
  191. package/src/type-extractor/types/index.ts +2 -1
  192. package/src/type-extractor/types/ts-type-reference-factory.ts +24 -3
  193. package/src/type-extractor/types/typescript.ts +6 -2
  194. package/src/type-extractor/validator/type-validator.ts +6 -1
@@ -1,13 +1,15 @@
1
+ import { relative } from "node:path";
1
2
  import ts from "typescript";
2
3
  import { detectBrandedType, detectUniformBrandedType, } from "../../shared/branded-type-detector.js";
3
4
  import { isInternalTypeSymbol } from "../../shared/constants.js";
4
5
  import { extractInlineObjectProperties as extractInlineObjectPropertiesShared } from "../../shared/inline-object-extractor.js";
5
6
  import { isInlineObjectType } from "../../shared/inline-object-utils.js";
6
7
  import { detectScalarMetadata } from "../../shared/metadata-detector.js";
8
+ import { getSourceLocationFromNode, } from "../../shared/source-location.js";
7
9
  import { extractTsDocFromSymbol, } from "../../shared/tsdoc-parser.js";
8
- import { findEnumParentSymbol, findNonNullTypeNode, getNonNullableTypes, getTypeNameFromNode, isBooleanUnion, isNullableUnion, resolveOriginalSymbol, } from "../../shared/typescript-utils.js";
10
+ import { filterNonNullTypeNodes, findEnumParentSymbol, findNonNullTypeNode, getNonNullableTypes, getTypeNameFromNode, isBooleanUnion, isNullableUnion, resolveOriginalSymbol, } from "../../shared/typescript-utils.js";
9
11
  import { lookupScalarMapping } from "../mapper/scalar-base-type-mapper.js";
10
- import { createArrayType, createInlineEnumType, createInlineObjectType, createLiteralType, createPrimitiveType, createReferenceType, createScalarType, createUnionType, } from "../types/ts-type-reference-factory.js";
12
+ import { createArrayType, createInlineEnumType, createInlineObjectType, createNeverType, createNumericLiteralType, createPrimitiveType, createReferenceType, createScalarType, createStringLiteralType, createUnionType, } from "../types/ts-type-reference-factory.js";
11
13
  /**
12
14
  * Resolves a TypeScript type to a TSTypeReference for use in field context.
13
15
  *
@@ -69,6 +71,25 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
69
71
  return createReferenceType({ name: typeName, nullable });
70
72
  }
71
73
  }
74
+ // Handle `T | null` where T is a known union type alias.
75
+ // TypeScript flattens `T | null` when T is itself a union, losing aliasSymbol.
76
+ // Recover the alias by inspecting the UnionTypeNode children for a TypeReferenceNode.
77
+ // Only applies when there is exactly one non-null type node (e.g., `Item | null`),
78
+ // not when there are multiple (e.g., `User | Post | null` which is an inline union).
79
+ if (nullable && typeNode && ts.isUnionTypeNode(typeNode)) {
80
+ const nonNullTypeNodes = filterNonNullTypeNodes(typeNode);
81
+ if (nonNullTypeNodes.length === 1) {
82
+ const singleTypeNode = nonNullTypeNodes[0];
83
+ if (ts.isTypeReferenceNode(singleTypeNode)) {
84
+ const typeName = getTypeNameFromNode(singleTypeNode);
85
+ const nodeSymbol = checker.getSymbolAtLocation(singleTypeNode.typeName);
86
+ if (typeName &&
87
+ isKnownSchemaType(typeName, nodeSymbol ?? undefined, ctx)) {
88
+ return createReferenceType({ name: typeName, nullable });
89
+ }
90
+ }
91
+ }
92
+ }
72
93
  const nonNullTypes = getNonNullableTypes(type);
73
94
  // Check if all non-null types belong to the same enum
74
95
  const enumParentSymbol = findEnumParentSymbol(nonNullTypes);
@@ -119,8 +140,25 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
119
140
  const innerResult = resolveFieldTypeInternal(nonNullTypes[0], nonNullTypeNode, ctx);
120
141
  return { ...innerResult, nullable };
121
142
  }
122
- const memberResults = nonNullTypes.map((t) => resolveFieldTypeInternal(t, undefined, ctx));
123
- return createUnionType({ members: memberResults, nullable });
143
+ const memberResults = nonNullTypes.map((t) => {
144
+ const result = resolveFieldTypeInternal(t, undefined, ctx);
145
+ // If the result is an unresolvable reference and the original type is an
146
+ // object type with properties, try to expand it as an inline object.
147
+ // This handles external library types used as union members.
148
+ // When type discovery is active, discovered types are kept as references
149
+ // so they can be registered with their original names later.
150
+ if (result.kind === "reference" &&
151
+ result.name !== null &&
152
+ !ctx.knownTypeNames.has(result.name) &&
153
+ t.flags & ts.TypeFlags.Object &&
154
+ t.getProperties().length > 0 &&
155
+ !ctx.discoveredTypes?.has(result.name)) {
156
+ return tryExtractAsInlineObject(t, ctx, result.name);
157
+ }
158
+ return result;
159
+ });
160
+ const aliasName = type.aliasSymbol?.getName() ?? null;
161
+ return createUnionType({ members: memberResults, nullable, aliasName });
124
162
  }
125
163
  // Array type handling
126
164
  if (checker.isArrayType(type)) {
@@ -135,6 +173,25 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
135
173
  : createPrimitiveType({ name: "unknown", nullable: false });
136
174
  return createArrayType(elementResult);
137
175
  }
176
+ // Never type — represents an impossible value, skip this field
177
+ // Also handles `undefined` which results from `field?: never` (never | undefined simplifies to undefined)
178
+ if (type.flags & ts.TypeFlags.Never || type.flags & ts.TypeFlags.Undefined) {
179
+ return createNeverType();
180
+ }
181
+ // Unknown type — represents arbitrary values, map to JSON scalar (graphql-scalars)
182
+ if (type.flags & ts.TypeFlags.Unknown) {
183
+ return createScalarType({
184
+ name: "JSON",
185
+ scalarInfo: {
186
+ scalarName: "JSON",
187
+ typeName: "unknown",
188
+ baseType: undefined,
189
+ isCustom: true,
190
+ only: null,
191
+ },
192
+ nullable: false,
193
+ });
194
+ }
138
195
  // Primitive types
139
196
  const typeString = checker.typeToString(type);
140
197
  if (type.flags & ts.TypeFlags.String) {
@@ -148,10 +205,14 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
148
205
  return createPrimitiveType({ name: "boolean", nullable: false });
149
206
  }
150
207
  if (type.flags & ts.TypeFlags.StringLiteral) {
151
- return createLiteralType(typeString.replace(/"/g, ""));
208
+ return createStringLiteralType(typeString.replace(/"/g, ""));
152
209
  }
153
210
  if (type.flags & ts.TypeFlags.NumberLiteral) {
154
- return createLiteralType(typeString);
211
+ return createNumericLiteralType(typeString);
212
+ }
213
+ // Template literal types (e.g., `prefix-${string}`) represent string subsets
214
+ if (type.flags & ts.TypeFlags.TemplateLiteral) {
215
+ return createPrimitiveType({ name: "string", nullable: false });
155
216
  }
156
217
  // Intersection types in field context
157
218
  // GraphQL doesn't have intersection types, so we must resolve them appropriately
@@ -186,11 +247,62 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
186
247
  nullable: false,
187
248
  });
188
249
  }
189
- // 4. Otherwise, treat as inline object
190
- return tryExtractAsInlineObject(type, ctx);
250
+ // 4. Register in discoveredTypes if applicable (same logic as alias expansion)
251
+ // This handles non-exported recursive intersection types that would otherwise
252
+ // cause cycle detection failures in tryExtractAsInlineObject.
253
+ if (type.aliasSymbol) {
254
+ const aliasName = type.aliasSymbol.getName();
255
+ if (!knownTypeNames.has(aliasName)) {
256
+ if (ctx.discoveredTypes && !ctx.discoveredTypes.has(aliasName)) {
257
+ const resolvedAliasSymbol = resolveOriginalSymbol(type.aliasSymbol, checker);
258
+ const declarations = resolvedAliasSymbol.getDeclarations();
259
+ const decl = declarations?.[0];
260
+ if (decl && !decl.getSourceFile().isDeclarationFile) {
261
+ const properties = type.getProperties();
262
+ if (properties.length > 0) {
263
+ const declSourceFile = decl.getSourceFile();
264
+ const location = getSourceLocationFromNode(decl) ?? {
265
+ file: declSourceFile.fileName,
266
+ line: 1,
267
+ column: 1,
268
+ };
269
+ ctx.discoveredTypes.set(aliasName, {
270
+ name: aliasName,
271
+ tsType: type,
272
+ tsSymbol: resolvedAliasSymbol,
273
+ sourceFile: relative(process.cwd(), declSourceFile.fileName),
274
+ sourceLocation: location,
275
+ });
276
+ return createReferenceType({ name: aliasName, nullable: false });
277
+ }
278
+ }
279
+ }
280
+ if (ctx.discoveredTypes?.has(aliasName)) {
281
+ return createReferenceType({ name: aliasName, nullable: false });
282
+ }
283
+ }
284
+ }
285
+ // 5. Otherwise, treat as inline object
286
+ return tryExtractAsInlineObject(type, ctx, null);
191
287
  }
192
288
  // Inline object type handling
193
289
  if (isInlineObjectType(type)) {
290
+ // Index signature types (Record<string, T>, { [key: string]: T })
291
+ // These have no named properties, only index signatures — map to JSONObject (graphql-scalars)
292
+ const hasStringIndex = checker.getIndexTypeOfType(type, ts.IndexKind.String) !== undefined;
293
+ if (hasStringIndex && type.getProperties().length === 0) {
294
+ return createScalarType({
295
+ name: "JSONObject",
296
+ scalarInfo: {
297
+ scalarName: "JSONObject",
298
+ typeName: "Record",
299
+ baseType: undefined,
300
+ isCustom: true,
301
+ only: null,
302
+ },
303
+ nullable: false,
304
+ });
305
+ }
194
306
  // Check if typeNode references a known type
195
307
  if (typeNode && ts.isTypeReferenceNode(typeNode)) {
196
308
  const typeName = getTypeNameFromNode(typeNode);
@@ -200,12 +312,27 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
200
312
  return createReferenceType({ name: typeName, nullable: false });
201
313
  }
202
314
  }
203
- return tryExtractAsInlineObject(type, ctx);
315
+ return tryExtractAsInlineObject(type, ctx, null);
204
316
  }
205
317
  // Mapped types (utility types like Omit, Pick, user-defined utilities)
206
318
  if (type.flags & ts.TypeFlags.Object) {
207
319
  const objectType = type;
208
320
  if (objectType.objectFlags & ts.ObjectFlags.Mapped) {
321
+ // Index signature mapped types (Record<string, T>) — map to JSONObject (graphql-scalars)
322
+ const hasMappedStringIndex = checker.getIndexTypeOfType(type, ts.IndexKind.String) !== undefined;
323
+ if (hasMappedStringIndex && type.getProperties().length === 0) {
324
+ return createScalarType({
325
+ name: "JSONObject",
326
+ scalarInfo: {
327
+ scalarName: "JSONObject",
328
+ typeName: "Record",
329
+ baseType: undefined,
330
+ isCustom: true,
331
+ only: null,
332
+ },
333
+ nullable: false,
334
+ });
335
+ }
209
336
  // Check if typeNode references a known type (schema-defined type)
210
337
  if (typeNode && ts.isTypeReferenceNode(typeNode)) {
211
338
  const typeName = getTypeNameFromNode(typeNode);
@@ -216,7 +343,7 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
216
343
  }
217
344
  }
218
345
  // Not a known type - treat as inline object
219
- return tryExtractAsInlineObject(type, ctx);
346
+ return tryExtractAsInlineObject(type, ctx, null);
220
347
  }
221
348
  }
222
349
  // Type alias expansion: type aliases not in knownTypeNames should be expanded as inline objects
@@ -233,8 +360,39 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
233
360
  const isAnonymousObject = (type.flags & ts.TypeFlags.Object) !== 0 &&
234
361
  (type.objectFlags & ts.ObjectFlags.Anonymous) !== 0;
235
362
  if (isAnonymousObject) {
363
+ // Check if this type alias qualifies for transitive discovery.
364
+ // Type aliases to object literals used as union members should be
365
+ // discovered with their original alias name, not expanded as inline
366
+ // objects with auto-generated names. (#202)
367
+ if (ctx.discoveredTypes && !ctx.discoveredTypes.has(aliasName)) {
368
+ const resolvedAliasSymbol = resolveOriginalSymbol(type.aliasSymbol, checker);
369
+ const declarations = resolvedAliasSymbol.getDeclarations();
370
+ const decl = declarations?.[0];
371
+ if (decl && !decl.getSourceFile().isDeclarationFile) {
372
+ const properties = type.getProperties();
373
+ if (properties.length > 0) {
374
+ const declSourceFile = decl.getSourceFile();
375
+ const location = getSourceLocationFromNode(decl) ?? {
376
+ file: declSourceFile.fileName,
377
+ line: 1,
378
+ column: 1,
379
+ };
380
+ ctx.discoveredTypes.set(aliasName, {
381
+ name: aliasName,
382
+ tsType: type,
383
+ tsSymbol: resolvedAliasSymbol,
384
+ sourceFile: relative(process.cwd(), declSourceFile.fileName),
385
+ sourceLocation: location,
386
+ });
387
+ return createReferenceType({ name: aliasName, nullable: false });
388
+ }
389
+ }
390
+ }
391
+ if (ctx.discoveredTypes?.has(aliasName)) {
392
+ return createReferenceType({ name: aliasName, nullable: false });
393
+ }
236
394
  // Not a known schema type and is an anonymous object - expand to generate Payload type
237
- return tryExtractAsInlineObject(type, ctx);
395
+ return tryExtractAsInlineObject(type, ctx, null);
238
396
  }
239
397
  }
240
398
  }
@@ -288,7 +446,7 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
288
446
  return createReferenceType({ name: symbolName, nullable: false });
289
447
  }
290
448
  // Type from outside schema files - expand as inline object
291
- return tryExtractAsInlineObject(type, ctx);
449
+ return tryExtractAsInlineObject(type, ctx, null);
292
450
  }
293
451
  // Check for scalar base type mapping
294
452
  // This allows automatic mapping of base types (e.g., Date) to scalar types (e.g., DateTime)
@@ -330,21 +488,64 @@ function resolveFieldTypeInternal(type, typeNode, ctx) {
330
488
  });
331
489
  }
332
490
  }
491
+ // Discover extractable named types for transitive type registration
492
+ if (ctx.discoveredTypes && !ctx.discoveredTypes.has(symbolName)) {
493
+ const declarations = resolvedSymbol.getDeclarations();
494
+ const decl = declarations?.[0];
495
+ if (decl && !decl.getSourceFile().isDeclarationFile) {
496
+ const properties = type.getProperties();
497
+ if (properties.length > 0) {
498
+ const declSourceFile = decl.getSourceFile();
499
+ const location = getSourceLocationFromNode(decl) ?? {
500
+ file: declSourceFile.fileName,
501
+ line: 1,
502
+ column: 1,
503
+ };
504
+ ctx.discoveredTypes.set(symbolName, {
505
+ name: symbolName,
506
+ tsType: type,
507
+ tsSymbol: resolvedSymbol,
508
+ sourceFile: relative(process.cwd(), declSourceFile.fileName),
509
+ sourceLocation: location,
510
+ });
511
+ }
512
+ }
513
+ }
333
514
  // Unknown type - still return reference but it will likely cause validation error later
334
515
  return createReferenceType({ name: symbolName, nullable: false });
335
516
  }
336
517
  }
337
518
  return createReferenceType({ name: typeString, nullable: false });
338
519
  }
339
- function tryExtractAsInlineObject(type, ctx) {
520
+ function tryExtractAsInlineObject(type, ctx, hintName) {
340
521
  const { visitedTypes, checker } = ctx;
341
522
  if (visitedTypes.has(type)) {
342
- // Cycle detected, return a placeholder reference
343
- const typeName = type.symbol?.getName() ?? "Unknown";
344
- return createReferenceType({ name: typeName, nullable: false });
523
+ // Prefer aliasSymbol (type alias name) over type.symbol (which may be __type for anonymous objects)
524
+ const candidateName = type.aliasSymbol?.getName() ?? type.symbol?.getName();
525
+ if (candidateName &&
526
+ !isInternalTypeSymbol(candidateName) &&
527
+ (ctx.knownTypeNames.has(candidateName) ||
528
+ ctx.discoveredTypes?.has(candidateName))) {
529
+ // Valid reference target exists in the schema
530
+ return createReferenceType({ name: candidateName, nullable: false });
531
+ }
532
+ // No valid reference target — emit warning and skip field
533
+ ctx.diagnostics.push({
534
+ code: "CYCLE_DETECTED",
535
+ message: "Cycle detected in type resolution; field will be skipped",
536
+ severity: "warning",
537
+ });
538
+ return createNeverType();
345
539
  }
346
540
  visitedTypes.add(type);
347
541
  const inlineProperties = extractInlineObjectPropertiesShared(type, checker, (propType) => resolveFieldTypeInternal(propType, undefined, ctx));
542
+ // Allow this type to be visited again in sibling union members.
543
+ // Cycle detection still works because real cycles are caught during the
544
+ // recursive extractInlineObjectPropertiesShared call above (while the
545
+ // type is still in visitedTypes). Removing it afterward prevents
546
+ // false-positive cycle detection when TypeScript shares the same type
547
+ // object across multiple union members (common with generic .d.ts types).
548
+ visitedTypes.delete(type);
348
549
  // Extract type-level TSDoc from the alias symbol if present (Requirement 7.2)
349
550
  // Only extract from user-defined types, not built-in TypeScript utility types
350
551
  let description = null;
@@ -365,6 +566,7 @@ function tryExtractAsInlineObject(type, ctx) {
365
566
  properties: inlineProperties,
366
567
  description,
367
568
  deprecated,
569
+ hintName,
368
570
  });
369
571
  }
370
572
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"field-type-resolver.js","sourceRoot":"","sources":["../../../src/type-extractor/extractor/field-type-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field-type-resolver.js","sourceRoot":"","sources":["../../../src/type-extractor/extractor/field-type-resolver.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export interface ExtractionResult {
31
31
  readonly diagnostics: ReadonlyArray<Diagnostic>;
32
32
  readonly detectedScalarNames: ReadonlyArray<string>;
33
33
  readonly detectedScalars: ReadonlyArray<ScalarMetadataInfo>;
34
+ readonly discoveredTypeNames: ReadonlySet<string>;
34
35
  }
35
36
  export declare function extractTypesFromProgram(program: ts.Program, sourceFiles: ReadonlyArray<string>, options: ExtractionOptions): ExtractionResult;
36
37
  //# sourceMappingURL=type-extractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-extractor.d.ts","sourceRoot":"","sources":["../../../src/type-extractor/extractor/type-extractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AA2C5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAQL,KAAK,UAAU,EAEf,KAAK,iBAAiB,EAOvB,MAAM,mBAAmB,CAAC;AAG3B;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC9D,yEAAyE;IACzE,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,mEAAmE;IACnE,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1D,iFAAiF;IACjF,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpE,+EAA+E;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACpD,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAC7D;AAyrCD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,EAClC,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CA0UlB"}
1
+ {"version":3,"file":"type-extractor.d.ts","sourceRoot":"","sources":["../../../src/type-extractor/extractor/type-extractor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AA8C5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EACV,0BAA0B,EAE3B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EASL,KAAK,UAAU,EAEf,KAAK,iBAAiB,EAOvB,MAAM,mBAAmB,CAAC;AAO3B;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,uBAAuB;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC9D,yEAAyE;IACzE,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,mEAAmE;IACnE,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1D,iFAAiF;IACjF,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpE,+EAA+E;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACjD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACpD,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC5D,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACnD;AAyuCD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,EAClC,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CAgYlB"}