zinfer 0.2.7 → 1.0.0-next.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 (67) hide show
  1. package/README.md +1 -1
  2. package/dist/core/brand-detector.d.ts +2 -21
  3. package/dist/core/brand-detector.d.ts.map +1 -1
  4. package/dist/core/brand-detector.js +40 -67
  5. package/dist/core/brand-detector.js.map +1 -1
  6. package/dist/core/config-loader.d.ts.map +1 -1
  7. package/dist/core/description-extractor.d.ts +0 -22
  8. package/dist/core/description-extractor.d.ts.map +1 -1
  9. package/dist/core/description-extractor.js +21 -110
  10. package/dist/core/description-extractor.js.map +1 -1
  11. package/dist/core/errors.d.ts.map +1 -1
  12. package/dist/core/errors.js +1 -28
  13. package/dist/core/errors.js.map +1 -1
  14. package/dist/core/extractor.d.ts +3 -37
  15. package/dist/core/extractor.d.ts.map +1 -1
  16. package/dist/core/extractor.js +42 -178
  17. package/dist/core/extractor.js.map +1 -1
  18. package/dist/core/file-resolver.d.ts.map +1 -1
  19. package/dist/core/file-resolver.js.map +1 -1
  20. package/dist/core/getter-resolver.d.ts +2 -46
  21. package/dist/core/getter-resolver.d.ts.map +1 -1
  22. package/dist/core/getter-resolver.js +33 -85
  23. package/dist/core/getter-resolver.js.map +1 -1
  24. package/dist/core/import-resolver.d.ts +10 -30
  25. package/dist/core/import-resolver.d.ts.map +1 -1
  26. package/dist/core/import-resolver.js +59 -112
  27. package/dist/core/import-resolver.js.map +1 -1
  28. package/dist/core/index.d.ts +0 -2
  29. package/dist/core/index.d.ts.map +1 -1
  30. package/dist/core/index.js +0 -2
  31. package/dist/core/index.js.map +1 -1
  32. package/dist/core/logger.d.ts +0 -6
  33. package/dist/core/logger.d.ts.map +1 -1
  34. package/dist/core/logger.js +2 -9
  35. package/dist/core/logger.js.map +1 -1
  36. package/dist/core/name-mapper.d.ts.map +1 -1
  37. package/dist/core/name-mapper.js.map +1 -1
  38. package/dist/core/schema-detector.d.ts +10 -30
  39. package/dist/core/schema-detector.d.ts.map +1 -1
  40. package/dist/core/schema-detector.js +60 -82
  41. package/dist/core/schema-detector.js.map +1 -1
  42. package/dist/core/schema-reference-analyzer.d.ts +2 -56
  43. package/dist/core/schema-reference-analyzer.d.ts.map +1 -1
  44. package/dist/core/schema-reference-analyzer.js +89 -137
  45. package/dist/core/schema-reference-analyzer.js.map +1 -1
  46. package/dist/core/test-generator.d.ts.map +1 -1
  47. package/dist/core/test-generator.js.map +1 -1
  48. package/dist/core/ts-host.d.ts +38 -0
  49. package/dist/core/ts-host.d.ts.map +1 -0
  50. package/dist/core/ts-host.js +2 -0
  51. package/dist/core/ts-host.js.map +1 -0
  52. package/dist/core/tsgo-ast-utils.d.ts +12 -0
  53. package/dist/core/tsgo-ast-utils.d.ts.map +1 -0
  54. package/dist/core/tsgo-ast-utils.js +43 -0
  55. package/dist/core/tsgo-ast-utils.js.map +1 -0
  56. package/dist/core/tsgo-host.d.ts +54 -0
  57. package/dist/core/tsgo-host.d.ts.map +1 -0
  58. package/dist/core/tsgo-host.js +267 -0
  59. package/dist/core/tsgo-host.js.map +1 -0
  60. package/dist/core/type-printer.d.ts.map +1 -1
  61. package/dist/core/type-printer.js +8 -13
  62. package/dist/core/type-printer.js.map +1 -1
  63. package/dist/index.d.ts +1 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +1 -1
  66. package/dist/index.js.map +1 -1
  67. package/package.json +6 -7
package/README.md CHANGED
@@ -5,7 +5,7 @@ A tool to extract TypeScript input/output types from Zod schemas.
5
5
  ## Features
6
6
 
7
7
  - Extract `z.input<T>` / `z.output<T>` types as text from Zod schemas
8
- - Accurate type analysis using TypeScript Compiler API (ts-morph)
8
+ - Accurate type analysis using TypeScript's native compiler API (tsgo)
9
9
  - Non-invasive: does not modify original source files
10
10
  - Supports both CLI and library API
11
11
  - Handles circular references (`z.lazy`, getter patterns)
@@ -1,32 +1,13 @@
1
- import { SourceFile } from "ts-morph";
1
+ import type { SourceFile } from "@typescript/native-preview/unstable/ast";
2
2
  import type { BrandInfo } from "./types.js";
3
3
  /**
4
- * Map of schema name to its brand information.
4
+ * BrandDetector, implemented against the tsgo/Corsa `ast` API. See issue #200.
5
5
  */
6
6
  export type SchemaBrandMap = Map<string, BrandInfo[]>;
7
- /**
8
- * Detects .brand<...>() calls in Zod schemas.
9
- */
10
7
  export declare class BrandDetector {
11
- /**
12
- * Analyzes a source file to find all branded types in schemas.
13
- *
14
- * @param sourceFile - The source file to analyze
15
- * @param schemaNames - Set of schema names to analyze
16
- * @returns Map of schema name to brand information
17
- */
18
8
  detectBrands(sourceFile: SourceFile, schemaNames: Set<string>): SchemaBrandMap;
19
- /**
20
- * Recursively finds brand calls in a node.
21
- */
22
9
  private findBrandsInNode;
23
- /**
24
- * Extracts brand information from a .brand<...>() call.
25
- */
26
10
  private extractBrandFromCall;
27
- /**
28
- * Extracts the brand name from a type argument.
29
- */
30
11
  private extractBrandName;
31
12
  }
32
13
  //# sourceMappingURL=brand-detector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brand-detector.d.ts","sourceRoot":"","sources":["../../src/core/brand-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwB,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AAEtD;;GAEG;AACH,qBAAa,aAAa;IACxB;;;;;;OAMG;IACH,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,cAAc,CAuB7E;IAED;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8CxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAkBzB"}
1
+ {"version":3,"file":"brand-detector.d.ts","sourceRoot":"","sources":["../../src/core/brand-detector.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAGV,UAAU,EAEX,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AAEtD,qBAAa,aAAa;IACxB,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,cAAc;IAwB9E,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,oBAAoB;IAgC5B,OAAO,CAAC,gBAAgB;CAgBzB"}
@@ -1,30 +1,20 @@
1
- import { Node } from "ts-morph";
2
- /**
3
- * Detects .brand<...>() calls in Zod schemas.
4
- */
1
+ import { SyntaxKind, isCallExpression, isLiteralTypeNode, isObjectLiteralExpression, isPropertyAccessExpression, isPropertyAssignment, isStringLiteral, } from "@typescript/native-preview/unstable/ast";
5
2
  export class BrandDetector {
6
- /**
7
- * Analyzes a source file to find all branded types in schemas.
8
- *
9
- * @param sourceFile - The source file to analyze
10
- * @param schemaNames - Set of schema names to analyze
11
- * @returns Map of schema name to brand information
12
- */
13
3
  detectBrands(sourceFile, schemaNames) {
14
4
  const result = new Map();
15
- const statements = sourceFile.getVariableStatements();
16
- for (const stmt of statements) {
17
- for (const decl of stmt.getDeclarations()) {
18
- const schemaName = decl.getName();
5
+ for (const statement of sourceFile.statements) {
6
+ if (statement.kind !== SyntaxKind.VariableStatement)
7
+ continue;
8
+ for (const decl of statement.declarationList.declarations) {
9
+ const schemaName = decl.name.getText(sourceFile);
19
10
  if (!schemaNames.has(schemaName))
20
11
  continue;
21
- const init = decl.getInitializer();
12
+ const init = decl.initializer;
22
13
  if (!init)
23
14
  continue;
24
- // Quick text check to skip expensive AST walk when no .brand() is present
25
- if (!init.getText().includes(".brand"))
15
+ if (!init.getText(sourceFile).includes(".brand"))
26
16
  continue;
27
- const brands = this.findBrandsInNode(init, "");
17
+ const brands = this.findBrandsInNode(init, "", sourceFile);
28
18
  if (brands.length > 0) {
29
19
  result.set(schemaName, brands);
30
20
  }
@@ -32,67 +22,55 @@ export class BrandDetector {
32
22
  }
33
23
  return result;
34
24
  }
35
- /**
36
- * Recursively finds brand calls in a node.
37
- */
38
- findBrandsInNode(node, currentPath) {
25
+ findBrandsInNode(node, currentPath, sourceFile) {
39
26
  const brands = [];
40
- // Check if this node is a .brand<...>() call
41
- if (Node.isCallExpression(node)) {
42
- const brandInfo = this.extractBrandFromCall(node, currentPath);
27
+ if (isCallExpression(node)) {
28
+ const brandInfo = this.extractBrandFromCall(node, currentPath, sourceFile);
43
29
  if (brandInfo) {
44
30
  brands.push(brandInfo);
45
31
  }
46
- // Check the expression being called (for method chains)
47
- const expr = node.getExpression();
48
- if (Node.isPropertyAccessExpression(expr)) {
49
- const base = expr.getExpression();
50
- brands.push(...this.findBrandsInNode(base, currentPath));
32
+ const expr = node.expression;
33
+ if (isPropertyAccessExpression(expr)) {
34
+ const base = expr.expression;
35
+ brands.push(...this.findBrandsInNode(base, currentPath, sourceFile));
51
36
  }
52
- // Check arguments (for z.object({ field: schema }))
53
- for (const arg of node.getArguments()) {
54
- brands.push(...this.findBrandsInNode(arg, currentPath));
37
+ for (const arg of node.arguments) {
38
+ brands.push(...this.findBrandsInNode(arg, currentPath, sourceFile));
55
39
  }
56
40
  }
57
- // Check object literals for field definitions
58
- if (Node.isObjectLiteralExpression(node)) {
59
- for (const prop of node.getProperties()) {
60
- if (Node.isPropertyAssignment(prop)) {
61
- const fieldName = prop.getName();
41
+ if (isObjectLiteralExpression(node)) {
42
+ for (const prop of node.properties) {
43
+ if (isPropertyAssignment(prop)) {
44
+ const fieldName = prop.name.getText(sourceFile);
62
45
  const fieldPath = currentPath ? `${currentPath}.${fieldName}` : fieldName;
63
- const initializer = prop.getInitializer();
46
+ const initializer = prop.initializer;
64
47
  if (initializer) {
65
- brands.push(...this.findBrandsInNode(initializer, fieldPath));
48
+ brands.push(...this.findBrandsInNode(initializer, fieldPath, sourceFile));
66
49
  }
67
50
  }
68
51
  }
69
52
  }
70
- // Check property access expressions (method chains)
71
- if (Node.isPropertyAccessExpression(node)) {
72
- const base = node.getExpression();
73
- brands.push(...this.findBrandsInNode(base, currentPath));
53
+ if (isPropertyAccessExpression(node)) {
54
+ const base = node.expression;
55
+ brands.push(...this.findBrandsInNode(base, currentPath, sourceFile));
74
56
  }
75
57
  return brands;
76
58
  }
77
- /**
78
- * Extracts brand information from a .brand<...>() call.
79
- */
80
- extractBrandFromCall(node, fieldPath) {
81
- const expr = node.getExpression();
82
- if (!Node.isPropertyAccessExpression(expr)) {
59
+ extractBrandFromCall(node, fieldPath, sourceFile) {
60
+ const expr = node.expression;
61
+ if (!isPropertyAccessExpression(expr)) {
83
62
  return null;
84
63
  }
85
- const methodName = expr.getName();
64
+ const methodName = expr.name.getText(sourceFile);
86
65
  if (methodName !== "brand") {
87
66
  return null;
88
67
  }
89
- // Get the type argument: .brand<"UserId">()
90
- const typeArgs = node.getTypeArguments();
91
- if (typeArgs.length === 0) {
68
+ const typeArgs = node.typeArguments;
69
+ if (!typeArgs || typeArgs.length === 0) {
92
70
  return null;
93
71
  }
94
72
  const typeArg = typeArgs[0];
95
- const brandName = this.extractBrandName(typeArg);
73
+ const brandName = this.extractBrandName(typeArg, sourceFile);
96
74
  if (!brandName) {
97
75
  return null;
98
76
  }
@@ -101,19 +79,14 @@ export class BrandDetector {
101
79
  fieldPath,
102
80
  };
103
81
  }
104
- /**
105
- * Extracts the brand name from a type argument.
106
- */
107
- extractBrandName(node) {
108
- // Handle string literal type: "UserId"
109
- if (Node.isLiteralTypeNode(node)) {
110
- const literal = node.getLiteral();
111
- if (Node.isStringLiteral(literal)) {
112
- return literal.getLiteralText();
82
+ extractBrandName(node, sourceFile) {
83
+ if (isLiteralTypeNode(node)) {
84
+ const literal = node.literal;
85
+ if (isStringLiteral(literal)) {
86
+ return literal.text;
113
87
  }
114
88
  }
115
- // Handle direct string literal (some TS versions)
116
- const text = node.getText();
89
+ const text = node.getText(sourceFile);
117
90
  const match = text.match(/^["'](.+)["']$/);
118
91
  if (match) {
119
92
  return match[1];
@@ -1 +1 @@
1
- {"version":3,"file":"brand-detector.js","sourceRoot":"","sources":["../../src/core/brand-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brand-detector.js","sourceRoot":"","sources":["../../src/core/brand-detector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/core/config-loader.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAYD;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;;OAKG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqBjD;IAED;;OAEG;YACW,cAAc;IAW5B;;OAEG;YACW,mBAAmB;CAwBlC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAE/D"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/core/config-loader.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+DAA+D;IAC/D,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,MAAM,EAAE,YAAY,CAAC;IACrB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAYD;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;;OAKG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuBlD;;OAEG;YACW,cAAc;IAW5B;;OAEG;YACW,mBAAmB;CAwBlC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAE/D"}
@@ -74,18 +74,6 @@ export declare class DescriptionExtractor {
74
74
  private extractFromSchema;
75
75
  /**
76
76
  * Recursively extracts field descriptions from a Zod schema.
77
- *
78
- * Arrays and unions are printed inline (no index/branch segment), so their
79
- * element/member schemas are recursed into at the *same* path as the field
80
- * that holds them - only ZodObject keys ever extend the path.
81
- *
82
- * `ancestors` tracks the ZodObject instances currently on the recursion
83
- * stack (e.g. a self-referential schema built with a `get` accessor).
84
- * Re-entering one of them would otherwise recurse forever since the field
85
- * path keeps growing without ever revisiting the same schema/path pair.
86
- * Objects are added on the way down and removed on the way back up, so the
87
- * same schema referenced twice in unrelated (non-cyclic) places is still
88
- * fully extracted both times.
89
77
  */
90
78
  private extractFieldDescriptions;
91
79
  /**
@@ -118,15 +106,5 @@ export declare class DescriptionExtractor {
118
106
  * Supports both Zod v3 and v4.
119
107
  */
120
108
  private getShape;
121
- /**
122
- * Gets the element schema from a ZodArray schema.
123
- * Supports both Zod v3 and v4.
124
- */
125
- private getArrayElement;
126
- /**
127
- * Gets the member schemas from a ZodUnion (or discriminated union) schema.
128
- * Supports both Zod v3 and v4.
129
- */
130
- private getUnionOptions;
131
109
  }
132
110
  //# sourceMappingURL=description-extractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"description-extractor.d.ts","sourceRoot":"","sources":["../../src/core/description-extractor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,eAAe,CAAyB;IAChD,kHAAkH;IAClH,OAAO,CAAC,SAAS,CAA2B;IAE5C,YAAY,OAAO,CAAC,EAAE,2BAA2B,EAEhD;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,OAAO;IAmBf;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAsC1B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,eAAe;IA4BvB;;;;;;OAMG;IACG,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAuCzC;IAED;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,wBAAwB;IAyDhC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;OAGG;IACH,OAAO,CAAC,cAAc;IA4BtB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAsBnB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;;OAGG;IACH,OAAO,CAAC,YAAY;IA6CpB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAqBhB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsBvB;;;OAGG;IACH,OAAO,CAAC,eAAe;CAwBxB"}
1
+ {"version":3,"file":"description-extractor.d.ts","sourceRoot":"","sources":["../../src/core/description-extractor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,eAAe,CAAyB;IAChD,kHAAkH;IAClH,OAAO,CAAC,SAAS,CAA2B;gBAEhC,OAAO,CAAC,EAAE,2BAA2B;IAIjD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,OAAO;IAmBf;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAsC1B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,eAAe;IA4BvB;;;;;;OAMG;IACG,mBAAmB,CACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IA+B1C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgChC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;OAGG;IACH,OAAO,CAAC,cAAc;IA4BtB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAsBnB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;;OAGG;IACH,OAAO,CAAC,YAAY;IA4CpB;;;OAGG;IACH,OAAO,CAAC,QAAQ;CAoBjB"}
@@ -1,7 +1,7 @@
1
1
  import { existsSync, readFileSync } from "fs";
2
2
  import { dirname, join, resolve } from "pathe";
3
3
  import { createJiti } from "jiti";
4
- import { getErrorMessage, logDebugError, logVerbose } from "./logger.js";
4
+ import { logDebugError, logVerbose } from "./logger.js";
5
5
  /**
6
6
  * Extracts descriptions from Zod schemas by dynamically importing the module.
7
7
  * Uses jiti for TypeScript-aware module resolution (extensionless imports, path aliases).
@@ -166,21 +166,13 @@ export class DescriptionExtractor {
166
166
  if (!schema) {
167
167
  continue;
168
168
  }
169
- try {
170
- const descriptions = this.extractFromSchema(schema, schemaName);
171
- result.set(schemaName, descriptions);
172
- }
173
- catch (error) {
174
- // A single schema's extraction (e.g. one hitting runaway recursion)
175
- // must not blank out descriptions already collected for other
176
- // schemas in the same file.
177
- console.warn(`Warning: Could not extract descriptions for schema "${schemaName}" in ${filePath}:`, getErrorMessage(error));
178
- }
169
+ const descriptions = this.extractFromSchema(schema, schemaName);
170
+ result.set(schemaName, descriptions);
179
171
  }
180
172
  }
181
173
  catch (error) {
182
174
  // If import fails, return empty descriptions (non-blocking)
183
- console.warn(`Warning: Could not import ${filePath} for description extraction:`, getErrorMessage(error));
175
+ console.warn(`Warning: Could not import ${filePath} for description extraction:`, error.message);
184
176
  }
185
177
  return result;
186
178
  }
@@ -193,7 +185,7 @@ export class DescriptionExtractor {
193
185
  const schemaDesc = this.getDescriptionDeep(schema);
194
186
  // Extract field descriptions recursively (unwrap through effects/transforms first)
195
187
  const innerSchema = this.unwrapToInnerSchema(schema);
196
- this.extractFieldDescriptions(innerSchema, "", fields, new Set());
188
+ this.extractFieldDescriptions(innerSchema, "", fields);
197
189
  return {
198
190
  schemaName,
199
191
  description: schemaDesc,
@@ -202,64 +194,29 @@ export class DescriptionExtractor {
202
194
  }
203
195
  /**
204
196
  * Recursively extracts field descriptions from a Zod schema.
205
- *
206
- * Arrays and unions are printed inline (no index/branch segment), so their
207
- * element/member schemas are recursed into at the *same* path as the field
208
- * that holds them - only ZodObject keys ever extend the path.
209
- *
210
- * `ancestors` tracks the ZodObject instances currently on the recursion
211
- * stack (e.g. a self-referential schema built with a `get` accessor).
212
- * Re-entering one of them would otherwise recurse forever since the field
213
- * path keeps growing without ever revisiting the same schema/path pair.
214
- * Objects are added on the way down and removed on the way back up, so the
215
- * same schema referenced twice in unrelated (non-cyclic) places is still
216
- * fully extracted both times.
217
197
  */
218
- extractFieldDescriptions(schema, prefix, fields, ancestors) {
198
+ extractFieldDescriptions(schema, prefix, fields) {
219
199
  if (!schema || typeof schema !== "object") {
220
200
  return;
221
201
  }
222
202
  // Handle ZodObject - extract from shape
223
203
  if (this.isZodObject(schema)) {
224
- if (ancestors.has(schema)) {
225
- return;
226
- }
227
- ancestors.add(schema);
228
- try {
229
- const shape = this.getShape(schema);
230
- if (shape && typeof shape === "object") {
231
- for (const [key, fieldSchema] of Object.entries(shape)) {
232
- const path = prefix ? `${prefix}.${key}` : key;
233
- // Get description for this field (check through effects/transforms)
234
- const desc = this.getDescriptionDeep(fieldSchema);
235
- if (desc) {
236
- fields.push({ path, description: desc });
237
- }
238
- // Recurse into nested schemas (objects, and objects reachable
239
- // through arrays/unions, which print inline at the same path)
240
- this.extractFieldDescriptions(this.unwrapSchema(fieldSchema), path, fields, ancestors);
204
+ const shape = this.getShape(schema);
205
+ if (shape && typeof shape === "object") {
206
+ for (const [key, fieldSchema] of Object.entries(shape)) {
207
+ const path = prefix ? `${prefix}.${key}` : key;
208
+ // Get description for this field (check through effects/transforms)
209
+ const desc = this.getDescriptionDeep(fieldSchema);
210
+ if (desc) {
211
+ fields.push({ path, description: desc });
212
+ }
213
+ // Recurse into nested schemas
214
+ const innerSchema = this.unwrapSchema(fieldSchema);
215
+ if (this.isZodObject(innerSchema)) {
216
+ this.extractFieldDescriptions(innerSchema, path, fields);
241
217
  }
242
218
  }
243
219
  }
244
- finally {
245
- ancestors.delete(schema);
246
- }
247
- return;
248
- }
249
- // Array element types print inline without an index segment, so their
250
- // fields are scoped to the array field's own path.
251
- const elementSchema = this.getArrayElement(schema);
252
- if (elementSchema) {
253
- this.extractFieldDescriptions(this.unwrapSchema(elementSchema), prefix, fields, ancestors);
254
- return;
255
- }
256
- // Union members print inline too; only object-shaped members contribute
257
- // fields, scoped to the same path as the union itself.
258
- const unionOptions = this.getUnionOptions(schema);
259
- if (unionOptions) {
260
- for (const option of unionOptions) {
261
- this.extractFieldDescriptions(this.unwrapSchema(option), prefix, fields, ancestors);
262
- }
263
220
  }
264
221
  }
265
222
  /**
@@ -371,7 +328,7 @@ export class DescriptionExtractor {
371
328
  // Zod v4: check type property and use def.innerType
372
329
  const type = zodSchema.type;
373
330
  const def = zodSchema.def;
374
- if (type === "optional" || type === "nullable" || type === "default" || type === "readonly") {
331
+ if (type === "optional" || type === "nullable" || type === "default") {
375
332
  if (def?.innerType) {
376
333
  return this.unwrapSchema(def.innerType);
377
334
  }
@@ -385,8 +342,7 @@ export class DescriptionExtractor {
385
342
  if (_def) {
386
343
  if (_def.typeName === "ZodOptional" ||
387
344
  _def.typeName === "ZodNullable" ||
388
- _def.typeName === "ZodDefault" ||
389
- _def.typeName === "ZodReadonly") {
345
+ _def.typeName === "ZodDefault") {
390
346
  if (_def.innerType) {
391
347
  return this.unwrapSchema(_def.innerType);
392
348
  }
@@ -418,50 +374,5 @@ export class DescriptionExtractor {
418
374
  }
419
375
  return undefined;
420
376
  }
421
- /**
422
- * Gets the element schema from a ZodArray schema.
423
- * Supports both Zod v3 and v4.
424
- */
425
- getArrayElement(schema) {
426
- if (!schema || typeof schema !== "object") {
427
- return undefined;
428
- }
429
- const zodSchema = schema;
430
- // Zod v4: type property and def.element
431
- if (zodSchema.type === "array") {
432
- const def = zodSchema.def;
433
- if (def?.element)
434
- return def.element;
435
- }
436
- // Zod v3 fallback: _def.typeName and _def.type
437
- const _def = zodSchema._def;
438
- if (_def?.typeName === "ZodArray" && _def.type) {
439
- return _def.type;
440
- }
441
- return undefined;
442
- }
443
- /**
444
- * Gets the member schemas from a ZodUnion (or discriminated union) schema.
445
- * Supports both Zod v3 and v4.
446
- */
447
- getUnionOptions(schema) {
448
- if (!schema || typeof schema !== "object") {
449
- return undefined;
450
- }
451
- const zodSchema = schema;
452
- // Zod v4: type property and def.options
453
- if (zodSchema.type === "union") {
454
- const def = zodSchema.def;
455
- if (Array.isArray(def?.options))
456
- return def.options;
457
- }
458
- // Zod v3 fallback: _def.typeName and _def.options
459
- const _def = zodSchema._def;
460
- if ((_def?.typeName === "ZodUnion" || _def?.typeName === "ZodDiscriminatedUnion") &&
461
- Array.isArray(_def.options)) {
462
- return _def.options;
463
- }
464
- return undefined;
465
- }
466
377
  }
467
378
  //# sourceMappingURL=description-extractor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"description-extractor.js","sourceRoot":"","sources":["../../src/core/description-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"description-extractor.js","sourceRoot":"","sources":["../../src/core/description-extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;aAGlB,IAAI,EAAE,MAAM;aACZ,IAAI,CAAC,EAAE,MAAM;IAH/B,YACE,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,YAAA,EAI9B;IAED;;OAEG;IACH,MAAM,IAAI,MAAM,CAMf;CACF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,YAAY,SAAS,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAiB3D;CACF;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,YAAY,QAAQ,EAAE,MAAM,EAAE,EAO7B;CACF;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,YAAY,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAG5D;CACF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAiBlD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;aAGlB,IAAI,EAAE,MAAM;aACZ,IAAI,CAAC,EAAE,MAAM;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,YAAA;IAM/B;;OAEG;IACH,MAAM,IAAI,MAAM;CAOjB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,SAAS,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE;CAkB7D;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,QAAQ,EAAE,MAAM,EAAE;CAQ/B;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;gBACrC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAI9D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUlD"}
@@ -62,35 +62,8 @@ export function formatError(error) {
62
62
  return error.format();
63
63
  }
64
64
  if (error instanceof Error) {
65
- // Clean up common ts-morph errors
66
- const message = error.message;
67
- if (message.includes("Manipulation error")) {
68
- return formatTsMorphError(message);
69
- }
70
- return `Error: ${message}`;
65
+ return `Error: ${error.message}`;
71
66
  }
72
67
  return `Error: ${String(error)}`;
73
68
  }
74
- /**
75
- * Formats ts-morph manipulation errors.
76
- */
77
- function formatTsMorphError(message) {
78
- const lines = [];
79
- // Extract the first line (main error)
80
- const firstLine = message.split("\n")[0];
81
- if (firstLine.includes("syntax error")) {
82
- lines.push("Error: Syntax error in source file");
83
- }
84
- else {
85
- lines.push("Error: Failed to process TypeScript file");
86
- }
87
- // Extract TypeScript error codes (TS1005, etc.)
88
- const tsErrors = message.match(/TS\d+/g);
89
- if (tsErrors?.length) {
90
- lines.push("");
91
- lines.push("TypeScript reported errors in the file.");
92
- lines.push("Please fix any syntax errors before running zinfer.");
93
- }
94
- return lines.join("\n");
95
- }
96
69
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGlB;IACA;IAHlB,YACE,OAAe,EACC,IAAY,EACZ,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,MAAM,KAAK,GAAG,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,YAAY,SAAmB,EAAE,gBAA2B;QAC1D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC;QAElF,IAAI,gBAAgB,EAAE,MAAM,EAAE,CAAC;YAC7B,KAAK,CACH,gCAAgC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC7D,kBAAkB,EAClB,mCAAmC,KAAK,mCAAmC,CAC5E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CACH,2BAA2B,KAAK,EAAE,EAClC,kBAAkB,EAClB,2EAA2E,CAC5E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,YAAY,QAAkB;QAC5B,KAAK,CACH,oCAAoC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACzD,kBAAkB,EAClB,wDAAwD,CACzD,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD,YAAY,UAAkB,EAAE,MAAc,EAAE,IAAa;QAC3D,KAAK,CAAC,mBAAmB,UAAU,MAAM,MAAM,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,UAAU,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACnC,CAAC"}