-
Notifications
You must be signed in to change notification settings - Fork 161
feat: introduce v1.0 schema and remove loose schemas #142
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
joan-anthropic
commented
Oct 31, 2025
- Create v1.0 manifest schema without dxt_version field
- Remove schemas_loose directory and use passthrough() instead
- Update latest schema to v1.0
- Generate v1.0 JSON schema exports
- Update package.json exports (remove schemas-loose, add v1.0 schema)
- Update all tests to use v1.0 manifest version
- All tests passing
- Create v1.0 manifest schema without dxt_version field - Remove schemas_loose directory and use passthrough() instead - Update latest schema to v1.0 - Generate v1.0 JSON schema exports - Update package.json exports (remove schemas-loose, add v1.0 schema) - Update all tests to use v1.0 manifest version - All tests passing
MarshallOfSound
previously approved these changes
Oct 31, 2025
- Update LATEST_MANIFEST_SCHEMA to LatestMcpbManifestSchema in pack.ts and validate.ts - Fix test imports to use LatestMcpbManifestSchema alias - Add type annotations to fix implicit any type errors - All tests now passing (109/109) π€ Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Remove explicit any type annotations (use inference) - Auto-fix import/export sorting - Auto-fix prettier formatting issues π€ Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Rename `any` to `vAny` for consistency with version naming (v0_1, v0_2, etc.) - Rename `latest` to `vLatest` to match the pattern - Makes the exports more semantically clear and consistent π€ Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Remove .refine() from v0.1, v0.2, v0.3 schemas (validation now happens via preprocessing) - Add preprocessing to normalize dxt_version to manifest_version - Create wrapper schemas with required manifest_version for discriminatedUnion - Use z.discriminatedUnion for O(1) version detection instead of O(n) union - Add McpbManifest type alias for backward compatibility (deprecated) - Significantly improves TypeScript performance and type inference This addresses the performance issue where z.union() with 4 complex schemas creates types that TypeScript can't handle efficiently. The discriminated union allows Zod to quickly determine which schema to validate against based on the manifest_version field. π€ Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
- Revert McpbManifest -> McpbManifestAny rename - Keep original McpbManifest export name from 1.2.0 - Ensures no breaking changes for consumers π€ Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.