@mcpdesc/validator 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,15 +2,16 @@
2
2
 
3
3
  Isomorphic structural and semantic validation for immutable MCP Description specification snapshots.
4
4
 
5
- Version `0.3.0` cumulatively supports these immutable snapshots:
5
+ Version `0.4.0` cumulatively supports these immutable snapshots and is intended for npm `latest` after the Draft 4 specification tag and package tarball are reviewed.
6
6
 
7
7
  | Selector | Tag | Embedded schema SHA-256 |
8
8
  |---|---|---|
9
9
  | `0.8.0-draft.1` | `v0.8.0-draft.1` | `4ceb6042c3fd31703199cd3db869ec5c35c17d2fe9ab7b2f5b96a2a3af0cebe4` |
10
10
  | `0.8.0-draft.2` | `v0.8.0-draft.2` | `ab692c1a5a0f7e5f29be1940aa8c64a56d4620be0a19d00cf0a64680b7e517fa` |
11
11
  | `0.8.0-draft.3` | `v0.8.0-draft.3` | `8823c1f1946360b2a44d00920e2092e5e4acd139a1964befad4eb0bf3ce96002` |
12
+ | `0.8.0-draft.4` | `v0.8.0-draft.4` | `93ed03f74059b5b3ce7509a96b59161bdab2c3cf7734397a9bec5a7588d0b03b` |
12
13
 
13
- This cumulative release is intended to receive the npm `latest` dist-tag after the Draft 3 tag and tarball are reviewed. Repository changes alone do not publish the package or create either tag.
14
+ Repository changes alone do not publish the package or create specification or validator tags.
14
15
 
15
16
  ## Usage
16
17
 
@@ -18,7 +19,7 @@ This cumulative release is intended to receive the npm `latest` dist-tag after t
18
19
  import { validateMcpDescription } from '@mcpdesc/validator';
19
20
 
20
21
  const result = validateMcpDescription(parsedDocument, {
21
- specification: '0.8.0-draft.3'
22
+ specification: '0.8.0-draft.4'
22
23
  });
23
24
 
24
25
  if (!result.valid) {
@@ -52,7 +53,7 @@ Structural paths start with AJV's instance path. A `required` error appends its
52
53
 
53
54
  ## Support metadata
54
55
 
55
- The package exports frozen `supportedSpecifications`, `supportedProtocolVersions`, and `specificationProvenance` values. Public validation dispatches through a registry keyed by exact specification selectors. The current selector set is `0.8.0-draft.1`, `0.8.0-draft.2`, and `0.8.0-draft.3`; the protocol-version export is the deduplicated union supported by those snapshots.
56
+ The package exports frozen `supportedSpecifications`, `supportedProtocolVersions`, and `specificationProvenance` values. Public validation dispatches through a registry keyed by exact specification selectors. The current repository selector set is `0.8.0-draft.1`, `0.8.0-draft.2`, `0.8.0-draft.3`, and `0.8.0-draft.4`; the protocol-version export is the deduplicated union supported by those snapshots.
56
57
 
57
58
  npm package SemVer tracks implementation releases independently from specification snapshot identity. Adding a later snapshot is additive: it must use a sibling implementation and selector rather than changing an existing snapshot's schema, semantics, metadata, fixtures, or results.
58
59
 
package/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type McpDescriptionSpecification = '0.8.0-draft.1' | '0.8.0-draft.2' | '0.8.0-draft.3';
1
+ export type McpDescriptionSpecification = '0.8.0-draft.1' | '0.8.0-draft.2' | '0.8.0-draft.3' | '0.8.0-draft.4';
2
2
 
3
3
  export type SupportedProtocolVersion =
4
4
  | '2024-11-05'
@@ -38,9 +38,13 @@ export interface SpecificationProvenance {
38
38
  readonly snapshotTag: 'v0.8.0-draft.3';
39
39
  readonly schemaSha256: '8823c1f1946360b2a44d00920e2092e5e4acd139a1964befad4eb0bf3ce96002';
40
40
  };
41
+ readonly '0.8.0-draft.4': {
42
+ readonly snapshotTag: 'v0.8.0-draft.4';
43
+ readonly schemaSha256: '93ed03f74059b5b3ce7509a96b59161bdab2c3cf7734397a9bec5a7588d0b03b';
44
+ };
41
45
  }
42
46
 
43
- export declare const supportedSpecifications: readonly ['0.8.0-draft.1', '0.8.0-draft.2', '0.8.0-draft.3'];
47
+ export declare const supportedSpecifications: readonly ['0.8.0-draft.1', '0.8.0-draft.2', '0.8.0-draft.3', '0.8.0-draft.4'];
44
48
 
45
49
  export declare const supportedProtocolVersions: readonly [
46
50
  '2024-11-05',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcpdesc/validator",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Structural and semantic validation for MCP Description snapshots",
5
5
  "type": "module",
6
6
  "types": "./index.d.ts",
package/src/index.js CHANGED
@@ -1,11 +1,13 @@
1
1
  import * as draft1 from './snapshots/0.8.0-draft.1/index.js';
2
2
  import * as draft2 from './snapshots/0.8.0-draft.2/index.js';
3
3
  import * as draft3 from './snapshots/0.8.0-draft.3/index.js';
4
+ import * as draft4 from './snapshots/0.8.0-draft.4/index.js';
4
5
 
5
6
  const snapshots = Object.freeze({
6
7
  [draft1.specification]: draft1,
7
8
  [draft2.specification]: draft2,
8
- [draft3.specification]: draft3
9
+ [draft3.specification]: draft3,
10
+ [draft4.specification]: draft4
9
11
  });
10
12
 
11
13
  export const supportedSpecifications = Object.freeze(Object.keys(snapshots));