Skip to content

Comments

bump zod to latest 4.3.6 and fix .omit() cannot be used on object schemas containing refinements error#1712

Merged
dimaMachina merged 17 commits intomainfrom
prd-5965
Feb 4, 2026
Merged

bump zod to latest 4.3.6 and fix .omit() cannot be used on object schemas containing refinements error#1712
dimaMachina merged 17 commits intomainfrom
prd-5965

Conversation

@dimaMachina
Copy link
Collaborator

No description provided.

@changeset-bot
Copy link

changeset-bot bot commented Feb 4, 2026

🦋 Changeset detected

Latest commit: 1bba390

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 10 packages
Name Type
@inkeep/agents-manage-mcp Patch
@inkeep/ai-sdk-provider Patch
@inkeep/create-agents Patch
@inkeep/agents-core Patch
@inkeep/agents-mcp Patch
@inkeep/agents-sdk Patch
@inkeep/agents-manage-ui Patch
@inkeep/agents-cli Patch
@inkeep/agents-api Patch
@inkeep/agents-work-apps Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link

vercel bot commented Feb 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agents-api Ready Ready Preview, Comment Feb 4, 2026 9:05pm
agents-docs Error Error Feb 4, 2026 9:05pm
agents-manage-ui Error Error Feb 4, 2026 9:05pm

Request Review

@inkeep
Copy link
Contributor

inkeep bot commented Feb 4, 2026

No docs changes detected — this PR updates internal Zod dependency versions and fixes an internal implementation issue.

Comment on lines -73 to -75
},
"overrides": {
"zod": "^4.1.11"
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks like we don't need this override

@inkeep inkeep deleted a comment from claude bot Feb 4, 2026
@inkeep inkeep deleted a comment from claude bot Feb 4, 2026
@inkeep inkeep deleted a comment from claude bot Feb 4, 2026
@dimaMachina
Copy link
Collaborator Author

@claude verify

@claude
Copy link
Contributor

claude bot commented Feb 4, 2026

Claude finished @dimaMachina's task in 2m 36s —— View job


Code Review for Zod 4.3.6 Upgrade

I've reviewed the PR that upgrades Zod to version 4.3.6 and fixes the .omit() cannot be used on object schemas containing refinements error.

Todo list:

  • Understand the scope of changes
  • Check the override in packages/create-agents/package.json mentioned in review
  • Review the Zod refinement issue fix in schemas.ts
  • Perform code review based on inspection
  • Report findings

Review Summary

✅ Positive Aspects

  1. Consistent Version Upgrade: All packages across the monorepo have been updated to use Zod 4.3.6, ensuring consistency.

  2. Proper Fix for Refinement Issue: The issue with .omit() not working on schemas with refinements has been properly addressed in packages/agents-core/src/validation/schemas.ts by:

    • Using type assertions with z.ZodObject<z.ZodRawShape> to handle the generic type limitations
    • Providing explicit return types to maintain type safety
    • Adding clear comments explaining why this approach is necessary
  3. Changeset Included: The PR properly includes a changeset file documenting the change as a patch release for affected packages.

⚠️ Issues to Address

  1. Unnecessary Override: As noted in the review comment on line 75 of packages/create-agents/package.json, there appears to be an override that's no longer needed. However, upon inspection, I don't see any Zod-related overrides in that file - only an MCP SDK override remains at line 48 which is unrelated to this Zod upgrade.

📊 Technical Details

The fix works around a Zod limitation where .omit() doesn't work correctly with refined schemas that use generics. The solution:

  • Uses type assertions to cast to z.ZodObject<z.ZodRawShape>
  • Maintains type safety through explicit return type declarations
  • Properly documents the workaround with comments

This is a known limitation in Zod's type system when dealing with generic schemas that have refinements, and the implemented workaround is the recommended approach.

✔️ Recommendation

The PR looks good to merge. The Zod upgrade is properly implemented with the necessary workarounds for the refinement issue. The changes are consistent across the monorepo and properly documented with a changeset.

Note about testing: I was unable to run the full test suite due to permission restrictions, but the code changes follow best practices for handling this known Zod limitation.

Base automatically changed from revert-1689-fix/quickstart-zod-error to main February 4, 2026 20:56
@claude
Copy link
Contributor

claude bot commented Feb 4, 2026

Claude encountered an error —— View job


PR Review in Progress

  • Analyze PR context and understand scope
  • Explore codebase architecture for Zod usage patterns
  • Dispatch specialized reviewers
  • Aggregate findings and post summary

@github-actions
Copy link
Contributor

github-actions bot commented Feb 4, 2026

🔎💬 Inkeep AI search and chat service is syncing content for source 'Inkeep Agent Framework Docs'

dimaMachina added a commit that referenced this pull request Feb 5, 2026
…hemas containing refinements` error (#1712)

* Revert "fix(agents-core): remove refine call in resource id schema (#1689)"

This reverts commit 938ffb8.

* Revert "fix(agents-core): remove refine call in resource id schema (#1689)"

This reverts commit 938ffb8.

* bump

* upd

* remove zod from pnpm overrides

* update zod peerdependencies too, and we have error reproducible locally

* minimal fix

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes
dimaMachina added a commit that referenced this pull request Feb 5, 2026
…chat or if custom headers are invalid (#1699)

* upd

* upd

* upd

* upd

* upd

* upd

* upd

* typecheck is ok now

* wip custom headers dialog

* upddd

* upddd

* upddd

* brand color

* upd

* validate on mount

* polish

* fix lint

* format

* review fixes

* feat(pr-review): add clickable links to inline comments in review summary (#1714)

- Add `url` field to GraphQL queries for review threads and PR comments
- Add Phase 5.4 to capture inline comment URLs after posting
- Update Point-Fix Edits section to include clickable links
- Update Pending Recommendations to use URLs from pr-context skill
- Add `gh api` to allowed tools for fetching comment URLs
- Add secure debug artifact uploads for Claude review runs

* Revert "fix(agents-core): remove refine call in resource id schema (#1689)" (#1691)

This reverts commit 938ffb8.

* fix: pin claude-code-action to SDK 0.2.25 to avoid AJV crash (#1716)

SDK versions 0.2.27+ have a bug causing AJV validation crashes
before any API calls are made. This affects all PR reviews.

Tracking issue: anthropics/claude-code-action#892
Related: #852, #880, #804

Will revert to @v1 when the upstream issue is resolved.

* bump zod to latest 4.3.6 and fix `.omit() cannot be used on object schemas containing refinements` error (#1712)

* Revert "fix(agents-core): remove refine call in resource id schema (#1689)"

This reverts commit 938ffb8.

* Revert "fix(agents-core): remove refine call in resource id schema (#1689)"

This reverts commit 938ffb8.

* bump

* upd

* remove zod from pnpm overrides

* update zod peerdependencies too, and we have error reproducible locally

* minimal fix

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* Version Packages (#1701)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat: add Vercel production deployment workflow (#1679)

* feat: add Vercel production deployment workflow

Add GitHub Actions workflow to deploy to Vercel production only when
a GitHub release is published. This integrates with the existing
changesets release flow.

* feat: add deployment checks before promoting to production

Deploy to preview URL first, wait for Vercel deployment checks to pass,
then promote to production. This ensures API health before going live.

* PRD for vercel deployment strategy

* docs: add Vercel staging/production deployment strategy documentation

- Document Production Branch configuration (set to '_disabled_')
- Document GitHub Actions workflow for release-triggered deployments
- Document required secrets (VERCEL_TOKEN, VERCEL_ORG_ID, VERCEL_PROJECT_ID)
- Document optional staging domain configuration
- Add deployment flow diagram and troubleshooting section
- Add secrets documentation comments to workflow file

Completes US-001, US-002, US-003, US-004 from vercel-deployment-strategy PRD.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: update Vercel staging/production strategy to use never-deploy branch

Replace _disabled_ approach (which Vercel doesn't support) with a
never-deploy orphan branch. Update staging domain examples to use
api-staging.agents.yourdomain.com pattern.

* Apply suggestion from @claude[bot]

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* revert: remove Vercel deployment docs changes and PRD

Revert vercel.mdx to main branch version and remove the PRD file.

* feat: deploy both agents-api and agents-manage-ui to Vercel

Update production workflow to deploy both projects in parallel using a
matrix strategy. Each project uses its own secret for the Vercel project ID.

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* remove cursor specific rules in favor or skills and agents.md (#1717)

* chore: trigger release for all packages (#1718)

No-op patch bumps to trigger a new release.

* Version Packages (#1719)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* updating release action (#1720)

* fix: add --scope flag to Vercel CLI commands in production workflow (#1721)

The vercel inspect and promote commands were failing with authorization
errors because VERCEL_ORG_ID as an environment variable isn't used by
the CLI for scope resolution - it requires the --scope flag explicitly.

* fix: use staged production deployments in Vercel workflow (#1722)

- Deploy with --prod --skip-domain to create staged production builds
- This ensures production env vars are used and avoids rebuild on promote
- Add --yes flag to auto-confirm prompts in CI environment
- Fixes issue where promoting preview deployments triggered interactive prompt

* fix: add --archive=tgz to prevent CLI hanging during deploy (#1724)

Large file uploads can cause the Vercel CLI to hang. The --archive=tgz
flag compresses files before upload which resolves this issue.

* fix: use repository variables instead of secrets for non-sensitive values (#1723)

Move TURBO_TEAM and VERCEL_ORG_ID from secrets to vars to prevent
GitHub Actions from masking these values in logs. Secret values are
automatically masked, which was causing "inkeep" to appear as "***"
throughout CI logs.

* fix: simplify Vercel workflow to use direct production deploy (#1725)

- Remove --skip-domain flag which was causing CLI to hang
- Remove separate promote step (--prod auto-assigns domains)
- Simpler, more reliable workflow

* fix: use secrets for VERCEL_ORG_ID (#1726)

* apply review

* pnpm i

* polish

* format

* Rename convert-json-schema-to-zod.ts to convert-json-schema-to-zod.test.ts

* add tests

* wip tests

* wip tests

* wip tests

* upd

* upd

* upd

* upd

* polish error names

* upd

* move to __tests__

* format

* chore: add changeset for custom headers validation feature

Co-authored-by: Dimitri POSTOLOV <undefined@users.noreply.github.com>

---------

Co-authored-by: Nick Gomez <122398915+nick-inkeep@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrew Mikofalvy <5668128+amikofalvy@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Dimitri POSTOLOV <undefined@users.noreply.github.com>
dimaMachina added a commit that referenced this pull request Feb 5, 2026
…fromJSONSchema()` method (#1735)

* upd

* upd

* upd

* upd

* upd

* upd

* upd

* typecheck is ok now

* wip custom headers dialog

* upddd

* upddd

* upddd

* brand color

* upd

* validate on mount

* polish

* fix lint

* format

* review fixes

* feat(pr-review): add clickable links to inline comments in review summary (#1714)

- Add `url` field to GraphQL queries for review threads and PR comments
- Add Phase 5.4 to capture inline comment URLs after posting
- Update Point-Fix Edits section to include clickable links
- Update Pending Recommendations to use URLs from pr-context skill
- Add `gh api` to allowed tools for fetching comment URLs
- Add secure debug artifact uploads for Claude review runs

* Revert "fix(agents-core): remove refine call in resource id schema (#1689)" (#1691)

This reverts commit 938ffb8.

* fix: pin claude-code-action to SDK 0.2.25 to avoid AJV crash (#1716)

SDK versions 0.2.27+ have a bug causing AJV validation crashes
before any API calls are made. This affects all PR reviews.

Tracking issue: anthropics/claude-code-action#892
Related: #852, #880, #804

Will revert to @v1 when the upstream issue is resolved.

* bump zod to latest 4.3.6 and fix `.omit() cannot be used on object schemas containing refinements` error (#1712)

* Revert "fix(agents-core): remove refine call in resource id schema (#1689)"

This reverts commit 938ffb8.

* Revert "fix(agents-core): remove refine call in resource id schema (#1689)"

This reverts commit 938ffb8.

* bump

* upd

* remove zod from pnpm overrides

* update zod peerdependencies too, and we have error reproducible locally

* minimal fix

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* rm unrelated changes

* Version Packages (#1701)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat: add Vercel production deployment workflow (#1679)

* feat: add Vercel production deployment workflow

Add GitHub Actions workflow to deploy to Vercel production only when
a GitHub release is published. This integrates with the existing
changesets release flow.

* feat: add deployment checks before promoting to production

Deploy to preview URL first, wait for Vercel deployment checks to pass,
then promote to production. This ensures API health before going live.

* PRD for vercel deployment strategy

* docs: add Vercel staging/production deployment strategy documentation

- Document Production Branch configuration (set to '_disabled_')
- Document GitHub Actions workflow for release-triggered deployments
- Document required secrets (VERCEL_TOKEN, VERCEL_ORG_ID, VERCEL_PROJECT_ID)
- Document optional staging domain configuration
- Add deployment flow diagram and troubleshooting section
- Add secrets documentation comments to workflow file

Completes US-001, US-002, US-003, US-004 from vercel-deployment-strategy PRD.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: update Vercel staging/production strategy to use never-deploy branch

Replace _disabled_ approach (which Vercel doesn't support) with a
never-deploy orphan branch. Update staging domain examples to use
api-staging.agents.yourdomain.com pattern.

* Apply suggestion from @claude[bot]

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* revert: remove Vercel deployment docs changes and PRD

Revert vercel.mdx to main branch version and remove the PRD file.

* feat: deploy both agents-api and agents-manage-ui to Vercel

Update production workflow to deploy both projects in parallel using a
matrix strategy. Each project uses its own secret for the Vercel project ID.

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* remove cursor specific rules in favor or skills and agents.md (#1717)

* chore: trigger release for all packages (#1718)

No-op patch bumps to trigger a new release.

* Version Packages (#1719)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* updating release action (#1720)

* fix: add --scope flag to Vercel CLI commands in production workflow (#1721)

The vercel inspect and promote commands were failing with authorization
errors because VERCEL_ORG_ID as an environment variable isn't used by
the CLI for scope resolution - it requires the --scope flag explicitly.

* fix: use staged production deployments in Vercel workflow (#1722)

- Deploy with --prod --skip-domain to create staged production builds
- This ensures production env vars are used and avoids rebuild on promote
- Add --yes flag to auto-confirm prompts in CI environment
- Fixes issue where promoting preview deployments triggered interactive prompt

* fix: add --archive=tgz to prevent CLI hanging during deploy (#1724)

Large file uploads can cause the Vercel CLI to hang. The --archive=tgz
flag compresses files before upload which resolves this issue.

* fix: use repository variables instead of secrets for non-sensitive values (#1723)

Move TURBO_TEAM and VERCEL_ORG_ID from secrets to vars to prevent
GitHub Actions from masking these values in logs. Secret values are
automatically masked, which was causing "inkeep" to appear as "***"
throughout CI logs.

* fix: simplify Vercel workflow to use direct production deploy (#1725)

- Remove --skip-domain flag which was causing CLI to hang
- Remove separate promote step (--prod auto-assigns domains)
- Simpler, more reliable workflow

* fix: use secrets for VERCEL_ORG_ID (#1726)

* apply review

* pnpm i

* polish

* format

* Rename convert-json-schema-to-zod.ts to convert-json-schema-to-zod.test.ts

* add tests

* wip tests

* wip tests

* wip tests

* upd

* upd

* upd

* upd

* polish error names

* upd

* move to __tests__

* rm jsonSchemaToZod

* rm jsonSchemaToZod

* rm jsonSchemaToZod

* rm jsonSchemaToZod

* format

* chore: add changeset for custom headers validation feature

Co-authored-by: Dimitri POSTOLOV <undefined@users.noreply.github.com>

* chore: add changeset for jsonSchemaToZod removal

Replace custom implementation with Zod's native z.fromJSONSchema() method

Co-authored-by: Dimitri POSTOLOV <dimaMachina@users.noreply.github.com>

* fix lint

* Update validation.test.ts

---------

Co-authored-by: Nick Gomez <122398915+nick-inkeep@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrew Mikofalvy <5668128+amikofalvy@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Dimitri POSTOLOV <undefined@users.noreply.github.com>
Co-authored-by: Dimitri POSTOLOV <dimaMachina@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants