@kya-os/mcp-i-core 1.1.14-canary.1 → 1.2.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 (60) hide show
  1. package/dist/__tests__/utils/mock-providers.d.ts +5 -3
  2. package/dist/__tests__/utils/mock-providers.d.ts.map +1 -1
  3. package/dist/__tests__/utils/mock-providers.js +23 -12
  4. package/dist/__tests__/utils/mock-providers.js.map +1 -1
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +6 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/providers/base.d.ts +18 -3
  10. package/dist/providers/base.d.ts.map +1 -1
  11. package/dist/providers/base.js +5 -1
  12. package/dist/providers/base.js.map +1 -1
  13. package/dist/providers/memory.d.ts +2 -2
  14. package/dist/providers/memory.d.ts.map +1 -1
  15. package/dist/providers/memory.js +9 -5
  16. package/dist/providers/memory.js.map +1 -1
  17. package/dist/runtime/base.d.ts +26 -1
  18. package/dist/runtime/base.d.ts.map +1 -1
  19. package/dist/runtime/base.js +112 -7
  20. package/dist/runtime/base.js.map +1 -1
  21. package/dist/services/access-control.service.d.ts +21 -0
  22. package/dist/services/access-control.service.d.ts.map +1 -1
  23. package/dist/services/access-control.service.js +333 -9
  24. package/dist/services/access-control.service.js.map +1 -1
  25. package/dist/services/proof-verifier.d.ts +1 -1
  26. package/dist/services/proof-verifier.d.ts.map +1 -1
  27. package/dist/services/proof-verifier.js +15 -14
  28. package/dist/services/proof-verifier.js.map +1 -1
  29. package/dist/services/storage.service.d.ts +116 -0
  30. package/dist/services/storage.service.d.ts.map +1 -0
  31. package/dist/services/storage.service.js +411 -0
  32. package/dist/services/storage.service.js.map +1 -0
  33. package/dist/utils/storage-keys.d.ts +1 -0
  34. package/dist/utils/storage-keys.d.ts.map +1 -1
  35. package/dist/utils/storage-keys.js.map +1 -1
  36. package/package.json +3 -3
  37. package/dist/compliance/schema-verifier-v2.d.ts +0 -110
  38. package/dist/compliance/schema-verifier-v2.d.ts.map +0 -1
  39. package/dist/compliance/schema-verifier-v2.js +0 -510
  40. package/dist/compliance/schema-verifier-v2.js.map +0 -1
  41. package/dist/did/resolver.d.ts +0 -92
  42. package/dist/did/resolver.d.ts.map +0 -1
  43. package/dist/did/resolver.js +0 -203
  44. package/dist/did/resolver.js.map +0 -1
  45. package/dist/proof/proof-engine.d.ts +0 -89
  46. package/dist/proof/proof-engine.d.ts.map +0 -1
  47. package/dist/proof/proof-engine.js +0 -249
  48. package/dist/proof/proof-engine.js.map +0 -1
  49. package/dist/runtime/base-v2.d.ts +0 -117
  50. package/dist/runtime/base-v2.d.ts.map +0 -1
  51. package/dist/runtime/base-v2.js +0 -328
  52. package/dist/runtime/base-v2.js.map +0 -1
  53. package/dist/types/providers.d.ts +0 -142
  54. package/dist/types/providers.d.ts.map +0 -1
  55. package/dist/types/providers.js +0 -43
  56. package/dist/types/providers.js.map +0 -1
  57. package/dist/verification/interfaces.d.ts +0 -125
  58. package/dist/verification/interfaces.d.ts.map +0 -1
  59. package/dist/verification/interfaces.js +0 -101
  60. package/dist/verification/interfaces.js.map +0 -1
@@ -1,510 +0,0 @@
1
- "use strict";
2
- /**
3
- * Enhanced Schema Compliance Verification Tool v2
4
- *
5
- * Supports JSON Schema draft-07 features:
6
- * - $ref resolution
7
- * - oneOf, anyOf, allOf
8
- * - Nested required fields
9
- * - Array tuple validation
10
- * - Format, pattern, enum, const
11
- * - Recursive object validation
12
- */
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.SchemaVerifierV2 = void 0;
15
- exports.createSchemaVerifierV2 = createSchemaVerifierV2;
16
- /**
17
- * Enhanced Schema Verifier with JSON Schema draft-07 support
18
- */
19
- class SchemaVerifierV2 {
20
- schemasBaseUrl = 'https://schemas.kya-os.ai';
21
- schemaCache = new Map();
22
- constructor(options) {
23
- if (options?.schemasBaseUrl) {
24
- this.schemasBaseUrl = options.schemasBaseUrl;
25
- }
26
- }
27
- /**
28
- * Verify a single schema against implementation
29
- */
30
- async verifySchema(schema, implementation) {
31
- const fields = [];
32
- const issues = [];
33
- const warnings = [];
34
- // Fetch the canonical schema
35
- let canonicalSchema;
36
- try {
37
- canonicalSchema = await this.fetchSchema(schema.url);
38
- }
39
- catch (error) {
40
- return {
41
- schema,
42
- compliant: false,
43
- compliancePercentage: 0,
44
- fields: [],
45
- issues: [
46
- `Failed to fetch schema: ${error instanceof Error ? error.message : 'Unknown error'}`,
47
- ],
48
- warnings: [],
49
- timestamp: Date.now(),
50
- };
51
- }
52
- // Resolve $ref if present at root
53
- const resolvedSchema = this.resolveRef(canonicalSchema, canonicalSchema);
54
- // Validate the implementation against the schema
55
- const validationResult = this.validateAgainstSchema(implementation, resolvedSchema, canonicalSchema, '');
56
- fields.push(...validationResult.fields);
57
- // Separate issues and warnings
58
- for (const field of fields) {
59
- if (field.status === 'fail') {
60
- issues.push(`${field.fieldPath}: ${field.reason}`);
61
- }
62
- else if (field.status === 'warning') {
63
- warnings.push(`${field.fieldPath}: ${field.reason}`);
64
- }
65
- }
66
- // Calculate compliance
67
- const requiredFields = fields.filter((f) => f.required);
68
- const passingRequiredFields = requiredFields.filter((f) => f.status === 'pass').length;
69
- const compliancePercentage = requiredFields.length > 0
70
- ? (passingRequiredFields / requiredFields.length) * 100
71
- : 100; // If no required fields, 100% compliant
72
- const compliant = issues.length === 0 && compliancePercentage >= 95;
73
- return {
74
- schema,
75
- compliant,
76
- compliancePercentage,
77
- fields,
78
- issues,
79
- warnings,
80
- timestamp: Date.now(),
81
- };
82
- }
83
- /**
84
- * Verify all schemas
85
- */
86
- async verifyAll(schemas, implementations) {
87
- const schemaReports = [];
88
- const criticalIssues = [];
89
- for (const schema of schemas) {
90
- const implementation = implementations.get(schema.id);
91
- if (!implementation) {
92
- criticalIssues.push(`No implementation found for schema: ${schema.id}`);
93
- continue;
94
- }
95
- const report = await this.verifySchema(schema, implementation);
96
- schemaReports.push(report);
97
- if (!report.compliant) {
98
- criticalIssues.push(`${schema.id}: ${report.issues.join(', ')}`);
99
- }
100
- }
101
- const compliantSchemas = schemaReports.filter((r) => r.compliant).length;
102
- const overallCompliance = schemas.length > 0 ? (compliantSchemas / schemas.length) * 100 : 0;
103
- return {
104
- totalSchemas: schemas.length,
105
- compliantSchemas,
106
- overallCompliance,
107
- schemaReports,
108
- criticalIssues,
109
- timestamp: Date.now(),
110
- };
111
- }
112
- /**
113
- * Validate implementation against schema recursively
114
- */
115
- validateAgainstSchema(value, schema, rootSchema, path) {
116
- const fields = [];
117
- // Resolve $ref
118
- schema = this.resolveRef(schema, rootSchema);
119
- // Handle oneOf, anyOf, allOf
120
- if (schema.oneOf || schema.anyOf || schema.allOf) {
121
- return this.validateUnion(value, schema, rootSchema, path);
122
- }
123
- // Handle type: object
124
- if (schema.type === 'object' && schema.properties) {
125
- const required = schema.required || [];
126
- for (const [propName, propSchema] of Object.entries(schema.properties)) {
127
- const propPath = path ? `${path}.${propName}` : propName;
128
- const propValue = value?.[propName];
129
- const isRequired = required.includes(propName);
130
- const fieldResult = this.checkField(propPath, propValue, propSchema, rootSchema, isRequired);
131
- fields.push(fieldResult);
132
- // Recurse into nested objects
133
- if (propValue !== undefined && propSchema.type === 'object') {
134
- const nestedResult = this.validateAgainstSchema(propValue, propSchema, rootSchema, propPath);
135
- fields.push(...nestedResult.fields);
136
- }
137
- }
138
- }
139
- // Handle type: array
140
- if (schema.type === 'array' && value && Array.isArray(value)) {
141
- const arrayResult = this.validateArray(value, schema, rootSchema, path);
142
- fields.push(...arrayResult.fields);
143
- }
144
- return { fields };
145
- }
146
- /**
147
- * Validate against oneOf, anyOf, allOf
148
- */
149
- validateUnion(value, schema, rootSchema, path) {
150
- const fields = [];
151
- // For anyOf/oneOf, try to find a matching schema
152
- if (schema.anyOf || schema.oneOf) {
153
- const options = schema.anyOf || schema.oneOf;
154
- let matched = false;
155
- for (const option of options) {
156
- const resolvedOption = this.resolveRef(option, rootSchema);
157
- // Try to validate against this option
158
- try {
159
- if (this.matchesSchema(value, resolvedOption, rootSchema)) {
160
- // Found a match, validate with this schema
161
- const result = this.validateAgainstSchema(value, resolvedOption, rootSchema, path);
162
- fields.push(...result.fields);
163
- matched = true;
164
- break;
165
- }
166
- }
167
- catch (e) {
168
- // Doesn't match this option, try next
169
- continue;
170
- }
171
- }
172
- if (!matched && path) {
173
- // Didn't match any option
174
- fields.push({
175
- fieldPath: path,
176
- present: value !== undefined,
177
- expectedType: 'oneOf/anyOf options',
178
- actualType: typeof value,
179
- typeMatches: false,
180
- required: true,
181
- status: 'fail',
182
- reason: 'Value does not match any of the schema options',
183
- });
184
- }
185
- }
186
- // For allOf, validate against all schemas
187
- if (schema.allOf) {
188
- for (const subSchema of schema.allOf) {
189
- const resolvedSubSchema = this.resolveRef(subSchema, rootSchema);
190
- const result = this.validateAgainstSchema(value, resolvedSubSchema, rootSchema, path);
191
- fields.push(...result.fields);
192
- }
193
- }
194
- return { fields };
195
- }
196
- /**
197
- * Check if value matches schema (lightweight check)
198
- */
199
- matchesSchema(value, schema, rootSchema) {
200
- schema = this.resolveRef(schema, rootSchema);
201
- // Check type
202
- if (schema.type) {
203
- const actualType = Array.isArray(value) ? 'array' : typeof value;
204
- if (schema.type !== actualType) {
205
- return false;
206
- }
207
- }
208
- // Check const
209
- if (schema.const !== undefined && value !== schema.const) {
210
- return false;
211
- }
212
- // Check enum
213
- if (schema.enum && !schema.enum.includes(value)) {
214
- return false;
215
- }
216
- // Check pattern (for strings)
217
- if (schema.pattern && typeof value === 'string') {
218
- const regex = new RegExp(schema.pattern);
219
- if (!regex.test(value)) {
220
- return false;
221
- }
222
- }
223
- // Check required properties (for objects)
224
- if (schema.type === 'object' && schema.required) {
225
- for (const requiredProp of schema.required) {
226
- if (!(requiredProp in value)) {
227
- return false;
228
- }
229
- }
230
- }
231
- return true;
232
- }
233
- /**
234
- * Validate array against schema
235
- */
236
- validateArray(value, schema, rootSchema, path) {
237
- const fields = [];
238
- // Check minItems
239
- if (schema.minItems !== undefined && value.length < schema.minItems) {
240
- fields.push({
241
- fieldPath: `${path}.length`,
242
- present: true,
243
- expectedType: `array with minItems: ${schema.minItems}`,
244
- actualType: `array with length: ${value.length}`,
245
- typeMatches: false,
246
- required: true,
247
- status: 'fail',
248
- reason: `Array length ${value.length} is less than minItems ${schema.minItems}`,
249
- });
250
- }
251
- // Check tuple validation (items as array)
252
- if (Array.isArray(schema.items)) {
253
- for (let i = 0; i < schema.items.length; i++) {
254
- const itemSchema = schema.items[i];
255
- const itemValue = value[i];
256
- const itemPath = `${path}[${i}]`;
257
- if (itemValue !== undefined) {
258
- const resolvedItemSchema = this.resolveRef(itemSchema, rootSchema);
259
- const itemResult = this.validateAgainstSchema(itemValue, resolvedItemSchema, rootSchema, itemPath);
260
- fields.push(...itemResult.fields);
261
- }
262
- }
263
- // Check additionalItems
264
- if (schema.additionalItems !== undefined && value.length > schema.items.length) {
265
- for (let i = schema.items.length; i < value.length; i++) {
266
- const itemValue = value[i];
267
- const itemPath = `${path}[${i}]`;
268
- const itemResult = this.validateAgainstSchema(itemValue, schema.additionalItems, rootSchema, itemPath);
269
- fields.push(...itemResult.fields);
270
- }
271
- }
272
- }
273
- else if (schema.items) {
274
- // Single schema for all items
275
- for (let i = 0; i < value.length; i++) {
276
- const itemValue = value[i];
277
- const itemPath = `${path}[${i}]`;
278
- const resolvedItemSchema = this.resolveRef(schema.items, rootSchema);
279
- const itemResult = this.validateAgainstSchema(itemValue, resolvedItemSchema, rootSchema, itemPath);
280
- fields.push(...itemResult.fields);
281
- }
282
- }
283
- // Check contains (at least one item must match)
284
- if (schema.contains) {
285
- const containsSchema = this.resolveRef(schema.contains, rootSchema);
286
- const hasMatch = value.some((item) => this.matchesSchema(item, containsSchema, rootSchema));
287
- if (!hasMatch) {
288
- fields.push({
289
- fieldPath: `${path}.contains`,
290
- present: true,
291
- expectedType: 'array containing matching item',
292
- actualType: 'array without matching item',
293
- typeMatches: false,
294
- required: true,
295
- status: 'fail',
296
- reason: 'Array does not contain any item matching the "contains" schema',
297
- });
298
- }
299
- }
300
- return { fields };
301
- }
302
- /**
303
- * Check a single field
304
- */
305
- checkField(fieldPath, value, schema, rootSchema, required) {
306
- schema = this.resolveRef(schema, rootSchema);
307
- const present = value !== undefined;
308
- const actualType = this.getActualType(value);
309
- // Get expected type
310
- let expectedType = 'unknown';
311
- if (schema.type) {
312
- expectedType = schema.type;
313
- }
314
- else if (schema.anyOf) {
315
- expectedType = 'anyOf';
316
- }
317
- else if (schema.oneOf) {
318
- expectedType = 'oneOf';
319
- }
320
- else if (schema.allOf) {
321
- expectedType = 'allOf';
322
- }
323
- // Check if required field is missing
324
- if (required && !present) {
325
- return {
326
- fieldPath,
327
- present,
328
- expectedType,
329
- actualType,
330
- typeMatches: false,
331
- required,
332
- status: 'fail',
333
- reason: 'Required field missing',
334
- };
335
- }
336
- // Check if optional field is missing
337
- if (!required && !present) {
338
- return {
339
- fieldPath,
340
- present,
341
- expectedType,
342
- actualType,
343
- typeMatches: true, // Optional field can be missing
344
- required,
345
- status: 'pass',
346
- };
347
- }
348
- // Value is present, check if it matches schema
349
- const typeMatches = this.matchesSchema(value, schema, rootSchema);
350
- if (!typeMatches) {
351
- return {
352
- fieldPath,
353
- present,
354
- expectedType,
355
- actualType,
356
- typeMatches: false,
357
- required,
358
- status: 'fail',
359
- reason: `Type/value mismatch`,
360
- };
361
- }
362
- // All good
363
- return {
364
- fieldPath,
365
- present,
366
- expectedType,
367
- actualType,
368
- typeMatches: true,
369
- required,
370
- status: 'pass',
371
- };
372
- }
373
- /**
374
- * Get actual JavaScript type
375
- */
376
- getActualType(value) {
377
- if (value === null)
378
- return 'null';
379
- if (Array.isArray(value))
380
- return 'array';
381
- return typeof value;
382
- }
383
- /**
384
- * Resolve $ref reference
385
- */
386
- resolveRef(schema, rootSchema) {
387
- if (!schema.$ref) {
388
- return schema;
389
- }
390
- const ref = schema.$ref;
391
- // Handle #/definitions/Foo
392
- if (ref.startsWith('#/definitions/')) {
393
- const defName = ref.substring('#/definitions/'.length);
394
- if (rootSchema.definitions && rootSchema.definitions[defName]) {
395
- return rootSchema.definitions[defName];
396
- }
397
- }
398
- // Handle #/$defs/Foo (draft-07+)
399
- if (ref.startsWith('#/$defs/')) {
400
- const defName = ref.substring('#/$defs/'.length);
401
- if (rootSchema.$defs && rootSchema.$defs[defName]) {
402
- return rootSchema.$defs[defName];
403
- }
404
- }
405
- // Handle # (root)
406
- if (ref === '#') {
407
- return rootSchema;
408
- }
409
- // If we can't resolve, return original
410
- return schema;
411
- }
412
- /**
413
- * Fetch a schema from URL
414
- */
415
- async fetchSchema(url) {
416
- // Check cache
417
- if (this.schemaCache.has(url)) {
418
- return this.schemaCache.get(url);
419
- }
420
- try {
421
- const response = await fetch(url);
422
- if (!response.ok) {
423
- throw new Error(`HTTP ${response.status}: ${response.statusText}`);
424
- }
425
- const schema = await response.json();
426
- this.schemaCache.set(url, schema);
427
- return schema;
428
- }
429
- catch (error) {
430
- if (error instanceof Error) {
431
- throw new Error(`Failed to fetch schema from ${url}: ${error.message}`);
432
- }
433
- throw new Error(`Failed to fetch schema from ${url}: Unknown error`);
434
- }
435
- }
436
- /**
437
- * Generate a formatted report
438
- */
439
- generateReport(report) {
440
- const lines = [];
441
- lines.push(`\n${'='.repeat(80)}`);
442
- lines.push(`SCHEMA COMPLIANCE REPORT: ${report.schema.id}`);
443
- lines.push(`${'='.repeat(80)}\n`);
444
- lines.push(`Schema: ${report.schema.type} v${report.schema.version}`);
445
- lines.push(`URL: ${report.schema.url}`);
446
- lines.push(`Status: ${report.compliant ? '✅ COMPLIANT' : '❌ NON-COMPLIANT'}`);
447
- lines.push(`Compliance: ${report.compliancePercentage.toFixed(1)}%\n`);
448
- if (report.issues.length > 0) {
449
- lines.push(`\n🚨 ISSUES (${report.issues.length}):`);
450
- report.issues.forEach((issue, i) => {
451
- lines.push(` ${i + 1}. ${issue}`);
452
- });
453
- }
454
- if (report.warnings.length > 0) {
455
- lines.push(`\n⚠️ WARNINGS (${report.warnings.length}):`);
456
- report.warnings.forEach((warning, i) => {
457
- lines.push(` ${i + 1}. ${warning}`);
458
- });
459
- }
460
- lines.push(`\n📊 FIELD DETAILS:\n`);
461
- const requiredFields = report.fields.filter((f) => f.required);
462
- const passing = requiredFields.filter((f) => f.status === 'pass').length;
463
- const failing = requiredFields.filter((f) => f.status === 'fail').length;
464
- const warnings = report.fields.filter((f) => f.status === 'warning').length;
465
- lines.push(` ✅ Pass: ${passing}/${requiredFields.length} required fields`);
466
- lines.push(` ❌ Fail: ${failing}/${requiredFields.length} required fields`);
467
- lines.push(` ⚠️ Warn: ${warnings} optional fields`);
468
- lines.push(` 📝 Total: ${report.fields.length} fields checked\n`);
469
- lines.push(`${'='.repeat(80)}\n`);
470
- return lines.join('\n');
471
- }
472
- /**
473
- * Generate full report
474
- */
475
- generateFullReport(report) {
476
- const lines = [];
477
- lines.push(`\n${'='.repeat(80)}`);
478
- lines.push(`FULL SCHEMA COMPLIANCE REPORT`);
479
- lines.push(`${'='.repeat(80)}\n`);
480
- lines.push(`Total Schemas: ${report.totalSchemas}`);
481
- lines.push(`Compliant: ${report.compliantSchemas}`);
482
- lines.push(`Non-Compliant: ${report.totalSchemas - report.compliantSchemas}`);
483
- lines.push(`Overall Compliance: ${report.overallCompliance.toFixed(1)}%\n`);
484
- if (report.criticalIssues.length > 0) {
485
- lines.push(`\n🚨 CRITICAL ISSUES (${report.criticalIssues.length}):`);
486
- report.criticalIssues.slice(0, 10).forEach((issue, i) => {
487
- lines.push(` ${i + 1}. ${issue}`);
488
- });
489
- if (report.criticalIssues.length > 10) {
490
- lines.push(` ... and ${report.criticalIssues.length - 10} more issues`);
491
- }
492
- }
493
- lines.push(`\n📊 SCHEMA BREAKDOWN:\n`);
494
- report.schemaReports.forEach((schemaReport) => {
495
- const icon = schemaReport.compliant ? '✅' : '❌';
496
- const percentage = schemaReport.compliancePercentage.toFixed(1);
497
- lines.push(` ${icon} ${schemaReport.schema.id}: ${percentage}%`);
498
- });
499
- lines.push(`\n${'='.repeat(80)}\n`);
500
- return lines.join('\n');
501
- }
502
- }
503
- exports.SchemaVerifierV2 = SchemaVerifierV2;
504
- /**
505
- * Create an enhanced schema verifier
506
- */
507
- function createSchemaVerifierV2(options) {
508
- return new SchemaVerifierV2(options);
509
- }
510
- //# sourceMappingURL=schema-verifier-v2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-verifier-v2.js","sourceRoot":"","sources":["../../src/compliance/schema-verifier-v2.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AA+qBH,wDAIC;AA3oBD;;GAEG;AACH,MAAa,gBAAgB;IACnB,cAAc,GAAG,2BAA2B,CAAC;IAC7C,WAAW,GAAG,IAAI,GAAG,EAAe,CAAC;IAE7C,YAAY,OAAqC;QAC/C,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,MAAsB,EACtB,cAAmB;QAEnB,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,6BAA6B;QAC7B,IAAI,eAAoB,CAAC;QACzB,IAAI,CAAC;YACH,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,MAAM;gBACN,SAAS,EAAE,KAAK;gBAChB,oBAAoB,EAAE,CAAC;gBACvB,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE;oBACN,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;iBACtF;gBACD,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;QAEzE,iDAAiD;QACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CACjD,cAAc,EACd,cAAc,EACd,eAAe,EACf,EAAE,CACH,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAExC,+BAA+B;QAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACrD,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACtC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,qBAAqB,GAAG,cAAc,CAAC,MAAM,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAC3B,CAAC,MAAM,CAAC;QAET,MAAM,oBAAoB,GACxB,cAAc,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,CAAC,qBAAqB,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,GAAG;YACvD,CAAC,CAAC,GAAG,CAAC,CAAC,wCAAwC;QAEnD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,oBAAoB,IAAI,EAAE,CAAC;QAEpE,OAAO;YACL,MAAM;YACN,SAAS;YACT,oBAAoB;YACpB,MAAM;YACN,MAAM;YACN,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,OAAyB,EACzB,eAAiC;QAEjC,MAAM,aAAa,GAA6B,EAAE,CAAC;QACnD,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,cAAc,CAAC,IAAI,CAAC,uCAAuC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxE,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;YAC/D,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE3B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QACzE,MAAM,iBAAiB,GACrB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAErE,OAAO;YACL,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,gBAAgB;YAChB,iBAAiB;YACjB,aAAa;YACb,cAAc;YACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,KAAU,EACV,MAAW,EACX,UAAe,EACf,IAAY;QAEZ,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,eAAe;QACf,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE7C,6BAA6B;QAC7B,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;QAED,sBAAsB;QACtB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YAEvC,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CACjD,MAAM,CAAC,UAAU,CAClB,EAAE,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACzD,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;gBACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAE/C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CACjC,QAAQ,EACR,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,CACX,CAAC;gBAEF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEzB,8BAA8B;gBAC9B,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAC7C,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,aAAa,CACnB,KAAU,EACV,MAAW,EACX,UAAe,EACf,IAAY;QAEZ,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,iDAAiD;QACjD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YAC7C,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAE3D,sCAAsC;gBACtC,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,CAAC;wBAC1D,2CAA2C;wBAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CACvC,KAAK,EACL,cAAc,EACd,UAAU,EACV,IAAI,CACL,CAAC;wBACF,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;wBAC9B,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM;oBACR,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,sCAAsC;oBACtC,SAAS;gBACX,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBACrB,0BAA0B;gBAC1B,MAAM,CAAC,IAAI,CAAC;oBACV,SAAS,EAAE,IAAI;oBACf,OAAO,EAAE,KAAK,KAAK,SAAS;oBAC5B,YAAY,EAAE,qBAAqB;oBACnC,UAAU,EAAE,OAAO,KAAK;oBACxB,WAAW,EAAE,KAAK;oBAClB,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,gDAAgD;iBACzD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CACvC,KAAK,EACL,iBAAiB,EACjB,UAAU,EACV,IAAI,CACL,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAU,EAAE,MAAW,EAAE,UAAe;QAC5D,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE7C,aAAa;QACb,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC;YACjE,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,cAAc;QACd,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,aAAa;QACb,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,8BAA8B;QAC9B,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChD,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC3C,IAAI,CAAC,CAAC,YAAY,IAAI,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,aAAa,CACnB,KAAY,EACZ,MAAW,EACX,UAAe,EACf,IAAY;QAEZ,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,iBAAiB;QACjB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC;gBACV,SAAS,EAAE,GAAG,IAAI,SAAS;gBAC3B,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,wBAAwB,MAAM,CAAC,QAAQ,EAAE;gBACvD,UAAU,EAAE,sBAAsB,KAAK,CAAC,MAAM,EAAE;gBAChD,WAAW,EAAE,KAAK;gBAClB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,gBAAgB,KAAK,CAAC,MAAM,0BAA0B,MAAM,CAAC,QAAQ,EAAE;aAChF,CAAC,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;gBAEjC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;oBACnE,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAC3C,SAAS,EACT,kBAAkB,EAClB,UAAU,EACV,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC/E,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC3B,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;oBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAC3C,SAAS,EACT,MAAM,CAAC,eAAe,EACtB,UAAU,EACV,QAAQ,CACT,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,8BAA8B;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;gBACjC,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACrE,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAC3C,SAAS,EACT,kBAAkB,EAClB,UAAU,EACV,QAAQ,CACT,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACnC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CACrD,CAAC;YAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC;oBACV,SAAS,EAAE,GAAG,IAAI,WAAW;oBAC7B,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,gCAAgC;oBAC9C,UAAU,EAAE,6BAA6B;oBACzC,WAAW,EAAE,KAAK;oBAClB,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,MAAM;oBACd,MAAM,EAAE,gEAAgE;iBACzE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,UAAU,CAChB,SAAiB,EACjB,KAAU,EACV,MAAW,EACX,UAAe,EACf,QAAiB;QAEjB,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7C,oBAAoB;QACpB,IAAI,YAAY,GAAG,SAAS,CAAC;QAC7B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,YAAY,GAAG,OAAO,CAAC;QACzB,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,YAAY,GAAG,OAAO,CAAC;QACzB,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,YAAY,GAAG,OAAO,CAAC;QACzB,CAAC;QAED,qCAAqC;QACrC,IAAI,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;gBACL,SAAS;gBACT,OAAO;gBACP,YAAY;gBACZ,UAAU;gBACV,WAAW,EAAE,KAAK;gBAClB,QAAQ;gBACR,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,wBAAwB;aACjC,CAAC;QACJ,CAAC;QAED,qCAAqC;QACrC,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO;gBACL,SAAS;gBACT,OAAO;gBACP,YAAY;gBACZ,UAAU;gBACV,WAAW,EAAE,IAAI,EAAE,gCAAgC;gBACnD,QAAQ;gBACR,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAED,+CAA+C;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAElE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,SAAS;gBACT,OAAO;gBACP,YAAY;gBACZ,UAAU;gBACV,WAAW,EAAE,KAAK;gBAClB,QAAQ;gBACR,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,qBAAqB;aAC9B,CAAC;QACJ,CAAC;QAED,WAAW;QACX,OAAO;YACL,SAAS;YACT,OAAO;YACP,YAAY;YACZ,UAAU;YACV,WAAW,EAAE,IAAI;YACjB,QAAQ;YACR,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAU;QAC9B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC;QACzC,OAAO,OAAO,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,MAAW,EAAE,UAAe;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;QAExB,2BAA2B;QAC3B,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,OAAO,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClD,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAChB,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,uCAAuC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CAAC,GAAW;QACnC,cAAc;QACd,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,iBAAiB,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAA8B;QAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAElC,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CACR,WAAW,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAClE,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEvE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;YAC1D,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;gBACrC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QACzE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;QAE5E,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,IAAI,cAAc,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,IAAI,cAAc,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC,eAAe,QAAQ,kBAAkB,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,MAAM,mBAAmB,CAAC,CAAC;QAEnE,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAElC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,MAA4B;QAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAElC,KAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CACR,kBAAkB,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAClE,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAE5E,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,CAAC;YACtE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACtD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CACR,aAAa,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,EAAE,cAAc,CAC7D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACvC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAChD,MAAM,UAAU,GAAG,YAAY,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,KAAK,UAAU,GAAG,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AA/nBD,4CA+nBC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,OAEtC;IACC,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC"}
@@ -1,92 +0,0 @@
1
- /**
2
- * DID Resolver plugin system
3
- * Supports did:key and did:web out of the box, extensible for other methods
4
- */
5
- import { FetchProvider } from "../types/providers";
6
- /**
7
- * DID Document structure
8
- */
9
- export interface DIDDocument {
10
- '@context': string[];
11
- id: string;
12
- verificationMethod?: VerificationMethod[];
13
- authentication?: (string | VerificationMethod)[];
14
- assertionMethod?: (string | VerificationMethod)[];
15
- keyAgreement?: (string | VerificationMethod)[];
16
- capabilityInvocation?: (string | VerificationMethod)[];
17
- capabilityDelegation?: (string | VerificationMethod)[];
18
- }
19
- export interface VerificationMethod {
20
- id: string;
21
- type: string;
22
- controller: string;
23
- publicKeyBase58?: string;
24
- publicKeyJwk?: any;
25
- publicKeyMultibase?: string;
26
- }
27
- /**
28
- * DID resolver interface
29
- */
30
- export interface DIDResolver {
31
- /**
32
- * Check if this resolver can handle the given DID method
33
- */
34
- canResolve(did: string): boolean;
35
- /**
36
- * Resolve a DID to its document
37
- */
38
- resolve(did: string): Promise<DIDDocument>;
39
- }
40
- /**
41
- * did:key resolver (built-in)
42
- */
43
- export declare class DIDKeyResolver implements DIDResolver {
44
- canResolve(did: string): boolean;
45
- resolve(did: string): Promise<DIDDocument>;
46
- private decodeMultibase;
47
- }
48
- /**
49
- * did:web resolver (built-in)
50
- */
51
- export declare class DIDWebResolver implements DIDResolver {
52
- private fetchProvider;
53
- constructor(fetchProvider: FetchProvider);
54
- canResolve(did: string): boolean;
55
- resolve(did: string): Promise<DIDDocument>;
56
- }
57
- /**
58
- * Universal DID resolver with plugin support
59
- */
60
- export declare class UniversalDIDResolver {
61
- private resolvers;
62
- constructor(fetchProvider?: FetchProvider);
63
- /**
64
- * Register a DID resolver
65
- */
66
- registerResolver(resolver: DIDResolver): void;
67
- /**
68
- * Resolve a DID using the appropriate resolver
69
- */
70
- resolve(did: string): Promise<DIDDocument>;
71
- /**
72
- * Extract public key from DID document
73
- */
74
- getPublicKey(did: string, keyId?: string): Promise<string>;
75
- private decodePublicKey;
76
- }
77
- /**
78
- * Lean DID resolver for edge environments
79
- */
80
- export declare class EdgeDIDResolver extends UniversalDIDResolver {
81
- private cache;
82
- constructor(cache?: Map<string, DIDDocument>);
83
- /**
84
- * Resolve with caching
85
- */
86
- resolve(did: string): Promise<DIDDocument>;
87
- /**
88
- * Pre-populate cache for known DIDs
89
- */
90
- preloadCache(documents: DIDDocument[]): void;
91
- }
92
- //# sourceMappingURL=resolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/did/resolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;IACjD,eAAe,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAC/C,oBAAoB,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;IACvD,oBAAoB,CAAC,EAAE,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC;CACxD;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC5C;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,WAAW;IAChD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI1B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAoChD,OAAO,CAAC,eAAe;CAYxB;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,WAAW;IACpC,OAAO,CAAC,aAAa;gBAAb,aAAa,EAAE,aAAa;IAEhD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI1B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CA2BjD;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,aAAa,CAAC,EAAE,aAAa;IASzC;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAI7C;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAWhD;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgChE,OAAO,CAAC,eAAe;CAUxB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,oBAAoB;IAC3C,OAAO,CAAC,KAAK;gBAAL,KAAK,GAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAa;IAI/D;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmBhD;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI;CAK7C"}