@kya-os/mcp-i-core 1.0.0 → 1.1.1-canary.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 +33 -0
- package/dist/__tests__/utils/mock-providers.d.ts +102 -0
- package/dist/__tests__/utils/mock-providers.d.ts.map +1 -0
- package/dist/__tests__/utils/mock-providers.js +270 -0
- package/dist/__tests__/utils/mock-providers.js.map +1 -0
- package/dist/cache/tool-protection-cache.d.ts +73 -0
- package/dist/cache/tool-protection-cache.d.ts.map +1 -0
- package/dist/cache/tool-protection-cache.js +83 -0
- package/dist/cache/tool-protection-cache.js.map +1 -0
- package/dist/compliance/index.d.ts +8 -0
- package/dist/compliance/index.d.ts.map +1 -0
- package/dist/compliance/index.js +24 -0
- package/dist/compliance/index.js.map +1 -0
- package/dist/compliance/schema-registry.d.ts +50 -0
- package/dist/compliance/schema-registry.d.ts.map +1 -0
- package/dist/compliance/schema-registry.js +438 -0
- package/dist/compliance/schema-registry.js.map +1 -0
- package/dist/compliance/schema-verifier-v2.d.ts +110 -0
- package/dist/compliance/schema-verifier-v2.d.ts.map +1 -0
- package/dist/compliance/schema-verifier-v2.js +510 -0
- package/dist/compliance/schema-verifier-v2.js.map +1 -0
- package/dist/compliance/schema-verifier.d.ts +110 -0
- package/dist/compliance/schema-verifier.d.ts.map +1 -0
- package/dist/compliance/schema-verifier.js +518 -0
- package/dist/compliance/schema-verifier.js.map +1 -0
- package/dist/delegation/bitstring.d.ts +139 -0
- package/dist/delegation/bitstring.d.ts.map +1 -0
- package/dist/delegation/bitstring.js +213 -0
- package/dist/delegation/bitstring.js.map +1 -0
- package/dist/delegation/cascading-revocation.d.ts +162 -0
- package/dist/delegation/cascading-revocation.d.ts.map +1 -0
- package/dist/delegation/cascading-revocation.js +263 -0
- package/dist/delegation/cascading-revocation.js.map +1 -0
- package/dist/delegation/delegation-graph.d.ts +178 -0
- package/dist/delegation/delegation-graph.d.ts.map +1 -0
- package/dist/delegation/delegation-graph.js +209 -0
- package/dist/delegation/delegation-graph.js.map +1 -0
- package/dist/delegation/index.d.ts +14 -0
- package/dist/delegation/index.d.ts.map +1 -0
- package/dist/delegation/index.js +30 -0
- package/dist/delegation/index.js.map +1 -0
- package/dist/delegation/statuslist-manager.d.ts +148 -0
- package/dist/delegation/statuslist-manager.d.ts.map +1 -0
- package/dist/delegation/statuslist-manager.js +221 -0
- package/dist/delegation/statuslist-manager.js.map +1 -0
- package/dist/delegation/storage/index.d.ts +9 -0
- package/dist/delegation/storage/index.d.ts.map +1 -0
- package/dist/delegation/storage/index.js +25 -0
- package/dist/delegation/storage/index.js.map +1 -0
- package/dist/delegation/storage/memory-graph-storage.d.ts +70 -0
- package/dist/delegation/storage/memory-graph-storage.d.ts.map +1 -0
- package/dist/delegation/storage/memory-graph-storage.js +149 -0
- package/dist/delegation/storage/memory-graph-storage.js.map +1 -0
- package/dist/delegation/storage/memory-statuslist-storage.d.ts +49 -0
- package/dist/delegation/storage/memory-statuslist-storage.d.ts.map +1 -0
- package/dist/delegation/storage/memory-statuslist-storage.js +67 -0
- package/dist/delegation/storage/memory-statuslist-storage.js.map +1 -0
- package/dist/delegation/utils.d.ts +19 -0
- package/dist/delegation/utils.d.ts.map +1 -0
- package/dist/delegation/utils.js +48 -0
- package/dist/delegation/utils.js.map +1 -0
- package/dist/delegation/vc-issuer.d.ts +135 -0
- package/dist/delegation/vc-issuer.d.ts.map +1 -0
- package/dist/delegation/vc-issuer.js +140 -0
- package/dist/delegation/vc-issuer.js.map +1 -0
- package/dist/delegation/vc-verifier.d.ts +213 -0
- package/dist/delegation/vc-verifier.d.ts.map +1 -0
- package/dist/delegation/vc-verifier.js +354 -0
- package/dist/delegation/vc-verifier.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +64 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/base.d.ts +1 -1
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/memory.js +2 -2
- package/dist/providers/memory.js.map +1 -1
- package/dist/runtime/base.d.ts +23 -0
- package/dist/runtime/base.d.ts.map +1 -1
- package/dist/runtime/base.js +135 -12
- package/dist/runtime/base.js.map +1 -1
- package/dist/services/tool-protection.service.d.ts +55 -0
- package/dist/services/tool-protection.service.d.ts.map +1 -0
- package/dist/services/tool-protection.service.js +158 -0
- package/dist/services/tool-protection.service.js.map +1 -0
- package/dist/types/tool-protection.d.ts +103 -0
- package/dist/types/tool-protection.d.ts.map +1 -0
- package/dist/types/tool-protection.js +41 -0
- package/dist/types/tool-protection.js.map +1 -0
- package/dist/utils/cors.d.ts +44 -0
- package/dist/utils/cors.d.ts.map +1 -0
- package/dist/utils/cors.js +71 -0
- package/dist/utils/cors.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +11 -6
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema Registry
|
|
3
|
+
*
|
|
4
|
+
* Canonical list of all schemas from schemas.kya-os.ai
|
|
5
|
+
* Used for automated compliance verification.
|
|
6
|
+
*
|
|
7
|
+
* Auto-generated from https://schemas.kya-os.ai/schema-index.json
|
|
8
|
+
* Last updated: 2025-10-17
|
|
9
|
+
*/
|
|
10
|
+
import type { SchemaMetadata } from './schema-verifier';
|
|
11
|
+
/**
|
|
12
|
+
* Complete registry of schemas from schemas.kya-os.ai
|
|
13
|
+
*
|
|
14
|
+
* As of 2025-10-17, there are 38 schemas covering:
|
|
15
|
+
* - W3C Verifiable Credentials
|
|
16
|
+
* - MCP-I Protocol (Handshake, Proof, Session)
|
|
17
|
+
* - Delegation System
|
|
18
|
+
* - Agent Registry
|
|
19
|
+
* - CLI & Runtime
|
|
20
|
+
* - TLKRC (Tool-Level Key Rotation)
|
|
21
|
+
*/
|
|
22
|
+
export declare const SCHEMA_REGISTRY: SchemaMetadata[];
|
|
23
|
+
/**
|
|
24
|
+
* Get all schemas
|
|
25
|
+
*/
|
|
26
|
+
export declare function getAllSchemas(): SchemaMetadata[];
|
|
27
|
+
/**
|
|
28
|
+
* Get schemas by category
|
|
29
|
+
*/
|
|
30
|
+
export declare function getSchemasByCategory(category: string): SchemaMetadata[];
|
|
31
|
+
/**
|
|
32
|
+
* Get schema by ID
|
|
33
|
+
*/
|
|
34
|
+
export declare function getSchemaById(id: string): SchemaMetadata | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Get critical schemas (must be 100% compliant)
|
|
37
|
+
*
|
|
38
|
+
* These are the core schemas that power the MCP-I protocol and must
|
|
39
|
+
* be fully compliant for the system to function correctly.
|
|
40
|
+
*/
|
|
41
|
+
export declare function getCriticalSchemas(): SchemaMetadata[];
|
|
42
|
+
/**
|
|
43
|
+
* Get schema statistics
|
|
44
|
+
*/
|
|
45
|
+
export declare function getSchemaStats(): {
|
|
46
|
+
total: number;
|
|
47
|
+
byCategory: Record<string, number>;
|
|
48
|
+
byVersion: Record<string, number>;
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=schema-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-registry.d.ts","sourceRoot":"","sources":["../../src/compliance/schema-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,cAAc,EA+S3C,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,IAAI,cAAc,EAAE,CAEhD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAsDvE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAsBrD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAmBA"}
|
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Schema Registry
|
|
4
|
+
*
|
|
5
|
+
* Canonical list of all schemas from schemas.kya-os.ai
|
|
6
|
+
* Used for automated compliance verification.
|
|
7
|
+
*
|
|
8
|
+
* Auto-generated from https://schemas.kya-os.ai/schema-index.json
|
|
9
|
+
* Last updated: 2025-10-17
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SCHEMA_REGISTRY = void 0;
|
|
13
|
+
exports.getAllSchemas = getAllSchemas;
|
|
14
|
+
exports.getSchemasByCategory = getSchemasByCategory;
|
|
15
|
+
exports.getSchemaById = getSchemaById;
|
|
16
|
+
exports.getCriticalSchemas = getCriticalSchemas;
|
|
17
|
+
exports.getSchemaStats = getSchemaStats;
|
|
18
|
+
const SCHEMAS_BASE_URL = 'https://schemas.kya-os.ai/xmcp-i';
|
|
19
|
+
/**
|
|
20
|
+
* Complete registry of schemas from schemas.kya-os.ai
|
|
21
|
+
*
|
|
22
|
+
* As of 2025-10-17, there are 38 schemas covering:
|
|
23
|
+
* - W3C Verifiable Credentials
|
|
24
|
+
* - MCP-I Protocol (Handshake, Proof, Session)
|
|
25
|
+
* - Delegation System
|
|
26
|
+
* - Agent Registry
|
|
27
|
+
* - CLI & Runtime
|
|
28
|
+
* - TLKRC (Tool-Level Key Rotation)
|
|
29
|
+
*/
|
|
30
|
+
exports.SCHEMA_REGISTRY = [
|
|
31
|
+
// ===================================================================
|
|
32
|
+
// W3C Verifiable Credentials
|
|
33
|
+
// ===================================================================
|
|
34
|
+
{
|
|
35
|
+
id: 'verifiable-credential',
|
|
36
|
+
url: `${SCHEMAS_BASE_URL}/vc/verifiable-credential.v1.0.0.json`,
|
|
37
|
+
version: '1.0.0',
|
|
38
|
+
type: 'VerifiableCredential',
|
|
39
|
+
description: 'W3C Verifiable Credential Data Model',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: 'verifiable-presentation',
|
|
43
|
+
url: `${SCHEMAS_BASE_URL}/vc/verifiable-presentation.v1.0.0.json`,
|
|
44
|
+
version: '1.0.0',
|
|
45
|
+
type: 'VerifiablePresentation',
|
|
46
|
+
description: 'W3C Verifiable Presentation',
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
id: 'statuslist2021-credential',
|
|
50
|
+
url: `${SCHEMAS_BASE_URL}/vc/statuslist-2021-credential.v1.0.0.json`,
|
|
51
|
+
version: '1.0.0',
|
|
52
|
+
type: 'StatusList2021Credential',
|
|
53
|
+
description: 'StatusList2021 Credential for efficient revocation',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: 'statuslist2021-credential-subject',
|
|
57
|
+
url: `${SCHEMAS_BASE_URL}/vc/statuslist-2021-credential-subject.v1.0.0.json`,
|
|
58
|
+
version: '1.0.0',
|
|
59
|
+
type: 'StatusList2021CredentialSubject',
|
|
60
|
+
description: 'StatusList2021 Credential Subject',
|
|
61
|
+
},
|
|
62
|
+
// ===================================================================
|
|
63
|
+
// Delegation Credentials
|
|
64
|
+
// ===================================================================
|
|
65
|
+
{
|
|
66
|
+
id: 'delegation-credential',
|
|
67
|
+
url: `${SCHEMAS_BASE_URL}/credentials/delegation/v1.0.0.json`,
|
|
68
|
+
version: '1.0.0',
|
|
69
|
+
type: 'DelegationCredential',
|
|
70
|
+
description: 'W3C VC-based delegation credential',
|
|
71
|
+
},
|
|
72
|
+
// ===================================================================
|
|
73
|
+
// Delegation System
|
|
74
|
+
// ===================================================================
|
|
75
|
+
{
|
|
76
|
+
id: 'delegation-record',
|
|
77
|
+
url: `${SCHEMAS_BASE_URL}/delegation/delegation-record.v1.0.0.json`,
|
|
78
|
+
version: '1.0.0',
|
|
79
|
+
type: 'DelegationRecord',
|
|
80
|
+
description: 'Internal delegation record',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: 'delegation-constraints',
|
|
84
|
+
url: `${SCHEMAS_BASE_URL}/delegation/constraints.v1.0.0.json`,
|
|
85
|
+
version: '1.0.0',
|
|
86
|
+
type: 'DelegationConstraints',
|
|
87
|
+
description: 'CRISP constraints for delegations',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
id: 'delegation-chain',
|
|
91
|
+
url: `${SCHEMAS_BASE_URL}/delegation/delegation-chain.v1.0.0.json`,
|
|
92
|
+
version: '1.0.0',
|
|
93
|
+
type: 'DelegationChain',
|
|
94
|
+
description: 'Delegation chain for hierarchy tracking',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
id: 'delegation-creation-request',
|
|
98
|
+
url: `${SCHEMAS_BASE_URL}/delegation/delegation-creation-request.v1.0.0.json`,
|
|
99
|
+
version: '1.0.0',
|
|
100
|
+
type: 'DelegationCreationRequest',
|
|
101
|
+
description: 'Request to create a delegation',
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: 'delegation-verification-result',
|
|
105
|
+
url: `${SCHEMAS_BASE_URL}/delegation/delegation-verification-result.v1.0.0.json`,
|
|
106
|
+
version: '1.0.0',
|
|
107
|
+
type: 'DelegationVerificationResult',
|
|
108
|
+
description: 'Result of delegation verification',
|
|
109
|
+
},
|
|
110
|
+
// ===================================================================
|
|
111
|
+
// MCP-I Protocol - Handshake
|
|
112
|
+
// ===================================================================
|
|
113
|
+
{
|
|
114
|
+
id: 'handshake-request',
|
|
115
|
+
url: `${SCHEMAS_BASE_URL}/handshake/handshake-request.v1.0.0.json`,
|
|
116
|
+
version: '1.0.0',
|
|
117
|
+
type: 'HandshakeRequest',
|
|
118
|
+
description: 'MCP-I handshake request',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
id: 'session-context',
|
|
122
|
+
url: `${SCHEMAS_BASE_URL}/handshake/session-context.v1.0.0.json`,
|
|
123
|
+
version: '1.0.0',
|
|
124
|
+
type: 'SessionContext',
|
|
125
|
+
description: 'MCP-I session context',
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
id: 'nonce-cache-config',
|
|
129
|
+
url: `${SCHEMAS_BASE_URL}/handshake/nonce-cache-config.v1.0.0.json`,
|
|
130
|
+
version: '1.0.0',
|
|
131
|
+
type: 'NonceCacheConfig',
|
|
132
|
+
description: 'Nonce cache configuration',
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: 'nonce-cache-entry',
|
|
136
|
+
url: `${SCHEMAS_BASE_URL}/handshake/nonce-cache-entry.v1.0.0.json`,
|
|
137
|
+
version: '1.0.0',
|
|
138
|
+
type: 'NonceCacheEntry',
|
|
139
|
+
description: 'Nonce cache entry for replay protection',
|
|
140
|
+
},
|
|
141
|
+
// ===================================================================
|
|
142
|
+
// MCP-I Protocol - Proof
|
|
143
|
+
// ===================================================================
|
|
144
|
+
{
|
|
145
|
+
id: 'detached-proof',
|
|
146
|
+
url: `${SCHEMAS_BASE_URL}/proof/detached-proof.v1.0.0.json`,
|
|
147
|
+
version: '1.0.0',
|
|
148
|
+
type: 'DetachedProof',
|
|
149
|
+
description: 'MCP-I detached proof with JWS',
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
id: 'proof-meta',
|
|
153
|
+
url: `${SCHEMAS_BASE_URL}/proof/proof-meta.v1.0.0.json`,
|
|
154
|
+
version: '1.0.0',
|
|
155
|
+
type: 'ProofMeta',
|
|
156
|
+
description: 'Metadata for MCP-I proofs',
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
id: 'proof',
|
|
160
|
+
url: `${SCHEMAS_BASE_URL}/proof/v1.0.0.json`,
|
|
161
|
+
version: '1.0.0',
|
|
162
|
+
type: 'Proof',
|
|
163
|
+
description: 'Generic proof structure',
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
id: 'proof-w3c',
|
|
167
|
+
url: `${SCHEMAS_BASE_URL}/proof/w3c/v1.0.0.json`,
|
|
168
|
+
version: '1.0.0',
|
|
169
|
+
type: 'W3CProof',
|
|
170
|
+
description: 'W3C-compliant proof',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
id: 'audit-record',
|
|
174
|
+
url: `${SCHEMAS_BASE_URL}/proof/audit-record.v1.0.0.json`,
|
|
175
|
+
version: '1.0.0',
|
|
176
|
+
type: 'AuditRecord',
|
|
177
|
+
description: 'Audit trail record',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
id: 'canonical-hashes',
|
|
181
|
+
url: `${SCHEMAS_BASE_URL}/proof/canonical-hashes.v1.0.0.json`,
|
|
182
|
+
version: '1.0.0',
|
|
183
|
+
type: 'CanonicalHashes',
|
|
184
|
+
description: 'Canonical hashes for proof generation',
|
|
185
|
+
},
|
|
186
|
+
// ===================================================================
|
|
187
|
+
// Agent Registry
|
|
188
|
+
// ===================================================================
|
|
189
|
+
{
|
|
190
|
+
id: 'registration-input',
|
|
191
|
+
url: `${SCHEMAS_BASE_URL}/registry/registration-input.v1.0.0.json`,
|
|
192
|
+
version: '1.0.0',
|
|
193
|
+
type: 'RegistrationInput',
|
|
194
|
+
description: 'Agent registration input',
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
id: 'registration-result',
|
|
198
|
+
url: `${SCHEMAS_BASE_URL}/registry/registration-result.v1.0.0.json`,
|
|
199
|
+
version: '1.0.0',
|
|
200
|
+
type: 'RegistrationResult',
|
|
201
|
+
description: 'Agent registration result',
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
id: 'agent-status',
|
|
205
|
+
url: `${SCHEMAS_BASE_URL}/registry/agent-status.v1.0.0.json`,
|
|
206
|
+
version: '1.0.0',
|
|
207
|
+
type: 'AgentStatus',
|
|
208
|
+
description: 'Agent status information',
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
id: 'claim-token',
|
|
212
|
+
url: `${SCHEMAS_BASE_URL}/registry/claim-token.v1.0.0.json`,
|
|
213
|
+
version: '1.0.0',
|
|
214
|
+
type: 'ClaimToken',
|
|
215
|
+
description: 'Token for claiming agent ownership',
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
id: 'delegation-request',
|
|
219
|
+
url: `${SCHEMAS_BASE_URL}/registry/delegation-request.v1.0.0.json`,
|
|
220
|
+
version: '1.0.0',
|
|
221
|
+
type: 'DelegationRequest',
|
|
222
|
+
description: 'Registry delegation request',
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
id: 'delegation-response',
|
|
226
|
+
url: `${SCHEMAS_BASE_URL}/registry/delegation-response.v1.0.0.json`,
|
|
227
|
+
version: '1.0.0',
|
|
228
|
+
type: 'DelegationResponse',
|
|
229
|
+
description: 'Registry delegation response',
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
id: 'registry-delegation',
|
|
233
|
+
url: `${SCHEMAS_BASE_URL}/registry/delegation.v1.0.0.json`,
|
|
234
|
+
version: '1.0.0',
|
|
235
|
+
type: 'RegistryDelegation',
|
|
236
|
+
description: 'Registry delegation object',
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
id: 'mirror-status',
|
|
240
|
+
url: `${SCHEMAS_BASE_URL}/registry/mirror-status.v1.0.0.json`,
|
|
241
|
+
version: '1.0.0',
|
|
242
|
+
type: 'MirrorStatus',
|
|
243
|
+
description: 'Registry mirror status',
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
id: 'receipt',
|
|
247
|
+
url: `${SCHEMAS_BASE_URL}/registry/receipt.v1.0.0.json`,
|
|
248
|
+
version: '1.0.0',
|
|
249
|
+
type: 'Receipt',
|
|
250
|
+
description: 'Registry receipt',
|
|
251
|
+
},
|
|
252
|
+
// ===================================================================
|
|
253
|
+
// Runtime
|
|
254
|
+
// ===================================================================
|
|
255
|
+
{
|
|
256
|
+
id: 'authorization-display',
|
|
257
|
+
url: `${SCHEMAS_BASE_URL}/runtime/authorization-display.v1.0.0.json`,
|
|
258
|
+
version: '1.0.0',
|
|
259
|
+
type: 'AuthorizationDisplay',
|
|
260
|
+
description: 'Authorization display information',
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
id: 'needs-authorization-error',
|
|
264
|
+
url: `${SCHEMAS_BASE_URL}/runtime/needs-authorization-error.v1.0.0.json`,
|
|
265
|
+
version: '1.0.0',
|
|
266
|
+
type: 'NeedsAuthorizationError',
|
|
267
|
+
description: 'Error indicating authorization is needed',
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
id: 'runtime-error',
|
|
271
|
+
url: `${SCHEMAS_BASE_URL}/runtime/runtime-error.v1.0.0.json`,
|
|
272
|
+
version: '1.0.0',
|
|
273
|
+
type: 'RuntimeError',
|
|
274
|
+
description: 'Generic runtime error',
|
|
275
|
+
},
|
|
276
|
+
// ===================================================================
|
|
277
|
+
// CLI
|
|
278
|
+
// ===================================================================
|
|
279
|
+
{
|
|
280
|
+
id: 'register-output',
|
|
281
|
+
url: `${SCHEMAS_BASE_URL}/cli/register-output/v1.0.0.json`,
|
|
282
|
+
version: '1.0.0',
|
|
283
|
+
type: 'RegisterOutput',
|
|
284
|
+
description: 'CLI registration output',
|
|
285
|
+
},
|
|
286
|
+
// ===================================================================
|
|
287
|
+
// TLKRC (Tool-Level Key Rotation)
|
|
288
|
+
// ===================================================================
|
|
289
|
+
{
|
|
290
|
+
id: 'rotation-chain',
|
|
291
|
+
url: `${SCHEMAS_BASE_URL}/tlkrc/rotation-chain.v1.0.0.json`,
|
|
292
|
+
version: '1.0.0',
|
|
293
|
+
type: 'RotationChain',
|
|
294
|
+
description: 'Key rotation chain',
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
id: 'rotation-event',
|
|
298
|
+
url: `${SCHEMAS_BASE_URL}/tlkrc/rotation-event.v1.0.0.json`,
|
|
299
|
+
version: '1.0.0',
|
|
300
|
+
type: 'RotationEvent',
|
|
301
|
+
description: 'Key rotation event',
|
|
302
|
+
},
|
|
303
|
+
// ===================================================================
|
|
304
|
+
// Verifier Service
|
|
305
|
+
// ===================================================================
|
|
306
|
+
{
|
|
307
|
+
id: 'verify-page',
|
|
308
|
+
url: `${SCHEMAS_BASE_URL}/verifier/verify-page/v1.0.0.json`,
|
|
309
|
+
version: '1.0.0',
|
|
310
|
+
type: 'VerifyPage',
|
|
311
|
+
description: 'Verifier page response',
|
|
312
|
+
},
|
|
313
|
+
// ===================================================================
|
|
314
|
+
// Well-Known
|
|
315
|
+
// ===================================================================
|
|
316
|
+
{
|
|
317
|
+
id: 'well-known-agent',
|
|
318
|
+
url: `${SCHEMAS_BASE_URL}/well-known/agent/v1.0.0.json`,
|
|
319
|
+
version: '1.0.0',
|
|
320
|
+
type: 'WellKnownAgent',
|
|
321
|
+
description: 'Agent well-known metadata',
|
|
322
|
+
},
|
|
323
|
+
];
|
|
324
|
+
/**
|
|
325
|
+
* Get all schemas
|
|
326
|
+
*/
|
|
327
|
+
function getAllSchemas() {
|
|
328
|
+
return exports.SCHEMA_REGISTRY;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Get schemas by category
|
|
332
|
+
*/
|
|
333
|
+
function getSchemasByCategory(category) {
|
|
334
|
+
const categoryMap = {
|
|
335
|
+
'vc': [
|
|
336
|
+
'verifiable-credential',
|
|
337
|
+
'verifiable-presentation',
|
|
338
|
+
'statuslist2021-credential',
|
|
339
|
+
'statuslist2021-credential-subject',
|
|
340
|
+
],
|
|
341
|
+
'delegation': [
|
|
342
|
+
'delegation-credential',
|
|
343
|
+
'delegation-record',
|
|
344
|
+
'delegation-constraints',
|
|
345
|
+
'delegation-chain',
|
|
346
|
+
'delegation-creation-request',
|
|
347
|
+
'delegation-verification-result',
|
|
348
|
+
],
|
|
349
|
+
'handshake': [
|
|
350
|
+
'handshake-request',
|
|
351
|
+
'session-context',
|
|
352
|
+
'nonce-cache-config',
|
|
353
|
+
'nonce-cache-entry',
|
|
354
|
+
],
|
|
355
|
+
'proof': [
|
|
356
|
+
'detached-proof',
|
|
357
|
+
'proof-meta',
|
|
358
|
+
'proof',
|
|
359
|
+
'proof-w3c',
|
|
360
|
+
'audit-record',
|
|
361
|
+
'canonical-hashes',
|
|
362
|
+
],
|
|
363
|
+
'registry': [
|
|
364
|
+
'registration-input',
|
|
365
|
+
'registration-result',
|
|
366
|
+
'agent-status',
|
|
367
|
+
'claim-token',
|
|
368
|
+
'delegation-request',
|
|
369
|
+
'delegation-response',
|
|
370
|
+
'registry-delegation',
|
|
371
|
+
'mirror-status',
|
|
372
|
+
'receipt',
|
|
373
|
+
],
|
|
374
|
+
'runtime': [
|
|
375
|
+
'authorization-display',
|
|
376
|
+
'needs-authorization-error',
|
|
377
|
+
'runtime-error',
|
|
378
|
+
],
|
|
379
|
+
'cli': ['register-output'],
|
|
380
|
+
'tlkrc': ['rotation-chain', 'rotation-event'],
|
|
381
|
+
'verifier': ['verify-page'],
|
|
382
|
+
'well-known': ['well-known-agent'],
|
|
383
|
+
};
|
|
384
|
+
const ids = categoryMap[category] || [];
|
|
385
|
+
return exports.SCHEMA_REGISTRY.filter((s) => ids.includes(s.id));
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Get schema by ID
|
|
389
|
+
*/
|
|
390
|
+
function getSchemaById(id) {
|
|
391
|
+
return exports.SCHEMA_REGISTRY.find((s) => s.id === id);
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Get critical schemas (must be 100% compliant)
|
|
395
|
+
*
|
|
396
|
+
* These are the core schemas that power the MCP-I protocol and must
|
|
397
|
+
* be fully compliant for the system to function correctly.
|
|
398
|
+
*/
|
|
399
|
+
function getCriticalSchemas() {
|
|
400
|
+
const criticalIds = [
|
|
401
|
+
// W3C VC Core
|
|
402
|
+
'verifiable-credential',
|
|
403
|
+
'statuslist2021-credential',
|
|
404
|
+
// Delegation System
|
|
405
|
+
'delegation-credential',
|
|
406
|
+
'delegation-record',
|
|
407
|
+
'delegation-constraints',
|
|
408
|
+
// MCP-I Protocol
|
|
409
|
+
'detached-proof',
|
|
410
|
+
'proof-meta',
|
|
411
|
+
'handshake-request',
|
|
412
|
+
'session-context',
|
|
413
|
+
// Audit
|
|
414
|
+
'audit-record',
|
|
415
|
+
];
|
|
416
|
+
return exports.SCHEMA_REGISTRY.filter((s) => criticalIds.includes(s.id));
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Get schema statistics
|
|
420
|
+
*/
|
|
421
|
+
function getSchemaStats() {
|
|
422
|
+
const byCategory = {};
|
|
423
|
+
const byVersion = {};
|
|
424
|
+
for (const schema of exports.SCHEMA_REGISTRY) {
|
|
425
|
+
// Category stats (inferred from URL)
|
|
426
|
+
const urlParts = schema.url.replace(SCHEMAS_BASE_URL + '/', '').split('/');
|
|
427
|
+
const category = urlParts[0] || 'unknown';
|
|
428
|
+
byCategory[category] = (byCategory[category] || 0) + 1;
|
|
429
|
+
// Version stats
|
|
430
|
+
byVersion[schema.version] = (byVersion[schema.version] || 0) + 1;
|
|
431
|
+
}
|
|
432
|
+
return {
|
|
433
|
+
total: exports.SCHEMA_REGISTRY.length,
|
|
434
|
+
byCategory,
|
|
435
|
+
byVersion,
|
|
436
|
+
};
|
|
437
|
+
}
|
|
438
|
+
//# sourceMappingURL=schema-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-registry.js","sourceRoot":"","sources":["../../src/compliance/schema-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced Schema Compliance Verification Tool v2
|
|
3
|
+
*
|
|
4
|
+
* Supports JSON Schema draft-07 features:
|
|
5
|
+
* - $ref resolution
|
|
6
|
+
* - oneOf, anyOf, allOf
|
|
7
|
+
* - Nested required fields
|
|
8
|
+
* - Array tuple validation
|
|
9
|
+
* - Format, pattern, enum, const
|
|
10
|
+
* - Recursive object validation
|
|
11
|
+
*/
|
|
12
|
+
export interface SchemaMetadata {
|
|
13
|
+
id: string;
|
|
14
|
+
url: string;
|
|
15
|
+
version: string;
|
|
16
|
+
type: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface FieldComplianceResult {
|
|
20
|
+
fieldPath: string;
|
|
21
|
+
present: boolean;
|
|
22
|
+
expectedType: string;
|
|
23
|
+
actualType?: string;
|
|
24
|
+
typeMatches: boolean;
|
|
25
|
+
required: boolean;
|
|
26
|
+
status: 'pass' | 'fail' | 'warning';
|
|
27
|
+
reason?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface SchemaComplianceReport {
|
|
30
|
+
schema: SchemaMetadata;
|
|
31
|
+
compliant: boolean;
|
|
32
|
+
compliancePercentage: number;
|
|
33
|
+
fields: FieldComplianceResult[];
|
|
34
|
+
issues: string[];
|
|
35
|
+
warnings: string[];
|
|
36
|
+
timestamp: number;
|
|
37
|
+
}
|
|
38
|
+
export interface FullComplianceReport {
|
|
39
|
+
totalSchemas: number;
|
|
40
|
+
compliantSchemas: number;
|
|
41
|
+
overallCompliance: number;
|
|
42
|
+
schemaReports: SchemaComplianceReport[];
|
|
43
|
+
criticalIssues: string[];
|
|
44
|
+
timestamp: number;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Enhanced Schema Verifier with JSON Schema draft-07 support
|
|
48
|
+
*/
|
|
49
|
+
export declare class SchemaVerifierV2 {
|
|
50
|
+
private schemasBaseUrl;
|
|
51
|
+
private schemaCache;
|
|
52
|
+
constructor(options?: {
|
|
53
|
+
schemasBaseUrl?: string;
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* Verify a single schema against implementation
|
|
57
|
+
*/
|
|
58
|
+
verifySchema(schema: SchemaMetadata, implementation: any): Promise<SchemaComplianceReport>;
|
|
59
|
+
/**
|
|
60
|
+
* Verify all schemas
|
|
61
|
+
*/
|
|
62
|
+
verifyAll(schemas: SchemaMetadata[], implementations: Map<string, any>): Promise<FullComplianceReport>;
|
|
63
|
+
/**
|
|
64
|
+
* Validate implementation against schema recursively
|
|
65
|
+
*/
|
|
66
|
+
private validateAgainstSchema;
|
|
67
|
+
/**
|
|
68
|
+
* Validate against oneOf, anyOf, allOf
|
|
69
|
+
*/
|
|
70
|
+
private validateUnion;
|
|
71
|
+
/**
|
|
72
|
+
* Check if value matches schema (lightweight check)
|
|
73
|
+
*/
|
|
74
|
+
private matchesSchema;
|
|
75
|
+
/**
|
|
76
|
+
* Validate array against schema
|
|
77
|
+
*/
|
|
78
|
+
private validateArray;
|
|
79
|
+
/**
|
|
80
|
+
* Check a single field
|
|
81
|
+
*/
|
|
82
|
+
private checkField;
|
|
83
|
+
/**
|
|
84
|
+
* Get actual JavaScript type
|
|
85
|
+
*/
|
|
86
|
+
private getActualType;
|
|
87
|
+
/**
|
|
88
|
+
* Resolve $ref reference
|
|
89
|
+
*/
|
|
90
|
+
private resolveRef;
|
|
91
|
+
/**
|
|
92
|
+
* Fetch a schema from URL
|
|
93
|
+
*/
|
|
94
|
+
private fetchSchema;
|
|
95
|
+
/**
|
|
96
|
+
* Generate a formatted report
|
|
97
|
+
*/
|
|
98
|
+
generateReport(report: SchemaComplianceReport): string;
|
|
99
|
+
/**
|
|
100
|
+
* Generate full report
|
|
101
|
+
*/
|
|
102
|
+
generateFullReport(report: FullComplianceReport): string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Create an enhanced schema verifier
|
|
106
|
+
*/
|
|
107
|
+
export declare function createSchemaVerifierV2(options?: {
|
|
108
|
+
schemasBaseUrl?: string;
|
|
109
|
+
}): SchemaVerifierV2;
|
|
110
|
+
//# sourceMappingURL=schema-verifier-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-verifier-v2.d.ts","sourceRoot":"","sources":["../../src/compliance/schema-verifier-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,sBAAsB,EAAE,CAAC;IACxC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,WAAW,CAA0B;gBAEjC,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE;IAMjD;;OAEG;IACG,YAAY,CAChB,MAAM,EAAE,cAAc,EACtB,cAAc,EAAE,GAAG,GAClB,OAAO,CAAC,sBAAsB,CAAC;IAqElC;;OAEG;IACG,SAAS,CACb,OAAO,EAAE,cAAc,EAAE,EACzB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAChC,OAAO,CAAC,oBAAoB,CAAC;IAiChC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2D7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAoErB;;OAEG;IACH,OAAO,CAAC,aAAa;IAyCrB;;OAEG;IACH,OAAO,CAAC,aAAa;IA+FrB;;OAEG;IACH,OAAO,CAAC,UAAU;IA+ElB;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,UAAU;IAgClB;;OAEG;YACW,WAAW;IAwBzB;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM;IA4CtD;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM;CAqCzD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,gBAAgB,CAEnB"}
|