@hoangvu12/yomi 0.1.0 → 1.0.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.
package/README.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  **Yomi** (pronounced "yoh-mee", 読み) means "reading" or "interpretation" in Japanese. This library interprets messy LLM output and coerces it to match your Zod schemas.
4
4
 
5
+ ## Version Compatibility
6
+
7
+ | Yomi Version | Zod Version | Notes |
8
+ |--------------|-------------|-------|
9
+ | 1.x | ^4.0.0 | Zod v4 support with new instanceof-based type checking |
10
+ | 0.x | ^3.20.0 | Zod v3 support (legacy) |
11
+
5
12
  ## The Problem
6
13
 
7
14
  LLMs don't return perfect JSON. They return:
@@ -184,7 +191,7 @@ LLM Output (string)
184
191
  Result<T>
185
192
  ```
186
193
 
187
- The coercer recursively walks your Zod schema using `schema._def`, dispatching to type-specific coercion functions. Each coercer tries to interpret the input value as the expected type, recording flags when transformations occur.
194
+ The coercer recursively walks your Zod schema using `instanceof` checks (Zod v4) to identify schema types, dispatching to type-specific coercion functions. Each coercer tries to interpret the input value as the expected type, recording flags when transformations occur.
188
195
 
189
196
  ## License
190
197
 
package/dist/coerce.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { type CoerceContext, type CoerceResult } from "./types.js";
3
3
  /**
4
4
  * Coerce a value to match a Zod schema.
@@ -1 +1 @@
1
- {"version":3,"file":"coerce.d.ts","sourceRoot":"","sources":["../src/coerce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EAIlB,MAAM,YAAY,CAAC;AAcpB;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACnD,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,OAAO,EACd,GAAG,CAAC,EAAE,aAAa,GAClB,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAG1B"}
1
+ {"version":3,"file":"coerce.d.ts","sourceRoot":"","sources":["../src/coerce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EAIlB,MAAM,YAAY,CAAC;AAcpB;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACnD,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,OAAO,EACd,GAAG,CAAC,EAAE,aAAa,GAClB,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAG1B"}
package/dist/coerce.js CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import * as z from "zod";
2
2
  import { createContext, failure, describeType, } from "./types.js";
3
3
  import { coerceString, coerceNumber, coerceInt, coerceBoolean, coerceNull, coerceLiteral, } from "./coercers/primitive.js";
4
4
  import { coerceArray, coerceTuple } from "./coercers/array.js";
@@ -14,194 +14,195 @@ export function coerceToSchema(schema, value, ctx) {
14
14
  return coerceZodType(schema, value, context);
15
15
  }
16
16
  /**
17
- * Internal dispatcher for Zod types.
17
+ * Zod v4 removed ZodFirstPartyTypeKind enum, so we use instanceof checks instead.
18
+ * Type assertions are needed because v4's internal $ZodType doesn't match public ZodType.
18
19
  */
19
20
  function coerceZodType(schema, value, ctx) {
20
- const def = schema._def;
21
- const typeName = def.typeName;
22
- switch (typeName) {
23
- // Primitives
24
- case z.ZodFirstPartyTypeKind.ZodString:
25
- return coerceString(value, ctx);
26
- case z.ZodFirstPartyTypeKind.ZodNumber:
27
- return coerceNumber(value, ctx);
28
- case z.ZodFirstPartyTypeKind.ZodBigInt:
29
- return coerceInt(value, ctx); // Use int coercion for bigint
30
- case z.ZodFirstPartyTypeKind.ZodBoolean:
31
- return coerceBoolean(value, ctx);
32
- case z.ZodFirstPartyTypeKind.ZodNull:
33
- return coerceNull(value, ctx);
34
- case z.ZodFirstPartyTypeKind.ZodUndefined:
35
- if (value === undefined || value === null) {
36
- return { success: true, value: undefined, flags: ctx.flags };
37
- }
38
- return failure("Expected undefined", ctx, "undefined", describeType(value));
39
- case z.ZodFirstPartyTypeKind.ZodVoid:
21
+ if (schema instanceof z.ZodString) {
22
+ return coerceString(value, ctx);
23
+ }
24
+ if (schema instanceof z.ZodNumber) {
25
+ return coerceNumber(value, ctx);
26
+ }
27
+ if (schema instanceof z.ZodBigInt) {
28
+ return coerceInt(value, ctx);
29
+ }
30
+ if (schema instanceof z.ZodBoolean) {
31
+ return coerceBoolean(value, ctx);
32
+ }
33
+ if (schema instanceof z.ZodNull) {
34
+ return coerceNull(value, ctx);
35
+ }
36
+ if (schema instanceof z.ZodUndefined) {
37
+ if (value === undefined || value === null) {
40
38
  return { success: true, value: undefined, flags: ctx.flags };
41
- case z.ZodFirstPartyTypeKind.ZodAny:
42
- case z.ZodFirstPartyTypeKind.ZodUnknown:
43
- return { success: true, value, flags: ctx.flags };
44
- case z.ZodFirstPartyTypeKind.ZodNever:
45
- return failure("ZodNever cannot match any value", ctx, "never", describeType(value));
46
- // Literals
47
- case z.ZodFirstPartyTypeKind.ZodLiteral:
48
- return coerceLiteral(value, def.value, ctx);
49
- // Arrays
50
- case z.ZodFirstPartyTypeKind.ZodArray:
51
- return coerceArray(value, (v, c) => coerceZodType(def.type, v, c), ctx);
52
- // Tuples
53
- case z.ZodFirstPartyTypeKind.ZodTuple: {
54
- const items = def.items;
55
- const coercers = items.map((item) => (v, c) => coerceZodType(item, v, c));
56
- return coerceTuple(value, coercers, ctx);
57
- }
58
- // Objects
59
- case z.ZodFirstPartyTypeKind.ZodObject: {
60
- const shape = def.shape();
61
- const objectSchema = {};
62
- for (const [key, propSchema] of Object.entries(shape)) {
63
- const isOptional = propSchema.isOptional();
64
- const hasDefault = propSchema._def.typeName === z.ZodFirstPartyTypeKind.ZodDefault;
65
- objectSchema[key] = {
66
- coercer: (v, c) => coerceZodType(propSchema, v, c),
67
- optional: isOptional,
68
- ...(hasDefault ? { default: propSchema._def.defaultValue() } : {}),
69
- };
70
- }
71
- return coerceObject(value, objectSchema, ctx);
72
39
  }
73
- // Records
74
- case z.ZodFirstPartyTypeKind.ZodRecord:
75
- return coerceRecord(value, (v, c) => coerceZodType(def.valueType, v, c), ctx);
76
- // Maps
77
- case z.ZodFirstPartyTypeKind.ZodMap:
78
- // Treat as record for now
79
- return coerceRecord(value, (v, c) => coerceZodType(def.valueType, v, c), ctx);
80
- // Unions
81
- case z.ZodFirstPartyTypeKind.ZodUnion: {
82
- const options = def.options;
83
- const coercers = options.map((opt) => (v, c) => coerceZodType(opt, v, c));
84
- return coerceUnion(value, coercers, ctx);
85
- }
86
- case z.ZodFirstPartyTypeKind.ZodDiscriminatedUnion: {
87
- const options = def.options;
88
- const coercers = options.map((opt) => (v, c) => coerceZodType(opt, v, c));
89
- return coerceUnion(value, coercers, ctx);
40
+ return failure("Expected undefined", ctx, "undefined", describeType(value));
41
+ }
42
+ if (schema instanceof z.ZodVoid) {
43
+ return { success: true, value: undefined, flags: ctx.flags };
44
+ }
45
+ if (schema instanceof z.ZodAny || schema instanceof z.ZodUnknown) {
46
+ return { success: true, value, flags: ctx.flags };
47
+ }
48
+ if (schema instanceof z.ZodNever) {
49
+ return failure("ZodNever cannot match any value", ctx, "never", describeType(value));
50
+ }
51
+ if (schema instanceof z.ZodLiteral) {
52
+ // v4 changed from single value to Set to support z.literal("a", "b")
53
+ const literalValue = schema.values.values().next().value;
54
+ return coerceLiteral(value, literalValue, ctx);
55
+ }
56
+ if (schema instanceof z.ZodArray) {
57
+ const elementSchema = schema.element;
58
+ return coerceArray(value, (v, c) => coerceZodType(elementSchema, v, c), ctx);
59
+ }
60
+ if (schema instanceof z.ZodTuple) {
61
+ // v4 exposes items via def, not as a direct property
62
+ const items = schema.def.items;
63
+ const coercers = items.map((item) => (v, c) => coerceZodType(item, v, c));
64
+ return coerceTuple(value, coercers, ctx);
65
+ }
66
+ if (schema instanceof z.ZodObject) {
67
+ const shape = schema.shape;
68
+ const objectSchema = {};
69
+ for (const [key, propSchema] of Object.entries(shape)) {
70
+ const isOptional = propSchema.isOptional();
71
+ const hasDefault = propSchema instanceof z.ZodDefault;
72
+ objectSchema[key] = {
73
+ coercer: (v, c) => coerceZodType(propSchema, v, c),
74
+ optional: isOptional,
75
+ // v4 changed defaultValue from function to direct value
76
+ ...(hasDefault ? { default: propSchema.def.defaultValue } : {}),
77
+ };
90
78
  }
91
- // Optionals and Nullables
92
- case z.ZodFirstPartyTypeKind.ZodOptional:
93
- return coerceOptional(value, (v, c) => coerceZodType(def.innerType, v, c), ctx);
94
- case z.ZodFirstPartyTypeKind.ZodNullable:
95
- return coerceNullable(value, (v, c) => coerceZodType(def.innerType, v, c), ctx);
96
- // Defaults
97
- case z.ZodFirstPartyTypeKind.ZodDefault:
98
- return coerceDefault(value, (v, c) => coerceZodType(def.innerType, v, c), def.defaultValue(), ctx);
99
- // Catch
100
- case z.ZodFirstPartyTypeKind.ZodCatch: {
101
- const result = coerceZodType(def.innerType, value, ctx);
102
- if (result.success)
103
- return result;
104
- return { success: true, value: def.catchValue({ error: result.error, input: value }), flags: ctx.flags };
79
+ return coerceObject(value, objectSchema, ctx);
80
+ }
81
+ if (schema instanceof z.ZodRecord) {
82
+ const valueSchema = schema.valueType;
83
+ return coerceRecord(value, (v, c) => coerceZodType(valueSchema, v, c), ctx);
84
+ }
85
+ if (schema instanceof z.ZodMap) {
86
+ // Treat Map as Record for JSON coercion since JSON has no Map type
87
+ const valueSchema = schema.valueType;
88
+ return coerceRecord(value, (v, c) => coerceZodType(valueSchema, v, c), ctx);
89
+ }
90
+ if (schema instanceof z.ZodUnion) {
91
+ const options = schema.options;
92
+ const coercers = options.map((opt) => (v, c) => coerceZodType(opt, v, c));
93
+ return coerceUnion(value, coercers, ctx);
94
+ }
95
+ if (schema instanceof z.ZodDiscriminatedUnion) {
96
+ const options = schema.options;
97
+ const coercers = options.map((opt) => (v, c) => coerceZodType(opt, v, c));
98
+ return coerceUnion(value, coercers, ctx);
99
+ }
100
+ if (schema instanceof z.ZodOptional) {
101
+ const innerSchema = schema.unwrap();
102
+ return coerceOptional(value, (v, c) => coerceZodType(innerSchema, v, c), ctx);
103
+ }
104
+ if (schema instanceof z.ZodNullable) {
105
+ const innerSchema = schema.unwrap();
106
+ return coerceNullable(value, (v, c) => coerceZodType(innerSchema, v, c), ctx);
107
+ }
108
+ if (schema instanceof z.ZodDefault) {
109
+ const innerSchema = schema.removeDefault();
110
+ // v4 changed defaultValue from function to direct value
111
+ const defaultValue = schema.def.defaultValue;
112
+ return coerceDefault(value, (v, c) => coerceZodType(innerSchema, v, c), defaultValue, ctx);
113
+ }
114
+ if (schema instanceof z.ZodCatch) {
115
+ const innerSchema = schema.removeCatch();
116
+ const result = coerceZodType(innerSchema, value, ctx);
117
+ if (result.success)
118
+ return result;
119
+ // v4 catchValue requires error/value/input/issues context
120
+ const catchDef = schema.def;
121
+ const catchValue = catchDef.catchValue({ error: new z.ZodError([]), value, input: value, issues: [] });
122
+ return { success: true, value: catchValue, flags: ctx.flags };
123
+ }
124
+ if (schema instanceof z.ZodEnum) {
125
+ // v4 uses ZodEnum for both z.enum() and z.nativeEnum() - differentiate by 'enum' property
126
+ const schemaAny = schema;
127
+ if (schemaAny.enum && typeof schemaAny.enum === 'object' && !Array.isArray(schemaAny.enum)) {
128
+ return coerceNativeEnum(value, schemaAny.enum, ctx);
105
129
  }
106
- // Enums
107
- case z.ZodFirstPartyTypeKind.ZodEnum:
108
- return coerceEnum(value, def.values, ctx);
109
- case z.ZodFirstPartyTypeKind.ZodNativeEnum:
110
- return coerceNativeEnum(value, def.values, ctx);
111
- // Effects/Transforms
112
- case z.ZodFirstPartyTypeKind.ZodEffects: {
113
- // First coerce the inner type
114
- const innerResult = coerceZodType(def.schema, value, ctx);
115
- if (!innerResult.success)
116
- return innerResult;
117
- // Then apply the effect
118
- // Note: We only handle refinements here, not transforms
119
- // Transforms would need async support
120
- if (def.effect.type === "refinement") {
121
- const refinement = def.effect.refinement;
122
- try {
123
- const isValid = refinement(innerResult.value);
124
- if (!isValid) {
125
- return failure("Refinement failed", ctx, "refined value", describeType(innerResult.value));
126
- }
127
- }
128
- catch (e) {
129
- return failure(`Refinement error: ${e instanceof Error ? e.message : String(e)}`, ctx, "refined value", describeType(innerResult.value));
130
- }
130
+ return coerceEnum(value, schemaAny.options, ctx);
131
+ }
132
+ if (schema instanceof z.ZodLazy) {
133
+ const lazyDef = schema.def;
134
+ const lazySchema = lazyDef.getter();
135
+ return coerceZodType(lazySchema, value, ctx);
136
+ }
137
+ if (schema instanceof z.ZodPipe) {
138
+ // v4 renamed ZodPipeline to ZodPipe
139
+ const inSchema = schema.in;
140
+ const outSchema = schema.out;
141
+ const inResult = coerceZodType(inSchema, value, ctx);
142
+ if (!inResult.success)
143
+ return inResult;
144
+ return coerceZodType(outSchema, inResult.value, ctx);
145
+ }
146
+ if (schema instanceof z.ZodReadonly) {
147
+ const readonlyDef = schema.def;
148
+ return coerceZodType(readonlyDef.innerType, value, ctx);
149
+ }
150
+ if (schema instanceof z.ZodDate) {
151
+ if (value instanceof Date) {
152
+ if (isNaN(value.getTime())) {
153
+ return failure("Invalid Date", ctx, "Date", "Invalid Date");
131
154
  }
132
- return innerResult;
133
- }
134
- // Lazy
135
- case z.ZodFirstPartyTypeKind.ZodLazy:
136
- return coerceZodType(def.getter(), value, ctx);
137
- // Branded
138
- case z.ZodFirstPartyTypeKind.ZodBranded:
139
- return coerceZodType(def.type, value, ctx);
140
- // Pipeline
141
- case z.ZodFirstPartyTypeKind.ZodPipeline: {
142
- const inResult = coerceZodType(def.in, value, ctx);
143
- if (!inResult.success)
144
- return inResult;
145
- return coerceZodType(def.out, inResult.value, ctx);
155
+ return { success: true, value, flags: ctx.flags };
146
156
  }
147
- // Readonly
148
- case z.ZodFirstPartyTypeKind.ZodReadonly:
149
- return coerceZodType(def.innerType, value, ctx);
150
- // Date - special handling
151
- case z.ZodFirstPartyTypeKind.ZodDate: {
152
- if (value instanceof Date) {
153
- if (isNaN(value.getTime())) {
154
- return failure("Invalid Date", ctx, "Date", "Invalid Date");
155
- }
156
- return { success: true, value, flags: ctx.flags };
157
- }
158
- if (typeof value === "string" || typeof value === "number") {
159
- const date = new Date(value);
160
- if (isNaN(date.getTime())) {
161
- return failure(`Cannot parse "${value}" as Date`, ctx, "Date", describeType(value));
162
- }
163
- return { success: true, value: date, flags: ctx.flags };
157
+ // LLMs often return dates as strings - attempt parsing
158
+ if (typeof value === "string" || typeof value === "number") {
159
+ const date = new Date(value);
160
+ if (isNaN(date.getTime())) {
161
+ return failure(`Cannot parse "${value}" as Date`, ctx, "Date", describeType(value));
164
162
  }
165
- return failure("Expected Date", ctx, "Date", describeType(value));
163
+ return { success: true, value: date, flags: ctx.flags };
166
164
  }
167
- // Intersection - coerce to both types
168
- case z.ZodFirstPartyTypeKind.ZodIntersection: {
169
- const leftResult = coerceZodType(def.left, value, ctx);
170
- if (!leftResult.success)
171
- return leftResult;
172
- const rightResult = coerceZodType(def.right, leftResult.value, ctx);
173
- if (!rightResult.success)
174
- return rightResult;
175
- // Merge results for objects
176
- if (typeof leftResult.value === "object" && typeof rightResult.value === "object") {
177
- return { success: true, value: { ...leftResult.value, ...rightResult.value }, flags: ctx.flags };
178
- }
165
+ return failure("Expected Date", ctx, "Date", describeType(value));
166
+ }
167
+ if (schema instanceof z.ZodIntersection) {
168
+ const intersectionDef = schema.def;
169
+ const leftResult = coerceZodType(intersectionDef.left, value, ctx);
170
+ if (!leftResult.success)
171
+ return leftResult;
172
+ const rightResult = coerceZodType(intersectionDef.right, leftResult.value, ctx);
173
+ if (!rightResult.success)
179
174
  return rightResult;
175
+ // Merge object results since intersection typically combines object types
176
+ if (typeof leftResult.value === "object" && typeof rightResult.value === "object") {
177
+ return { success: true, value: { ...leftResult.value, ...rightResult.value }, flags: ctx.flags };
180
178
  }
181
- // Set
182
- case z.ZodFirstPartyTypeKind.ZodSet: {
183
- const arrayResult = coerceArray(value, (v, c) => coerceZodType(def.valueType, v, c), ctx);
184
- if (!arrayResult.success)
185
- return arrayResult;
186
- return { success: true, value: new Set(arrayResult.value), flags: ctx.flags };
179
+ return rightResult;
180
+ }
181
+ if (schema instanceof z.ZodSet) {
182
+ // Coerce as array first, then convert to Set (JSON has no Set type)
183
+ const setDef = schema.def;
184
+ const arrayResult = coerceArray(value, (v, c) => coerceZodType(setDef.valueType, v, c), ctx);
185
+ if (!arrayResult.success)
186
+ return arrayResult;
187
+ return { success: true, value: new Set(arrayResult.value), flags: ctx.flags };
188
+ }
189
+ if (schema instanceof z.ZodPromise) {
190
+ // Can't coerce promises - pass through
191
+ return { success: true, value, flags: ctx.flags };
192
+ }
193
+ if (schema instanceof z.ZodFunction) {
194
+ if (typeof value === "function") {
195
+ return { success: true, value, flags: ctx.flags };
187
196
  }
188
- // Promise - just pass through
189
- case z.ZodFirstPartyTypeKind.ZodPromise:
197
+ return failure("Expected function", ctx, "function", describeType(value));
198
+ }
199
+ if (schema instanceof z.ZodSymbol) {
200
+ if (typeof value === "symbol") {
190
201
  return { success: true, value, flags: ctx.flags };
191
- // Function - just pass through
192
- case z.ZodFirstPartyTypeKind.ZodFunction:
193
- if (typeof value === "function") {
194
- return { success: true, value, flags: ctx.flags };
195
- }
196
- return failure("Expected function", ctx, "function", describeType(value));
197
- // Symbol
198
- case z.ZodFirstPartyTypeKind.ZodSymbol:
199
- if (typeof value === "symbol") {
200
- return { success: true, value, flags: ctx.flags };
201
- }
202
- return failure("Expected symbol", ctx, "symbol", describeType(value));
203
- default:
204
- return failure(`Unsupported Zod type: ${typeName}`, ctx, typeName, describeType(value));
202
+ }
203
+ return failure("Expected symbol", ctx, "symbol", describeType(value));
205
204
  }
205
+ const typeName = schema.constructor.name;
206
+ return failure(`Unsupported Zod type: ${typeName}`, ctx, typeName, describeType(value));
206
207
  }
207
208
  //# sourceMappingURL=coerce.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coerce.js","sourceRoot":"","sources":["../src/coerce.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coerce.js","sourceRoot":"","sources":["../src/coerce.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hoangvu12/yomi",
3
- "version": "0.1.0",
3
+ "version": "1.0.0",
4
4
  "description": "Yomi (読み) - Flexible JSON parser that interprets LLM output to match Zod schemas",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -43,7 +43,7 @@
43
43
  "jsonrepair": "^3.8.0"
44
44
  },
45
45
  "peerDependencies": {
46
- "zod": "^3.20.0"
46
+ "zod": "^4.0.0"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@types/node": "^20.10.0",
@@ -52,7 +52,7 @@
52
52
  "eslint": "^8.56.0",
53
53
  "@typescript-eslint/eslint-plugin": "^6.0.0",
54
54
  "@typescript-eslint/parser": "^6.0.0",
55
- "zod": "^3.23.8"
55
+ "zod": "^4.0.0"
56
56
  },
57
57
  "files": [
58
58
  "dist"