Skip to content

Conversation

@joan-anthropic
Copy link
Contributor

@joan-anthropic joan-anthropic commented Sep 24, 2025

Restructures manifest validation schemas into separate versioned folders (schemas/ and schemas_loose/) to support multiple manifest versions and enable strict/loose validation modes.

Schema Organization

  • schemas/ - Strict validation schemas (use z.strictObject())

    • 0.1.ts - v0.1 strict schema (no privacy_policies)
    • 0.2.ts - v0.2 strict schema (adds privacy_policies with URL validation)
    • index.ts - Exports all versions as namespaced modules
  • schemas_loose/ - Loose validation schemas (use z.object() with .passthrough())

    • 0.1.ts - v0.1 loose schema
    • 0.2.ts - v0.2 loose schema
    • index.ts - Exports all versions as namespaced modules

joan-anthropic and others added 2 commits September 24, 2025 13:42
- Move schemas.ts and schemas-loose.ts into separate versioned folders
- Create schemas/0.1.ts and schemas/0.2.ts for strict validation
- Create schemas_loose/0.1.ts and schemas_loose/0.2.ts for loose validation
- Add index files to export all historical schema versions
- Update all imports to use schemas/0.2.ts
- Enforce exact version values using z.literal() for both v0.1 and v0.2
- Remove dxt_version support from v0.2 schemas
- Remove all passthrough() from v0.2 strict schemas
- Validate privacy_policies as URLs in v0.2

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
…est version

- Create src/schemas.ts to re-export from schemas/index.ts for test imports
- Update test manifests to use manifest_version "0.2" instead of "1.0" or "1.0.0"
- Fix import sorting and formatting issues in schema files
- Export McpbManifestSchema from schemas/index.ts
- Add schemas/latest.ts and schemas_loose/latest.ts as aliases to current version
- Update constants.ts to use latest.ts instead of hardcoded version imports
- This makes version updates easier - only need to update latest.ts pointer
…mas/0.2

- Update src/index.ts, types.ts, browser.ts, cli.ts, and node.ts
- All package entrypoints now use latest.ts for easier version management
- Rename CURRENT_MANIFEST_VERSION to LATEST_MANIFEST_VERSION
- Rename CURRENT_MANIFEST_SCHEMA to LATEST_MANIFEST_SCHEMA
- Rename CURRENT_MANIFEST_SCHEMA_LOOSE to LATEST_MANIFEST_SCHEMA_LOOSE
- Update all references throughout codebase and tests
- Remove src/schemas.ts file
- Update tests to import directly from src/schemas/index.js
@joan-anthropic joan-anthropic requested a review from a team September 24, 2025 21:32
@joan-anthropic joan-anthropic merged commit d595dd6 into main Oct 21, 2025
6 checks passed
bthompson-sys pushed a commit to bthompson-sys/mcpb that referenced this pull request Oct 28, 2025
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