The latest updates on your projects. Learn more about Vercel for GitHub.
| Project | Deployment | Actions | Updated (UTC) |
|---|---|---|---|
| docs | Jun 8, 2026 9:57pm |
Stacked on #3494.
This PR tightens the SDK's Zod boundary now that the TypeScript packages are moving to the newer Node/toolchain baseline. The main issue was asymmetric Zod support: @composio/json-schema-to-zod already supports projects with Zod 3 and Zod 4 by generating schemas through zod/v3, but custom tools converted schemas in the opposite direction through zod-to-json-schema only. With a bare Zod 4 z.object(...), that path degraded to an empty JSON Schema.
zod/v3 schemas and Zod 4 schemas via z.toJSONSchema.createCustomTool(...) and legacy composio.tools.createCustomTool(...).execute input type while keeping the session context parameter required for context-using tools.jsonSchemaToZodShape through the narrow @composio/core/utils/json-schema subpath.@composio/json-schema-to-zod or converting to a full Zod object and casting .shape out of it.@composio/core and @composio/claude-agent-sdk.Follow-up fixes from a deeper pass over the new conversion boundary:
_def.type being defined, but Zod 3 stores the element schema there for z.array() / z.promise() — so a Zod 3 array/promise outputParams was misrouted into z.toJSONSchema and crashed with Cannot read properties of undefined (reading 'def'). It now discriminates on _def.type being a string literal (Zod 4) versus a ZodType object (Zod 3), with a regression test.io mode was applied to the Zod 4 converter but dropped on the Zod 3 branch; it now maps onto zod-to-json-schema's pipeStrategy/effectStrategy so .default() / .transform() / .pipe() schemas serialize consistently across both runtimes. Added a v3/v4 input-mode parity test.as never casts in the Claude Agent SDK provider with a single concrete tool() signature — this sidesteps the SDK's deep-instantiation error while keeping the handler's real argument type.mise exec -- pnpm --filter @composio/core test (933 passing)mise exec -- pnpm --filter @composio/claude-agent-sdk test -- --runInBand (17 passing)mise exec -- pnpm --filter @composio/core build (publint + attw clean, emits @composio/core/utils/json-schema)mise exec -- pnpm --filter @composio/claude-agent-sdk exec tsc --noEmit --skipLibCheckmise exec -- pnpm --filter @composio/claude-agent-sdk build (publint + attw clean)mise exec -- pnpm install --frozen-lockfilegit diff --checkNote: mise exec -- pnpm --filter @composio/core typecheck still fails on the existing src/utils/pusher.ts ChannelAuthorizationHandler type mismatch. This PR does not touch that file; the core build and full core unit suite pass.
The latest updates on your projects. Learn more about Vercel for GitHub.
| Project | Deployment | Actions | Updated (UTC) |
|---|---|---|---|
| docs | Jun 8, 2026 9:57pm |