Commit graph mcpb/src
Author SHA1 Message Date
Alexander Sklar
443d849420
Refactor manifest schema to replace static_responses and client_extensions with _meta for improved organization 2025-10-10 16:43:33 -07:00
Alexander Sklar
90c18ca9fb
Add static_responses and client_extensions to manifest schema and tests 2025-10-10 16:43:03 -07:00
Joan Xie
232e6b3f91
improve schema validation logs 2025-09-22 15:17:16 -07:00
Joan Xie
f92fe4ab69
feat: validate manifest version during pack command
Add validation to ensure the manifest_version matches the current expected
version (0.2) during the mcpb pack command. This prevents users from
packing extensions with outdated or incorrect manifest versions.

Changes:
- Add CURRENT_MANIFEST_VERSION constant to centralize version management
- Validate manifest version in pack command before creating bundle
- Update init command to use version constant
- Update tests to use version constant
- Fix prettier formatting issues
2025-09-22 14:43:28 -07:00
Joan Xie
a48002ec69
feat: add privacy_policies field to manifest schema
Add optional privacy_policies array field to manifest.json that allows
developers to declare their data handling practices. This field accepts
an array of privacy policy statements that describe how the extension
collects, uses, and protects user data.

- Update manifest schema to include privacy_policies field
- Add empty privacy_policies array to all example manifests
- Document the new field in MANIFEST.md
2025-09-12 11:53:11 -07:00
Joan Xie
5a46a05108
Revert "feat: replace manifest_version with $schema field"
This reverts commit 7997e72758.
2025-08-27 11:24:18 -07:00
Joan Xie
7997e72758
feat: replace manifest_version with $schema field
- Replace manifest_version with $schema field pointing to official schema URL
- Support backward compatibility with legacy dxt_version field
- Update all examples and tests to use new $schema field
- Mark dxt_version as deprecated but still functional
- Require either $schema or dxt_version (at least one must be present)
2025-08-27 10:38:57 -07:00
Joan Xie
76949836e0
fix: update schema to reflect manifest_version 2025-08-25 21:09:45 -07:00
Joan Xie
0b2658f5b0
lint 2025-08-21 15:28:01 -07:00
Joan Xie
e1938b9933
rename dxt -> mcpb 2025-08-21 14:56:54 -07:00
Felix Rieseberg
bf01918080
fix: allow repeat runs of "dxt clean" (#83) 2025-07-31 13:07:28 -07:00
Jacob
b062c0efad
fix: missing extension directory prefix in 'mcp_config' of python (#80) 2025-07-23 09:55:54 -07:00
Felix Rieseberg
7c9d61d9e6
chore: A round of "yarn fix" for everyone (#75) 2025-07-18 10:09:52 -07:00
David Dworken
08b34f4f76
fix: prevent zip slip attacks in DXT unpack function (#74)
* fix: prevent zip slip attacks in DXT unpack function

Add path validation to prevent directory traversal attacks when unpacking DXT files.
The fix validates that extracted file paths remain within the intended output directory
before writing files to disk.

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

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

* fix: make zip slip protection cross-platform compatible

Use path.sep instead of hardcoded '/' separator to ensure path validation
works correctly on both Windows and Unix systems. This fixes failing tests
on Windows while maintaining security protection against directory traversal.

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

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

---------

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-18 09:35:32 -07:00
Samuel Attard
505c81a258
feat: add clean command to clean manifest and trip dev deps for node (#67)
* feat: add clean command to clean manifest and trip dev deps for node

* fix: lazy import no loop

* Update src/cli/cli.ts

Co-authored-by: Felix Rieseberg <f@anthropic.com>

---------

Co-authored-by: Felix Rieseberg <f@anthropic.com>
2025-07-11 15:30:08 -07:00
Samuel Attard
9523b5af19
fix: strictly validate manifests (#66)
* fix: strictly validate manifests

* spec: align tests with strict schema
2025-07-11 14:36:52 -07:00
Samuel Attard
2dcc7efe6f
fix: handle invalid values in arrays (#61) 2025-07-10 16:10:48 -07:00
Felix Rieseberg
e2a87144e9
fix: Go back to zod/v3 (#59) 2025-07-10 15:31:26 -07:00
Erik Brakke
83b5a773ae
fix: preserve file permissions during unpack operation (#43)
- Parse ZIP central directory to extract Unix file permissions
- Restore executable permissions using chmodSync after unpacking files
- Skip permission restoration on Windows (Unix-only feature)
- Add comprehensive test to verify executable and regular file permissions are preserved
- Fix test setup to use npm instead of yarn for consistent build process

Fixes issue where executable files lose their execute permissions after being packed and unpacked, which is critical for extensions containing binary executables or shell scripts.

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

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-10 09:09:07 -07:00
Felix Rieseberg
3c1bb1c25e
chore: 0.2.1 (#53)
* chore: Lint

* chore: 0.2.1
2025-07-08 16:22:47 -07:00
Alex Yang
ac2df7c157
chore: update tsconfig (#51) 2025-07-08 15:49:07 -07:00
Samuel Attard
2654e313b9
feat: also emit dxt signature info schema (#44) 2025-07-06 16:35:55 -07:00
Samuel Attard
9ce2d6fd0e
fix: move to standard ignore implementation (#50) 2025-07-06 16:35:24 -07:00
Alex Yang
9849e046a9
feat: emit json schema in npm package 2025-07-03 15:45:39 -07:00
Suyog Sonwalkar
2c1d058085
Adding unpack as cli command and exposing via index.ts for typescript usage. (#5) 2025-06-28 16:41:53 -07:00
Andrew A. Johnson
b22675cef9
fix: maintain unix file permissions from file read to zip options (#14) 2025-06-28 16:41:10 -07:00
Felix Rieseberg
3a2984409e
feat: Ignore .env files, too (#23) 2025-06-28 16:11:39 -07:00
Felix Rieseberg
e192e488c3
feat: Negation patterns (#24) 2025-06-28 16:11:32 -07:00
Felix Rieseberg
0172c07623
🚀 Hello World 2025-06-26 08:38:59 -07:00