@adcp/client 2.3.1 → 2.4.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.
- package/README.md +101 -0
- package/bin/adcp.js +358 -0
- package/dist/lib/core/ADCPClient.d.ts +58 -2
- package/dist/lib/core/ADCPClient.d.ts.map +1 -1
- package/dist/lib/core/ADCPClient.js +200 -7
- package/dist/lib/core/ADCPClient.js.map +1 -1
- package/dist/lib/discovery/property-crawler.d.ts +44 -0
- package/dist/lib/discovery/property-crawler.d.ts.map +1 -0
- package/dist/lib/discovery/property-crawler.js +140 -0
- package/dist/lib/discovery/property-crawler.js.map +1 -0
- package/dist/lib/discovery/property-index.d.ts +68 -0
- package/dist/lib/discovery/property-index.d.ts.map +1 -0
- package/dist/lib/discovery/property-index.js +151 -0
- package/dist/lib/discovery/property-index.js.map +1 -0
- package/dist/lib/discovery/types.d.ts +35 -0
- package/dist/lib/discovery/types.d.ts.map +1 -0
- package/dist/lib/discovery/types.js +7 -0
- package/dist/lib/discovery/types.js.map +1 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +8 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/protocols/a2a.d.ts.map +1 -1
- package/dist/lib/protocols/a2a.js +53 -20
- package/dist/lib/protocols/a2a.js.map +1 -1
- package/dist/lib/protocols/mcp.d.ts.map +1 -1
- package/dist/lib/protocols/mcp.js +41 -39
- package/dist/lib/protocols/mcp.js.map +1 -1
- package/dist/lib/types/core.generated.d.ts +81 -61
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +1 -1
- package/dist/lib/types/schemas.generated.d.ts +61 -270
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +31 -22
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +81 -76
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/types/tools.generated.js.map +1 -1
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/package.json +12 -2
|
@@ -58,9 +58,13 @@ class ADCPClient {
|
|
|
58
58
|
config;
|
|
59
59
|
executor;
|
|
60
60
|
asyncHandler;
|
|
61
|
+
normalizedAgent;
|
|
62
|
+
discoveredEndpoint; // Cache discovered endpoint
|
|
61
63
|
constructor(agent, config = {}) {
|
|
62
64
|
this.agent = agent;
|
|
63
65
|
this.config = config;
|
|
66
|
+
// Normalize agent URL for MCP protocol
|
|
67
|
+
this.normalizedAgent = this.normalizeAgentConfig(agent);
|
|
64
68
|
this.executor = new TaskExecutor_1.TaskExecutor({
|
|
65
69
|
workingTimeout: config.workingTimeout || 120000, // Max 120s for working status
|
|
66
70
|
defaultMaxClarifications: config.defaultMaxClarifications || 3,
|
|
@@ -74,6 +78,98 @@ class ADCPClient {
|
|
|
74
78
|
this.asyncHandler = new AsyncHandler_1.AsyncHandler(config.handlers);
|
|
75
79
|
}
|
|
76
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Ensure MCP endpoint is discovered (lazy initialization)
|
|
83
|
+
*
|
|
84
|
+
* If the agent needs discovery, perform it now and cache the result.
|
|
85
|
+
* Returns the agent config with the discovered endpoint.
|
|
86
|
+
*/
|
|
87
|
+
async ensureEndpointDiscovered() {
|
|
88
|
+
const needsDiscovery = this.normalizedAgent._needsDiscovery;
|
|
89
|
+
if (!needsDiscovery) {
|
|
90
|
+
return this.normalizedAgent;
|
|
91
|
+
}
|
|
92
|
+
// Already discovered? Use cached value
|
|
93
|
+
if (this.discoveredEndpoint) {
|
|
94
|
+
return {
|
|
95
|
+
...this.normalizedAgent,
|
|
96
|
+
agent_uri: this.discoveredEndpoint
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
// Perform discovery
|
|
100
|
+
this.discoveredEndpoint = await this.discoverMCPEndpoint(this.normalizedAgent.agent_uri);
|
|
101
|
+
return {
|
|
102
|
+
...this.normalizedAgent,
|
|
103
|
+
agent_uri: this.discoveredEndpoint
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Discover MCP endpoint by testing the provided path, then trying /mcp
|
|
108
|
+
*
|
|
109
|
+
* Strategy: Test what the user gave us first. If no MCP server responds,
|
|
110
|
+
* try adding /mcp to the path. That's it.
|
|
111
|
+
*
|
|
112
|
+
* Note: This is async and called lazily on first agent interaction
|
|
113
|
+
*/
|
|
114
|
+
async discoverMCPEndpoint(providedUri) {
|
|
115
|
+
const { Client: MCPClient } = await Promise.resolve().then(() => __importStar(require('@modelcontextprotocol/sdk/client/index.js')));
|
|
116
|
+
const { StreamableHTTPClientTransport } = await Promise.resolve().then(() => __importStar(require('@modelcontextprotocol/sdk/client/streamableHttp.js')));
|
|
117
|
+
const authToken = this.agent.auth_token_env;
|
|
118
|
+
const customFetch = authToken ? async (input, init) => {
|
|
119
|
+
const headers = {
|
|
120
|
+
...init?.headers,
|
|
121
|
+
'Authorization': `Bearer ${authToken}`,
|
|
122
|
+
'x-adcp-auth': authToken
|
|
123
|
+
};
|
|
124
|
+
return fetch(input, { ...init, headers });
|
|
125
|
+
} : undefined;
|
|
126
|
+
const testEndpoint = async (url) => {
|
|
127
|
+
try {
|
|
128
|
+
const mcpClient = new MCPClient({
|
|
129
|
+
name: 'AdCP-Client',
|
|
130
|
+
version: '1.0.0'
|
|
131
|
+
});
|
|
132
|
+
const transport = new StreamableHTTPClientTransport(new URL(url), customFetch ? { fetch: customFetch } : {});
|
|
133
|
+
await mcpClient.connect(transport);
|
|
134
|
+
await mcpClient.close();
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
// Test what they gave us first
|
|
142
|
+
const providedUrl = providedUri.replace(/\/$/, ''); // Clean trailing slash
|
|
143
|
+
if (await testEndpoint(providedUrl)) {
|
|
144
|
+
return providedUrl;
|
|
145
|
+
}
|
|
146
|
+
// No MCP server there, try adding /mcp
|
|
147
|
+
const withMcp = providedUrl + '/mcp';
|
|
148
|
+
if (await testEndpoint(withMcp)) {
|
|
149
|
+
return withMcp;
|
|
150
|
+
}
|
|
151
|
+
// Neither worked
|
|
152
|
+
throw new Error(`Failed to discover MCP endpoint. Tried:\n` +
|
|
153
|
+
` 1. ${providedUrl}\n` +
|
|
154
|
+
` 2. ${withMcp}\n` +
|
|
155
|
+
`Neither responded to MCP protocol.`);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Normalize agent config - mark all MCP agents for discovery
|
|
159
|
+
*
|
|
160
|
+
* We always test the endpoint they give us, and if it doesn't work,
|
|
161
|
+
* we try adding /mcp. Simple.
|
|
162
|
+
*/
|
|
163
|
+
normalizeAgentConfig(agent) {
|
|
164
|
+
if (agent.protocol !== 'mcp') {
|
|
165
|
+
return agent;
|
|
166
|
+
}
|
|
167
|
+
// Mark for discovery - we'll test their path, then try adding /mcp
|
|
168
|
+
return {
|
|
169
|
+
...agent,
|
|
170
|
+
_needsDiscovery: true
|
|
171
|
+
};
|
|
172
|
+
}
|
|
77
173
|
/**
|
|
78
174
|
* Handle webhook from agent (async task completion)
|
|
79
175
|
*
|
|
@@ -88,8 +184,7 @@ class ADCPClient {
|
|
|
88
184
|
* const signature = req.headers['x-adcp-signature'];
|
|
89
185
|
* const timestamp = req.headers['x-adcp-timestamp'];
|
|
90
186
|
*
|
|
91
|
-
* try
|
|
92
|
-
* const handled = await client.handleWebhook(req.body, signature, timestamp);
|
|
187
|
+
* try * const handled = await client.handleWebhook(req.body, signature, timestamp);
|
|
93
188
|
* res.status(200).json({ received: handled });
|
|
94
189
|
* } catch (error) {
|
|
95
190
|
* res.status(401).json({ error: error.message });
|
|
@@ -255,7 +350,8 @@ class ADCPClient {
|
|
|
255
350
|
* Execute task and call appropriate handler on completion
|
|
256
351
|
*/
|
|
257
352
|
async executeAndHandle(taskType, handlerName, params, inputHandler, options) {
|
|
258
|
-
const
|
|
353
|
+
const agent = await this.ensureEndpointDiscovered();
|
|
354
|
+
const result = await this.executor.executeTask(agent, taskType, params, inputHandler, options);
|
|
259
355
|
// Call handler if task completed successfully and handler is configured
|
|
260
356
|
if (result.status === 'completed' && result.success && this.asyncHandler) {
|
|
261
357
|
const handler = this.config.handlers?.[handlerName];
|
|
@@ -418,7 +514,8 @@ class ADCPClient {
|
|
|
418
514
|
* ```
|
|
419
515
|
*/
|
|
420
516
|
async executeTask(taskName, params, inputHandler, options) {
|
|
421
|
-
|
|
517
|
+
const agent = await this.ensureEndpointDiscovered();
|
|
518
|
+
return this.executor.executeTask(agent, taskName, params, inputHandler, options);
|
|
422
519
|
}
|
|
423
520
|
// ====== DEFERRED TASK MANAGEMENT ======
|
|
424
521
|
/**
|
|
@@ -469,7 +566,8 @@ class ADCPClient {
|
|
|
469
566
|
* ```
|
|
470
567
|
*/
|
|
471
568
|
async continueConversation(message, contextId, inputHandler) {
|
|
472
|
-
|
|
569
|
+
const agent = await this.ensureEndpointDiscovered();
|
|
570
|
+
return this.executor.executeTask(agent, 'continue_conversation', { message }, inputHandler, { contextId });
|
|
473
571
|
}
|
|
474
572
|
/**
|
|
475
573
|
* Get conversation history for a task
|
|
@@ -583,13 +681,108 @@ class ADCPClient {
|
|
|
583
681
|
* ```
|
|
584
682
|
*/
|
|
585
683
|
async registerWebhook(webhookUrl, taskTypes) {
|
|
586
|
-
|
|
684
|
+
const agent = await this.ensureEndpointDiscovered();
|
|
685
|
+
return this.executor.registerWebhook(agent, webhookUrl, taskTypes);
|
|
587
686
|
}
|
|
588
687
|
/**
|
|
589
688
|
* Unregister webhook notifications
|
|
590
689
|
*/
|
|
591
690
|
async unregisterWebhook() {
|
|
592
|
-
|
|
691
|
+
const agent = await this.ensureEndpointDiscovered();
|
|
692
|
+
return this.executor.unregisterWebhook(agent);
|
|
693
|
+
}
|
|
694
|
+
// ====== AGENT DISCOVERY METHODS ======
|
|
695
|
+
/**
|
|
696
|
+
* Get comprehensive agent information including name, description, and available tools/skills
|
|
697
|
+
*
|
|
698
|
+
* Works with both MCP (tools) and A2A (skills) protocols to discover what the agent can do.
|
|
699
|
+
*
|
|
700
|
+
* @returns Promise resolving to agent information including tools
|
|
701
|
+
*
|
|
702
|
+
* @example
|
|
703
|
+
* ```typescript
|
|
704
|
+
* const client = new ADCPClient(agentConfig);
|
|
705
|
+
* const info = await client.getAgentInfo();
|
|
706
|
+
*
|
|
707
|
+
* console.log(`${info.name}: ${info.description}`);
|
|
708
|
+
* console.log(`Supports ${info.tools.length} tools`);
|
|
709
|
+
*
|
|
710
|
+
* info.tools.forEach(tool => {
|
|
711
|
+
* console.log(` - ${tool.name}: ${tool.description}`);
|
|
712
|
+
* });
|
|
713
|
+
* ```
|
|
714
|
+
*/
|
|
715
|
+
async getAgentInfo() {
|
|
716
|
+
if (this.agent.protocol === 'mcp') {
|
|
717
|
+
// Discover endpoint if needed
|
|
718
|
+
const agent = await this.ensureEndpointDiscovered();
|
|
719
|
+
// Use MCP SDK to list tools
|
|
720
|
+
const { Client: MCPClient } = await Promise.resolve().then(() => __importStar(require('@modelcontextprotocol/sdk/client/index.js')));
|
|
721
|
+
const { StreamableHTTPClientTransport } = await Promise.resolve().then(() => __importStar(require('@modelcontextprotocol/sdk/client/streamableHttp.js')));
|
|
722
|
+
const mcpClient = new MCPClient({
|
|
723
|
+
name: 'AdCP-Client',
|
|
724
|
+
version: '1.0.0'
|
|
725
|
+
});
|
|
726
|
+
const authToken = this.agent.auth_token_env;
|
|
727
|
+
const customFetch = authToken ? async (input, init) => {
|
|
728
|
+
const headers = {
|
|
729
|
+
...init?.headers,
|
|
730
|
+
'Authorization': `Bearer ${authToken}`,
|
|
731
|
+
'x-adcp-auth': authToken
|
|
732
|
+
};
|
|
733
|
+
return fetch(input, { ...init, headers });
|
|
734
|
+
} : undefined;
|
|
735
|
+
const transport = new StreamableHTTPClientTransport(new URL(agent.agent_uri), customFetch ? { fetch: customFetch } : {});
|
|
736
|
+
await mcpClient.connect(transport);
|
|
737
|
+
const toolsList = await mcpClient.listTools();
|
|
738
|
+
await mcpClient.close();
|
|
739
|
+
const tools = toolsList.tools.map(tool => ({
|
|
740
|
+
name: tool.name,
|
|
741
|
+
description: tool.description,
|
|
742
|
+
inputSchema: tool.inputSchema,
|
|
743
|
+
parameters: tool.inputSchema?.properties ? Object.keys(tool.inputSchema.properties) : []
|
|
744
|
+
}));
|
|
745
|
+
return {
|
|
746
|
+
name: this.agent.name,
|
|
747
|
+
description: undefined,
|
|
748
|
+
protocol: this.agent.protocol,
|
|
749
|
+
url: agent.agent_uri,
|
|
750
|
+
tools
|
|
751
|
+
};
|
|
752
|
+
}
|
|
753
|
+
else if (this.agent.protocol === 'a2a') {
|
|
754
|
+
// Use A2A SDK to get agent card
|
|
755
|
+
const clientModule = require('@a2a-js/sdk/client');
|
|
756
|
+
const A2AClient = clientModule.A2AClient;
|
|
757
|
+
const authToken = this.agent.auth_token_env;
|
|
758
|
+
const fetchImpl = authToken ? async (url, options) => {
|
|
759
|
+
const headers = {
|
|
760
|
+
...options?.headers,
|
|
761
|
+
'Authorization': `Bearer ${authToken}`,
|
|
762
|
+
'x-adcp-auth': authToken
|
|
763
|
+
};
|
|
764
|
+
return fetch(url, { ...options, headers });
|
|
765
|
+
} : undefined;
|
|
766
|
+
const cardUrl = this.normalizedAgent.agent_uri.endsWith('/.well-known/agent-card.json')
|
|
767
|
+
? this.normalizedAgent.agent_uri
|
|
768
|
+
: this.normalizedAgent.agent_uri.replace(/\/$/, '') + '/.well-known/agent-card.json';
|
|
769
|
+
const client = await A2AClient.fromCardUrl(cardUrl, fetchImpl ? { fetchImpl } : {});
|
|
770
|
+
const agentCard = client.agentCardPromise ? await client.agentCardPromise : client.agentCard;
|
|
771
|
+
const tools = agentCard?.skills ? agentCard.skills.map((skill) => ({
|
|
772
|
+
name: skill.name,
|
|
773
|
+
description: skill.description,
|
|
774
|
+
inputSchema: skill.inputSchema,
|
|
775
|
+
parameters: skill.inputFormats || []
|
|
776
|
+
})) : [];
|
|
777
|
+
return {
|
|
778
|
+
name: agentCard?.displayName || agentCard?.name || this.agent.name,
|
|
779
|
+
description: agentCard?.description,
|
|
780
|
+
protocol: this.agent.protocol,
|
|
781
|
+
url: this.normalizedAgent.agent_uri,
|
|
782
|
+
tools
|
|
783
|
+
};
|
|
784
|
+
}
|
|
785
|
+
throw new Error(`Unsupported protocol: ${this.agent.protocol}`);
|
|
593
786
|
}
|
|
594
787
|
// ====== STATIC HELPER METHODS ======
|
|
595
788
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ADCPClient.js","sourceRoot":"","sources":["../../../src/lib/core/ADCPClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ADCPClient.js","sourceRoot":"","sources":["../../../src/lib/core/ADCPClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Property Crawler for AdCP v2.2.0
|
|
3
|
+
*
|
|
4
|
+
* Discovers properties by:
|
|
5
|
+
* 1. Calling listAuthorizedProperties() on agents → get publisher_domains[]
|
|
6
|
+
* 2. Fetching /.well-known/adagents.json from each publisher domain
|
|
7
|
+
* 3. Extracting Property definitions from adagents.json
|
|
8
|
+
* 4. Building property → agents mapping
|
|
9
|
+
*/
|
|
10
|
+
import type { Property } from './types';
|
|
11
|
+
export interface AgentInfo {
|
|
12
|
+
agent_url: string;
|
|
13
|
+
protocol?: 'a2a' | 'mcp';
|
|
14
|
+
auth_token?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface CrawlResult {
|
|
17
|
+
successfulAgents: number;
|
|
18
|
+
failedAgents: number;
|
|
19
|
+
totalPublisherDomains: number;
|
|
20
|
+
totalProperties: number;
|
|
21
|
+
errors: Array<{
|
|
22
|
+
agent_url: string;
|
|
23
|
+
error: string;
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
26
|
+
export declare class PropertyCrawler {
|
|
27
|
+
/**
|
|
28
|
+
* Crawl multiple agents to discover their publisher domains and properties
|
|
29
|
+
*/
|
|
30
|
+
crawlAgents(agents: AgentInfo[]): Promise<CrawlResult>;
|
|
31
|
+
/**
|
|
32
|
+
* Crawl a single agent to get its authorized publisher domains
|
|
33
|
+
*/
|
|
34
|
+
crawlAgent(agentInfo: AgentInfo): Promise<string[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Fetch adagents.json from multiple publisher domains
|
|
37
|
+
*/
|
|
38
|
+
fetchPublisherProperties(domains: string[]): Promise<Record<string, Property[]>>;
|
|
39
|
+
/**
|
|
40
|
+
* Fetch and parse adagents.json from a publisher domain
|
|
41
|
+
*/
|
|
42
|
+
fetchAdAgentsJson(domain: string): Promise<Property[]>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=property-crawler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-crawler.d.ts","sourceRoot":"","sources":["../../../src/lib/discovery/property-crawler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,SAAS,CAAC;AAEtD,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED,qBAAa,eAAe;IAC1B;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IA6D5D;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAsBzD;;OAEG;IACG,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAoBtF;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAwB7D"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Property Crawler for AdCP v2.2.0
|
|
4
|
+
*
|
|
5
|
+
* Discovers properties by:
|
|
6
|
+
* 1. Calling listAuthorizedProperties() on agents → get publisher_domains[]
|
|
7
|
+
* 2. Fetching /.well-known/adagents.json from each publisher domain
|
|
8
|
+
* 3. Extracting Property definitions from adagents.json
|
|
9
|
+
* 4. Building property → agents mapping
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.PropertyCrawler = void 0;
|
|
13
|
+
const ADCPClient_1 = require("../core/ADCPClient");
|
|
14
|
+
const property_index_1 = require("./property-index");
|
|
15
|
+
class PropertyCrawler {
|
|
16
|
+
/**
|
|
17
|
+
* Crawl multiple agents to discover their publisher domains and properties
|
|
18
|
+
*/
|
|
19
|
+
async crawlAgents(agents) {
|
|
20
|
+
const result = {
|
|
21
|
+
successfulAgents: 0,
|
|
22
|
+
failedAgents: 0,
|
|
23
|
+
totalPublisherDomains: 0,
|
|
24
|
+
totalProperties: 0,
|
|
25
|
+
errors: []
|
|
26
|
+
};
|
|
27
|
+
const index = (0, property_index_1.getPropertyIndex)();
|
|
28
|
+
const allPublisherDomains = new Set();
|
|
29
|
+
// Step 1: Call listAuthorizedProperties on each agent
|
|
30
|
+
for (const agentInfo of agents) {
|
|
31
|
+
try {
|
|
32
|
+
const domains = await this.crawlAgent(agentInfo);
|
|
33
|
+
if (domains.length > 0) {
|
|
34
|
+
result.successfulAgents++;
|
|
35
|
+
domains.forEach(d => allPublisherDomains.add(d));
|
|
36
|
+
// Store agent → publisher_domains mapping
|
|
37
|
+
index.addAgentAuthorization(agentInfo.agent_url, domains);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
result.failedAgents++;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
result.failedAgents++;
|
|
45
|
+
result.errors.push({
|
|
46
|
+
agent_url: agentInfo.agent_url,
|
|
47
|
+
error: error instanceof Error ? error.message : String(error)
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
result.totalPublisherDomains = allPublisherDomains.size;
|
|
52
|
+
// Step 2: Fetch adagents.json from each unique publisher domain
|
|
53
|
+
const domainProperties = await this.fetchPublisherProperties(Array.from(allPublisherDomains));
|
|
54
|
+
// Step 3: Build property → agents index
|
|
55
|
+
for (const [domain, properties] of Object.entries(domainProperties)) {
|
|
56
|
+
for (const property of properties) {
|
|
57
|
+
// Find which agents are authorized for this publisher domain
|
|
58
|
+
const authorizedAgents = agents
|
|
59
|
+
.map(a => a.agent_url)
|
|
60
|
+
.filter(agentUrl => {
|
|
61
|
+
const auth = index.getAgentAuthorizations(agentUrl);
|
|
62
|
+
return auth?.publisher_domains.includes(domain);
|
|
63
|
+
});
|
|
64
|
+
// Add property to index for each authorized agent
|
|
65
|
+
for (const agentUrl of authorizedAgents) {
|
|
66
|
+
index.addProperty(property, agentUrl, domain);
|
|
67
|
+
result.totalProperties++;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Crawl a single agent to get its authorized publisher domains
|
|
75
|
+
*/
|
|
76
|
+
async crawlAgent(agentInfo) {
|
|
77
|
+
const client = new ADCPClient_1.ADCPClient({
|
|
78
|
+
id: 'crawler',
|
|
79
|
+
name: 'Property Crawler',
|
|
80
|
+
agent_uri: agentInfo.agent_url,
|
|
81
|
+
protocol: agentInfo.protocol || 'mcp',
|
|
82
|
+
...(agentInfo.auth_token && { auth_token_env: agentInfo.auth_token })
|
|
83
|
+
});
|
|
84
|
+
try {
|
|
85
|
+
const result = await client.listAuthorizedProperties({});
|
|
86
|
+
if (!result.success || !result.data) {
|
|
87
|
+
throw new Error(result.error || 'Failed to fetch publisher domains');
|
|
88
|
+
}
|
|
89
|
+
return result.data.publisher_domains || [];
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
throw new Error(`Failed to crawl agent: ${error instanceof Error ? error.message : String(error)}`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Fetch adagents.json from multiple publisher domains
|
|
97
|
+
*/
|
|
98
|
+
async fetchPublisherProperties(domains) {
|
|
99
|
+
const result = {};
|
|
100
|
+
await Promise.all(domains.map(async (domain) => {
|
|
101
|
+
try {
|
|
102
|
+
const properties = await this.fetchAdAgentsJson(domain);
|
|
103
|
+
if (properties.length > 0) {
|
|
104
|
+
result[domain] = properties;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
// Silently skip domains that don't have adagents.json
|
|
109
|
+
console.warn(`Failed to fetch adagents.json from ${domain}:`, error);
|
|
110
|
+
}
|
|
111
|
+
}));
|
|
112
|
+
return result;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Fetch and parse adagents.json from a publisher domain
|
|
116
|
+
*/
|
|
117
|
+
async fetchAdAgentsJson(domain) {
|
|
118
|
+
const url = `https://${domain}/.well-known/adagents.json`;
|
|
119
|
+
try {
|
|
120
|
+
const response = await fetch(url);
|
|
121
|
+
if (!response.ok) {
|
|
122
|
+
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
|
|
123
|
+
}
|
|
124
|
+
const data = await response.json();
|
|
125
|
+
if (!data.properties || !Array.isArray(data.properties)) {
|
|
126
|
+
return [];
|
|
127
|
+
}
|
|
128
|
+
// Add publisher_domain to each property if not present
|
|
129
|
+
return data.properties.map(prop => ({
|
|
130
|
+
...prop,
|
|
131
|
+
publisher_domain: prop.publisher_domain || domain
|
|
132
|
+
}));
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
throw new Error(`Failed to fetch adagents.json: ${error instanceof Error ? error.message : String(error)}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
exports.PropertyCrawler = PropertyCrawler;
|
|
140
|
+
//# sourceMappingURL=property-crawler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-crawler.js","sourceRoot":"","sources":["../../../src/lib/discovery/property-crawler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Property Index for AdCP v2.2.0
|
|
3
|
+
*
|
|
4
|
+
* In-memory index for O(1) lookups:
|
|
5
|
+
* - Query 1: Who can sell this property? (property identifier → agents)
|
|
6
|
+
* - Query 2: What properties can this agent sell? (agent → properties)
|
|
7
|
+
* - Query 3: What publisher domains does this agent represent? (agent → domains)
|
|
8
|
+
*/
|
|
9
|
+
import type { Property, PropertyIdentifierType } from './types';
|
|
10
|
+
export interface PropertyMatch {
|
|
11
|
+
property: Property;
|
|
12
|
+
agent_url: string;
|
|
13
|
+
publisher_domain: string;
|
|
14
|
+
}
|
|
15
|
+
export interface AgentAuthorization {
|
|
16
|
+
agent_url: string;
|
|
17
|
+
publisher_domains: string[];
|
|
18
|
+
properties: Property[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Singleton in-memory property index
|
|
22
|
+
*/
|
|
23
|
+
export declare class PropertyIndex {
|
|
24
|
+
private identifierIndex;
|
|
25
|
+
private agentIndex;
|
|
26
|
+
/**
|
|
27
|
+
* Query 1: Find agents that can sell a specific property
|
|
28
|
+
*/
|
|
29
|
+
findAgentsForProperty(identifierType: PropertyIdentifierType, identifierValue: string): PropertyMatch[];
|
|
30
|
+
/**
|
|
31
|
+
* Query 2: Get all properties an agent can sell
|
|
32
|
+
*/
|
|
33
|
+
getAgentAuthorizations(agentUrl: string): AgentAuthorization | null;
|
|
34
|
+
/**
|
|
35
|
+
* Query 3: Find agents by property tags
|
|
36
|
+
*/
|
|
37
|
+
findAgentsByPropertyTags(tags: string[]): PropertyMatch[];
|
|
38
|
+
/**
|
|
39
|
+
* Add a property to the index
|
|
40
|
+
*/
|
|
41
|
+
addProperty(property: Property, agentUrl: string, publisherDomain: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* Add agent → publisher_domains authorization
|
|
44
|
+
*/
|
|
45
|
+
addAgentAuthorization(agentUrl: string, publisherDomains: string[]): void;
|
|
46
|
+
/**
|
|
47
|
+
* Clear all data from the index
|
|
48
|
+
*/
|
|
49
|
+
clear(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Get statistics about the index
|
|
52
|
+
*/
|
|
53
|
+
getStats(): {
|
|
54
|
+
totalIdentifiers: number;
|
|
55
|
+
totalAgents: number;
|
|
56
|
+
totalProperties: number;
|
|
57
|
+
};
|
|
58
|
+
private makeIdentifierKey;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Get the singleton PropertyIndex instance
|
|
62
|
+
*/
|
|
63
|
+
export declare function getPropertyIndex(): PropertyIndex;
|
|
64
|
+
/**
|
|
65
|
+
* Reset the singleton instance (useful for testing)
|
|
66
|
+
*/
|
|
67
|
+
export declare function resetPropertyIndex(): void;
|
|
68
|
+
//# sourceMappingURL=property-index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-index.d.ts","sourceRoot":"","sources":["../../../src/lib/discovery/property-index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,aAAa;IAExB,OAAO,CAAC,eAAe,CAA2C;IAGlE,OAAO,CAAC,UAAU,CAA8C;IAEhE;;OAEG;IACH,qBAAqB,CACnB,cAAc,EAAE,sBAAsB,EACtC,eAAe,EAAE,MAAM,GACtB,aAAa,EAAE;IAKlB;;OAEG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI;IAInE;;OAEG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE;IA2BzD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAiChF;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI;IAkBzE;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,QAAQ;;;;;IAWR,OAAO,CAAC,iBAAiB;CAG1B;AAKD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
|