@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 +5 -4
- package/index.d.ts +6 -2
- package/package.json +1 -1
- package/src/index.js +3 -1
- package/src/snapshots/0.8.0-draft.4/base.js +1397 -0
- package/src/snapshots/0.8.0-draft.4/index.js +17 -0
- package/src/snapshots/0.8.0-draft.4/schema.json +2820 -0
- package/src/snapshots/0.8.0-draft.4/semantic.js +960 -0
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.
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
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));
|