@simpleapps-com/augur-api 0.2.3 → 0.2.4

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 (73) hide show
  1. package/dist/cjs/client.d.ts +181 -0
  2. package/dist/cjs/client.d.ts.map +1 -1
  3. package/dist/cjs/client.js +449 -0
  4. package/dist/cjs/client.js.map +1 -1
  5. package/dist/cjs/core/base-client.d.ts +104 -0
  6. package/dist/cjs/core/base-client.d.ts.map +1 -1
  7. package/dist/cjs/core/base-client.js +201 -0
  8. package/dist/cjs/core/base-client.js.map +1 -1
  9. package/dist/cjs/index.d.ts +1 -0
  10. package/dist/cjs/index.d.ts.map +1 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/services/items/client.d.ts +2 -2
  13. package/dist/cjs/services/items/schemas/categories.d.ts +20 -20
  14. package/dist/cjs/services/joomla/client.d.ts +644 -99
  15. package/dist/cjs/services/joomla/client.d.ts.map +1 -1
  16. package/dist/cjs/services/joomla/client.js +467 -98
  17. package/dist/cjs/services/joomla/client.js.map +1 -1
  18. package/dist/cjs/services/nexus/client.d.ts +1096 -22
  19. package/dist/cjs/services/nexus/client.d.ts.map +1 -1
  20. package/dist/cjs/services/nexus/client.js +754 -22
  21. package/dist/cjs/services/nexus/client.js.map +1 -1
  22. package/dist/cjs/services/orders/client.d.ts +3 -3
  23. package/dist/cjs/services/orders/schemas/orders.d.ts +12 -12
  24. package/dist/cjs/services/orders/schemas/purchase-orders.d.ts +22 -22
  25. package/dist/cjs/services/vmi/schemas/inventory.d.ts +6 -6
  26. package/dist/cjs/services/vmi/schemas/products.d.ts +6 -6
  27. package/dist/cjs/services/vmi/schemas/restock.d.ts +12 -12
  28. package/dist/esm/client.d.ts +181 -0
  29. package/dist/esm/client.d.ts.map +1 -1
  30. package/dist/esm/client.js +449 -0
  31. package/dist/esm/client.js.map +1 -1
  32. package/dist/esm/core/base-client.d.ts +104 -0
  33. package/dist/esm/core/base-client.d.ts.map +1 -1
  34. package/dist/esm/core/base-client.js +201 -0
  35. package/dist/esm/core/base-client.js.map +1 -1
  36. package/dist/esm/index.d.ts +1 -0
  37. package/dist/esm/index.d.ts.map +1 -1
  38. package/dist/esm/index.js.map +1 -1
  39. package/dist/esm/services/items/client.d.ts +2 -2
  40. package/dist/esm/services/items/schemas/categories.d.ts +20 -20
  41. package/dist/esm/services/joomla/client.d.ts +644 -99
  42. package/dist/esm/services/joomla/client.d.ts.map +1 -1
  43. package/dist/esm/services/joomla/client.js +467 -98
  44. package/dist/esm/services/joomla/client.js.map +1 -1
  45. package/dist/esm/services/nexus/client.d.ts +1096 -22
  46. package/dist/esm/services/nexus/client.d.ts.map +1 -1
  47. package/dist/esm/services/nexus/client.js +754 -22
  48. package/dist/esm/services/nexus/client.js.map +1 -1
  49. package/dist/esm/services/orders/client.d.ts +3 -3
  50. package/dist/esm/services/orders/schemas/orders.d.ts +12 -12
  51. package/dist/esm/services/orders/schemas/purchase-orders.d.ts +22 -22
  52. package/dist/esm/services/vmi/schemas/inventory.d.ts +6 -6
  53. package/dist/esm/services/vmi/schemas/products.d.ts +6 -6
  54. package/dist/esm/services/vmi/schemas/restock.d.ts +12 -12
  55. package/dist/types/client.d.ts +181 -0
  56. package/dist/types/client.d.ts.map +1 -1
  57. package/dist/types/core/base-client.d.ts +104 -0
  58. package/dist/types/core/base-client.d.ts.map +1 -1
  59. package/dist/types/index.d.ts +1 -0
  60. package/dist/types/index.d.ts.map +1 -1
  61. package/dist/types/services/items/client.d.ts +2 -2
  62. package/dist/types/services/items/schemas/categories.d.ts +20 -20
  63. package/dist/types/services/joomla/client.d.ts +644 -99
  64. package/dist/types/services/joomla/client.d.ts.map +1 -1
  65. package/dist/types/services/nexus/client.d.ts +1096 -22
  66. package/dist/types/services/nexus/client.d.ts.map +1 -1
  67. package/dist/types/services/orders/client.d.ts +3 -3
  68. package/dist/types/services/orders/schemas/orders.d.ts +12 -12
  69. package/dist/types/services/orders/schemas/purchase-orders.d.ts +22 -22
  70. package/dist/types/services/vmi/schemas/inventory.d.ts +6 -6
  71. package/dist/types/services/vmi/schemas/products.d.ts +6 -6
  72. package/dist/types/services/vmi/schemas/restock.d.ts +12 -12
  73. package/package.json +1 -1
@@ -270,5 +270,454 @@ export class AugurAPI {
270
270
  this._p21Pim = undefined;
271
271
  this._payments = undefined;
272
272
  }
273
+ /**
274
+ * Discover all available services and their capabilities
275
+ *
276
+ * Returns a complete service map showing all discoverable endpoints across
277
+ * all microservices, enabling AI agents to understand the full API topology.
278
+ *
279
+ * @returns Promise<ServiceMap[]> Array of service maps with endpoint metadata
280
+ *
281
+ * @example
282
+ * ```typescript
283
+ * const api = new AugurAPI({ siteId: 'my-site', bearerToken: 'token' });
284
+ * const services = await api.discover();
285
+ *
286
+ * // Find all user-related endpoints
287
+ * const userEndpoints = services.flatMap(s => s.endpoints)
288
+ * .filter(e => e.searchTerms.some(term => term.includes('user')));
289
+ *
290
+ * // Show service capabilities
291
+ * services.forEach(service => {
292
+ * console.log(`${service.serviceName}: ${service.endpointCount} endpoints`);
293
+ * service.endpoints.forEach(endpoint => {
294
+ * console.log(` ${endpoint.fullPath} - ${endpoint.description}`);
295
+ * });
296
+ * });
297
+ * ```
298
+ */
299
+ async discover() {
300
+ const services = [];
301
+ // Get all available service clients
302
+ const serviceClients = [
303
+ { name: 'joomla', client: this.joomla },
304
+ { name: 'commerce', client: this.commerce },
305
+ { name: 'pricing', client: this.pricing },
306
+ { name: 'vmi', client: this.vmi },
307
+ { name: 'opensearch', client: this.opensearch },
308
+ { name: 'items', client: this.items },
309
+ { name: 'legacy', client: this.legacy },
310
+ { name: 'nexus', client: this.nexus },
311
+ { name: 'agrSite', client: this.agrSite },
312
+ { name: 'customers', client: this.customers },
313
+ { name: 'orders', client: this.orders },
314
+ { name: 'p21Pim', client: this.p21Pim },
315
+ { name: 'payments', client: this.payments },
316
+ ];
317
+ for (const { client } of serviceClients) {
318
+ try {
319
+ // Get discovery metadata from each service client
320
+ const metadata = client.getDiscoveryMetadata();
321
+ services.push({
322
+ serviceName: metadata.serviceName,
323
+ description: metadata.description,
324
+ baseUrl: metadata.baseUrl,
325
+ endpointCount: metadata.endpoints.length,
326
+ endpoints: metadata.endpoints,
327
+ });
328
+ }
329
+ catch {
330
+ // Silently skip services that don't support discovery
331
+ continue;
332
+ }
333
+ }
334
+ return services;
335
+ }
336
+ /**
337
+ * Find endpoints by search term or functionality description
338
+ *
339
+ * Searches across all services to find endpoints that match the given search term.
340
+ * Uses intelligent matching against endpoint descriptions, search terms, domains,
341
+ * and common usage patterns.
342
+ *
343
+ * @param searchTerm The functionality or term to search for
344
+ * @param options Search options for filtering and ranking
345
+ * @returns Promise<EndpointSearchResult[]> Array of matching endpoints with relevance scores
346
+ *
347
+ * @example
348
+ * ```typescript
349
+ * const api = new AugurAPI({ siteId: 'my-site', bearerToken: 'token' });
350
+ *
351
+ * // Find user-related endpoints
352
+ * const userEndpoints = await api.findEndpoint('users');
353
+ * console.log(`Found ${userEndpoints.length} user-related endpoints`);
354
+ *
355
+ * // Find authentication endpoints
356
+ * const authEndpoints = await api.findEndpoint('authentication');
357
+ *
358
+ * // Find inventory management
359
+ * const inventoryEndpoints = await api.findEndpoint('inventory management');
360
+ *
361
+ * // Show results with scores
362
+ * userEndpoints.forEach(result => {
363
+ * console.log(`${result.endpoint.fullPath} (${result.score.toFixed(2)}) - ${result.matchReason}`);
364
+ * });
365
+ * ```
366
+ */
367
+ async findEndpoint(searchTerm, options = {}) {
368
+ const { minScore = 0.1, maxResults = 10, service, domain, readOnly = false } = options;
369
+ // Handle empty search term
370
+ if (!searchTerm.trim()) {
371
+ return [];
372
+ }
373
+ // Get filtered endpoints
374
+ const filteredEndpoints = await this.getFilteredEndpoints({ service, domain, readOnly });
375
+ // Search and score endpoints
376
+ const results = this.searchAndScoreEndpoints(filteredEndpoints, searchTerm, {
377
+ domain,
378
+ minScore,
379
+ });
380
+ // Sort by relevance score (highest first) and limit results
381
+ return results.sort((a, b) => b.score - a.score).slice(0, maxResults);
382
+ }
383
+ /**
384
+ * Get endpoints filtered by service, domain, and method options
385
+ */
386
+ async getFilteredEndpoints(filters) {
387
+ const { service, domain, readOnly } = filters;
388
+ const services = await this.discover();
389
+ let filteredEndpoints = services.flatMap(s => s.endpoints);
390
+ if (service) {
391
+ filteredEndpoints = filteredEndpoints.filter(e => e.service === service);
392
+ }
393
+ if (domain) {
394
+ filteredEndpoints = filteredEndpoints.filter(e => e.domain === domain);
395
+ }
396
+ if (readOnly) {
397
+ filteredEndpoints = filteredEndpoints.filter(e => e.method === 'GET');
398
+ }
399
+ return filteredEndpoints;
400
+ }
401
+ /**
402
+ * Search and score endpoints against search term
403
+ */
404
+ searchAndScoreEndpoints(endpoints, searchTerm, options) {
405
+ const { domain, minScore } = options;
406
+ const results = [];
407
+ const searchTermLower = searchTerm.toLowerCase();
408
+ for (const endpoint of endpoints) {
409
+ // Skip malformed endpoints
410
+ if (!this.isValidEndpoint(endpoint)) {
411
+ continue;
412
+ }
413
+ const { finalScore, finalMatchReason } = this.calculateFinalScore(endpoint, searchTermLower, domain);
414
+ if (finalScore >= minScore) {
415
+ results.push({
416
+ endpoint,
417
+ score: finalScore,
418
+ matchReason: finalMatchReason,
419
+ });
420
+ }
421
+ }
422
+ return results;
423
+ }
424
+ /**
425
+ * Check if endpoint has required fields
426
+ */
427
+ isValidEndpoint(endpoint) {
428
+ return !!(endpoint.domain && endpoint.description && endpoint.method);
429
+ }
430
+ /**
431
+ * Calculate final score with domain filter adjustments
432
+ */
433
+ calculateFinalScore(endpoint, searchTermLower, domain) {
434
+ const { score, matchReason } = this.calculateEndpointRelevance(endpoint, searchTermLower);
435
+ // If domain filter is applied and search score is 0, give minimal score
436
+ if (domain && score === 0) {
437
+ return {
438
+ finalScore: 0.1,
439
+ finalMatchReason: 'Domain filter match',
440
+ };
441
+ }
442
+ return {
443
+ finalScore: score,
444
+ finalMatchReason: matchReason,
445
+ };
446
+ }
447
+ /**
448
+ * Calculate relevance score for an endpoint against a search term
449
+ */
450
+ calculateEndpointRelevance(endpoint, searchTermLower) {
451
+ const exactMatches = this.calculateExactMatches(endpoint, searchTermLower);
452
+ const partialMatches = this.calculatePartialMatches(endpoint, searchTermLower);
453
+ // Process exact matches if found
454
+ if (exactMatches.score > 0) {
455
+ return this.processExactMatches(exactMatches, partialMatches);
456
+ }
457
+ // Fallback to multi-word or partial matches
458
+ return this.processFallbackMatches(endpoint, searchTermLower, partialMatches);
459
+ }
460
+ /**
461
+ * Process exact matches with appropriate combining logic
462
+ */
463
+ processExactMatches(exactMatches, partialMatches) {
464
+ // Service and search term matches are exclusive
465
+ if (this.isExclusiveMatch(exactMatches.reason)) {
466
+ return {
467
+ score: exactMatches.score,
468
+ matchReason: exactMatches.reason,
469
+ };
470
+ }
471
+ // Combinable matches get partial score boost
472
+ if (this.isCombinableMatch(exactMatches.reason)) {
473
+ const totalScore = Math.min(exactMatches.score + partialMatches.score, 1.0);
474
+ return {
475
+ score: totalScore,
476
+ matchReason: exactMatches.reason,
477
+ };
478
+ }
479
+ // Default to exact match
480
+ return {
481
+ score: exactMatches.score,
482
+ matchReason: exactMatches.reason,
483
+ };
484
+ }
485
+ /**
486
+ * Check if match type should be exclusive (no combining)
487
+ */
488
+ isExclusiveMatch(reason) {
489
+ return reason === 'Service match' || reason.startsWith('Search term match');
490
+ }
491
+ /**
492
+ * Check if match type can be combined with partial matches
493
+ */
494
+ isCombinableMatch(reason) {
495
+ const combinableReasons = [
496
+ 'Description match',
497
+ 'Full path match',
498
+ 'Path substring match',
499
+ 'Domain match',
500
+ 'Usage pattern match',
501
+ ];
502
+ return combinableReasons.includes(reason);
503
+ }
504
+ /**
505
+ * Process fallback matches when no exact match found
506
+ */
507
+ processFallbackMatches(endpoint, searchTermLower, partialMatches) {
508
+ const multiWordMatches = this.calculateMultiWordMatches(endpoint, searchTermLower);
509
+ if (multiWordMatches.score > partialMatches.score) {
510
+ return {
511
+ score: multiWordMatches.score,
512
+ matchReason: multiWordMatches.reason,
513
+ };
514
+ }
515
+ return {
516
+ score: partialMatches.score,
517
+ matchReason: partialMatches.reason || 'Low relevance match',
518
+ };
519
+ }
520
+ /**
521
+ * Calculate exact field matches with high scores
522
+ */
523
+ calculateExactMatches(endpoint, searchTermLower) {
524
+ // Check matches in priority order (not just highest score)
525
+ // Priority 1: Exact field matches (domain, service, exact path, exact description)
526
+ const exactMatch = this.checkExactFieldMatches(endpoint, searchTermLower);
527
+ if (exactMatch.score > 0) {
528
+ return exactMatch;
529
+ }
530
+ // Priority 2: Path and description substring matches (higher business value)
531
+ const pathMatch = this.checkPathSubstringMatch(endpoint, searchTermLower);
532
+ if (pathMatch.score > 0) {
533
+ return pathMatch;
534
+ }
535
+ const descSubstringMatch = this.checkDescriptionSubstringMatch(endpoint, searchTermLower);
536
+ if (descSubstringMatch.score > 0) {
537
+ return descSubstringMatch;
538
+ }
539
+ // Priority 3: Search terms and patterns
540
+ const termMatch = this.checkSearchTermsAndPatterns(endpoint, searchTermLower);
541
+ if (termMatch.score > 0) {
542
+ return termMatch;
543
+ }
544
+ // Priority 4: Other substring matches (domain, service)
545
+ const otherSubstringMatch = this.checkOtherSubstringMatches(endpoint, searchTermLower);
546
+ if (otherSubstringMatch.score > 0) {
547
+ return otherSubstringMatch;
548
+ }
549
+ return { score: 0, reason: '' };
550
+ }
551
+ /**
552
+ * Check for path substring matches
553
+ */
554
+ checkPathSubstringMatch(endpoint, searchTermLower) {
555
+ if (endpoint.fullPath &&
556
+ (endpoint.fullPath.toLowerCase().includes(searchTermLower) ||
557
+ searchTermLower.includes(endpoint.fullPath.toLowerCase()))) {
558
+ return { score: 0.9, reason: 'Path substring match' };
559
+ }
560
+ return { score: 0, reason: '' };
561
+ }
562
+ /**
563
+ * Check for description substring matches
564
+ */
565
+ checkDescriptionSubstringMatch(endpoint, searchTermLower) {
566
+ if (endpoint.description && endpoint.description.toLowerCase().includes(searchTermLower)) {
567
+ return { score: 0.65, reason: 'Description substring match' };
568
+ }
569
+ return { score: 0, reason: '' };
570
+ }
571
+ /**
572
+ * Check for other substring matches (domain, service)
573
+ */
574
+ checkOtherSubstringMatches(endpoint, searchTermLower) {
575
+ if (endpoint.domain && endpoint.domain.toLowerCase().includes(searchTermLower)) {
576
+ return { score: 0.5, reason: 'Domain match' };
577
+ }
578
+ if (endpoint.service && endpoint.service.toLowerCase().includes(searchTermLower)) {
579
+ return { score: 0.3, reason: 'Service match' };
580
+ }
581
+ return { score: 0, reason: '' };
582
+ }
583
+ /**
584
+ * Check for exact field matches
585
+ */
586
+ checkExactFieldMatches(endpoint, searchTermLower) {
587
+ if (endpoint.domain && endpoint.domain.toLowerCase() === searchTermLower) {
588
+ return { score: 0.6, reason: 'Domain match' };
589
+ }
590
+ if (endpoint.service && endpoint.service.toLowerCase() === searchTermLower) {
591
+ return { score: 0.3, reason: 'Service match' };
592
+ }
593
+ if (endpoint.fullPath && endpoint.fullPath.toLowerCase() === searchTermLower) {
594
+ return { score: 1.0, reason: 'Full path match' };
595
+ }
596
+ if (endpoint.description && endpoint.description.toLowerCase() === searchTermLower) {
597
+ return { score: 0.8, reason: 'Description match' };
598
+ }
599
+ return { score: 0, reason: '' };
600
+ }
601
+ /**
602
+ * Check search terms and common patterns
603
+ */
604
+ checkSearchTermsAndPatterns(endpoint, searchTermLower) {
605
+ if (Array.isArray(endpoint.searchTerms)) {
606
+ const searchTermMatches = endpoint.searchTerms.filter(term => term && typeof term === 'string' && term.toLowerCase().includes(searchTermLower));
607
+ if (searchTermMatches.length > 0) {
608
+ return { score: 0.7, reason: `Search term match: ${searchTermMatches[0]}` };
609
+ }
610
+ }
611
+ if (Array.isArray(endpoint.commonPatterns)) {
612
+ const patternMatches = endpoint.commonPatterns.filter(pattern => {
613
+ if (!pattern || typeof pattern !== 'string')
614
+ return false;
615
+ const patternLower = pattern.toLowerCase();
616
+ return patternLower.includes(searchTermLower);
617
+ });
618
+ if (patternMatches.length > 0) {
619
+ return { score: 0.5, reason: 'Usage pattern match' };
620
+ }
621
+ }
622
+ return { score: 0, reason: '' };
623
+ }
624
+ /**
625
+ * Calculate partial word matches with lower scores
626
+ */
627
+ calculatePartialMatches(endpoint, searchTermLower) {
628
+ const allText = this.buildSearchableText(endpoint);
629
+ const wordMatches = this.countWordMatches(searchTermLower, allText);
630
+ return this.buildPartialMatchResult(wordMatches, searchTermLower);
631
+ }
632
+ /**
633
+ * Build searchable text from endpoint fields
634
+ */
635
+ buildSearchableText(endpoint) {
636
+ const searchTerms = Array.isArray(endpoint.searchTerms) ? endpoint.searchTerms : [];
637
+ const commonPatterns = Array.isArray(endpoint.commonPatterns) ? endpoint.commonPatterns : [];
638
+ return [
639
+ endpoint.fullPath || '',
640
+ endpoint.description || '',
641
+ endpoint.domain || '',
642
+ endpoint.service || '',
643
+ ...searchTerms,
644
+ ...commonPatterns,
645
+ ]
646
+ .filter(text => typeof text === 'string')
647
+ .join(' ')
648
+ .toLowerCase();
649
+ }
650
+ /**
651
+ * Count matching words in text
652
+ */
653
+ countWordMatches(searchTermLower, allText) {
654
+ const searchWords = searchTermLower.split(/\s+/).filter(word => word.length > 0);
655
+ let wordMatches = 0;
656
+ for (const word of searchWords) {
657
+ if (word.length > 2 && allText.includes(word)) {
658
+ wordMatches++;
659
+ }
660
+ }
661
+ return wordMatches;
662
+ }
663
+ /**
664
+ * Build partial match result with score and reason
665
+ */
666
+ buildPartialMatchResult(wordMatches, searchTermLower) {
667
+ if (wordMatches > 0) {
668
+ const searchWords = searchTermLower.split(/\s+/).filter(word => word.length > 0);
669
+ const partialScore = (wordMatches / searchWords.length) * 0.2;
670
+ const reasonText = `Partial word match (${wordMatches}/${searchWords.length})`;
671
+ return {
672
+ score: partialScore,
673
+ reason: reasonText,
674
+ matchReason: reasonText,
675
+ };
676
+ }
677
+ return { score: 0, reason: '', matchReason: '' };
678
+ }
679
+ /**
680
+ * Calculate multi-word matches by finding the best match for each word
681
+ */
682
+ calculateMultiWordMatches(endpoint, searchTermLower) {
683
+ const searchWords = searchTermLower.split(/\s+/).filter(word => word.length > 0);
684
+ // If only one word, fall back to exact matching
685
+ if (searchWords.length <= 1) {
686
+ return { score: 0, reason: '' };
687
+ }
688
+ let bestScore = 0;
689
+ let bestReason = '';
690
+ const matchedWords = [];
691
+ // Check each word against the endpoint fields
692
+ for (const word of searchWords) {
693
+ const wordMatch = this.calculateExactMatches(endpoint, word);
694
+ if (wordMatch.score > 0) {
695
+ // Keep track of the highest scoring match
696
+ if (wordMatch.score > bestScore) {
697
+ bestScore = wordMatch.score;
698
+ bestReason = wordMatch.reason;
699
+ }
700
+ matchedWords.push(word);
701
+ }
702
+ }
703
+ // If we matched multiple words, boost the score
704
+ if (matchedWords.length > 1) {
705
+ // Base score is the best individual match, with bonus for additional matches
706
+ const bonusScore = Math.min((matchedWords.length - 1) * 0.1, 0.3);
707
+ const finalScore = Math.min(bestScore + bonusScore, 1.0);
708
+ return {
709
+ score: finalScore,
710
+ reason: `Multi-word match (${matchedWords.length}/${searchWords.length} words): ${bestReason}`,
711
+ };
712
+ }
713
+ // Single word match - return as-is
714
+ if (bestScore > 0) {
715
+ return {
716
+ score: bestScore,
717
+ reason: bestReason,
718
+ };
719
+ }
720
+ return { score: 0, reason: '' };
721
+ }
273
722
  }
274
723
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,45 @@
1
1
  import { HTTPClient } from './client';
2
2
  import { z } from 'zod';
3
+ /**
4
+ * Interface for discovery metadata that AI agents can use to navigate services
5
+ */
6
+ export interface DiscoveryEndpoint {
7
+ /** Complete API path (e.g., api.joomla.users.list) */
8
+ fullPath: string;
9
+ /** Service name (e.g., joomla, nexus, items) */
10
+ service: string;
11
+ /** Business domain (e.g., user-management, content-management) */
12
+ domain: string;
13
+ /** HTTP method (GET, POST, PUT, DELETE) */
14
+ method: string;
15
+ /** Endpoint URL path */
16
+ path: string;
17
+ /** Description of what this endpoint does */
18
+ description: string;
19
+ /** Array of search terms for AI navigation */
20
+ searchTerms: string[];
21
+ /** Related endpoints across services */
22
+ relatedEndpoints: string[];
23
+ /** Common usage patterns in natural language */
24
+ commonPatterns: string[];
25
+ /** Reference to data-only method alternative */
26
+ dataMethod?: string;
27
+ /** Whether this endpoint is discoverable by AI agents */
28
+ discoverable: boolean;
29
+ }
30
+ /**
31
+ * Interface for service discovery metadata
32
+ */
33
+ export interface ServiceDiscoveryMetadata {
34
+ /** Service name */
35
+ serviceName: string;
36
+ /** Service description */
37
+ description: string;
38
+ /** Base URL for the service */
39
+ baseUrl: string;
40
+ /** Array of discoverable endpoints */
41
+ endpoints: DiscoveryEndpoint[];
42
+ }
3
43
  /**
4
44
  * HTTP method types for API operations
5
45
  */
@@ -349,5 +389,69 @@ export declare abstract class BaseServiceClient {
349
389
  * ```
350
390
  */
351
391
  private extractParameterName;
392
+ /**
393
+ * Get discovery metadata for this service client
394
+ *
395
+ * This method extracts semantic JSDoc metadata from all methods in the service client
396
+ * to enable AI agents to understand the service topology and navigate endpoints.
397
+ *
398
+ * @returns ServiceDiscoveryMetadata containing service info and endpoint metadata
399
+ */
400
+ getDiscoveryMetadata(): ServiceDiscoveryMetadata;
401
+ /**
402
+ * Get all method names from the service client instance
403
+ */
404
+ private getAllMethods;
405
+ /**
406
+ * Recursively walk prototype chain to collect methods
407
+ */
408
+ private walkPrototypeChain;
409
+ /**
410
+ * Check if a property is a valid method to include in discovery
411
+ */
412
+ private isValidMethod;
413
+ /**
414
+ * Extract semantic metadata from a method's JSDoc comments
415
+ *
416
+ * This method parses JSDoc comments to extract the semantic tags required
417
+ * for AI agent discovery and navigation.
418
+ */
419
+ private extractMethodMetadata;
420
+ /**
421
+ * Get method function from instance
422
+ */
423
+ private getMethodFunction;
424
+ /**
425
+ * Extract JSDoc content from method source
426
+ */
427
+ private extractJSDocContent;
428
+ /**
429
+ * Parse all semantic tags from JSDoc content
430
+ */
431
+ private parseSemanticTags;
432
+ /**
433
+ * Check if required semantic tags are present
434
+ */
435
+ private hasRequiredTags;
436
+ /**
437
+ * Extract description from JSDoc content
438
+ */
439
+ private extractDescription;
440
+ /**
441
+ * Extract a single JSDoc tag value
442
+ */
443
+ private extractJSDocTag;
444
+ /**
445
+ * Extract an array JSDoc tag value (e.g., @searchTerms ["term1", "term2"])
446
+ */
447
+ private extractJSDocArrayTag;
448
+ /**
449
+ * Infer HTTP method and path from method implementation
450
+ */
451
+ private inferMethodDetails;
452
+ /**
453
+ * Get service description - can be overridden by subclasses
454
+ */
455
+ protected getServiceDescription(): string;
352
456
  }
353
457
  //# sourceMappingURL=base-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-client.d.ts","sourceRoot":"","sources":["../../../src/core/base-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-client.d.ts","sourceRoot":"","sources":["../../../src/core/base-client.ts"],"names":[],"mappings":"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"}