agent0-sdk 0.2.4 → 0.31.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.
@@ -2,15 +2,18 @@
2
2
  * Agent indexer for discovery and search functionality
3
3
  * Simplified version focused on subgraph queries (no local ML indexing)
4
4
  */
5
+ import { SubgraphClient } from './subgraph-client.js';
5
6
  import { normalizeAddress } from '../utils/validation.js';
7
+ import { DEFAULT_SUBGRAPH_URLS } from './contracts.js';
6
8
  /**
7
9
  * Simplified indexer that primarily uses subgraph for queries
8
10
  * No local indexing or ML capabilities - all queries go through subgraph
9
11
  */
10
12
  export class AgentIndexer {
11
- constructor(web3Client, subgraphClient) {
13
+ constructor(web3Client, subgraphClient, subgraphUrlOverrides) {
12
14
  this.web3Client = web3Client;
13
15
  this.subgraphClient = subgraphClient;
16
+ this.subgraphUrlOverrides = subgraphUrlOverrides;
14
17
  }
15
18
  /**
16
19
  * Get agent summary from index/subgraph
@@ -30,12 +33,46 @@ export class AgentIndexer {
30
33
  /**
31
34
  * Search agents with filters
32
35
  */
33
- async searchAgents(params = {}, pageSize = 50, cursor) {
36
+ async searchAgents(params = {}, pageSize = 50, cursor, sort = []) {
37
+ // Ensure params is always an object
38
+ const searchParams = params || {};
39
+ // Handle "all" chains shorthand
40
+ if (searchParams.chains === 'all') {
41
+ searchParams.chains = this._getAllConfiguredChains();
42
+ }
43
+ // If chains are explicitly specified (even a single chain), use multi-chain path
44
+ if (searchParams.chains && Array.isArray(searchParams.chains) && searchParams.chains.length > 0) {
45
+ // Validate chains are configured
46
+ const availableChains = new Set(this._getAllConfiguredChains());
47
+ const requestedChains = new Set(searchParams.chains);
48
+ const invalidChains = [...requestedChains].filter(c => !availableChains.has(c));
49
+ if (invalidChains.length > 0) {
50
+ // Filter to valid chains only
51
+ const validChains = searchParams.chains.filter(c => availableChains.has(c));
52
+ if (validChains.length === 0) {
53
+ return {
54
+ items: [],
55
+ nextCursor: undefined,
56
+ meta: {
57
+ chains: searchParams.chains,
58
+ successfulChains: [],
59
+ failedChains: searchParams.chains,
60
+ totalResults: 0,
61
+ timing: { totalMs: 0 },
62
+ },
63
+ };
64
+ }
65
+ searchParams.chains = validChains;
66
+ }
67
+ // Use multi-chain search if multiple chains or single chain different from default
68
+ if (searchParams.chains.length > 1) {
69
+ return this._searchAgentsAcrossChains(searchParams, sort, pageSize, cursor);
70
+ }
71
+ }
72
+ // Single-chain search (existing logic)
34
73
  if (!this.subgraphClient) {
35
74
  throw new Error('Subgraph client required for agent search');
36
75
  }
37
- // Ensure params is always an object
38
- const searchParams = params || {};
39
76
  // Parse cursor for pagination
40
77
  const skip = cursor ? parseInt(cursor, 10) : 0;
41
78
  // Use subgraph search which pushes filters and pagination to subgraph level (much more efficient)
@@ -123,17 +160,283 @@ export class AgentIndexer {
123
160
  if (x402support !== undefined && agent.x402support !== x402support) {
124
161
  return false;
125
162
  }
126
- // Filter by chain
127
- if (chains && chains.length > 0 && !chains.includes(agent.chainId)) {
163
+ // Filter by chain (only if chains is an array, not 'all')
164
+ if (chains && Array.isArray(chains) && chains.length > 0 && !chains.includes(agent.chainId)) {
128
165
  return false;
129
166
  }
130
167
  return true;
131
168
  });
132
169
  }
170
+ /**
171
+ * Get all configured chains (chains with subgraph URLs)
172
+ */
173
+ _getAllConfiguredChains() {
174
+ const chains = [];
175
+ // Add chains from overrides
176
+ if (this.subgraphUrlOverrides) {
177
+ chains.push(...Object.keys(this.subgraphUrlOverrides).map(Number));
178
+ }
179
+ // Add chains from defaults
180
+ for (const chainId of Object.keys(DEFAULT_SUBGRAPH_URLS)) {
181
+ const chainIdNum = Number(chainId);
182
+ if (!chains.includes(chainIdNum)) {
183
+ chains.push(chainIdNum);
184
+ }
185
+ }
186
+ return chains.sort((a, b) => a - b);
187
+ }
188
+ /**
189
+ * Get subgraph client for a specific chain
190
+ */
191
+ _getSubgraphClientForChain(chainId) {
192
+ // Check overrides first
193
+ let subgraphUrl;
194
+ if (this.subgraphUrlOverrides && chainId in this.subgraphUrlOverrides) {
195
+ subgraphUrl = this.subgraphUrlOverrides[chainId];
196
+ }
197
+ else if (chainId in DEFAULT_SUBGRAPH_URLS) {
198
+ subgraphUrl = DEFAULT_SUBGRAPH_URLS[chainId];
199
+ }
200
+ if (!subgraphUrl) {
201
+ return null;
202
+ }
203
+ return new SubgraphClient(subgraphUrl);
204
+ }
205
+ /**
206
+ * Parse multi-chain pagination cursor
207
+ */
208
+ _parseMultiChainCursor(cursor) {
209
+ if (!cursor) {
210
+ return { _global_offset: 0 };
211
+ }
212
+ try {
213
+ const parsed = JSON.parse(cursor);
214
+ return {
215
+ _global_offset: typeof parsed._global_offset === 'number' ? parsed._global_offset : 0,
216
+ };
217
+ }
218
+ catch {
219
+ // Fallback: try to parse as simple number
220
+ const offset = parseInt(cursor, 10);
221
+ return { _global_offset: isNaN(offset) ? 0 : offset };
222
+ }
223
+ }
224
+ /**
225
+ * Create multi-chain pagination cursor
226
+ */
227
+ _createMultiChainCursor(globalOffset) {
228
+ return JSON.stringify({ _global_offset: globalOffset });
229
+ }
230
+ /**
231
+ * Apply cross-chain filters (for fields not supported by subgraph WHERE clause)
232
+ */
233
+ _applyCrossChainFilters(agents, params) {
234
+ return this._filterAgents(agents, params);
235
+ }
236
+ /**
237
+ * Deduplicate agents across chains (by name and description)
238
+ */
239
+ _deduplicateAgentsCrossChain(agents, params) {
240
+ // For now, return as-is (no deduplication)
241
+ // Python SDK has deduplication logic but it's optional
242
+ return agents;
243
+ }
244
+ /**
245
+ * Sort agents across chains
246
+ */
247
+ _sortAgentsCrossChain(agents, sort) {
248
+ if (!sort || sort.length === 0) {
249
+ return agents;
250
+ }
251
+ const sortField = sort[0].split(':');
252
+ const field = sortField[0] || 'createdAt';
253
+ const direction = sortField[1] || 'desc';
254
+ return [...agents].sort((a, b) => {
255
+ let aVal;
256
+ let bVal;
257
+ switch (field) {
258
+ case 'createdAt':
259
+ aVal = a.extras?.createdAt || 0;
260
+ bVal = b.extras?.createdAt || 0;
261
+ break;
262
+ case 'name':
263
+ aVal = a.name?.toLowerCase() || '';
264
+ bVal = b.name?.toLowerCase() || '';
265
+ break;
266
+ case 'chainId':
267
+ aVal = a.chainId;
268
+ bVal = b.chainId;
269
+ break;
270
+ default:
271
+ aVal = a.extras?.[field] || 0;
272
+ bVal = b.extras?.[field] || 0;
273
+ }
274
+ if (aVal < bVal)
275
+ return direction === 'asc' ? -1 : 1;
276
+ if (aVal > bVal)
277
+ return direction === 'asc' ? 1 : -1;
278
+ return 0;
279
+ });
280
+ }
281
+ /**
282
+ * Search agents across multiple chains in parallel
283
+ */
284
+ async _searchAgentsAcrossChains(params, sort, pageSize, cursor, timeout = 30000) {
285
+ const startTime = Date.now();
286
+ // Step 1: Determine which chains to query
287
+ const chainsToQuery = (params.chains && Array.isArray(params.chains) && params.chains.length > 0)
288
+ ? params.chains
289
+ : this._getAllConfiguredChains();
290
+ if (chainsToQuery.length === 0) {
291
+ return {
292
+ items: [],
293
+ nextCursor: undefined,
294
+ meta: {
295
+ chains: [],
296
+ successfulChains: [],
297
+ failedChains: [],
298
+ totalResults: 0,
299
+ timing: { totalMs: 0 },
300
+ },
301
+ };
302
+ }
303
+ // Step 2: Parse pagination cursor
304
+ const chainCursors = this._parseMultiChainCursor(cursor);
305
+ const globalOffset = chainCursors._global_offset;
306
+ // Step 3: Define async function for querying a single chain
307
+ const querySingleChain = async (chainId) => {
308
+ try {
309
+ const subgraphClient = this._getSubgraphClientForChain(chainId);
310
+ if (!subgraphClient) {
311
+ return {
312
+ chainId,
313
+ status: 'unavailable',
314
+ agents: [],
315
+ error: `No subgraph configured for chain ${chainId}`,
316
+ };
317
+ }
318
+ // Build search params for this chain (remove chains filter)
319
+ const chainParams = { ...params };
320
+ delete chainParams.chains;
321
+ // Execute subgraph query (fetch extra to allow for filtering/sorting)
322
+ const agents = await subgraphClient.searchAgents(chainParams, pageSize * 3, 0);
323
+ return {
324
+ chainId,
325
+ status: 'success',
326
+ agents,
327
+ };
328
+ }
329
+ catch (error) {
330
+ return {
331
+ chainId,
332
+ status: 'error',
333
+ agents: [],
334
+ error: error instanceof Error ? error.message : String(error),
335
+ };
336
+ }
337
+ };
338
+ // Step 4: Execute all chain queries in parallel with timeout
339
+ const chainPromises = chainsToQuery.map(chainId => {
340
+ return Promise.race([
341
+ querySingleChain(chainId),
342
+ new Promise((resolve) => {
343
+ setTimeout(() => {
344
+ resolve({
345
+ chainId,
346
+ status: 'timeout',
347
+ agents: [],
348
+ });
349
+ }, timeout);
350
+ }),
351
+ ]);
352
+ });
353
+ const chainResults = await Promise.allSettled(chainPromises);
354
+ // Step 5: Extract successful results and track failures
355
+ const allAgents = [];
356
+ const successfulChains = [];
357
+ const failedChains = [];
358
+ for (let i = 0; i < chainResults.length; i++) {
359
+ const result = chainResults[i];
360
+ const chainId = chainsToQuery[i];
361
+ if (result.status === 'fulfilled') {
362
+ const chainResult = result.value;
363
+ if (chainResult.status === 'success') {
364
+ successfulChains.push(chainId);
365
+ allAgents.push(...chainResult.agents);
366
+ }
367
+ else {
368
+ failedChains.push(chainId);
369
+ }
370
+ }
371
+ else {
372
+ // Promise rejected
373
+ failedChains.push(chainId);
374
+ }
375
+ }
376
+ // If ALL chains failed, return error metadata
377
+ if (successfulChains.length === 0) {
378
+ const queryTime = Date.now() - startTime;
379
+ return {
380
+ items: [],
381
+ nextCursor: undefined,
382
+ meta: {
383
+ chains: chainsToQuery,
384
+ successfulChains: [],
385
+ failedChains,
386
+ totalResults: 0,
387
+ timing: { totalMs: queryTime },
388
+ },
389
+ };
390
+ }
391
+ // Step 6: Apply cross-chain filtering
392
+ const filteredAgents = this._applyCrossChainFilters(allAgents, params);
393
+ // Step 7: Deduplicate if requested
394
+ const deduplicatedAgents = this._deduplicateAgentsCrossChain(filteredAgents, params);
395
+ // Step 8: Sort across chains
396
+ const sortedAgents = this._sortAgentsCrossChain(deduplicatedAgents, sort);
397
+ // Step 9: Paginate
398
+ const startIdx = globalOffset;
399
+ const endIdx = startIdx + pageSize;
400
+ const paginatedAgents = sortedAgents.slice(startIdx, endIdx);
401
+ // Step 10: Calculate next cursor
402
+ const nextCursor = sortedAgents.length > endIdx
403
+ ? this._createMultiChainCursor(endIdx)
404
+ : undefined;
405
+ // Step 11: Build response with metadata
406
+ const queryTime = Date.now() - startTime;
407
+ return {
408
+ items: paginatedAgents,
409
+ nextCursor,
410
+ meta: {
411
+ chains: chainsToQuery,
412
+ successfulChains,
413
+ failedChains,
414
+ totalResults: sortedAgents.length,
415
+ timing: {
416
+ totalMs: queryTime,
417
+ averagePerChainMs: chainsToQuery.length > 0 ? Math.floor(queryTime / chainsToQuery.length) : undefined,
418
+ },
419
+ },
420
+ };
421
+ }
133
422
  /**
134
423
  * Search agents by reputation
135
424
  */
136
- async searchAgentsByReputation(agents, tags, reviewers, capabilities, skills, tasks, names, minAverageScore, includeRevoked = false, first = 50, skip = 0, sort = ['createdAt:desc']) {
425
+ async searchAgentsByReputation(agents, tags, reviewers, capabilities, skills, tasks, names, minAverageScore, includeRevoked = false, first = 50, skip = 0, sort = ['createdAt:desc'], chains) {
426
+ // Handle "all" chains shorthand
427
+ let chainsToQuery;
428
+ if (chains === 'all') {
429
+ chainsToQuery = this._getAllConfiguredChains();
430
+ }
431
+ else if (chains && Array.isArray(chains) && chains.length > 0) {
432
+ chainsToQuery = chains;
433
+ }
434
+ // If chains are specified, use multi-chain search
435
+ // Route to multi-chain if multiple chains OR if single chain is specified (to ensure correct subgraph client)
436
+ if (chainsToQuery && chainsToQuery.length > 0) {
437
+ return this._searchAgentsByReputationAcrossChains(agents, tags, reviewers, capabilities, skills, tasks, names, minAverageScore, includeRevoked, first, skip, sort, chainsToQuery);
438
+ }
439
+ // Single-chain search (existing logic)
137
440
  if (!this.subgraphClient) {
138
441
  throw new Error('Subgraph client required for reputation search');
139
442
  }
@@ -185,5 +488,187 @@ export class AgentIndexer {
185
488
  throw new Error(`Failed to search agents by reputation: ${error}`);
186
489
  }
187
490
  }
491
+ /**
492
+ * Search agents by reputation across multiple chains in parallel
493
+ */
494
+ async _searchAgentsByReputationAcrossChains(agents, tags, reviewers, capabilities, skills, tasks, names, minAverageScore, includeRevoked = false, pageSize = 50, skip = 0, sort = ['createdAt:desc'], chains = [], timeout = 30000) {
495
+ const startTime = Date.now();
496
+ if (chains.length === 0) {
497
+ return {
498
+ items: [],
499
+ nextCursor: undefined,
500
+ meta: {
501
+ chains: [],
502
+ successfulChains: [],
503
+ failedChains: [],
504
+ totalResults: 0,
505
+ timing: { totalMs: 0 },
506
+ },
507
+ };
508
+ }
509
+ // Parse sort parameter
510
+ let orderBy = 'createdAt';
511
+ let orderDirection = 'desc';
512
+ if (sort && sort.length > 0) {
513
+ const sortField = sort[0].split(':');
514
+ orderBy = sortField[0] || orderBy;
515
+ orderDirection = sortField[1] || orderDirection;
516
+ }
517
+ // Define async function for querying a single chain
518
+ const querySingleChain = async (chainId) => {
519
+ try {
520
+ const subgraphClient = this._getSubgraphClientForChain(chainId);
521
+ if (!subgraphClient) {
522
+ return {
523
+ chainId,
524
+ status: 'unavailable',
525
+ agents: [],
526
+ error: `No subgraph configured for chain ${chainId}`,
527
+ };
528
+ }
529
+ // Execute reputation search query
530
+ try {
531
+ const agentsData = await subgraphClient.searchAgentsByReputation(agents, tags, reviewers, capabilities, skills, tasks, names, minAverageScore, includeRevoked, pageSize * 3, // Fetch extra to allow for filtering/sorting
532
+ 0, // We'll handle pagination after aggregation
533
+ orderBy, orderDirection);
534
+ return {
535
+ chainId,
536
+ status: 'success',
537
+ agents: agentsData,
538
+ };
539
+ }
540
+ catch (error) {
541
+ return {
542
+ chainId,
543
+ status: 'error',
544
+ agents: [],
545
+ error: error instanceof Error ? error.message : String(error),
546
+ };
547
+ }
548
+ }
549
+ catch (error) {
550
+ return {
551
+ chainId,
552
+ status: 'error',
553
+ agents: [],
554
+ error: error instanceof Error ? error.message : String(error),
555
+ };
556
+ }
557
+ };
558
+ // Execute all chain queries in parallel with timeout
559
+ const chainPromises = chains.map(chainId => {
560
+ return Promise.race([
561
+ querySingleChain(chainId),
562
+ new Promise((resolve) => {
563
+ setTimeout(() => {
564
+ resolve({
565
+ chainId,
566
+ status: 'timeout',
567
+ agents: [],
568
+ });
569
+ }, timeout);
570
+ }),
571
+ ]);
572
+ });
573
+ const chainResults = await Promise.allSettled(chainPromises);
574
+ // Extract successful results and track failures
575
+ const allAgents = []; // Will be transformed to AgentSummary later
576
+ const successfulChains = [];
577
+ const failedChains = [];
578
+ for (let i = 0; i < chainResults.length; i++) {
579
+ const result = chainResults[i];
580
+ const chainId = chains[i];
581
+ if (result.status === 'fulfilled') {
582
+ const chainResult = result.value;
583
+ if (chainResult.status === 'success') {
584
+ successfulChains.push(chainId);
585
+ allAgents.push(...chainResult.agents);
586
+ }
587
+ else {
588
+ failedChains.push(chainId);
589
+ }
590
+ }
591
+ else {
592
+ failedChains.push(chainId);
593
+ }
594
+ }
595
+ // If ALL chains failed, return error metadata
596
+ if (successfulChains.length === 0) {
597
+ const queryTime = Date.now() - startTime;
598
+ return {
599
+ items: [],
600
+ nextCursor: undefined,
601
+ meta: {
602
+ chains,
603
+ successfulChains: [],
604
+ failedChains,
605
+ totalResults: 0,
606
+ timing: { totalMs: queryTime },
607
+ },
608
+ };
609
+ }
610
+ // Transform to AgentSummary with averageScore in extras
611
+ const results = allAgents.map((agent) => {
612
+ const regFile = agent.registrationFile || {};
613
+ return {
614
+ chainId: parseInt(agent.chainId?.toString() || '0', 10),
615
+ agentId: agent.id || '',
616
+ name: regFile?.name || '',
617
+ image: regFile?.image || undefined,
618
+ description: regFile?.description || '',
619
+ owners: agent.owner ? [normalizeAddress(agent.owner)] : [],
620
+ operators: (agent.operators || []).map((op) => normalizeAddress(op)),
621
+ mcp: !!regFile?.mcpEndpoint,
622
+ a2a: !!regFile?.a2aEndpoint,
623
+ ens: regFile?.ens || undefined,
624
+ did: regFile?.did || undefined,
625
+ walletAddress: regFile?.agentWallet ? normalizeAddress(regFile.agentWallet) : undefined,
626
+ supportedTrusts: regFile?.supportedTrusts || [],
627
+ a2aSkills: regFile?.a2aSkills || [],
628
+ mcpTools: regFile?.mcpTools || [],
629
+ mcpPrompts: regFile?.mcpPrompts || [],
630
+ mcpResources: regFile?.mcpResources || [],
631
+ active: regFile?.active ?? false,
632
+ x402support: regFile?.x402support ?? false,
633
+ extras: {
634
+ averageScore: agent.averageScore !== null ? agent.averageScore : undefined,
635
+ },
636
+ };
637
+ });
638
+ // Sort by averageScore (descending) if available, otherwise by createdAt
639
+ results.sort((a, b) => {
640
+ const aScore = a.extras?.averageScore ?? 0;
641
+ const bScore = b.extras?.averageScore ?? 0;
642
+ if (aScore !== bScore) {
643
+ return bScore - aScore; // Descending
644
+ }
645
+ // Secondary sort by chainId, then agentId
646
+ if (a.chainId !== b.chainId) {
647
+ return a.chainId - b.chainId;
648
+ }
649
+ return a.agentId.localeCompare(b.agentId);
650
+ });
651
+ // Apply pagination
652
+ const paginatedResults = results.slice(skip, skip + pageSize);
653
+ const nextCursor = results.length > skip + pageSize
654
+ ? String(skip + pageSize)
655
+ : undefined;
656
+ // Build response with metadata
657
+ const queryTime = Date.now() - startTime;
658
+ return {
659
+ items: paginatedResults,
660
+ nextCursor,
661
+ meta: {
662
+ chains,
663
+ successfulChains,
664
+ failedChains,
665
+ totalResults: results.length,
666
+ timing: {
667
+ totalMs: queryTime,
668
+ averagePerChainMs: chains.length > 0 ? Math.floor(queryTime / chains.length) : undefined,
669
+ },
670
+ },
671
+ };
672
+ }
188
673
  }
189
674
  //# sourceMappingURL=indexer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/core/indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/core/indexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * OASF taxonomy validation utilities
3
+ */
4
+ /**
5
+ * Validate if a skill slug exists in the OASF taxonomy
6
+ * @param slug The skill slug to validate (e.g., "natural_language_processing/summarization")
7
+ * @returns True if the skill exists in the taxonomy, False otherwise
8
+ */
9
+ export declare function validateSkill(slug: string): boolean;
10
+ /**
11
+ * Validate if a domain slug exists in the OASF taxonomy
12
+ * @param slug The domain slug to validate (e.g., "finance_and_business/investment_services")
13
+ * @returns True if the domain exists in the taxonomy, False otherwise
14
+ */
15
+ export declare function validateDomain(slug: string): boolean;
16
+ //# sourceMappingURL=oasf-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oasf-validator.d.ts","sourceRoot":"","sources":["../../src/core/oasf-validator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAInD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIpD"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * OASF taxonomy validation utilities
3
+ */
4
+ import allSkills from '../taxonomies/all_skills.json';
5
+ import allDomains from '../taxonomies/all_domains.json';
6
+ /**
7
+ * Validate if a skill slug exists in the OASF taxonomy
8
+ * @param slug The skill slug to validate (e.g., "natural_language_processing/summarization")
9
+ * @returns True if the skill exists in the taxonomy, False otherwise
10
+ */
11
+ export function validateSkill(slug) {
12
+ const skillsData = allSkills;
13
+ const skills = skillsData.skills || {};
14
+ return slug in skills;
15
+ }
16
+ /**
17
+ * Validate if a domain slug exists in the OASF taxonomy
18
+ * @param slug The domain slug to validate (e.g., "finance_and_business/investment_services")
19
+ * @returns True if the domain exists in the taxonomy, False otherwise
20
+ */
21
+ export function validateDomain(slug) {
22
+ const domainsData = allDomains;
23
+ const domains = domainsData.domains || {};
24
+ return slug in domains;
25
+ }
26
+ //# sourceMappingURL=oasf-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oasf-validator.js","sourceRoot":"","sources":["../../src/core/oasf-validator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,UAAU,MAAM,gCAAgC,CAAC;AAUxD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,UAAU,GAAG,SAAuB,CAAC;IAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;IACvC,OAAO,IAAI,IAAI,MAAM,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,WAAW,GAAG,UAAyB,CAAC;IAC9C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;IAC1C,OAAO,IAAI,IAAI,OAAO,CAAC;AACzB,CAAC"}