@adcp/client 4.7.2 → 4.9.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/bin/adcp.js +8 -0
- package/dist/lib/adapters/governance-adapter.d.ts +88 -0
- package/dist/lib/adapters/governance-adapter.d.ts.map +1 -0
- package/dist/lib/adapters/governance-adapter.js +96 -0
- package/dist/lib/adapters/governance-adapter.js.map +1 -0
- package/dist/lib/adapters/index.d.ts +1 -0
- package/dist/lib/adapters/index.d.ts.map +1 -1
- package/dist/lib/adapters/index.js +7 -1
- package/dist/lib/adapters/index.js.map +1 -1
- package/dist/lib/agents/index.generated.d.ts +49 -17
- package/dist/lib/agents/index.generated.d.ts.map +1 -1
- package/dist/lib/agents/index.generated.js +72 -24
- package/dist/lib/agents/index.generated.js.map +1 -1
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AsyncHandler.d.ts +1 -1
- package/dist/lib/core/AsyncHandler.d.ts.map +1 -1
- package/dist/lib/core/AsyncHandler.js.map +1 -1
- package/dist/lib/core/ConversationTypes.d.ts +8 -2
- package/dist/lib/core/ConversationTypes.d.ts.map +1 -1
- package/dist/lib/core/CreativeAgentClient.d.ts +17 -1
- package/dist/lib/core/CreativeAgentClient.d.ts.map +1 -1
- package/dist/lib/core/CreativeAgentClient.js +21 -0
- package/dist/lib/core/CreativeAgentClient.js.map +1 -1
- package/dist/lib/core/GovernanceMiddleware.d.ts +86 -0
- package/dist/lib/core/GovernanceMiddleware.d.ts.map +1 -0
- package/dist/lib/core/GovernanceMiddleware.js +289 -0
- package/dist/lib/core/GovernanceMiddleware.js.map +1 -0
- package/dist/lib/core/GovernanceTypes.d.ts +118 -0
- package/dist/lib/core/GovernanceTypes.d.ts.map +1 -0
- package/dist/lib/core/GovernanceTypes.js +69 -0
- package/dist/lib/core/GovernanceTypes.js.map +1 -0
- package/dist/lib/core/SingleAgentClient.d.ts +35 -1
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +45 -0
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +10 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +95 -10
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/index.d.ts +7 -3
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +22 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/observability/index.d.ts +8 -0
- package/dist/lib/observability/index.d.ts.map +1 -0
- package/dist/lib/observability/index.js +17 -0
- package/dist/lib/observability/index.js.map +1 -0
- package/dist/lib/observability/tracing.d.ts +42 -0
- package/dist/lib/observability/tracing.d.ts.map +1 -0
- package/dist/lib/observability/tracing.js +126 -0
- package/dist/lib/observability/tracing.js.map +1 -0
- package/dist/lib/protocols/a2a.d.ts.map +1 -1
- package/dist/lib/protocols/a2a.js +16 -1
- package/dist/lib/protocols/a2a.js.map +1 -1
- package/dist/lib/protocols/index.d.ts.map +1 -1
- package/dist/lib/protocols/index.js +37 -29
- package/dist/lib/protocols/index.js.map +1 -1
- package/dist/lib/protocols/mcp.d.ts.map +1 -1
- package/dist/lib/protocols/mcp.js +21 -1
- package/dist/lib/protocols/mcp.js.map +1 -1
- package/dist/lib/registry/types.generated.d.ts +750 -1
- package/dist/lib/registry/types.generated.d.ts.map +1 -1
- package/dist/lib/registry/types.generated.js +1 -1
- package/dist/lib/testing/agent-tester.d.ts +1 -1
- package/dist/lib/testing/agent-tester.d.ts.map +1 -1
- package/dist/lib/testing/agent-tester.js +37 -11
- package/dist/lib/testing/agent-tester.js.map +1 -1
- package/dist/lib/testing/formatter.d.ts.map +1 -1
- package/dist/lib/testing/formatter.js +6 -5
- package/dist/lib/testing/formatter.js.map +1 -1
- package/dist/lib/testing/index.d.ts +1 -1
- package/dist/lib/testing/index.d.ts.map +1 -1
- package/dist/lib/testing/index.js +3 -2
- package/dist/lib/testing/index.js.map +1 -1
- package/dist/lib/testing/orchestrator.d.ts +0 -2
- package/dist/lib/testing/orchestrator.d.ts.map +1 -1
- package/dist/lib/testing/orchestrator.js +24 -6
- package/dist/lib/testing/orchestrator.js.map +1 -1
- package/dist/lib/testing/scenarios/capabilities.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/capabilities.js +111 -40
- package/dist/lib/testing/scenarios/capabilities.js.map +1 -1
- package/dist/lib/testing/scenarios/creative.d.ts +14 -0
- package/dist/lib/testing/scenarios/creative.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/creative.js +241 -42
- package/dist/lib/testing/scenarios/creative.js.map +1 -1
- package/dist/lib/testing/scenarios/governance.d.ts +48 -0
- package/dist/lib/testing/scenarios/governance.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/governance.js +675 -0
- package/dist/lib/testing/scenarios/governance.js.map +1 -1
- package/dist/lib/testing/scenarios/index.d.ts +3 -3
- package/dist/lib/testing/scenarios/index.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/index.js +9 -1
- package/dist/lib/testing/scenarios/index.js.map +1 -1
- package/dist/lib/testing/scenarios/media-buy.d.ts +21 -1
- package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/media-buy.js +282 -49
- package/dist/lib/testing/scenarios/media-buy.js.map +1 -1
- package/dist/lib/testing/types.d.ts +2 -2
- package/dist/lib/testing/types.d.ts.map +1 -1
- package/dist/lib/types/core.generated.d.ts +747 -8
- 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 +25143 -19145
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +795 -282
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +3529 -1964
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.d.ts +17 -2
- package/dist/lib/utils/capabilities.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.js +35 -6
- package/dist/lib/utils/capabilities.js.map +1 -1
- package/package.json +14 -21
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* OpenTelemetry tracing utilities for @adcp/client
|
|
4
|
+
*
|
|
5
|
+
* Uses dynamic require to gracefully handle missing @opentelemetry/api.
|
|
6
|
+
* When the package is not installed, all tracing becomes a no-op.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.getTracer = getTracer;
|
|
10
|
+
exports.isTracingEnabled = isTracingEnabled;
|
|
11
|
+
exports.injectTraceHeaders = injectTraceHeaders;
|
|
12
|
+
exports.withSpan = withSpan;
|
|
13
|
+
exports.addSpanAttributes = addSpanAttributes;
|
|
14
|
+
exports.recordSpanException = recordSpanException;
|
|
15
|
+
const TRACER_NAME = '@adcp/client';
|
|
16
|
+
// Lazy-load the OTel API - null if not installed
|
|
17
|
+
let otelApi = null;
|
|
18
|
+
let checked = false;
|
|
19
|
+
function getOtelApi() {
|
|
20
|
+
if (checked)
|
|
21
|
+
return otelApi;
|
|
22
|
+
checked = true;
|
|
23
|
+
try {
|
|
24
|
+
otelApi = require('@opentelemetry/api');
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
otelApi = null;
|
|
28
|
+
}
|
|
29
|
+
return otelApi;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get the OpenTelemetry tracer for @adcp/client.
|
|
33
|
+
* Returns null if @opentelemetry/api is not installed.
|
|
34
|
+
*/
|
|
35
|
+
function getTracer() {
|
|
36
|
+
const api = getOtelApi();
|
|
37
|
+
return api ? api.trace.getTracer(TRACER_NAME) : null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Check if OpenTelemetry is available.
|
|
41
|
+
*/
|
|
42
|
+
function isTracingEnabled() {
|
|
43
|
+
return getOtelApi() !== null;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Inject trace context headers into an outgoing request.
|
|
47
|
+
* Returns empty object if OTel is not available.
|
|
48
|
+
*/
|
|
49
|
+
function injectTraceHeaders() {
|
|
50
|
+
const api = getOtelApi();
|
|
51
|
+
if (!api)
|
|
52
|
+
return {};
|
|
53
|
+
const headers = {};
|
|
54
|
+
api.propagation.inject(api.context.active(), headers);
|
|
55
|
+
return headers;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Execute a function within an OpenTelemetry span.
|
|
59
|
+
* If @opentelemetry/api is not installed, executes the function directly (no-op).
|
|
60
|
+
*
|
|
61
|
+
* @param name - Span name (e.g., 'adcp.mcp.call_tool')
|
|
62
|
+
* @param attributes - Span attributes
|
|
63
|
+
* @param fn - Async function to execute within the span
|
|
64
|
+
* @returns The result of fn()
|
|
65
|
+
*/
|
|
66
|
+
async function withSpan(name, attributes, fn) {
|
|
67
|
+
const api = getOtelApi();
|
|
68
|
+
if (!api)
|
|
69
|
+
return fn();
|
|
70
|
+
const tracer = api.trace.getTracer(TRACER_NAME);
|
|
71
|
+
const filteredAttrs = {};
|
|
72
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
73
|
+
if (value !== undefined) {
|
|
74
|
+
filteredAttrs[key] = value;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return tracer.startActiveSpan(name, { kind: api.SpanKind.CLIENT, attributes: filteredAttrs }, async (span) => {
|
|
78
|
+
try {
|
|
79
|
+
const result = await fn();
|
|
80
|
+
span.setStatus({ code: api.SpanStatusCode.OK });
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
span.setStatus({
|
|
85
|
+
code: api.SpanStatusCode.ERROR,
|
|
86
|
+
message: error instanceof Error ? error.message : String(error),
|
|
87
|
+
});
|
|
88
|
+
span.recordException(error);
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
span.end();
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Add attributes to the current active span.
|
|
98
|
+
* No-op if OTel is not available or no active span exists.
|
|
99
|
+
*/
|
|
100
|
+
function addSpanAttributes(attributes) {
|
|
101
|
+
const api = getOtelApi();
|
|
102
|
+
if (!api)
|
|
103
|
+
return;
|
|
104
|
+
const span = api.trace.getActiveSpan();
|
|
105
|
+
if (!span)
|
|
106
|
+
return;
|
|
107
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
108
|
+
if (value !== undefined) {
|
|
109
|
+
span.setAttribute(key, value);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Record an exception on the current active span.
|
|
115
|
+
* No-op if OTel is not available or no active span exists.
|
|
116
|
+
*/
|
|
117
|
+
function recordSpanException(error) {
|
|
118
|
+
const api = getOtelApi();
|
|
119
|
+
if (!api)
|
|
120
|
+
return;
|
|
121
|
+
const span = api.trace.getActiveSpan();
|
|
122
|
+
if (!span)
|
|
123
|
+
return;
|
|
124
|
+
span.recordException(error);
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=tracing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../../src/lib/observability/tracing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/a2a.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"a2a.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/a2a.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AASvE,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,GAAG,EAAO,EACrB,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,OAAO,CAAC,GAAG,CAAC,CAmBd"}
|
|
@@ -6,10 +6,19 @@ const clientModule = require('@a2a-js/sdk/client');
|
|
|
6
6
|
const A2AClient = clientModule.A2AClient;
|
|
7
7
|
const errors_1 = require("../errors");
|
|
8
8
|
const discovery_1 = require("../auth/oauth/discovery");
|
|
9
|
+
const tracing_1 = require("../observability/tracing");
|
|
9
10
|
if (!A2AClient) {
|
|
10
11
|
throw new Error('A2A SDK client is required. Please install @a2a-js/sdk');
|
|
11
12
|
}
|
|
12
13
|
async function callA2ATool(agentUrl, toolName, parameters, authToken, debugLogs = [], pushNotificationConfig, customHeaders) {
|
|
14
|
+
return (0, tracing_1.withSpan)('adcp.a2a.call_tool', {
|
|
15
|
+
'adcp.tool': toolName,
|
|
16
|
+
'http.url': agentUrl,
|
|
17
|
+
}, async () => {
|
|
18
|
+
return callA2AToolImpl(agentUrl, toolName, parameters, authToken, debugLogs, pushNotificationConfig, customHeaders);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
async function callA2AToolImpl(agentUrl, toolName, parameters, authToken, debugLogs = [], pushNotificationConfig, customHeaders) {
|
|
13
22
|
// Track 401 errors for better error messaging
|
|
14
23
|
let got401 = false;
|
|
15
24
|
// Create authenticated fetch that wraps native fetch
|
|
@@ -32,9 +41,15 @@ async function callA2ATool(agentUrl, toolName, parameters, authToken, debugLogs
|
|
|
32
41
|
Object.assign(existingHeaders, options.headers);
|
|
33
42
|
}
|
|
34
43
|
}
|
|
35
|
-
//
|
|
44
|
+
// Only inject trace context headers for actual tool requests, not discovery
|
|
45
|
+
// The agent card endpoint is external/untrusted - don't leak trace IDs to it
|
|
46
|
+
const urlString = typeof url === 'string' ? url : url.toString();
|
|
47
|
+
const isDiscoveryRequest = urlString.includes('/.well-known/agent-card.json');
|
|
48
|
+
const traceHeaders = isDiscoveryRequest ? {} : (0, tracing_1.injectTraceHeaders)();
|
|
49
|
+
// Merge: existing < trace < custom < auth (auth always wins)
|
|
36
50
|
const headers = {
|
|
37
51
|
...existingHeaders,
|
|
52
|
+
...traceHeaders,
|
|
38
53
|
...customHeaders,
|
|
39
54
|
...(authToken && {
|
|
40
55
|
Authorization: `Bearer ${authToken}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../../src/lib/protocols/a2a.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"a2a.js","sourceRoot":"","sources":["../../../src/lib/protocols/a2a.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACzF,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAIpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AACzF,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAIpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAM5C;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;;;;;;;;;;OAaG;WACU,QAAQ,CACnB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,SAAS,GAAE,GAAG,EAAO,EACrB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,GAAG,CAAC;CAmDhB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;yBAC/E,MAAM,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,GAAG,EAAE;CAEzE,CAAC;AAEH,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,YAAY,MAAM,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;yBAC/E,MAAM,cAAc,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,GAAG,EAAE;CAE/E,CAAC"}
|
|
@@ -13,6 +13,7 @@ const mcp_2 = require("./mcp");
|
|
|
13
13
|
const a2a_2 = require("./a2a");
|
|
14
14
|
const auth_1 = require("../auth");
|
|
15
15
|
const validation_1 = require("../validation");
|
|
16
|
+
const tracing_1 = require("../observability/tracing");
|
|
16
17
|
/**
|
|
17
18
|
* Universal protocol client - automatically routes to the correct protocol implementation
|
|
18
19
|
*/
|
|
@@ -32,36 +33,43 @@ class ProtocolClient {
|
|
|
32
33
|
* For reporting webhooks (reporting_webhook), include them directly in args - they stay in skill parameters.
|
|
33
34
|
*/
|
|
34
35
|
static async callTool(agent, toolName, args, debugLogs = [], webhookUrl, webhookSecret, webhookToken) {
|
|
35
|
-
(0,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
return (0, tracing_1.withSpan)(`adcp.${agent.protocol}.call_tool`, {
|
|
37
|
+
'adcp.agent_id': agent.id,
|
|
38
|
+
'adcp.protocol': agent.protocol,
|
|
39
|
+
'adcp.tool': toolName,
|
|
40
|
+
'http.url': agent.agent_uri,
|
|
41
|
+
}, async () => {
|
|
42
|
+
(0, validation_1.validateAgentUrl)(agent.agent_uri);
|
|
43
|
+
const authToken = (0, auth_1.getAuthToken)(agent);
|
|
44
|
+
// Build push_notification_config for ASYNC TASK STATUS notifications
|
|
45
|
+
// (NOT for reporting_webhook - that stays in args)
|
|
46
|
+
// Schema: https://adcontextprotocol.org/schemas/v1/core/push-notification-config.json
|
|
47
|
+
const pushNotificationConfig = webhookUrl
|
|
48
|
+
? {
|
|
49
|
+
url: webhookUrl,
|
|
50
|
+
...(webhookToken && { token: webhookToken }),
|
|
51
|
+
authentication: {
|
|
52
|
+
schemes: ['HMAC-SHA256'],
|
|
53
|
+
credentials: webhookSecret || 'placeholder_secret_min_32_characters_required',
|
|
54
|
+
},
|
|
55
|
+
}
|
|
56
|
+
: undefined;
|
|
57
|
+
if (agent.protocol === 'mcp') {
|
|
58
|
+
// For MCP, include push_notification_config in tool arguments (MCP spec)
|
|
59
|
+
const argsWithWebhook = pushNotificationConfig
|
|
60
|
+
? { ...args, push_notification_config: pushNotificationConfig }
|
|
61
|
+
: args;
|
|
62
|
+
return (0, mcp_2.callMCPTool)(agent.agent_uri, toolName, argsWithWebhook, authToken, debugLogs, agent.headers);
|
|
48
63
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
// For A2A, pass pushNotificationConfig separately (not in skill parameters)
|
|
59
|
-
return (0, a2a_2.callA2ATool)(agent.agent_uri, toolName, args, // This maps to 'parameters' in callA2ATool
|
|
60
|
-
authToken, debugLogs, pushNotificationConfig, agent.headers);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
throw new Error(`Unsupported protocol: ${agent.protocol}`);
|
|
64
|
-
}
|
|
64
|
+
else if (agent.protocol === 'a2a') {
|
|
65
|
+
// For A2A, pass pushNotificationConfig separately (not in skill parameters)
|
|
66
|
+
return (0, a2a_2.callA2ATool)(agent.agent_uri, toolName, args, // This maps to 'parameters' in callA2ATool
|
|
67
|
+
authToken, debugLogs, pushNotificationConfig, agent.headers);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
throw new Error(`Unsupported protocol: ${agent.protocol}`);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
65
73
|
}
|
|
66
74
|
}
|
|
67
75
|
exports.ProtocolClient = ProtocolClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/protocols/index.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,6BAAyF;AAAhF,kGAAA,WAAW,OAAA;AAAE,2GAAA,oBAAoB,OAAA;AAAE,iGAAA,UAAU,OAAA;AAAE,wGAAA,iBAAiB,OAAA;AAEzE,6BAAoC;AAA3B,kGAAA,WAAW,OAAA;AAEpB,+BAAoC;AACpC,+BAAoC;AAGpC,kCAAuC;AACvC,8CAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/protocols/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,6BAA6B,EAG9B,MAAM,oDAAoD,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,6BAA6B,EAG9B,MAAM,oDAAoD,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAMpF,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,IAAI,EAAE,GAAG,CAAC;IACV,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,uBAAuB;IACvB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,6BAA6B,CAAC;CAC1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,SAAS,GAAE,GAAG,EAAO,EACrB,KAAK,SAAe,GACnB,OAAO,CAAC,SAAS,CAAC,CAWpB;AAwED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,GAAG,EACT,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,GAAG,EAAO,EACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,OAAO,CAAC,GAAG,CAAC,CAWd;AAqHD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA8D/B;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAwDhF"}
|
|
@@ -13,6 +13,7 @@ const auth_js_1 = require("@modelcontextprotocol/sdk/client/auth.js");
|
|
|
13
13
|
Object.defineProperty(exports, "UnauthorizedError", { enumerable: true, get: function () { return auth_js_1.UnauthorizedError; } });
|
|
14
14
|
const auth_1 = require("../auth");
|
|
15
15
|
const errors_1 = require("../errors");
|
|
16
|
+
const tracing_1 = require("../observability/tracing");
|
|
16
17
|
/**
|
|
17
18
|
* Connect an MCPClient to the given URL with automatic transport fallback.
|
|
18
19
|
*
|
|
@@ -28,6 +29,14 @@ const errors_1 = require("../errors");
|
|
|
28
29
|
* calling client.close() when done.
|
|
29
30
|
*/
|
|
30
31
|
async function connectMCPWithFallback(url, authHeaders, debugLogs = [], label = 'connection') {
|
|
32
|
+
return (0, tracing_1.withSpan)('adcp.mcp.connect', {
|
|
33
|
+
'http.url': url.toString(),
|
|
34
|
+
'adcp.connection_label': label,
|
|
35
|
+
}, async () => {
|
|
36
|
+
return connectMCPWithFallbackImpl(url, authHeaders, debugLogs, label);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async function connectMCPWithFallbackImpl(url, authHeaders, debugLogs = [], label = 'connection') {
|
|
31
40
|
const transportOptions = { requestInit: { headers: authHeaders } };
|
|
32
41
|
try {
|
|
33
42
|
const client = new index_js_1.Client({ name: 'AdCP-Client', version: '1.0.0' });
|
|
@@ -89,11 +98,22 @@ async function connectMCPWithFallback(url, authHeaders, debugLogs = [], label =
|
|
|
89
98
|
}
|
|
90
99
|
}
|
|
91
100
|
async function callMCPTool(agentUrl, toolName, args, authToken, debugLogs = [], customHeaders) {
|
|
101
|
+
return (0, tracing_1.withSpan)('adcp.mcp.call_tool', {
|
|
102
|
+
'adcp.tool': toolName,
|
|
103
|
+
'http.url': agentUrl,
|
|
104
|
+
}, async () => {
|
|
105
|
+
return callMCPToolImpl(agentUrl, toolName, args, authToken, debugLogs, customHeaders);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
async function callMCPToolImpl(agentUrl, toolName, args, authToken, debugLogs = [], customHeaders) {
|
|
92
109
|
let mcpClient = undefined;
|
|
93
110
|
const baseUrl = new URL(agentUrl);
|
|
94
|
-
//
|
|
111
|
+
// Inject trace context headers for distributed tracing
|
|
112
|
+
const traceHeaders = (0, tracing_1.injectTraceHeaders)();
|
|
113
|
+
// Merge: custom < trace < auth (auth always wins)
|
|
95
114
|
const authHeaders = {
|
|
96
115
|
...customHeaders,
|
|
116
|
+
...traceHeaders,
|
|
97
117
|
...(authToken ? (0, auth_1.createMCPAuthHeaders)(authToken) : {}),
|
|
98
118
|
};
|
|
99
119
|
// Log auth configuration (token values redacted)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/lib/protocols/mcp.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/lib/protocols/mcp.ts"],"names":[],"mappings":"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"}
|