agent-gateway-mcp 0.3.0 → 0.5.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.
@@ -0,0 +1,9 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "mcp__gateway__discover",
5
+ "mcp__gateway__call",
6
+ "mcp__gateway__list_connections"
7
+ ]
8
+ }
9
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"caller.d.ts","sourceRoot":"","sources":["../src/caller.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC,CA+GrB"}
1
+ {"version":3,"file":"caller.d.ts","sourceRoot":"","sources":["../src/caller.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC,CAmKrB"}
package/dist/caller.js CHANGED
@@ -38,10 +38,58 @@ export async function callCapability(domain, capabilityName, params, apiKey) {
38
38
  error: `Failed to fetch capability detail: ${err instanceof Error ? err.message : "unknown"}`,
39
39
  };
40
40
  }
41
- // Step 3: Build the request
42
- const url = detail.endpoint.startsWith("http")
41
+ // Step 3: Build the request — classify parameters by location
42
+ let endpoint = detail.endpoint.startsWith("http")
43
43
  ? detail.endpoint
44
44
  : `${manifest.base_url}${detail.endpoint}`;
45
+ const method = detail.method.toUpperCase();
46
+ // Detect path param names from {paramName} patterns in endpoint
47
+ const endpointPathParams = new Set();
48
+ for (const match of endpoint.matchAll(/\{(\w+)\}/g)) {
49
+ endpointPathParams.add(match[1]);
50
+ }
51
+ // Build a lookup of explicit "in" values from capability detail
52
+ const paramMeta = new Map();
53
+ for (const p of detail.parameters ?? []) {
54
+ if (p.in)
55
+ paramMeta.set(p.name, p.in);
56
+ }
57
+ // Classify each param: use explicit "in" if present, otherwise infer
58
+ const pathValues = {};
59
+ const queryValues = {};
60
+ const bodyValues = {};
61
+ const headerValues = {};
62
+ for (const [key, value] of Object.entries(params)) {
63
+ const explicit = paramMeta.get(key);
64
+ if (explicit === "path" || (!explicit && endpointPathParams.has(key))) {
65
+ pathValues[key] = value;
66
+ }
67
+ else if (explicit === "header") {
68
+ headerValues[key] = value;
69
+ }
70
+ else if (explicit === "query") {
71
+ queryValues[key] = value;
72
+ }
73
+ else if (explicit === "body") {
74
+ bodyValues[key] = value;
75
+ }
76
+ else {
77
+ // No explicit "in" and not a path param — infer from HTTP method
78
+ if (method === "GET" || method === "HEAD" || method === "DELETE") {
79
+ queryValues[key] = value;
80
+ }
81
+ else {
82
+ bodyValues[key] = value;
83
+ }
84
+ }
85
+ }
86
+ // Substitute path parameters in the endpoint URL
87
+ endpoint = endpoint.replace(/\{(\w+)\}/g, (_match, paramName) => {
88
+ if (pathValues[paramName] !== undefined) {
89
+ return encodeURIComponent(String(pathValues[paramName]));
90
+ }
91
+ return `{${paramName}}`;
92
+ });
45
93
  const headers = {
46
94
  "Content-Type": "application/json",
47
95
  Accept: "application/json",
@@ -57,24 +105,27 @@ export async function callCapability(domain, capabilityName, params, apiKey) {
57
105
  headers["Authorization"] = `Bearer ${token.access_token}`;
58
106
  }
59
107
  }
108
+ // Inject header parameters
109
+ for (const [key, value] of Object.entries(headerValues)) {
110
+ headers[key] = String(value);
111
+ }
60
112
  // Step 4: Make the call
61
- const method = detail.method.toUpperCase();
62
113
  const fetchOpts = {
63
114
  method,
64
115
  headers,
65
116
  signal: AbortSignal.timeout(30000),
66
117
  };
67
- if (method !== "GET" && method !== "HEAD") {
68
- fetchOpts.body = JSON.stringify(params);
118
+ if (method !== "GET" && method !== "HEAD" && Object.keys(bodyValues).length > 0) {
119
+ fetchOpts.body = JSON.stringify(bodyValues);
69
120
  }
70
- // For GET, append params as query string
71
- let finalUrl = url;
72
- if (method === "GET" && Object.keys(params).length > 0) {
121
+ // Append query parameters
122
+ let finalUrl = endpoint;
123
+ if (Object.keys(queryValues).length > 0) {
73
124
  const qs = new URLSearchParams();
74
- for (const [key, value] of Object.entries(params)) {
125
+ for (const [key, value] of Object.entries(queryValues)) {
75
126
  qs.set(key, String(value));
76
127
  }
77
- finalUrl = `${url}?${qs.toString()}`;
128
+ finalUrl = `${endpoint}?${qs.toString()}`;
78
129
  }
79
130
  try {
80
131
  const res = await fetch(finalUrl, fetchOpts);
@@ -1 +1 @@
1
- {"version":3,"file":"caller.js","sourceRoot":"","sources":["../src/caller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"caller.js","sourceRoot":"","sources":["../src/caller.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { GatewayConfig, StoredToken, Connection, UserIdentity, RegistryDiscoverResponse } from "./types.js";
1
+ import type { GatewayConfig, StoredToken, Connection, UserIdentity, Manifest, CapabilityDetail, RegistryDiscoverResponse } from "./types.js";
2
2
  export declare function setRegistryUrl(url: string): void;
3
3
  export declare function loadConfig(): GatewayConfig;
4
4
  export declare function saveConfig(config: GatewayConfig): void;
@@ -24,6 +24,10 @@ export declare function syncTokensFromCloud(): Promise<{
24
24
  }>;
25
25
  export declare function getCachedDiscovery(query: string): RegistryDiscoverResponse | undefined;
26
26
  export declare function setCachedDiscovery(query: string, results: RegistryDiscoverResponse): void;
27
+ export declare function getCachedManifest(domain: string): Manifest | undefined;
28
+ export declare function setCachedManifest(domain: string, manifest: Manifest): void;
29
+ export declare function getCachedCapability(domain: string, capName: string): CapabilityDetail | undefined;
30
+ export declare function setCachedCapability(domain: string, capName: string, detail: CapabilityDetail): void;
27
31
  export declare function clearAllCaches(): void;
28
32
  export declare function getOAuthCredentials(provider: "google" | "github"): {
29
33
  clientId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,EAIZ,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAmBpB,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEhD;AAkBD,wBAAgB,UAAU,IAAI,aAAa,CA+B1C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAQtD;AAID,wBAAgB,WAAW,IAAI,YAAY,GAAG,SAAS,CAGtD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAI1D;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AA2BD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAQhE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAInD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKhD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAGpE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAI5D;AAED,wBAAgB,iBAAiB,IAAI,UAAU,EAAE,CAGhD;AAED,wBAAgB,YAAY,IAAI,WAAW,EAAE,CAG5C;AAID,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwCvF;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA+CxG;AAmCD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAEtF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAEzF;AAGD,wBAAgB,cAAc,IAAI,IAAI,CAQrC;AAyBD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAkB7G"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,EAIZ,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAqBpB,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEhD;AAoBD,wBAAgB,UAAU,IAAI,aAAa,CA+B1C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAQtD;AAID,wBAAgB,WAAW,IAAI,YAAY,GAAG,SAAS,CAGtD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAI1D;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAGvC;AA2BD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAQhE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAInD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKhD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAGpE;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAI5D;AAED,wBAAgB,iBAAiB,IAAI,UAAU,EAAE,CAGhD;AAED,wBAAgB,YAAY,IAAI,WAAW,EAAE,CAG5C;AAID,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwCvF;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA+CxG;AAmCD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS,CAEtF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAEzF;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAE1E;AAGD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEjG;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAEnG;AAGD,wBAAgB,cAAc,IAAI,IAAI,CAQrC;AAyBD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAkB7G"}
package/dist/config.js CHANGED
@@ -8,6 +8,8 @@ const CACHE_DIR = path.join(CONFIG_DIR, "cache");
8
8
  const CONFIG_FILE = path.join(CONFIG_DIR, "config.json");
9
9
  const TOKENS_FILE = path.join(CONFIG_DIR, "tokens.json");
10
10
  const DISCOVERY_CACHE_DIR = path.join(CACHE_DIR, "discovery");
11
+ const MANIFEST_CACHE_DIR = path.join(CACHE_DIR, "manifests");
12
+ const CAPABILITY_CACHE_DIR = path.join(CACHE_DIR, "capabilities");
11
13
  const DEFAULT_CONFIG = {
12
14
  registry_url: "https://agent-dns.dev",
13
15
  auth_callback_port: 9876,
@@ -27,6 +29,8 @@ function ensureDirs() {
27
29
  ensureDir(CONFIG_DIR);
28
30
  ensureDir(CACHE_DIR);
29
31
  ensureDir(DISCOVERY_CACHE_DIR);
32
+ ensureDir(MANIFEST_CACHE_DIR);
33
+ ensureDir(CAPABILITY_CACHE_DIR);
30
34
  }
31
35
  // ─── Config ──────────────────────────────────────────────────────
32
36
  export function loadConfig() {
@@ -270,9 +274,23 @@ export function getCachedDiscovery(query) {
270
274
  export function setCachedDiscovery(query, results) {
271
275
  writeCacheEntry(DISCOVERY_CACHE_DIR, query, results, CACHE_TTLS.discovery);
272
276
  }
277
+ // Manifest cache (1 hour)
278
+ export function getCachedManifest(domain) {
279
+ return readCacheEntry(MANIFEST_CACHE_DIR, domain, CACHE_TTLS.manifest);
280
+ }
281
+ export function setCachedManifest(domain, manifest) {
282
+ writeCacheEntry(MANIFEST_CACHE_DIR, domain, manifest, CACHE_TTLS.manifest);
283
+ }
284
+ // Capability detail cache (1 hour)
285
+ export function getCachedCapability(domain, capName) {
286
+ return readCacheEntry(CAPABILITY_CACHE_DIR, `${domain}__${capName}`, CACHE_TTLS.capability);
287
+ }
288
+ export function setCachedCapability(domain, capName, detail) {
289
+ writeCacheEntry(CAPABILITY_CACHE_DIR, `${domain}__${capName}`, detail, CACHE_TTLS.capability);
290
+ }
273
291
  // Clear all caches
274
292
  export function clearAllCaches() {
275
- for (const dir of [DISCOVERY_CACHE_DIR]) {
293
+ for (const dir of [DISCOVERY_CACHE_DIR, MANIFEST_CACHE_DIR, CAPABILITY_CACHE_DIR]) {
276
294
  if (fs.existsSync(dir)) {
277
295
  for (const file of fs.readdirSync(dir)) {
278
296
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,29 @@
1
1
  import type { Manifest, CapabilityDetail, RegistryDiscoverResponse } from "./types.js";
2
2
  export declare function discoverByQuery(query: string, options?: {
3
3
  include_unverified?: boolean;
4
+ force_refresh?: boolean;
4
5
  }): Promise<RegistryDiscoverResponse>;
5
- export declare function fetchManifest(domain: string): Promise<Manifest>;
6
- export declare function fetchCapabilityDetail(domain: string, capabilityName: string): Promise<CapabilityDetail>;
6
+ export declare function fetchManifest(domain: string, options?: {
7
+ force_refresh?: boolean;
8
+ }): Promise<Manifest>;
9
+ export declare function fetchCapabilityDetail(domain: string, capabilityName: string, options?: {
10
+ force_refresh?: boolean;
11
+ }): Promise<CapabilityDetail>;
12
+ /**
13
+ * Pick the top N most useful capabilities from a manifest.
14
+ * Prioritizes list/get/search/send/create operations.
15
+ */
16
+ export declare function pickTopCapabilities(capabilities: Array<{
17
+ name: string;
18
+ description: string;
19
+ detail_url: string;
20
+ resource_group?: string;
21
+ }>, n?: number): string[];
22
+ /**
23
+ * Fetch top capability details for a domain (parallel fetch, best-effort).
24
+ */
25
+ export declare function fetchTopCapabilityDetails(domain: string, capNames: string[], options?: {
26
+ force_refresh?: boolean;
27
+ }): Promise<CapabilityDetail[]>;
7
28
  export declare function clearCache(): void;
8
29
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAsBpB,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GACzC,OAAO,CAAC,wBAAwB,CAAC,CA6BnC;AAID,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiBrE;AAID,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAiC3B;AAID,wBAAgB,UAAU,IAAI,IAAI,CAGjC"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAwBpB,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GAClE,OAAO,CAAC,wBAAwB,CAAC,CA+BnC;AAID,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GACpC,OAAO,CAAC,QAAQ,CAAC,CAsCnB;AAID,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GACpC,OAAO,CAAC,gBAAgB,CAAC,CA6D3B;AAgBD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACvG,CAAC,SAAI,GACJ,MAAM,EAAE,CAOV;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAO7B;AAID,wBAAgB,UAAU,IAAI,IAAI,CAKjC"}
package/dist/discovery.js CHANGED
@@ -1,7 +1,9 @@
1
- import { loadConfig, getCachedDiscovery, setCachedDiscovery, clearAllCaches, } from "./config.js";
1
+ import { loadConfig, getCachedDiscovery, setCachedDiscovery, getCachedManifest, setCachedManifest, getCachedCapability, setCachedCapability, clearAllCaches, } from "./config.js";
2
2
  import { CACHE_TTLS } from "./types.js";
3
- // ─── In-memory hot cache (discovery only) ────────────────────────
3
+ // ─── In-memory hot caches ────────────────────────────────────────
4
4
  const memDiscoveryCache = new Map();
5
+ const memManifestCache = new Map();
6
+ const memCapabilityCache = new Map();
5
7
  // ─── Fetch helper ────────────────────────────────────────────────
6
8
  async function fetchJson(url) {
7
9
  const res = await fetch(url, {
@@ -16,16 +18,18 @@ async function fetchJson(url) {
16
18
  // ─── Discovery (15min cache) ─────────────────────────────────────
17
19
  export async function discoverByQuery(query, options) {
18
20
  const cacheKey = options?.include_unverified ? `${query}:unverified` : query;
19
- // Check in-memory hot cache
20
- const mem = memDiscoveryCache.get(cacheKey);
21
- if (mem && Date.now() - mem.at < CACHE_TTLS.discovery) {
22
- return mem.result;
23
- }
24
- // Check disk cache
25
- const disk = getCachedDiscovery(cacheKey);
26
- if (disk) {
27
- memDiscoveryCache.set(cacheKey, { result: disk, at: Date.now() });
28
- return disk;
21
+ if (!options?.force_refresh) {
22
+ // Check in-memory hot cache
23
+ const mem = memDiscoveryCache.get(cacheKey);
24
+ if (mem && Date.now() - mem.at < CACHE_TTLS.discovery) {
25
+ return mem.result;
26
+ }
27
+ // Check disk cache
28
+ const disk = getCachedDiscovery(cacheKey);
29
+ if (disk) {
30
+ memDiscoveryCache.set(cacheKey, { result: disk, at: Date.now() });
31
+ return disk;
32
+ }
29
33
  }
30
34
  // Fetch from registry
31
35
  const config = loadConfig();
@@ -39,53 +43,126 @@ export async function discoverByQuery(query, options) {
39
43
  setCachedDiscovery(cacheKey, result);
40
44
  return result;
41
45
  }
42
- // ─── Manifest (always live) ──────────────────────────────────────
43
- export async function fetchManifest(domain) {
44
- // Try live /.well-known/agent first, fall back to registry
46
+ // ─── Manifest (1h cache) ─────────────────────────────────────────
47
+ export async function fetchManifest(domain, options) {
48
+ if (!options?.force_refresh) {
49
+ // Check in-memory hot cache
50
+ const mem = memManifestCache.get(domain);
51
+ if (mem && Date.now() - mem.at < CACHE_TTLS.manifest) {
52
+ return mem.result;
53
+ }
54
+ // Check disk cache
55
+ const disk = getCachedManifest(domain);
56
+ if (disk) {
57
+ memManifestCache.set(domain, { result: disk, at: Date.now() });
58
+ return disk;
59
+ }
60
+ }
61
+ // Fetch: try live /.well-known/agent first, fall back to registry
62
+ let manifest;
45
63
  try {
46
- return await fetchJson(`https://${domain}/.well-known/agent`);
64
+ manifest = await fetchJson(`https://${domain}/.well-known/agent`);
47
65
  }
48
66
  catch {
49
- // Service doesn't host its own endpoint — fetch from registry
50
67
  const config = loadConfig();
51
68
  const reg = await fetchJson(`${config.registry_url}/api/services/${encodeURIComponent(domain)}`);
52
69
  if (!reg.success || !reg.data?.manifest) {
53
70
  throw new Error(`Service '${domain}' has no /.well-known/agent endpoint and is not in the registry.`);
54
71
  }
55
- return reg.data.manifest;
72
+ manifest = reg.data.manifest;
56
73
  }
74
+ // Store in both caches
75
+ memManifestCache.set(domain, { result: manifest, at: Date.now() });
76
+ setCachedManifest(domain, manifest);
77
+ return manifest;
57
78
  }
58
- // ─── Capability detail (service-first, registry fallback) ────────
59
- export async function fetchCapabilityDetail(domain, capabilityName) {
60
- const manifest = await fetchManifest(domain);
79
+ // ─── Capability detail (1h cache, service-first, registry fallback) ──
80
+ export async function fetchCapabilityDetail(domain, capabilityName, options) {
81
+ const cacheKey = `${domain}__${capabilityName}`;
82
+ if (!options?.force_refresh) {
83
+ // Check in-memory hot cache
84
+ const mem = memCapabilityCache.get(cacheKey);
85
+ if (mem && Date.now() - mem.at < CACHE_TTLS.capability) {
86
+ return mem.result;
87
+ }
88
+ // Check disk cache
89
+ const disk = getCachedCapability(domain, capabilityName);
90
+ if (disk) {
91
+ memCapabilityCache.set(cacheKey, { result: disk, at: Date.now() });
92
+ return disk;
93
+ }
94
+ }
95
+ // Need manifest to find detail_url
96
+ const manifest = await fetchManifest(domain, options);
61
97
  const cap = manifest.capabilities.find((c) => c.name === capabilityName);
62
98
  if (!cap) {
63
99
  throw new Error(`Capability '${capabilityName}' not found on ${domain}. Available: ${manifest.capabilities.map((c) => c.name).join(", ")}`);
64
100
  }
65
- // Step 1: Try the service's own detail_url (spec-compliant services)
66
101
  const detailUrl = cap.detail_url.startsWith("http")
67
102
  ? cap.detail_url
68
103
  : `${manifest.base_url}${cap.detail_url}`;
104
+ let detail;
105
+ // Step 1: Try the service's own detail_url
69
106
  try {
70
- return await fetchJson(detailUrl);
107
+ detail = await fetchJson(detailUrl);
71
108
  }
72
109
  catch {
73
- // Service doesn't serve capability details — fall through to registry
110
+ // Fall through to registry
74
111
  }
75
112
  // Step 2: Fallback to registry's stored capability detail
76
- const config = loadConfig();
77
- try {
78
- return await fetchJson(`${config.registry_url}/api/services/${encodeURIComponent(domain)}/capabilities/${encodeURIComponent(capabilityName)}`);
113
+ if (!detail) {
114
+ const config = loadConfig();
115
+ try {
116
+ detail = await fetchJson(`${config.registry_url}/api/services/${encodeURIComponent(domain)}/capabilities/${encodeURIComponent(capabilityName)}`);
117
+ }
118
+ catch {
119
+ throw new Error(`Cannot fetch details for '${capabilityName}' on ${domain}. ` +
120
+ `The service's detail_url (${detailUrl}) is unreachable, ` +
121
+ `and the registry has no stored details for this capability.`);
122
+ }
79
123
  }
80
- catch {
81
- throw new Error(`Cannot fetch details for '${capabilityName}' on ${domain}. ` +
82
- `The service's detail_url (${detailUrl}) is unreachable, ` +
83
- `and the registry has no stored details for this capability.`);
124
+ // Store in both caches
125
+ memCapabilityCache.set(cacheKey, { result: detail, at: Date.now() });
126
+ setCachedCapability(domain, capabilityName, detail);
127
+ return detail;
128
+ }
129
+ // ─── Top capabilities scoring ───────────────────────────────────
130
+ const TOP_VERBS = ["list", "get", "search", "send", "create"];
131
+ function scoreCapability(name) {
132
+ const lower = name.toLowerCase();
133
+ for (let i = 0; i < TOP_VERBS.length; i++) {
134
+ if (lower.endsWith(`_${TOP_VERBS[i]}`) || lower.startsWith(`${TOP_VERBS[i]}_`)) {
135
+ return TOP_VERBS.length - i; // higher score for earlier verbs
136
+ }
84
137
  }
138
+ return 0;
139
+ }
140
+ /**
141
+ * Pick the top N most useful capabilities from a manifest.
142
+ * Prioritizes list/get/search/send/create operations.
143
+ */
144
+ export function pickTopCapabilities(capabilities, n = 3) {
145
+ return capabilities
146
+ .map((c) => ({ name: c.name, score: scoreCapability(c.name) }))
147
+ .filter((c) => c.score > 0)
148
+ .sort((a, b) => b.score - a.score)
149
+ .slice(0, n)
150
+ .map((c) => c.name);
151
+ }
152
+ /**
153
+ * Fetch top capability details for a domain (parallel fetch, best-effort).
154
+ */
155
+ export async function fetchTopCapabilityDetails(domain, capNames, options) {
156
+ const results = await Promise.allSettled(capNames.map((name) => fetchCapabilityDetail(domain, name, options)));
157
+ return results
158
+ .filter((r) => r.status === "fulfilled")
159
+ .map((r) => r.value);
85
160
  }
86
161
  // ─── Cache management ────────────────────────────────────────────
87
162
  export function clearCache() {
88
163
  memDiscoveryCache.clear();
164
+ memManifestCache.clear();
165
+ memCapabilityCache.clear();
89
166
  clearAllCaches();
90
167
  }
91
168
  //# sourceMappingURL=discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}