type A {
name String
b B
}
type B {
a A[]
x String
}
model User {
id String @id @default(cuid())
a A @json
}
const data = await db.user.create({
data: {
id: randomUUID(),
a: { name: "abc", b: { x: "123", a: [] } },
},
});
RangeError: Maximum call stack size exceeded
at init (file:///Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.js:6:18)
at new ZodString (file:///Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.js:40:9)
at Module._string (file:///Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/api.js:7:12)
at Module.string (file:///Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/schemas.js:159:17)
at <anonymous> (/Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/@zenstackhq+orm@3.6.4_better-sqlite3@12.6.2_mysql2@3.20.0_@types+node@25.3.3__pg@8.19.0_zod@4.3.6/node_modules/@zenstackhq/orm/dist/index.mjs:2223:112)
at R.with (/Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/ts-pattern@5.9.0/node_modules/ts-pattern/src/match.ts:87:18)
at ZodSchemaFactory.makeScalarSchema (/Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/@zenstackhq+orm@3.6.4_better-sqlite3@12.6.2_mysql2@3.20.0_@types+node@25.3.3__pg@8.19.0_zod@4.3.6/node_modules/@zenstackhq/orm/dist/index.mjs:2223:31)
at <anonymous> (/Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/@zenstackhq+orm@3.6.4_better-sqlite3@12.6.2_mysql2@3.20.0_@types+node@25.3.3__pg@8.19.0_zod@4.3.6/node_modules/@zenstackhq/orm/dist/index.mjs:2242:27)
at Array.map (<anonymous>)
at ZodSchemaFactory.makeTypeDefSchema (/Users/jiasheng/Work/repo/v3-test/node_modules/.pnpm/@zenstackhq+orm@3.6.4_better-sqlite3@12.6.2_mysql2@3.20.0_@types+node@25.3.3__pg@8.19.0_zod@4.3.6/node_modules/@zenstackhq/orm/dist/index.mjs:2241:84)