@kya-os/mcp-i-core 1.1.0 → 1.1.1-canary.1

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.
Files changed (97) hide show
  1. package/dist/__tests__/utils/mock-providers.d.ts +102 -0
  2. package/dist/__tests__/utils/mock-providers.d.ts.map +1 -0
  3. package/dist/__tests__/utils/mock-providers.js +270 -0
  4. package/dist/__tests__/utils/mock-providers.js.map +1 -0
  5. package/dist/cache/tool-protection-cache.d.ts +73 -0
  6. package/dist/cache/tool-protection-cache.d.ts.map +1 -0
  7. package/dist/cache/tool-protection-cache.js +83 -0
  8. package/dist/cache/tool-protection-cache.js.map +1 -0
  9. package/dist/compliance/index.d.ts +8 -0
  10. package/dist/compliance/index.d.ts.map +1 -0
  11. package/dist/compliance/index.js +24 -0
  12. package/dist/compliance/index.js.map +1 -0
  13. package/dist/compliance/schema-registry.d.ts +50 -0
  14. package/dist/compliance/schema-registry.d.ts.map +1 -0
  15. package/dist/compliance/schema-registry.js +438 -0
  16. package/dist/compliance/schema-registry.js.map +1 -0
  17. package/dist/compliance/schema-verifier-v2.d.ts +110 -0
  18. package/dist/compliance/schema-verifier-v2.d.ts.map +1 -0
  19. package/dist/compliance/schema-verifier-v2.js +510 -0
  20. package/dist/compliance/schema-verifier-v2.js.map +1 -0
  21. package/dist/compliance/schema-verifier.d.ts +110 -0
  22. package/dist/compliance/schema-verifier.d.ts.map +1 -0
  23. package/dist/compliance/schema-verifier.js +518 -0
  24. package/dist/compliance/schema-verifier.js.map +1 -0
  25. package/dist/delegation/bitstring.d.ts +139 -0
  26. package/dist/delegation/bitstring.d.ts.map +1 -0
  27. package/dist/delegation/bitstring.js +213 -0
  28. package/dist/delegation/bitstring.js.map +1 -0
  29. package/dist/delegation/cascading-revocation.d.ts +162 -0
  30. package/dist/delegation/cascading-revocation.d.ts.map +1 -0
  31. package/dist/delegation/cascading-revocation.js +263 -0
  32. package/dist/delegation/cascading-revocation.js.map +1 -0
  33. package/dist/delegation/delegation-graph.d.ts +178 -0
  34. package/dist/delegation/delegation-graph.d.ts.map +1 -0
  35. package/dist/delegation/delegation-graph.js +209 -0
  36. package/dist/delegation/delegation-graph.js.map +1 -0
  37. package/dist/delegation/index.d.ts +14 -0
  38. package/dist/delegation/index.d.ts.map +1 -0
  39. package/dist/delegation/index.js +30 -0
  40. package/dist/delegation/index.js.map +1 -0
  41. package/dist/delegation/statuslist-manager.d.ts +148 -0
  42. package/dist/delegation/statuslist-manager.d.ts.map +1 -0
  43. package/dist/delegation/statuslist-manager.js +221 -0
  44. package/dist/delegation/statuslist-manager.js.map +1 -0
  45. package/dist/delegation/storage/index.d.ts +9 -0
  46. package/dist/delegation/storage/index.d.ts.map +1 -0
  47. package/dist/delegation/storage/index.js +25 -0
  48. package/dist/delegation/storage/index.js.map +1 -0
  49. package/dist/delegation/storage/memory-graph-storage.d.ts +70 -0
  50. package/dist/delegation/storage/memory-graph-storage.d.ts.map +1 -0
  51. package/dist/delegation/storage/memory-graph-storage.js +149 -0
  52. package/dist/delegation/storage/memory-graph-storage.js.map +1 -0
  53. package/dist/delegation/storage/memory-statuslist-storage.d.ts +49 -0
  54. package/dist/delegation/storage/memory-statuslist-storage.d.ts.map +1 -0
  55. package/dist/delegation/storage/memory-statuslist-storage.js +67 -0
  56. package/dist/delegation/storage/memory-statuslist-storage.js.map +1 -0
  57. package/dist/delegation/utils.d.ts +19 -0
  58. package/dist/delegation/utils.d.ts.map +1 -0
  59. package/dist/delegation/utils.js +48 -0
  60. package/dist/delegation/utils.js.map +1 -0
  61. package/dist/delegation/vc-issuer.d.ts +135 -0
  62. package/dist/delegation/vc-issuer.d.ts.map +1 -0
  63. package/dist/delegation/vc-issuer.js +140 -0
  64. package/dist/delegation/vc-issuer.js.map +1 -0
  65. package/dist/delegation/vc-verifier.d.ts +213 -0
  66. package/dist/delegation/vc-verifier.d.ts.map +1 -0
  67. package/dist/delegation/vc-verifier.js +354 -0
  68. package/dist/delegation/vc-verifier.js.map +1 -0
  69. package/dist/index.d.ts +16 -0
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +64 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/providers/base.d.ts +1 -1
  74. package/dist/providers/base.d.ts.map +1 -1
  75. package/dist/providers/memory.js +2 -2
  76. package/dist/providers/memory.js.map +1 -1
  77. package/dist/runtime/base.d.ts +12 -0
  78. package/dist/runtime/base.d.ts.map +1 -1
  79. package/dist/runtime/base.js +96 -2
  80. package/dist/runtime/base.js.map +1 -1
  81. package/dist/services/tool-protection.service.d.ts +55 -0
  82. package/dist/services/tool-protection.service.d.ts.map +1 -0
  83. package/dist/services/tool-protection.service.js +158 -0
  84. package/dist/services/tool-protection.service.js.map +1 -0
  85. package/dist/types/tool-protection.d.ts +103 -0
  86. package/dist/types/tool-protection.d.ts.map +1 -0
  87. package/dist/types/tool-protection.js +41 -0
  88. package/dist/types/tool-protection.js.map +1 -0
  89. package/dist/utils/cors.d.ts +44 -0
  90. package/dist/utils/cors.d.ts.map +1 -0
  91. package/dist/utils/cors.js +71 -0
  92. package/dist/utils/cors.js.map +1 -0
  93. package/dist/utils/index.d.ts +5 -0
  94. package/dist/utils/index.d.ts.map +1 -0
  95. package/dist/utils/index.js +21 -0
  96. package/dist/utils/index.js.map +1 -0
  97. package/package.json +9 -6
@@ -0,0 +1,354 @@
1
+ "use strict";
2
+ /**
3
+ * Delegation Credential Verifier (Platform-Agnostic)
4
+ *
5
+ * Progressive enhancement verification for W3C Delegation Credentials.
6
+ * Follows the Edge-Delegation-Verification.md pattern:
7
+ *
8
+ * Stage 1: Fast basic checks (no network, early rejection)
9
+ * Stage 2: Parallel advanced checks (signature, status)
10
+ * Stage 3: Combined results
11
+ *
12
+ * Related Spec: MCP-I §4.3, W3C VC Data Model 1.1
13
+ * Python Reference: Edge-Delegation-Verification.md
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.DelegationCredentialVerifier = void 0;
17
+ exports.createDelegationVerifier = createDelegationVerifier;
18
+ const contracts_1 = require("@kya-os/contracts");
19
+ /**
20
+ * Delegation Credential Verifier (Platform-Agnostic)
21
+ *
22
+ * Implements progressive enhancement pattern from Edge-Delegation-Verification.md:
23
+ * 1. Fast basic checks (no network) - early rejection
24
+ * 2. Parallel advanced checks (signature + status)
25
+ * 3. Combined results
26
+ */
27
+ class DelegationCredentialVerifier {
28
+ didResolver;
29
+ statusListResolver;
30
+ signatureVerifier;
31
+ cache = new Map();
32
+ cacheTtl;
33
+ constructor(options) {
34
+ this.didResolver = options?.didResolver;
35
+ this.statusListResolver = options?.statusListResolver;
36
+ this.signatureVerifier = options?.signatureVerifier;
37
+ this.cacheTtl = options?.cacheTtl || 60_000; // 1 minute default
38
+ }
39
+ /**
40
+ * Verify a delegation credential with progressive enhancement
41
+ *
42
+ * Per Edge-Delegation-Verification.md:41-102
43
+ *
44
+ * @param vc - The delegation credential to verify
45
+ * @param options - Verification options
46
+ * @returns Verification result
47
+ */
48
+ async verifyDelegationCredential(vc, options = {}) {
49
+ const startTime = Date.now();
50
+ // Check cache first
51
+ if (!options.skipCache) {
52
+ const cached = this.getFromCache(vc.id || '');
53
+ if (cached) {
54
+ return { ...cached, cached: true };
55
+ }
56
+ }
57
+ // ===================================================================
58
+ // STAGE 1: Fast Basic Checks (no network calls)
59
+ // Per Edge-Delegation-Verification.md:152-186
60
+ // ===================================================================
61
+ const basicCheckStart = Date.now();
62
+ const basicValidation = this.validateBasicProperties(vc);
63
+ const basicCheckMs = Date.now() - basicCheckStart;
64
+ if (!basicValidation.valid) {
65
+ const result = {
66
+ valid: false,
67
+ reason: basicValidation.reason,
68
+ stage: 'basic',
69
+ metrics: {
70
+ basicCheckMs,
71
+ totalMs: Date.now() - startTime,
72
+ },
73
+ checks: {
74
+ basicValid: false,
75
+ },
76
+ };
77
+ return result;
78
+ }
79
+ // ===================================================================
80
+ // STAGE 2: Parallel Advanced Checks
81
+ // Per Edge-Delegation-Verification.md:281-301
82
+ // ===================================================================
83
+ // Start signature verification (if not skipped)
84
+ const signaturePromise = !options.skipSignature
85
+ ? this.verifySignature(vc, options.didResolver || this.didResolver)
86
+ : Promise.resolve({
87
+ valid: true,
88
+ durationMs: 0,
89
+ });
90
+ // Start status checking (if not skipped)
91
+ const statusPromise = !options.skipStatus && vc.credentialStatus
92
+ ? this.checkCredentialStatus(vc.credentialStatus, options.statusListResolver || this.statusListResolver)
93
+ : Promise.resolve({
94
+ valid: true,
95
+ durationMs: 0,
96
+ });
97
+ // Wait for both checks in parallel
98
+ const [signatureResult, statusResult] = await Promise.all([
99
+ signaturePromise,
100
+ statusPromise,
101
+ ]);
102
+ const signatureCheckMs = signatureResult.durationMs || 0;
103
+ const statusCheckMs = statusResult.durationMs || 0;
104
+ // ===================================================================
105
+ // STAGE 3: Combined Results
106
+ // Per Edge-Delegation-Verification.md:82-94
107
+ // ===================================================================
108
+ const allValid = basicValidation.valid && signatureResult.valid && statusResult.valid;
109
+ const result = {
110
+ valid: allValid,
111
+ reason: !allValid
112
+ ? signatureResult.reason || statusResult.reason || 'Unknown failure'
113
+ : undefined,
114
+ stage: 'complete',
115
+ metrics: {
116
+ basicCheckMs,
117
+ signatureCheckMs,
118
+ statusCheckMs,
119
+ totalMs: Date.now() - startTime,
120
+ },
121
+ checks: {
122
+ basicValid: basicValidation.valid,
123
+ signatureValid: signatureResult.valid,
124
+ statusValid: statusResult.valid,
125
+ },
126
+ };
127
+ // Cache successful verifications
128
+ if (result.valid && vc.id) {
129
+ this.setInCache(vc.id, result);
130
+ }
131
+ return result;
132
+ }
133
+ /**
134
+ * Stage 1: Validate basic properties (no network calls)
135
+ *
136
+ * Fast path for early rejection of invalid delegations.
137
+ * Per Edge-Delegation-Verification.md:155-186
138
+ *
139
+ * @param vc - The delegation credential
140
+ * @returns Validation result
141
+ */
142
+ validateBasicProperties(vc) {
143
+ // 1. Validate schema
144
+ const schemaValidation = (0, contracts_1.validateDelegationCredential)(vc);
145
+ if (!schemaValidation.success) {
146
+ return {
147
+ valid: false,
148
+ reason: `Schema validation failed: ${schemaValidation.error.message}`,
149
+ };
150
+ }
151
+ // 2. Check expiration
152
+ if ((0, contracts_1.isDelegationCredentialExpired)(vc)) {
153
+ return { valid: false, reason: 'Delegation credential expired' };
154
+ }
155
+ // 3. Check not yet valid
156
+ if ((0, contracts_1.isDelegationCredentialNotYetValid)(vc)) {
157
+ return { valid: false, reason: 'Delegation credential not yet valid' };
158
+ }
159
+ // 4. Check delegation status
160
+ const delegation = vc.credentialSubject.delegation;
161
+ if (delegation.status === 'revoked') {
162
+ return { valid: false, reason: 'Delegation status is revoked' };
163
+ }
164
+ if (delegation.status === 'expired') {
165
+ return { valid: false, reason: 'Delegation status is expired' };
166
+ }
167
+ // 5. Check required fields
168
+ if (!delegation.issuerDid || !delegation.subjectDid) {
169
+ return { valid: false, reason: 'Missing issuer or subject DID' };
170
+ }
171
+ // 6. Check proof exists (we'll verify it later)
172
+ if (!vc.proof) {
173
+ return { valid: false, reason: 'Missing proof' };
174
+ }
175
+ return { valid: true };
176
+ }
177
+ /**
178
+ * Stage 2a: Verify signature
179
+ *
180
+ * Per Edge-Delegation-Verification.md:191-234
181
+ *
182
+ * @param vc - The delegation credential
183
+ * @param didResolver - Optional DID resolver
184
+ * @returns Verification result
185
+ */
186
+ async verifySignature(vc, didResolver) {
187
+ const startTime = Date.now();
188
+ try {
189
+ // Get issuer DID
190
+ const issuerDid = typeof vc.issuer === 'string' ? vc.issuer : vc.issuer.id;
191
+ // If no DID resolver or signature verifier, skip verification
192
+ if (!didResolver || !this.signatureVerifier) {
193
+ return {
194
+ valid: true, // Trust but don't verify (no resolver/verifier available)
195
+ reason: 'No DID resolver or signature verifier available, skipping signature verification',
196
+ durationMs: Date.now() - startTime,
197
+ };
198
+ }
199
+ // Resolve issuer DID to get public key
200
+ const didDoc = await didResolver.resolve(issuerDid);
201
+ if (!didDoc) {
202
+ return {
203
+ valid: false,
204
+ reason: `Could not resolve issuer DID: ${issuerDid}`,
205
+ durationMs: Date.now() - startTime,
206
+ };
207
+ }
208
+ // Find verification method from proof
209
+ if (!vc.proof) {
210
+ return {
211
+ valid: false,
212
+ reason: 'Proof is missing',
213
+ durationMs: Date.now() - startTime,
214
+ };
215
+ }
216
+ const verificationMethodId = vc.proof.verificationMethod;
217
+ if (!verificationMethodId) {
218
+ return {
219
+ valid: false,
220
+ reason: 'Proof missing verificationMethod',
221
+ durationMs: Date.now() - startTime,
222
+ };
223
+ }
224
+ const verificationMethod = this.findVerificationMethod(didDoc, verificationMethodId);
225
+ if (!verificationMethod) {
226
+ return {
227
+ valid: false,
228
+ reason: `Verification method ${verificationMethodId} not found`,
229
+ durationMs: Date.now() - startTime,
230
+ };
231
+ }
232
+ // Extract public key
233
+ const publicKeyJwk = verificationMethod.publicKeyJwk;
234
+ if (!publicKeyJwk) {
235
+ return {
236
+ valid: false,
237
+ reason: 'Verification method missing publicKeyJwk',
238
+ durationMs: Date.now() - startTime,
239
+ };
240
+ }
241
+ // Verify signature using platform-specific verifier
242
+ const verificationResult = await this.signatureVerifier(vc, publicKeyJwk);
243
+ return {
244
+ valid: verificationResult.valid,
245
+ reason: verificationResult.reason,
246
+ durationMs: Date.now() - startTime,
247
+ };
248
+ }
249
+ catch (error) {
250
+ return {
251
+ valid: false,
252
+ reason: `Signature verification error: ${error instanceof Error ? error.message : 'Unknown error'}`,
253
+ durationMs: Date.now() - startTime,
254
+ };
255
+ }
256
+ }
257
+ /**
258
+ * Stage 2b: Check credential status via StatusList2021
259
+ *
260
+ * @param status - The credential status entry
261
+ * @param statusListResolver - Optional status list resolver
262
+ * @returns Status check result
263
+ */
264
+ async checkCredentialStatus(status, statusListResolver) {
265
+ const startTime = Date.now();
266
+ try {
267
+ // If no status list resolver, we can't check the status
268
+ if (!statusListResolver) {
269
+ return {
270
+ valid: true, // Trust but don't verify (no resolver available)
271
+ reason: 'No status list resolver available, skipping status check',
272
+ durationMs: Date.now() - startTime,
273
+ };
274
+ }
275
+ // Check if credential is revoked/suspended
276
+ const isRevoked = await statusListResolver.checkStatus(status);
277
+ if (isRevoked) {
278
+ return {
279
+ valid: false,
280
+ reason: `Credential revoked via StatusList2021 (${status.statusPurpose})`,
281
+ durationMs: Date.now() - startTime,
282
+ };
283
+ }
284
+ return {
285
+ valid: true,
286
+ durationMs: Date.now() - startTime,
287
+ };
288
+ }
289
+ catch (error) {
290
+ return {
291
+ valid: false,
292
+ reason: `Status check error: ${error instanceof Error ? error.message : 'Unknown error'}`,
293
+ durationMs: Date.now() - startTime,
294
+ };
295
+ }
296
+ }
297
+ /**
298
+ * Find verification method in DID document
299
+ *
300
+ * @param didDoc - The DID document
301
+ * @param verificationMethodId - The verification method ID
302
+ * @returns Verification method or undefined
303
+ */
304
+ findVerificationMethod(didDoc, verificationMethodId) {
305
+ return didDoc.verificationMethod?.find((vm) => vm.id === verificationMethodId);
306
+ }
307
+ /**
308
+ * Get from cache
309
+ */
310
+ getFromCache(id) {
311
+ const entry = this.cache.get(id);
312
+ if (!entry)
313
+ return null;
314
+ if (Date.now() > entry.expiresAt) {
315
+ this.cache.delete(id);
316
+ return null;
317
+ }
318
+ return entry.result;
319
+ }
320
+ /**
321
+ * Set in cache
322
+ */
323
+ setInCache(id, result) {
324
+ this.cache.set(id, {
325
+ result,
326
+ expiresAt: Date.now() + this.cacheTtl,
327
+ });
328
+ }
329
+ /**
330
+ * Clear cache
331
+ */
332
+ clearCache() {
333
+ this.cache.clear();
334
+ }
335
+ /**
336
+ * Clear cache entry for specific VC
337
+ */
338
+ clearCacheEntry(id) {
339
+ this.cache.delete(id);
340
+ }
341
+ }
342
+ exports.DelegationCredentialVerifier = DelegationCredentialVerifier;
343
+ /**
344
+ * Create a delegation credential verifier
345
+ *
346
+ * Convenience factory function.
347
+ *
348
+ * @param options - Verifier options
349
+ * @returns DelegationCredentialVerifier instance
350
+ */
351
+ function createDelegationVerifier(options) {
352
+ return new DelegationCredentialVerifier(options);
353
+ }
354
+ //# sourceMappingURL=vc-verifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vc-verifier.js","sourceRoot":"","sources":["../../src/delegation/vc-verifier.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,22 @@
7
7
  export { CryptoProvider, ClockProvider, FetchProvider, StorageProvider, NonceCacheProvider, IdentityProvider, type AgentIdentity } from './providers/base';
8
8
  export { MemoryStorageProvider, MemoryNonceCacheProvider, MemoryIdentityProvider } from './providers/memory';
9
9
  export { MCPIRuntimeBase, type MCPIRuntimeConfig } from './runtime/base';
10
+ export * from './utils';
11
+ export { ToolProtectionService } from './services/tool-protection.service';
12
+ export { ToolProtectionCache, InMemoryToolProtectionCache, NoOpToolProtectionCache } from './cache/tool-protection-cache';
13
+ export type { ToolProtection, ToolProtectionConfig, ToolProtectionServiceConfig } from './types/tool-protection';
14
+ export { DelegationRequiredError } from './types/tool-protection';
15
+ export { DelegationCredentialIssuer, createDelegationIssuer, type IssueDelegationOptions, type VCSigningFunction, type IdentityProvider as DelegationIdentityProvider } from './delegation/vc-issuer';
16
+ export { DelegationCredentialVerifier, createDelegationVerifier, type DelegationVCVerificationResult, type VerifyDelegationVCOptions, type DIDResolver, type DIDDocument, type VerificationMethod, type StatusListResolver, type SignatureVerificationFunction } from './delegation/vc-verifier';
17
+ export { StatusList2021Manager, createStatusListManager, type StatusListStorageProvider, type StatusListIdentityProvider } from './delegation/statuslist-manager';
18
+ export { BitstringManager, isIndexSet, type CompressionFunction, type DecompressionFunction } from './delegation/bitstring';
19
+ export { DelegationGraphManager, createDelegationGraph, type DelegationNode, type DelegationGraphStorageProvider } from './delegation/delegation-graph';
20
+ export { CascadingRevocationManager, createCascadingRevocationManager, type RevocationEvent, type RevocationHook, type CascadingRevocationOptions } from './delegation/cascading-revocation';
21
+ export { MemoryStatusListStorage } from './delegation/storage/memory-statuslist-storage';
22
+ export { MemoryDelegationGraphStorage } from './delegation/storage/memory-graph-storage';
23
+ export { SchemaVerifier, createSchemaVerifier, type SchemaMetadata, type FieldComplianceResult, type SchemaComplianceReport, type FullComplianceReport } from './compliance/schema-verifier';
24
+ export { SCHEMA_REGISTRY, getAllSchemas, getSchemasByCategory, getSchemaById, getCriticalSchemas, getSchemaStats } from './compliance/schema-registry';
25
+ export { canonicalizeJSON } from './delegation/utils';
10
26
  import type { HandshakeRequest, SessionContext, NonceCache, NonceCacheEntry, NonceCacheConfig, ProofMeta, DetachedProof, CanonicalHashes, AuditRecord } from '@kya-os/contracts';
11
27
  export type { HandshakeRequest, SessionContext, NonceCache, NonceCacheEntry, NonceCacheConfig, ProofMeta, DetachedProof, CanonicalHashes, AuditRecord };
12
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,EACZ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,eAAe,EACf,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AAGxB,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,IAAI,0BAA0B,EACpD,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,6BAA6B,EACnC,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAChC,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,8BAA8B,EACpC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,0BAA0B,EAChC,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,uBAAuB,EACxB,MAAM,gDAAgD,CAAC;AAExD,OAAO,EACL,4BAA4B,EAC7B,MAAM,2CAA2C,CAAC;AAGnD,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC1B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACf,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,EACZ,CAAC"}
package/dist/index.js CHANGED
@@ -5,8 +5,22 @@
5
5
  * Core provider-based architecture for MCP-I framework.
6
6
  * Platform-agnostic runtime that can be extended for any environment.
7
7
  */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
8
22
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.MCPIRuntimeBase = exports.MemoryIdentityProvider = exports.MemoryNonceCacheProvider = exports.MemoryStorageProvider = exports.IdentityProvider = exports.NonceCacheProvider = exports.StorageProvider = exports.FetchProvider = exports.ClockProvider = exports.CryptoProvider = void 0;
23
+ exports.canonicalizeJSON = exports.getSchemaStats = exports.getCriticalSchemas = exports.getSchemaById = exports.getSchemasByCategory = exports.getAllSchemas = exports.SCHEMA_REGISTRY = exports.createSchemaVerifier = exports.SchemaVerifier = exports.MemoryDelegationGraphStorage = exports.MemoryStatusListStorage = exports.createCascadingRevocationManager = exports.CascadingRevocationManager = exports.createDelegationGraph = exports.DelegationGraphManager = exports.isIndexSet = exports.BitstringManager = exports.createStatusListManager = exports.StatusList2021Manager = exports.createDelegationVerifier = exports.DelegationCredentialVerifier = exports.createDelegationIssuer = exports.DelegationCredentialIssuer = exports.DelegationRequiredError = exports.NoOpToolProtectionCache = exports.InMemoryToolProtectionCache = exports.ToolProtectionService = exports.MCPIRuntimeBase = exports.MemoryIdentityProvider = exports.MemoryNonceCacheProvider = exports.MemoryStorageProvider = exports.IdentityProvider = exports.NonceCacheProvider = exports.StorageProvider = exports.FetchProvider = exports.ClockProvider = exports.CryptoProvider = void 0;
10
24
  // Base providers
11
25
  var base_1 = require("./providers/base");
12
26
  Object.defineProperty(exports, "CryptoProvider", { enumerable: true, get: function () { return base_1.CryptoProvider; } });
@@ -23,4 +37,53 @@ Object.defineProperty(exports, "MemoryIdentityProvider", { enumerable: true, get
23
37
  // Runtime
24
38
  var base_2 = require("./runtime/base");
25
39
  Object.defineProperty(exports, "MCPIRuntimeBase", { enumerable: true, get: function () { return base_2.MCPIRuntimeBase; } });
40
+ // Utilities
41
+ __exportStar(require("./utils"), exports);
42
+ // Tool Protection
43
+ var tool_protection_service_1 = require("./services/tool-protection.service");
44
+ Object.defineProperty(exports, "ToolProtectionService", { enumerable: true, get: function () { return tool_protection_service_1.ToolProtectionService; } });
45
+ var tool_protection_cache_1 = require("./cache/tool-protection-cache");
46
+ Object.defineProperty(exports, "InMemoryToolProtectionCache", { enumerable: true, get: function () { return tool_protection_cache_1.InMemoryToolProtectionCache; } });
47
+ Object.defineProperty(exports, "NoOpToolProtectionCache", { enumerable: true, get: function () { return tool_protection_cache_1.NoOpToolProtectionCache; } });
48
+ var tool_protection_1 = require("./types/tool-protection");
49
+ Object.defineProperty(exports, "DelegationRequiredError", { enumerable: true, get: function () { return tool_protection_1.DelegationRequiredError; } });
50
+ // Delegation (W3C VC-based)
51
+ var vc_issuer_1 = require("./delegation/vc-issuer");
52
+ Object.defineProperty(exports, "DelegationCredentialIssuer", { enumerable: true, get: function () { return vc_issuer_1.DelegationCredentialIssuer; } });
53
+ Object.defineProperty(exports, "createDelegationIssuer", { enumerable: true, get: function () { return vc_issuer_1.createDelegationIssuer; } });
54
+ var vc_verifier_1 = require("./delegation/vc-verifier");
55
+ Object.defineProperty(exports, "DelegationCredentialVerifier", { enumerable: true, get: function () { return vc_verifier_1.DelegationCredentialVerifier; } });
56
+ Object.defineProperty(exports, "createDelegationVerifier", { enumerable: true, get: function () { return vc_verifier_1.createDelegationVerifier; } });
57
+ // StatusList2021
58
+ var statuslist_manager_1 = require("./delegation/statuslist-manager");
59
+ Object.defineProperty(exports, "StatusList2021Manager", { enumerable: true, get: function () { return statuslist_manager_1.StatusList2021Manager; } });
60
+ Object.defineProperty(exports, "createStatusListManager", { enumerable: true, get: function () { return statuslist_manager_1.createStatusListManager; } });
61
+ var bitstring_1 = require("./delegation/bitstring");
62
+ Object.defineProperty(exports, "BitstringManager", { enumerable: true, get: function () { return bitstring_1.BitstringManager; } });
63
+ Object.defineProperty(exports, "isIndexSet", { enumerable: true, get: function () { return bitstring_1.isIndexSet; } });
64
+ // Delegation Graph & Cascading Revocation
65
+ var delegation_graph_1 = require("./delegation/delegation-graph");
66
+ Object.defineProperty(exports, "DelegationGraphManager", { enumerable: true, get: function () { return delegation_graph_1.DelegationGraphManager; } });
67
+ Object.defineProperty(exports, "createDelegationGraph", { enumerable: true, get: function () { return delegation_graph_1.createDelegationGraph; } });
68
+ var cascading_revocation_1 = require("./delegation/cascading-revocation");
69
+ Object.defineProperty(exports, "CascadingRevocationManager", { enumerable: true, get: function () { return cascading_revocation_1.CascadingRevocationManager; } });
70
+ Object.defineProperty(exports, "createCascadingRevocationManager", { enumerable: true, get: function () { return cascading_revocation_1.createCascadingRevocationManager; } });
71
+ // Storage Implementations (for testing and examples)
72
+ var memory_statuslist_storage_1 = require("./delegation/storage/memory-statuslist-storage");
73
+ Object.defineProperty(exports, "MemoryStatusListStorage", { enumerable: true, get: function () { return memory_statuslist_storage_1.MemoryStatusListStorage; } });
74
+ var memory_graph_storage_1 = require("./delegation/storage/memory-graph-storage");
75
+ Object.defineProperty(exports, "MemoryDelegationGraphStorage", { enumerable: true, get: function () { return memory_graph_storage_1.MemoryDelegationGraphStorage; } });
76
+ // Compliance Verification (with JSON Schema draft-07 support)
77
+ var schema_verifier_1 = require("./compliance/schema-verifier");
78
+ Object.defineProperty(exports, "SchemaVerifier", { enumerable: true, get: function () { return schema_verifier_1.SchemaVerifier; } });
79
+ Object.defineProperty(exports, "createSchemaVerifier", { enumerable: true, get: function () { return schema_verifier_1.createSchemaVerifier; } });
80
+ var schema_registry_1 = require("./compliance/schema-registry");
81
+ Object.defineProperty(exports, "SCHEMA_REGISTRY", { enumerable: true, get: function () { return schema_registry_1.SCHEMA_REGISTRY; } });
82
+ Object.defineProperty(exports, "getAllSchemas", { enumerable: true, get: function () { return schema_registry_1.getAllSchemas; } });
83
+ Object.defineProperty(exports, "getSchemasByCategory", { enumerable: true, get: function () { return schema_registry_1.getSchemasByCategory; } });
84
+ Object.defineProperty(exports, "getSchemaById", { enumerable: true, get: function () { return schema_registry_1.getSchemaById; } });
85
+ Object.defineProperty(exports, "getCriticalSchemas", { enumerable: true, get: function () { return schema_registry_1.getCriticalSchemas; } });
86
+ Object.defineProperty(exports, "getSchemaStats", { enumerable: true, get: function () { return schema_registry_1.getSchemaStats; } });
87
+ var utils_1 = require("./delegation/utils");
88
+ Object.defineProperty(exports, "canonicalizeJSON", { enumerable: true, get: function () { return utils_1.canonicalizeJSON; } });
26
89
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iBAAiB;AACjB,yCAQ0B;AAPxB,sGAAA,cAAc,OAAA;AACd,qGAAA,aAAa,OAAA;AACb,qGAAA,aAAa,OAAA;AACb,uGAAA,eAAe,OAAA;AACf,0GAAA,kBAAkB,OAAA;AAClB,wGAAA,gBAAgB,OAAA;AAIlB,mBAAmB;AACnB,6CAI4B;AAH1B,+GAAA,qBAAqB,OAAA;AACrB,kHAAA,wBAAwB,OAAA;AACxB,gHAAA,sBAAsB,OAAA;AAGxB,UAAU;AACV,uCAGwB;AAFtB,uGAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;AAEH,iBAAiB;AACjB,yCAQ0B;AAPxB,sGAAA,cAAc,OAAA;AACd,qGAAA,aAAa,OAAA;AACb,qGAAA,aAAa,OAAA;AACb,uGAAA,eAAe,OAAA;AACf,0GAAA,kBAAkB,OAAA;AAClB,wGAAA,gBAAgB,OAAA;AAIlB,mBAAmB;AACnB,6CAI4B;AAH1B,+GAAA,qBAAqB,OAAA;AACrB,kHAAA,wBAAwB,OAAA;AACxB,gHAAA,sBAAsB,OAAA;AAGxB,UAAU;AACV,uCAGwB;AAFtB,uGAAA,eAAe,OAAA;AAIjB,YAAY;AACZ,0CAAwB;AACxB,kBAAkB;AAClB,8EAE4C;AAD1C,gIAAA,qBAAqB,OAAA;AAGvB,uEAIuC;AAFrC,oIAAA,2BAA2B,OAAA;AAC3B,gIAAA,uBAAuB,OAAA;AASzB,2DAEiC;AAD/B,0HAAA,uBAAuB,OAAA;AAGzB,4BAA4B;AAC5B,oDAMgC;AAL9B,uHAAA,0BAA0B,OAAA;AAC1B,mHAAA,sBAAsB,OAAA;AAMxB,wDAUkC;AAThC,2HAAA,4BAA4B,OAAA;AAC5B,uHAAA,wBAAwB,OAAA;AAU1B,iBAAiB;AACjB,sEAKyC;AAJvC,2HAAA,qBAAqB,OAAA;AACrB,6HAAA,uBAAuB,OAAA;AAKzB,oDAKgC;AAJ9B,6GAAA,gBAAgB,OAAA;AAChB,uGAAA,UAAU,OAAA;AAKZ,0CAA0C;AAC1C,kEAKuC;AAJrC,0HAAA,sBAAsB,OAAA;AACtB,yHAAA,qBAAqB,OAAA;AAKvB,0EAM2C;AALzC,kIAAA,0BAA0B,OAAA;AAC1B,wIAAA,gCAAgC,OAAA;AAMlC,qDAAqD;AACrD,4FAEwD;AADtD,oIAAA,uBAAuB,OAAA;AAGzB,kFAEmD;AADjD,oIAAA,4BAA4B,OAAA;AAG9B,8DAA8D;AAC9D,gEAOsC;AANpC,iHAAA,cAAc,OAAA;AACd,uHAAA,oBAAoB,OAAA;AAOtB,gEAOsC;AANpC,kHAAA,eAAe,OAAA;AACf,gHAAA,aAAa,OAAA;AACb,uHAAA,oBAAoB,OAAA;AACpB,gHAAA,aAAa,OAAA;AACb,qHAAA,kBAAkB,OAAA;AAClB,iHAAA,cAAc,OAAA;AAGhB,4CAAsD;AAA7C,yGAAA,gBAAgB,OAAA"}
@@ -60,7 +60,7 @@ export declare abstract class NonceCacheProvider {
60
60
  */
61
61
  export interface AgentIdentity {
62
62
  did: string;
63
- keyId: string;
63
+ kid: string;
64
64
  privateKey: string;
65
65
  publicKey: string;
66
66
  createdAt: string;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ const base_1 = require("./base");
13
13
  class MemoryStorageProvider extends base_1.StorageProvider {
14
14
  store = new Map();
15
15
  async get(key) {
16
- return this.store.get(key) || null;
16
+ return this.store.get(key) ?? null;
17
17
  }
18
18
  async set(key, value) {
19
19
  this.store.set(key, value);
@@ -98,7 +98,7 @@ class MemoryIdentityProvider extends base_1.IdentityProvider {
98
98
  const did = this.generateDIDFromPublicKey(keyPair.publicKey);
99
99
  return {
100
100
  did,
101
- keyId: `${did}#key-1`,
101
+ kid: `${did}#key-1`,
102
102
  privateKey: keyPair.privateKey,
103
103
  publicKey: keyPair.publicKey,
104
104
  createdAt: new Date().toISOString(),
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/providers/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/providers/memory.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  * and other platforms.
7
7
  */
8
8
  import { CryptoProvider, ClockProvider, FetchProvider, StorageProvider, NonceCacheProvider, IdentityProvider, AgentIdentity } from '../providers/base';
9
+ import type { ToolProtectionService } from '../services/tool-protection.service.js';
9
10
  export interface MCPIRuntimeConfig {
10
11
  cryptoProvider: CryptoProvider;
11
12
  clockProvider: ClockProvider;
@@ -28,6 +29,7 @@ export interface MCPIRuntimeConfig {
28
29
  };
29
30
  showVerifyLink?: boolean;
30
31
  identityBadge?: boolean;
32
+ toolProtectionService?: ToolProtectionService;
31
33
  }
32
34
  export declare class MCPIRuntimeBase {
33
35
  protected crypto: CryptoProvider;
@@ -56,8 +58,18 @@ export declare class MCPIRuntimeBase {
56
58
  /**
57
59
  * Process tool call with automatic proof generation
58
60
  * Returns clean result only - proof is stored for out-of-band retrieval
61
+ *
62
+ * @param toolName - Name of the tool being called
63
+ * @param args - Tool arguments
64
+ * @param handler - Tool execution handler
65
+ * @param session - Session context (expected fields: id, audience, nonce?, delegationToken?, consentProof?)
59
66
  */
60
67
  processToolCall(toolName: string, args: any, handler: (args: any) => Promise<any>, session?: any): Promise<any>;
68
+ /**
69
+ * Build consent URL for delegation flow
70
+ * Override this method in subclasses to customize the consent URL
71
+ */
72
+ protected buildConsentUrl(toolName: string, scopes: string[], session?: any): string;
61
73
  /**
62
74
  * Issue a new nonce and register it in the cache
63
75
  * Use this to get a nonce for the session context before calling processToolCall
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/runtime/base.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,iBAAiB;IAEhC,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;IAGnC,WAAW,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;QACvC,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IAEF,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,eAAe;IAC1B,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IACjC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC;IAC/B,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC;IACnC,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACpC,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,SAAS,CAAC,CAAM;gBAEZ,MAAM,EAAE,iBAAiB;IAUrC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBjC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAO3C;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAkCjD;;;OAGG;IACG,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,EACT,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EACpC,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,CAAC,GAAG,CAAC;IAuBf;;;OAGG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASpD;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAuCzD;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IA4C1D;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAUvC;;OAEG;IACH,YAAY,IAAI,GAAG;IAInB;;OAEG;IACH,sBAAsB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG;IAsBzC;;OAEG;IACH,mBAAmB,IAAI,GAAG;IAyB1B;;OAEG;IACH,cAAc,IAAI,GAAG;IAMrB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;YAiB5B,QAAQ;YAYR,aAAa;YAKb,iBAAiB;IAK/B,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,UAAU;CAGnB"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/runtime/base.ts"],"names":[],"mappings":"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"}