@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.
Files changed (41) hide show
  1. package/README.md +101 -0
  2. package/bin/adcp.js +358 -0
  3. package/dist/lib/core/ADCPClient.d.ts +58 -2
  4. package/dist/lib/core/ADCPClient.d.ts.map +1 -1
  5. package/dist/lib/core/ADCPClient.js +200 -7
  6. package/dist/lib/core/ADCPClient.js.map +1 -1
  7. package/dist/lib/discovery/property-crawler.d.ts +44 -0
  8. package/dist/lib/discovery/property-crawler.d.ts.map +1 -0
  9. package/dist/lib/discovery/property-crawler.js +140 -0
  10. package/dist/lib/discovery/property-crawler.js.map +1 -0
  11. package/dist/lib/discovery/property-index.d.ts +68 -0
  12. package/dist/lib/discovery/property-index.d.ts.map +1 -0
  13. package/dist/lib/discovery/property-index.js +151 -0
  14. package/dist/lib/discovery/property-index.js.map +1 -0
  15. package/dist/lib/discovery/types.d.ts +35 -0
  16. package/dist/lib/discovery/types.d.ts.map +1 -0
  17. package/dist/lib/discovery/types.js +7 -0
  18. package/dist/lib/discovery/types.js.map +1 -0
  19. package/dist/lib/index.d.ts +3 -0
  20. package/dist/lib/index.d.ts.map +1 -1
  21. package/dist/lib/index.js +8 -1
  22. package/dist/lib/index.js.map +1 -1
  23. package/dist/lib/protocols/a2a.d.ts.map +1 -1
  24. package/dist/lib/protocols/a2a.js +53 -20
  25. package/dist/lib/protocols/a2a.js.map +1 -1
  26. package/dist/lib/protocols/mcp.d.ts.map +1 -1
  27. package/dist/lib/protocols/mcp.js +41 -39
  28. package/dist/lib/protocols/mcp.js.map +1 -1
  29. package/dist/lib/types/core.generated.d.ts +81 -61
  30. package/dist/lib/types/core.generated.d.ts.map +1 -1
  31. package/dist/lib/types/core.generated.js +1 -1
  32. package/dist/lib/types/schemas.generated.d.ts +61 -270
  33. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  34. package/dist/lib/types/schemas.generated.js +31 -22
  35. package/dist/lib/types/schemas.generated.js.map +1 -1
  36. package/dist/lib/types/tools.generated.d.ts +81 -76
  37. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  38. package/dist/lib/types/tools.generated.js.map +1 -1
  39. package/dist/lib/version.d.ts +3 -3
  40. package/dist/lib/version.js +3 -3
  41. 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 result = await this.executor.executeTask(this.agent, taskType, params, inputHandler, options);
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
- return this.executor.executeTask(this.agent, taskName, params, inputHandler, options);
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
- return this.executor.executeTask(this.agent, 'continue_conversation', { message }, inputHandler, { contextId });
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
- return this.executor.registerWebhook(this.agent, webhookUrl, taskTypes);
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
- return this.executor.unregisterWebhook(this.agent);
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":";AAAA;;;;;;;;GAQG;;;AAEH,mDAAgD;AAChD,qDAAoD;AAiBpD,MAAa,eAAe;IAC1B;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAmB;QACnC,MAAM,MAAM,GAAgB;YAC1B,gBAAgB,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,qBAAqB,EAAE,CAAC;YACxB,eAAe,EAAE,CAAC;YAClB,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,MAAM,KAAK,GAAG,IAAA,iCAAgB,GAAE,CAAC;QACjC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAE9C,sDAAsD;QACtD,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAEjD,0CAA0C;oBAC1C,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;oBACjB,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,IAAI,CAAC;QAExD,gEAAgE;QAChE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAE9F,wCAAwC;QACxC,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpE,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAClC,6DAA6D;gBAC7D,MAAM,gBAAgB,GAAG,MAAM;qBAC5B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;qBACrB,MAAM,CAAC,QAAQ,CAAC,EAAE;oBACjB,MAAM,IAAI,GAAG,KAAK,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;oBACpD,OAAO,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;gBAEL,kDAAkD;gBAClD,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;oBACxC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC9C,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,SAAoB;QACnC,MAAM,MAAM,GAAG,IAAI,uBAAU,CAAC;YAC5B,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK;YACrC,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC;SACtE,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;YAEzD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,mCAAmC,CAAC,CAAC;YACvE,CAAC;YAED,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,wBAAwB,CAAC,OAAiB;QAC9C,MAAM,MAAM,GAA+B,EAAE,CAAC;QAE9C,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;gBAC9B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sDAAsD;gBACtD,OAAO,CAAC,IAAI,CAAC,sCAAsC,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc;QACpC,MAAM,GAAG,GAAG,WAAW,MAAM,4BAA4B,CAAC;QAE1D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAkB,CAAC;YAEnD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,uDAAuD;YACvD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClC,GAAG,IAAI;gBACP,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,MAAM;aAClD,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC;CACF;AA5ID,0CA4IC"}
@@ -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"}