@adcp/client 0.2.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 (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +166 -0
  3. package/dist/lib/agents/index.generated.d.ts +147 -0
  4. package/dist/lib/agents/index.generated.d.ts.map +1 -0
  5. package/dist/lib/agents/index.generated.js +218 -0
  6. package/dist/lib/agents/index.generated.js.map +1 -0
  7. package/dist/lib/auth/index.d.ts +22 -0
  8. package/dist/lib/auth/index.d.ts.map +1 -0
  9. package/dist/lib/auth/index.js +73 -0
  10. package/dist/lib/auth/index.js.map +1 -0
  11. package/dist/lib/core/ADCPClient.d.ts +233 -0
  12. package/dist/lib/core/ADCPClient.d.ts.map +1 -0
  13. package/dist/lib/core/ADCPClient.js +287 -0
  14. package/dist/lib/core/ADCPClient.js.map +1 -0
  15. package/dist/lib/core/ADCPMultiAgentClient.d.ts +308 -0
  16. package/dist/lib/core/ADCPMultiAgentClient.d.ts.map +1 -0
  17. package/dist/lib/core/ADCPMultiAgentClient.js +468 -0
  18. package/dist/lib/core/ADCPMultiAgentClient.js.map +1 -0
  19. package/dist/lib/core/AgentClient.d.ts +124 -0
  20. package/dist/lib/core/AgentClient.d.ts.map +1 -0
  21. package/dist/lib/core/AgentClient.js +242 -0
  22. package/dist/lib/core/AgentClient.js.map +1 -0
  23. package/dist/lib/core/ConfigurationManager.d.ts +79 -0
  24. package/dist/lib/core/ConfigurationManager.d.ts.map +1 -0
  25. package/dist/lib/core/ConfigurationManager.js +254 -0
  26. package/dist/lib/core/ConfigurationManager.js.map +1 -0
  27. package/dist/lib/core/ConversationTypes.d.ts +242 -0
  28. package/dist/lib/core/ConversationTypes.d.ts.map +1 -0
  29. package/dist/lib/core/ConversationTypes.js +5 -0
  30. package/dist/lib/core/ConversationTypes.js.map +1 -0
  31. package/dist/lib/core/ProtocolResponseParser.d.ts +45 -0
  32. package/dist/lib/core/ProtocolResponseParser.d.ts.map +1 -0
  33. package/dist/lib/core/ProtocolResponseParser.js +82 -0
  34. package/dist/lib/core/ProtocolResponseParser.js.map +1 -0
  35. package/dist/lib/core/TaskExecutor.d.ts +108 -0
  36. package/dist/lib/core/TaskExecutor.d.ts.map +1 -0
  37. package/dist/lib/core/TaskExecutor.js +422 -0
  38. package/dist/lib/core/TaskExecutor.js.map +1 -0
  39. package/dist/lib/errors/index.d.ts +125 -0
  40. package/dist/lib/errors/index.d.ts.map +1 -0
  41. package/dist/lib/errors/index.js +211 -0
  42. package/dist/lib/errors/index.js.map +1 -0
  43. package/dist/lib/handlers/types.d.ts +119 -0
  44. package/dist/lib/handlers/types.d.ts.map +1 -0
  45. package/dist/lib/handlers/types.js +239 -0
  46. package/dist/lib/handlers/types.js.map +1 -0
  47. package/dist/lib/index.d.ts +51 -0
  48. package/dist/lib/index.d.ts.map +1 -0
  49. package/dist/lib/index.js +122 -0
  50. package/dist/lib/index.js.map +1 -0
  51. package/dist/lib/protocols/a2a.d.ts +2 -0
  52. package/dist/lib/protocols/a2a.d.ts.map +1 -0
  53. package/dist/lib/protocols/a2a.js +70 -0
  54. package/dist/lib/protocols/a2a.js.map +1 -0
  55. package/dist/lib/protocols/index.d.ts +22 -0
  56. package/dist/lib/protocols/index.d.ts.map +1 -0
  57. package/dist/lib/protocols/index.js +47 -0
  58. package/dist/lib/protocols/index.js.map +1 -0
  59. package/dist/lib/protocols/mcp.d.ts +2 -0
  60. package/dist/lib/protocols/mcp.d.ts.map +1 -0
  61. package/dist/lib/protocols/mcp.js +127 -0
  62. package/dist/lib/protocols/mcp.js.map +1 -0
  63. package/dist/lib/storage/MemoryStorage.d.ts +93 -0
  64. package/dist/lib/storage/MemoryStorage.d.ts.map +1 -0
  65. package/dist/lib/storage/MemoryStorage.js +219 -0
  66. package/dist/lib/storage/MemoryStorage.js.map +1 -0
  67. package/dist/lib/storage/interfaces.d.ts +195 -0
  68. package/dist/lib/storage/interfaces.d.ts.map +1 -0
  69. package/dist/lib/storage/interfaces.js +5 -0
  70. package/dist/lib/storage/interfaces.js.map +1 -0
  71. package/dist/lib/types/adcp.d.ts +407 -0
  72. package/dist/lib/types/adcp.d.ts.map +1 -0
  73. package/dist/lib/types/adcp.js +5 -0
  74. package/dist/lib/types/adcp.js.map +1 -0
  75. package/dist/lib/types/core.generated.d.ts +469 -0
  76. package/dist/lib/types/core.generated.d.ts.map +1 -0
  77. package/dist/lib/types/core.generated.js +5 -0
  78. package/dist/lib/types/core.generated.js.map +1 -0
  79. package/dist/lib/types/index.d.ts +3 -0
  80. package/dist/lib/types/index.d.ts.map +1 -0
  81. package/dist/lib/types/index.js +19 -0
  82. package/dist/lib/types/index.js.map +1 -0
  83. package/dist/lib/types/tools.generated.d.ts +1674 -0
  84. package/dist/lib/types/tools.generated.d.ts.map +1 -0
  85. package/dist/lib/types/tools.generated.js +8 -0
  86. package/dist/lib/types/tools.generated.js.map +1 -0
  87. package/dist/lib/utils/index.d.ts +25 -0
  88. package/dist/lib/utils/index.d.ts.map +1 -0
  89. package/dist/lib/utils/index.js +109 -0
  90. package/dist/lib/utils/index.js.map +1 -0
  91. package/dist/lib/validation/index.d.ts +29 -0
  92. package/dist/lib/validation/index.d.ts.map +1 -0
  93. package/dist/lib/validation/index.js +186 -0
  94. package/dist/lib/validation/index.js.map +1 -0
  95. package/dist/lib/version.d.ts +22 -0
  96. package/dist/lib/version.d.ts.map +1 -0
  97. package/dist/lib/version.js +32 -0
  98. package/dist/lib/version.js.map +1 -0
  99. package/package.json +108 -0
@@ -0,0 +1,308 @@
1
+ import type { AgentConfig } from '../types';
2
+ import { AgentClient } from './AgentClient';
3
+ import type { ADCPClientConfig } from './ADCPClient';
4
+ import type { InputHandler, TaskOptions, TaskResult } from './ConversationTypes';
5
+ import type { GetProductsRequest, GetProductsResponse, ListCreativeFormatsRequest, ListCreativeFormatsResponse, CreateMediaBuyRequest, CreateMediaBuyResponse, UpdateMediaBuyRequest, UpdateMediaBuyResponse, SyncCreativesRequest, SyncCreativesResponse, ListCreativesRequest, ListCreativesResponse, GetMediaBuyDeliveryRequest, GetMediaBuyDeliveryResponse, ListAuthorizedPropertiesRequest, ListAuthorizedPropertiesResponse, ProvidePerformanceFeedbackRequest, ProvidePerformanceFeedbackResponse, GetSignalsRequest, GetSignalsResponse, ActivateSignalRequest, ActivateSignalResponse } from '../types/tools.generated';
6
+ /**
7
+ * Collection of agent clients for parallel operations
8
+ */
9
+ export declare class AgentCollection {
10
+ private agents;
11
+ private config;
12
+ private clients;
13
+ constructor(agents: AgentConfig[], config?: ADCPClientConfig);
14
+ /**
15
+ * Execute getProducts on all agents in parallel
16
+ */
17
+ getProducts(params: GetProductsRequest, inputHandler?: InputHandler, options?: TaskOptions): Promise<TaskResult<GetProductsResponse>[]>;
18
+ /**
19
+ * Execute listCreativeFormats on all agents in parallel
20
+ */
21
+ listCreativeFormats(params: ListCreativeFormatsRequest, inputHandler?: InputHandler, options?: TaskOptions): Promise<TaskResult<ListCreativeFormatsResponse>[]>;
22
+ /**
23
+ * Execute createMediaBuy on all agents in parallel
24
+ * Note: This might not make sense for all use cases, but provided for completeness
25
+ */
26
+ createMediaBuy(params: CreateMediaBuyRequest, inputHandler?: InputHandler, options?: TaskOptions): Promise<TaskResult<CreateMediaBuyResponse>[]>;
27
+ /**
28
+ * Execute updateMediaBuy on all agents in parallel
29
+ */
30
+ updateMediaBuy(params: UpdateMediaBuyRequest, inputHandler?: InputHandler, options?: TaskOptions): Promise<TaskResult<UpdateMediaBuyResponse>[]>;
31
+ /**
32
+ * Execute syncCreatives on all agents in parallel
33
+ */
34
+ syncCreatives(params: SyncCreativesRequest, inputHandler?: InputHandler, options?: TaskOptions): Promise<TaskResult<SyncCreativesResponse>[]>;
35
+ /**
36
+ * Execute listCreatives on all agents in parallel
37
+ */
38
+ listCreatives(params: ListCreativesRequest, inputHandler?: InputHandler, options?: TaskOptions): Promise<TaskResult<ListCreativesResponse>[]>;
39
+ /**
40
+ * Execute getMediaBuyDelivery on all agents in parallel
41
+ */
42
+ getMediaBuyDelivery(params: GetMediaBuyDeliveryRequest, inputHandler?: InputHandler, options?: TaskOptions): Promise<TaskResult<GetMediaBuyDeliveryResponse>[]>;
43
+ /**
44
+ * Execute listAuthorizedProperties on all agents in parallel
45
+ */
46
+ listAuthorizedProperties(params: ListAuthorizedPropertiesRequest, inputHandler?: InputHandler, options?: TaskOptions): Promise<TaskResult<ListAuthorizedPropertiesResponse>[]>;
47
+ /**
48
+ * Execute providePerformanceFeedback on all agents in parallel
49
+ */
50
+ providePerformanceFeedback(params: ProvidePerformanceFeedbackRequest, inputHandler?: InputHandler, options?: TaskOptions): Promise<TaskResult<ProvidePerformanceFeedbackResponse>[]>;
51
+ /**
52
+ * Execute getSignals on all agents in parallel
53
+ */
54
+ getSignals(params: GetSignalsRequest, inputHandler?: InputHandler, options?: TaskOptions): Promise<TaskResult<GetSignalsResponse>[]>;
55
+ /**
56
+ * Execute activateSignal on all agents in parallel
57
+ */
58
+ activateSignal(params: ActivateSignalRequest, inputHandler?: InputHandler, options?: TaskOptions): Promise<TaskResult<ActivateSignalResponse>[]>;
59
+ /**
60
+ * Get individual agent client
61
+ */
62
+ getAgent(agentId: string): AgentClient;
63
+ /**
64
+ * Get all agent clients
65
+ */
66
+ getAllAgents(): AgentClient[];
67
+ /**
68
+ * Get agent IDs
69
+ */
70
+ getAgentIds(): string[];
71
+ /**
72
+ * Get agent count
73
+ */
74
+ get count(): number;
75
+ /**
76
+ * Filter agents by a condition
77
+ */
78
+ filter(predicate: (agent: AgentClient) => boolean): AgentClient[];
79
+ /**
80
+ * Map over all agents
81
+ */
82
+ map<T>(mapper: (agent: AgentClient) => T): T[];
83
+ /**
84
+ * Execute a custom function on all agents in parallel
85
+ */
86
+ execute<T>(executor: (agent: AgentClient) => Promise<T>): Promise<T[]>;
87
+ }
88
+ /**
89
+ * Main multi-agent ADCP client providing simple, intuitive API
90
+ *
91
+ * This is the primary entry point for most users. It provides:
92
+ * - Single agent access via agent(id)
93
+ * - Multi-agent access via agents([ids])
94
+ * - Broadcast access via allAgents()
95
+ * - Simple parallel execution using Promise.all()
96
+ *
97
+ * @example Basic usage
98
+ * ```typescript
99
+ * const client = new ADCPMultiAgentClient([
100
+ * { id: 'agent1', name: 'Agent 1', agent_uri: 'https://agent1.com', protocol: 'mcp' },
101
+ * { id: 'agent2', name: 'Agent 2', agent_uri: 'https://agent2.com', protocol: 'a2a' }
102
+ * ]);
103
+ *
104
+ * // Single agent
105
+ * const result = await client.agent('agent1').getProducts(params, handler);
106
+ *
107
+ * // Multiple specific agents
108
+ * const results = await client.agents(['agent1', 'agent2']).getProducts(params, handler);
109
+ *
110
+ * // All agents
111
+ * const allResults = await client.allAgents().getProducts(params, handler);
112
+ * ```
113
+ */
114
+ export declare class ADCPMultiAgentClient {
115
+ private config;
116
+ private agentClients;
117
+ constructor(agentConfigs: AgentConfig[], config?: ADCPClientConfig);
118
+ /**
119
+ * Create client by auto-discovering agent configuration
120
+ *
121
+ * Automatically loads agents from:
122
+ * 1. Environment variables (SALES_AGENTS_CONFIG, ADCP_AGENTS_CONFIG, etc.)
123
+ * 2. Config files (adcp.config.json, adcp.json, .adcp.json, agents.json)
124
+ *
125
+ * @param config - Optional client configuration
126
+ * @returns ADCPMultiAgentClient instance with discovered agents
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * // Simplest possible setup - auto-discovers configuration
131
+ * const client = ADCPMultiAgentClient.fromConfig();
132
+ *
133
+ * // Use with options
134
+ * const client = ADCPMultiAgentClient.fromConfig({
135
+ * debug: true,
136
+ * defaultTimeout: 60000
137
+ * });
138
+ * ```
139
+ */
140
+ static fromConfig(config?: ADCPClientConfig): ADCPMultiAgentClient;
141
+ /**
142
+ * Create client from environment variables only
143
+ *
144
+ * @param config - Optional client configuration
145
+ * @returns ADCPMultiAgentClient instance with environment-loaded agents
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * // Load agents from SALES_AGENTS_CONFIG environment variable
150
+ * const client = ADCPMultiAgentClient.fromEnv();
151
+ * ```
152
+ */
153
+ static fromEnv(config?: ADCPClientConfig): ADCPMultiAgentClient;
154
+ /**
155
+ * Create client from a specific config file
156
+ *
157
+ * @param configPath - Path to configuration file
158
+ * @param config - Optional client configuration
159
+ * @returns ADCPMultiAgentClient instance with file-loaded agents
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * // Load from specific file
164
+ * const client = ADCPMultiAgentClient.fromFile('./my-agents.json');
165
+ *
166
+ * // Load from default locations
167
+ * const client = ADCPMultiAgentClient.fromFile();
168
+ * ```
169
+ */
170
+ static fromFile(configPath?: string, config?: ADCPClientConfig): ADCPMultiAgentClient;
171
+ /**
172
+ * Create a simple client with minimal configuration
173
+ *
174
+ * @param agentUrl - Single agent URL
175
+ * @param options - Optional agent and client configuration
176
+ * @returns ADCPMultiAgentClient instance with single agent
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * // Simplest possible setup for single agent
181
+ * const client = ADCPMultiAgentClient.simple('https://my-agent.example.com');
182
+ *
183
+ * // With options
184
+ * const client = ADCPMultiAgentClient.simple('https://my-agent.example.com', {
185
+ * agentName: 'My Agent',
186
+ * protocol: 'mcp',
187
+ * requiresAuth: true,
188
+ * debug: true
189
+ * });
190
+ * ```
191
+ */
192
+ static simple(agentUrl: string, options?: {
193
+ agentId?: string;
194
+ agentName?: string;
195
+ protocol?: 'mcp' | 'a2a';
196
+ requiresAuth?: boolean;
197
+ authTokenEnv?: string;
198
+ debug?: boolean;
199
+ timeout?: number;
200
+ }): ADCPMultiAgentClient;
201
+ /**
202
+ * Get a single agent for operations
203
+ *
204
+ * @param agentId - ID of the agent to get
205
+ * @returns AgentClient for the specified agent
206
+ * @throws Error if agent not found
207
+ *
208
+ * @example
209
+ * ```typescript
210
+ * const agent = client.agent('premium-agent');
211
+ * const products = await agent.getProducts({ brief: 'Coffee brands' }, handler);
212
+ * const refined = await agent.continueConversation('Focus on premium brands');
213
+ * ```
214
+ */
215
+ agent(agentId: string): AgentClient;
216
+ /**
217
+ * Get multiple specific agents for parallel operations
218
+ *
219
+ * @param agentIds - Array of agent IDs
220
+ * @returns AgentCollection for parallel operations
221
+ * @throws Error if any agent not found
222
+ *
223
+ * @example
224
+ * ```typescript
225
+ * const agents = client.agents(['agent1', 'agent2']);
226
+ * const results = await agents.getProducts({ brief: 'Coffee brands' }, handler);
227
+ *
228
+ * // Process results
229
+ * results.forEach(result => {
230
+ * if (result.success) {
231
+ * console.log(`${result.metadata.agent.name}: ${result.data.products.length} products`);
232
+ * }
233
+ * });
234
+ * ```
235
+ */
236
+ agents(agentIds: string[]): AgentCollection;
237
+ /**
238
+ * Get all configured agents for broadcast operations
239
+ *
240
+ * @returns AgentCollection containing all agents
241
+ *
242
+ * @example
243
+ * ```typescript
244
+ * const allResults = await client.allAgents().getProducts({
245
+ * brief: 'Premium coffee brands'
246
+ * }, handler);
247
+ *
248
+ * // Find best result
249
+ * const successful = allResults.filter(r => r.success);
250
+ * const bestResult = successful.sort((a, b) =>
251
+ * b.data.products.length - a.data.products.length
252
+ * )[0];
253
+ * ```
254
+ */
255
+ allAgents(): AgentCollection;
256
+ /**
257
+ * Add an agent to the client
258
+ *
259
+ * @param agentConfig - Agent configuration to add
260
+ * @throws Error if agent ID already exists
261
+ */
262
+ addAgent(agentConfig: AgentConfig): void;
263
+ /**
264
+ * Remove an agent from the client
265
+ *
266
+ * @param agentId - ID of agent to remove
267
+ * @returns True if agent was removed, false if not found
268
+ */
269
+ removeAgent(agentId: string): boolean;
270
+ /**
271
+ * Check if an agent exists
272
+ */
273
+ hasAgent(agentId: string): boolean;
274
+ /**
275
+ * Get all configured agent IDs
276
+ */
277
+ getAgentIds(): string[];
278
+ /**
279
+ * Get all agent configurations
280
+ */
281
+ getAgentConfigs(): AgentConfig[];
282
+ /**
283
+ * Get count of configured agents
284
+ */
285
+ get agentCount(): number;
286
+ /**
287
+ * Filter agents by protocol
288
+ */
289
+ getAgentsByProtocol(protocol: 'mcp' | 'a2a'): AgentCollection;
290
+ /**
291
+ * Find agents that support a specific task
292
+ * This is a placeholder - in a full implementation, you'd query agent capabilities
293
+ */
294
+ findAgentsForTask(taskName: string): AgentCollection;
295
+ /**
296
+ * Get all active tasks across all agents
297
+ */
298
+ getAllActiveTasks(): import("./ConversationTypes").TaskState[];
299
+ }
300
+ /**
301
+ * Factory function to create a multi-agent ADCP client
302
+ *
303
+ * @param agents - Array of agent configurations
304
+ * @param config - Client configuration
305
+ * @returns Configured ADCPMultiAgentClient instance
306
+ */
307
+ export declare function createADCPMultiAgentClient(agents: AgentConfig[], config?: ADCPClientConfig): ADCPMultiAgentClient;
308
+ //# sourceMappingURL=ADCPMultiAgentClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ADCPMultiAgentClient.d.ts","sourceRoot":"","sources":["../../../src/lib/core/ADCPMultiAgentClient.ts"],"names":[],"mappings":"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"}