agentfootprint 9.65.0 → 9.67.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/dist/adapters/identity/agentcore.js +118 -2
- package/dist/adapters/identity/agentcore.js.map +1 -1
- package/dist/adapters/mcp/agentcore.js +156 -0
- package/dist/adapters/mcp/agentcore.js.map +1 -0
- package/dist/adapters/observability/agentcore.js +61 -1
- package/dist/adapters/observability/agentcore.js.map +1 -1
- package/dist/adapters/observability/otel.js +12 -3
- package/dist/adapters/observability/otel.js.map +1 -1
- package/dist/esm/adapters/identity/agentcore.d.ts +115 -1
- package/dist/esm/adapters/identity/agentcore.js +117 -2
- package/dist/esm/adapters/identity/agentcore.js.map +1 -1
- package/dist/esm/adapters/mcp/agentcore.d.ts +143 -0
- package/dist/esm/adapters/mcp/agentcore.js +149 -0
- package/dist/esm/adapters/mcp/agentcore.js.map +1 -0
- package/dist/esm/adapters/observability/agentcore.d.ts +50 -0
- package/dist/esm/adapters/observability/agentcore.js +59 -0
- package/dist/esm/adapters/observability/agentcore.js.map +1 -1
- package/dist/esm/adapters/observability/otel.d.ts +73 -3
- package/dist/esm/adapters/observability/otel.js +12 -3
- package/dist/esm/adapters/observability/otel.js.map +1 -1
- package/dist/esm/identity.d.ts +1 -1
- package/dist/esm/identity.js +5 -1
- package/dist/esm/identity.js.map +1 -1
- package/dist/esm/observability-providers.d.ts +1 -1
- package/dist/esm/observability-providers.js +5 -1
- package/dist/esm/observability-providers.js.map +1 -1
- package/dist/esm/tool-providers/index.d.ts +2 -0
- package/dist/esm/tool-providers/index.js +5 -0
- package/dist/esm/tool-providers/index.js.map +1 -1
- package/dist/identity.js +5 -1
- package/dist/identity.js.map +1 -1
- package/dist/observability-providers.js +6 -1
- package/dist/observability-providers.js.map +1 -1
- package/dist/tool-providers/index.js +13 -1
- package/dist/tool-providers/index.js.map +1 -1
- package/dist/types/adapters/identity/agentcore.d.ts +115 -1
- package/dist/types/adapters/identity/agentcore.d.ts.map +1 -1
- package/dist/types/adapters/mcp/agentcore.d.ts +144 -0
- package/dist/types/adapters/mcp/agentcore.d.ts.map +1 -0
- package/dist/types/adapters/observability/agentcore.d.ts +50 -0
- package/dist/types/adapters/observability/agentcore.d.ts.map +1 -1
- package/dist/types/adapters/observability/otel.d.ts +73 -3
- package/dist/types/adapters/observability/otel.d.ts.map +1 -1
- package/dist/types/identity.d.ts +1 -1
- package/dist/types/identity.d.ts.map +1 -1
- package/dist/types/observability-providers.d.ts +1 -1
- package/dist/types/observability-providers.d.ts.map +1 -1
- package/dist/types/tool-providers/index.d.ts +2 -0
- package/dist/types/tool-providers/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
* `getCredential` first runs (or never, if you inject `_client` / `_sdk`).
|
|
85
85
|
*/
|
|
86
86
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
87
|
-
exports.agentCoreIdentity = void 0;
|
|
87
|
+
exports.completeAgentCoreAuthorization = exports.agentCoreIdentity = void 0;
|
|
88
88
|
const lazyRequire_js_1 = require("../../lib/lazyRequire.js");
|
|
89
89
|
const kinds_js_1 = require("../../identity/kinds.js");
|
|
90
90
|
/**
|
|
@@ -223,6 +223,20 @@ function createIdentityClient(options) {
|
|
|
223
223
|
async getWorkloadAccessTokenForUserId(input) {
|
|
224
224
|
return ((await send(mod.GetWorkloadAccessTokenForUserIdCommand, 'GetWorkloadAccessTokenForUserIdCommand', input)) ?? {});
|
|
225
225
|
},
|
|
226
|
+
async getResourceApiKey(input) {
|
|
227
|
+
const r = (await send(mod.GetResourceApiKeyCommand, 'GetResourceApiKeyCommand', input));
|
|
228
|
+
return { ...(r?.apiKey !== undefined && { apiKey: r.apiKey }) };
|
|
229
|
+
},
|
|
230
|
+
async completeResourceTokenAuth(input) {
|
|
231
|
+
// `CompleteResourceTokenAuthRequest` is `{ sessionUri, userIdentifier }`,
|
|
232
|
+
// where userIdentifier is a UNION with exactly one member set — the
|
|
233
|
+
// person's own token, or the id the agent asserts for them. Success is an
|
|
234
|
+
// empty 200, so there is nothing to map back.
|
|
235
|
+
await send(mod.CompleteResourceTokenAuthCommand, 'CompleteResourceTokenAuthCommand', {
|
|
236
|
+
sessionUri: input.sessionId,
|
|
237
|
+
userIdentifier: input.userToken !== undefined ? { userToken: input.userToken } : { userId: input.userId },
|
|
238
|
+
});
|
|
239
|
+
},
|
|
226
240
|
async getWorkloadAccessTokenForJWT(input) {
|
|
227
241
|
// `GetWorkloadAccessTokenForJWTRequest` is `{ workloadName, userToken }`,
|
|
228
242
|
// both required, and the response is `{ workloadAccessToken }` — verified
|
|
@@ -310,14 +324,50 @@ function agentCoreIdentity(options = {}) {
|
|
|
310
324
|
}
|
|
311
325
|
return requireWorkloadAccessToken(await c.getWorkloadAccessTokenForUserId({ workloadName: options.workloadName, userId }), 'GetWorkloadAccessTokenForUserId');
|
|
312
326
|
};
|
|
327
|
+
const userFlow = options.userFlow ?? 'consent';
|
|
328
|
+
const apiKeyServices = new Set(options.apiKeyServices ?? []);
|
|
329
|
+
const apiKeyHeader = options.apiKeyHeader ?? 'x-api-key';
|
|
313
330
|
return {
|
|
314
331
|
id: options.id ?? 'agentcore-identity',
|
|
315
332
|
async getCredential(req) {
|
|
316
333
|
const workloadIdentityToken = await resolveWorkloadToken(req);
|
|
334
|
+
// An API-key service never touches the OAuth path: different operation,
|
|
335
|
+
// different credential kind, and no consent round-trip exists for it.
|
|
336
|
+
if (apiKeyServices.has(req.service)) {
|
|
337
|
+
const c = getClient();
|
|
338
|
+
if (!c.getResourceApiKey) {
|
|
339
|
+
throw new Error(`agentCoreIdentity: '${req.service}' is listed in \`apiKeyServices\` but the ` +
|
|
340
|
+
'injected `_client` has no getResourceApiKey. Implement it, or drop the service ' +
|
|
341
|
+
'from the list to vend it as OAuth.');
|
|
342
|
+
}
|
|
343
|
+
if (!workloadIdentityToken) {
|
|
344
|
+
// Required on `GetResourceApiKeyRequest`, exactly as on the OAuth
|
|
345
|
+
// call — verified against the real SDK's types, not assumed. Sending
|
|
346
|
+
// without one buys an opaque ValidationException; this names the two
|
|
347
|
+
// ways to supply it instead.
|
|
348
|
+
throw new Error(`agentCoreIdentity: GetResourceApiKey for '${req.service}' requires a workload ` +
|
|
349
|
+
'identity token, and none was available for this request.\n' +
|
|
350
|
+
' Inside AgentCore Runtime the container is given one — pass it as ' +
|
|
351
|
+
'`workloadIdentityToken`.\n' +
|
|
352
|
+
' Elsewhere, configure `workloadName` so a per-user token is resolved first.');
|
|
353
|
+
}
|
|
354
|
+
const keyRes = await c.getResourceApiKey({
|
|
355
|
+
resourceCredentialProviderName: req.service,
|
|
356
|
+
workloadIdentityToken,
|
|
357
|
+
});
|
|
358
|
+
if (!keyRes.apiKey) {
|
|
359
|
+
throw new Error(`agentCoreIdentity: GetResourceApiKey for '${req.service}' returned no key.`);
|
|
360
|
+
}
|
|
361
|
+
return { status: 'issued', credential: (0, kinds_js_1.apiKey)(keyRes.apiKey, apiKeyHeader) };
|
|
362
|
+
}
|
|
317
363
|
const res = await getClient().getResourceOauth2Token({
|
|
318
364
|
resourceCredentialProviderName: req.service,
|
|
319
365
|
scopes: req.scopes ?? [],
|
|
320
|
-
oauth2Flow: req.mode === 'user'
|
|
366
|
+
oauth2Flow: req.mode === 'user'
|
|
367
|
+
? userFlow === 'exchange'
|
|
368
|
+
? 'ON_BEHALF_OF_TOKEN_EXCHANGE'
|
|
369
|
+
: 'USER_FEDERATION'
|
|
370
|
+
: 'M2M',
|
|
321
371
|
forceAuthentication: req.forceReauth ?? false,
|
|
322
372
|
...(workloadIdentityToken && { workloadIdentityToken }),
|
|
323
373
|
});
|
|
@@ -342,4 +392,70 @@ function agentCoreIdentity(options = {}) {
|
|
|
342
392
|
};
|
|
343
393
|
}
|
|
344
394
|
exports.agentCoreIdentity = agentCoreIdentity;
|
|
395
|
+
/**
|
|
396
|
+
* Tell AgentCore the person finished consenting, so the token lands in the vault.
|
|
397
|
+
*
|
|
398
|
+
* ── Where this runs, and why it is not a provider method ─────────────────────
|
|
399
|
+
* A 3LO consent has three actors and two processes. The agent asks for a
|
|
400
|
+
* credential and gets back `authorization-required` with a URL and a session
|
|
401
|
+
* id; the PERSON opens that URL in their browser and approves; AgentCore then
|
|
402
|
+
* redirects their browser to a callback route **your web app** owns. That route
|
|
403
|
+
* is where this belongs — a different process from the agent run, often a
|
|
404
|
+
* different service — so it takes its own connection options rather than
|
|
405
|
+
* pretending to be a method on a provider that route has never seen.
|
|
406
|
+
*
|
|
407
|
+
* Your route's job before calling this is the part nobody else can do: confirm
|
|
408
|
+
* the browser session really belongs to the user you are about to name. This
|
|
409
|
+
* function is the handshake, not the authentication.
|
|
410
|
+
*
|
|
411
|
+
* ── After it returns ─────────────────────────────────────────────────────────
|
|
412
|
+
* Nothing is handed back — success is an empty acknowledgement. The token now
|
|
413
|
+
* exists in the vault for that (workload, user), and the way to obtain it is to
|
|
414
|
+
* run the agent's request again: the next `getCredential` for that service
|
|
415
|
+
* returns `issued` where the last one returned `authorization-required`. In
|
|
416
|
+
* agentfootprint terms the consent is a PAUSE, and this is what makes the
|
|
417
|
+
* resume succeed.
|
|
418
|
+
*
|
|
419
|
+
* The authorization URL and its session are short-lived (AWS documents ten
|
|
420
|
+
* minutes) — a person who wanders off has to start the consent again, and the
|
|
421
|
+
* refusal you get is AgentCore's, not this adapter's.
|
|
422
|
+
*
|
|
423
|
+
* @example An Express-style callback route
|
|
424
|
+
* app.get('/oauth/callback', async (req, res) => {
|
|
425
|
+
* const user = await requireSignedInUser(req); // yours, and load-bearing
|
|
426
|
+
* await completeAgentCoreAuthorization({
|
|
427
|
+
* sessionId: String(req.query.session),
|
|
428
|
+
* userId: user.id,
|
|
429
|
+
* region: 'us-east-1',
|
|
430
|
+
* });
|
|
431
|
+
* res.send('Approved — you can return to the assistant.');
|
|
432
|
+
* });
|
|
433
|
+
*/
|
|
434
|
+
async function completeAgentCoreAuthorization(options) {
|
|
435
|
+
if (!options.sessionId) {
|
|
436
|
+
throw new Error('completeAgentCoreAuthorization: `sessionId` is required — it is the `sessionId` from ' +
|
|
437
|
+
'the `authorization-required` result that started this consent.');
|
|
438
|
+
}
|
|
439
|
+
if ((options.userToken === undefined) === (options.userId === undefined)) {
|
|
440
|
+
// Both or neither. Naming a person twice is ambiguous; naming them zero
|
|
441
|
+
// times completes a consent for nobody.
|
|
442
|
+
throw new Error('completeAgentCoreAuthorization: pass exactly one of `userToken` (the person’s own JWT, ' +
|
|
443
|
+
'preferred) or `userId` (an id you assert for them).');
|
|
444
|
+
}
|
|
445
|
+
const client = options._client ??
|
|
446
|
+
createIdentityClient({
|
|
447
|
+
...(options.region !== undefined && { region: options.region }),
|
|
448
|
+
...(options._sdk !== undefined && { _sdk: options._sdk }),
|
|
449
|
+
});
|
|
450
|
+
if (!client.completeResourceTokenAuth) {
|
|
451
|
+
throw new Error('completeAgentCoreAuthorization: the injected `_client` has no ' +
|
|
452
|
+
'completeResourceTokenAuth. Implement it, or omit `_client` to use the SDK.');
|
|
453
|
+
}
|
|
454
|
+
await client.completeResourceTokenAuth({
|
|
455
|
+
sessionId: options.sessionId,
|
|
456
|
+
...(options.userToken !== undefined && { userToken: options.userToken }),
|
|
457
|
+
...(options.userId !== undefined && { userId: options.userId }),
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
exports.completeAgentCoreAuthorization = completeAgentCoreAuthorization;
|
|
345
461
|
//# sourceMappingURL=agentcore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../src/adapters/identity/agentcore.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;;;AAEH,6DAAuD;AAMvD,
|
|
1
|
+
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../src/adapters/identity/agentcore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* adapters/mcp/agentcore — reaching an AWS Bedrock **AgentCore Gateway**.
|
|
4
|
+
*
|
|
5
|
+
* ── What lives here, and why it is one file ──────────────────────────────────
|
|
6
|
+
* A Gateway is an MCP server, and `mcpClient` + `gatewayTransport` already know
|
|
7
|
+
* how to talk to one of those. Neither knows — and neither should learn — the
|
|
8
|
+
* handful of facts that are AgentCore's alone: the hostname its endpoints take,
|
|
9
|
+
* the name of the tool that searches its catalogue, the header that groups a
|
|
10
|
+
* caller's requests into one policy session, and the service name a SigV4
|
|
11
|
+
* signature is computed against. Those four facts are this file, and this file
|
|
12
|
+
* is the only place in the library that holds them.
|
|
13
|
+
*
|
|
14
|
+
* `gatewayTransport` says of itself: *"Nothing here is vendor-specific."* That
|
|
15
|
+
* stays true precisely because this exists next to it.
|
|
16
|
+
*
|
|
17
|
+
* ── What it does NOT do ──────────────────────────────────────────────────────
|
|
18
|
+
* It does not manage a Gateway. Creating one, adding targets, attaching a
|
|
19
|
+
* policy engine, enabling semantic search — all control-plane operations on
|
|
20
|
+
* `bedrock-agentcore-control`, all things an operator does once with the
|
|
21
|
+
* console, the CLI or their IaC. This is the CLIENT side: an agent using a
|
|
22
|
+
* gateway somebody already stood up.
|
|
23
|
+
*
|
|
24
|
+
* @example An agent whose tools come from a Gateway
|
|
25
|
+
* import { mcpClient } from 'agentfootprint/providers';
|
|
26
|
+
* import { agentCoreGatewayTransport } from 'agentfootprint/providers';
|
|
27
|
+
* import { agentCoreIdentity } from 'agentfootprint/security';
|
|
28
|
+
*
|
|
29
|
+
* const gateway = await mcpClient({
|
|
30
|
+
* name: 'gateway',
|
|
31
|
+
* transport: agentCoreGatewayTransport({
|
|
32
|
+
* gatewayId: 'my-gateway-a1b2c3d4e5',
|
|
33
|
+
* region: 'us-east-1',
|
|
34
|
+
* credentials: agentCoreIdentity({ region: 'us-east-1' }),
|
|
35
|
+
* }),
|
|
36
|
+
* });
|
|
37
|
+
* const tools = await gateway.tools();
|
|
38
|
+
*/
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.hasGatewaySearch = exports.gatewaySearchTool = exports.agentCoreGatewayTransport = exports.agentCoreGatewayUrl = exports.AGENTCORE_SIGV4_SERVICE = exports.AGENTCORE_POLICY_SESSION_HEADER = exports.AGENTCORE_GATEWAY_SEARCH_TOOL = void 0;
|
|
41
|
+
const gatewayTransport_js_1 = require("../../lib/mcp/gatewayTransport.js");
|
|
42
|
+
/**
|
|
43
|
+
* The Gateway's built-in semantic tool search, by its exact wire name.
|
|
44
|
+
*
|
|
45
|
+
* It is an ordinary MCP tool — `tools/call` with `{ query }` — that returns the
|
|
46
|
+
* catalogue entries closest to a natural-language description. It matters at
|
|
47
|
+
* the scale where listing every tool into a prompt stops being sensible.
|
|
48
|
+
*
|
|
49
|
+
* **It can only be enabled when the Gateway is CREATED**, never afterwards, so
|
|
50
|
+
* its absence from a catalogue is a fact about that gateway rather than a
|
|
51
|
+
* transient condition to retry.
|
|
52
|
+
*/
|
|
53
|
+
exports.AGENTCORE_GATEWAY_SEARCH_TOOL = 'x_amz_bedrock_agentcore_search';
|
|
54
|
+
/**
|
|
55
|
+
* The header that groups a caller's requests into ONE policy session.
|
|
56
|
+
*
|
|
57
|
+
* AgentCore's temporal policies decide on SEQUENCES of actions — "not after
|
|
58
|
+
* three refunds", "only once this was approved" — and a sequence needs a
|
|
59
|
+
* boundary. This header is that boundary, and without it every request is its
|
|
60
|
+
* own history of one, which quietly makes every sequence rule unenforceable.
|
|
61
|
+
*/
|
|
62
|
+
exports.AGENTCORE_POLICY_SESSION_HEADER = 'x-amzn-bedrock-agentcore-policy-session-id';
|
|
63
|
+
/** The service name a SigV4 signature for a Gateway is computed against. */
|
|
64
|
+
exports.AGENTCORE_SIGV4_SERVICE = 'bedrock-agentcore';
|
|
65
|
+
/**
|
|
66
|
+
* The MCP endpoint of a Gateway.
|
|
67
|
+
*
|
|
68
|
+
* `https://{gatewayId}.gateway.bedrock-agentcore.{region}.amazonaws.com/mcp` —
|
|
69
|
+
* a shape nobody remembers correctly, which is the entire reason it is a
|
|
70
|
+
* function and not a line in a README.
|
|
71
|
+
*/
|
|
72
|
+
function agentCoreGatewayUrl(options) {
|
|
73
|
+
const { gatewayId, region } = options;
|
|
74
|
+
if (!gatewayId || !region) {
|
|
75
|
+
throw new TypeError('agentCoreGatewayUrl: both `gatewayId` and `region` are required — the endpoint hostname ' +
|
|
76
|
+
'is built from the two.');
|
|
77
|
+
}
|
|
78
|
+
return `https://${gatewayId}.gateway.bedrock-agentcore.${region}.amazonaws.com/mcp`;
|
|
79
|
+
}
|
|
80
|
+
exports.agentCoreGatewayUrl = agentCoreGatewayUrl;
|
|
81
|
+
/**
|
|
82
|
+
* An MCP transport pointed at an AgentCore Gateway.
|
|
83
|
+
*
|
|
84
|
+
* A configuration of {@link gatewayTransport}: the endpoint built from your
|
|
85
|
+
* gateway's id and region, and — when you name one — the policy session header
|
|
86
|
+
* stamped on every request. Token vending, the once-and-dropped secrecy rule
|
|
87
|
+
* and the rotation behaviour are all the neutral transport's, unchanged.
|
|
88
|
+
*/
|
|
89
|
+
function agentCoreGatewayTransport(options) {
|
|
90
|
+
const { policySessionId, fetch: innerFetch } = options;
|
|
91
|
+
// The header is stamped in the `fetch` seam rather than in `headers` because
|
|
92
|
+
// the seam runs per request. That is what lets the session id come from a
|
|
93
|
+
// function, which is what keeps two people on one transport in two sessions.
|
|
94
|
+
const stampPolicySession = policySessionId === undefined
|
|
95
|
+
? innerFetch
|
|
96
|
+
: async (input, init) => {
|
|
97
|
+
const id = typeof policySessionId === 'function' ? policySessionId() : policySessionId;
|
|
98
|
+
const next = id === undefined || id === ''
|
|
99
|
+
? init
|
|
100
|
+
: {
|
|
101
|
+
...init,
|
|
102
|
+
headers: {
|
|
103
|
+
...init?.headers,
|
|
104
|
+
[exports.AGENTCORE_POLICY_SESSION_HEADER]: id,
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
return innerFetch ? innerFetch(input, next) : globalThis.fetch(input, next);
|
|
108
|
+
};
|
|
109
|
+
return (0, gatewayTransport_js_1.gatewayTransport)({
|
|
110
|
+
url: agentCoreGatewayUrl(options),
|
|
111
|
+
credentials: options.credentials,
|
|
112
|
+
...(options.service !== undefined && { service: options.service }),
|
|
113
|
+
...(options.scopes !== undefined && { scopes: options.scopes }),
|
|
114
|
+
...(options.mode !== undefined && { mode: options.mode }),
|
|
115
|
+
...(options.headers !== undefined && { headers: options.headers }),
|
|
116
|
+
...(stampPolicySession !== undefined && { fetch: stampPolicySession }),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
exports.agentCoreGatewayTransport = agentCoreGatewayTransport;
|
|
120
|
+
/**
|
|
121
|
+
* The Gateway's semantic search tool, if this gateway has one.
|
|
122
|
+
*
|
|
123
|
+
* Returns `undefined` rather than throwing, because absence is a legitimate and
|
|
124
|
+
* PERMANENT answer: semantic search is enabled when a Gateway is created and
|
|
125
|
+
* cannot be turned on afterwards, so there is nothing to retry.
|
|
126
|
+
*
|
|
127
|
+
* ── Why this finds the tool instead of calling it ────────────────────────────
|
|
128
|
+
* The obvious convenience would be `search(gateway, 'refund an order')`, and it
|
|
129
|
+
* is deliberately not here. Executing a tool needs a `ToolExecutionContext` —
|
|
130
|
+
* the call id, the iteration, the credential seam, the artifact store — and
|
|
131
|
+
* that object belongs to the agent loop. A helper would have to invent one,
|
|
132
|
+
* and a call made on an invented context is a call that appears in no trace:
|
|
133
|
+
* the model would be handed a shortlist nobody can later explain the origin of,
|
|
134
|
+
* which is the opposite of what this library is for.
|
|
135
|
+
*
|
|
136
|
+
* So the search tool is registered like any other tool, the model calls it when
|
|
137
|
+
* the catalogue is too large to reason about, and that call is an ordinary
|
|
138
|
+
* tool call in the trace — visible, attributable, and replayable.
|
|
139
|
+
*
|
|
140
|
+
* @example Give the model the catalogue's own search
|
|
141
|
+
* const tools = await gateway.tools();
|
|
142
|
+
* const search = gatewaySearchTool(tools);
|
|
143
|
+
* Agent.create({ provider, model })
|
|
144
|
+
* .tools(search ? [search] : tools) // search it, or list it
|
|
145
|
+
* .build();
|
|
146
|
+
*/
|
|
147
|
+
function gatewaySearchTool(tools) {
|
|
148
|
+
return tools.find((t) => t.schema.name === exports.AGENTCORE_GATEWAY_SEARCH_TOOL);
|
|
149
|
+
}
|
|
150
|
+
exports.gatewaySearchTool = gatewaySearchTool;
|
|
151
|
+
/** Whether this gateway's catalogue can be searched rather than listed. */
|
|
152
|
+
function hasGatewaySearch(tools) {
|
|
153
|
+
return gatewaySearchTool(tools) !== undefined;
|
|
154
|
+
}
|
|
155
|
+
exports.hasGatewaySearch = hasGatewaySearch;
|
|
156
|
+
//# sourceMappingURL=agentcore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../src/adapters/mcp/agentcore.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,8 +50,9 @@
|
|
|
50
50
|
* ```
|
|
51
51
|
*/
|
|
52
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
-
exports.agentcoreObservability = void 0;
|
|
53
|
+
exports.agentCoreEvaluationSpans = exports.AGENTCORE_EVALUATIONS_SCOPE_NAME = exports.agentcoreObservability = void 0;
|
|
54
54
|
const cloudwatch_js_1 = require("./cloudwatch.js");
|
|
55
|
+
const otel_js_1 = require("./otel.js");
|
|
55
56
|
/**
|
|
56
57
|
* Build an AgentCore-flavored CloudWatch Logs observability strategy.
|
|
57
58
|
* Functionally identical to `cloudwatchObservability` except for the
|
|
@@ -62,4 +63,63 @@ function agentcoreObservability(opts) {
|
|
|
62
63
|
return (0, cloudwatch_js_1._buildCloudWatchObservability)(opts, 'agentcore');
|
|
63
64
|
}
|
|
64
65
|
exports.agentcoreObservability = agentcoreObservability;
|
|
66
|
+
/**
|
|
67
|
+
* The instrumentation-scope name AgentCore **Evaluations** classifies spans by.
|
|
68
|
+
*
|
|
69
|
+
* Their span classifier reads `scope.name` and considers only names beginning
|
|
70
|
+
* `opentelemetry.instrumentation.` (or `openinference.instrumentation.`);
|
|
71
|
+
* anything else is skipped without a message. This is the one spelling that
|
|
72
|
+
* makes agentfootprint's spans visible to it — and it lives HERE, in the
|
|
73
|
+
* vendor's own file, because the requirement is theirs, not
|
|
74
|
+
* OpenTelemetry's and not ours.
|
|
75
|
+
*/
|
|
76
|
+
exports.AGENTCORE_EVALUATIONS_SCOPE_NAME = 'opentelemetry.instrumentation.agentfootprint';
|
|
77
|
+
/**
|
|
78
|
+
* OTel spans shaped so AgentCore **Evaluations** can read and score them.
|
|
79
|
+
*
|
|
80
|
+
* ── What this is ─────────────────────────────────────────────────────────────
|
|
81
|
+
* A CONFIGURATION of {@link otelObservability}, not a second implementation:
|
|
82
|
+
* the same spans, the same attributes, with the two settings that vendor
|
|
83
|
+
* requires already correct — the scope name it classifies by, and the
|
|
84
|
+
* turn-level content its scorers read. Everything else is passed through
|
|
85
|
+
* untouched, so nothing about your telemetry becomes AgentCore-shaped except
|
|
86
|
+
* the two things that had to be.
|
|
87
|
+
*
|
|
88
|
+
* ── Why you would use it ─────────────────────────────────────────────────────
|
|
89
|
+
* Since July 2026 AgentCore Evaluations scores agents that DO NOT run on AWS —
|
|
90
|
+
* any agent whose spans reach CloudWatch and match its contract. That makes
|
|
91
|
+
* AWS's built-in evaluators available to an agentfootprint agent hosted
|
|
92
|
+
* anywhere. It does not make your agent an AWS agent, and it replaces nothing:
|
|
93
|
+
* their evaluators say what the score is, and agentfootprint's own trace is
|
|
94
|
+
* still what says why.
|
|
95
|
+
*
|
|
96
|
+
* ── Read this before enabling ────────────────────────────────────────────────
|
|
97
|
+
* It turns `captureContent` ON, which puts the turn's prompt and answer text on
|
|
98
|
+
* the span — that is the point (a scorer cannot grade a turn it cannot read),
|
|
99
|
+
* and it is also an export of raw content to your OTel backend. Pass
|
|
100
|
+
* `captureContent: false` to opt back out and keep the scope name alone;
|
|
101
|
+
* scores will then be based on an empty turn, which is worse than not scoring.
|
|
102
|
+
*
|
|
103
|
+
* Getting the spans to CloudWatch is separate and yours: point an OTLP exporter
|
|
104
|
+
* at the AgentCore log group per AWS's documented header contract, or run
|
|
105
|
+
* inside a runtime that does it for you.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* import { agentCoreEvaluationSpans } from 'agentfootprint/observe';
|
|
109
|
+
*
|
|
110
|
+
* agent.enable.observability({
|
|
111
|
+
* strategy: agentCoreEvaluationSpans({ serviceName: 'support-agent' }),
|
|
112
|
+
* });
|
|
113
|
+
*/
|
|
114
|
+
function agentCoreEvaluationSpans(opts) {
|
|
115
|
+
return (0, otel_js_1.otelObservability)({
|
|
116
|
+
captureContent: true,
|
|
117
|
+
...opts,
|
|
118
|
+
// Not spreadable-over: a caller who overrode this would silently produce
|
|
119
|
+
// spans the service skips, which is the exact failure this function exists
|
|
120
|
+
// to prevent. The scope name is the whole reason it is a named function.
|
|
121
|
+
scopeName: exports.AGENTCORE_EVALUATIONS_SCOPE_NAME,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
exports.agentCoreEvaluationSpans = agentCoreEvaluationSpans;
|
|
65
125
|
//# sourceMappingURL=agentcore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../src/adapters/observability/agentcore.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;;;AAIH,mDAGyB;
|
|
1
|
+
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../src/adapters/observability/agentcore.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;;;AAIH,mDAGyB;AACzB,uCAImB;AAWnB;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,IAAmC;IACxE,OAAO,IAAA,6CAA6B,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC1D,CAAC;AAFD,wDAEC;AAED;;;;;;;;;GASG;AACU,QAAA,gCAAgC,GAAG,8CAA8C,CAAC;AAE/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,SAAgB,wBAAwB,CACtC,IAA8B;IAE9B,OAAO,IAAA,2BAAiB,EAAC;QACvB,cAAc,EAAE,IAAI;QACpB,GAAG,IAAI;QACP,yEAAyE;QACzE,2EAA2E;QAC3E,yEAAyE;QACzE,SAAS,EAAE,wCAAgC;KAC5C,CAAC,CAAC;AACL,CAAC;AAXD,4DAWC"}
|
|
@@ -190,11 +190,13 @@ function otelObservability(opts) {
|
|
|
190
190
|
const sampleRate = opts.sampleRate ?? 1;
|
|
191
191
|
const genAiNames = opts.genAiSpanNames === true;
|
|
192
192
|
const explainability = opts.explainability !== false;
|
|
193
|
+
const scopeName = opts.scopeName ?? 'agentfootprint';
|
|
194
|
+
const captureContent = opts.captureContent === true;
|
|
193
195
|
// Lazy-resolve tracer if not injected. Defer the API import until
|
|
194
196
|
// first event so consumers who don't actually fire events (no agent
|
|
195
197
|
// run yet) don't even hit the OTel API surface.
|
|
196
198
|
let tracer = opts.tracer;
|
|
197
|
-
let otelApi;
|
|
199
|
+
let otelApi = opts._otelApi;
|
|
198
200
|
function ensureTracer() {
|
|
199
201
|
if (tracer)
|
|
200
202
|
return tracer;
|
|
@@ -213,7 +215,7 @@ function otelObservability(opts) {
|
|
|
213
215
|
if (!otelApi.trace?.getTracer) {
|
|
214
216
|
throw new Error('otelObservability: `@opentelemetry/api` is installed but `trace.getTracer` not found. Update the package.');
|
|
215
217
|
}
|
|
216
|
-
tracer = otelApi.trace.getTracer(
|
|
218
|
+
tracer = otelApi.trace.getTracer(scopeName);
|
|
217
219
|
return tracer;
|
|
218
220
|
}
|
|
219
221
|
const activeTurns = new Map();
|
|
@@ -470,7 +472,8 @@ function otelObservability(opts) {
|
|
|
470
472
|
// `invoke_agent` span per the GenAI agent-span conventions.
|
|
471
473
|
// `gen_ai.provider.name` / `gen_ai.request.model` (conditionally
|
|
472
474
|
// required) are back-filled on the first llm_start — unknown here.
|
|
473
|
-
// `userPrompt`
|
|
475
|
+
// `userPrompt` rides the span ONLY when the consumer asked for it
|
|
476
|
+
// (`captureContent`) — see that option for what enabling it exports.
|
|
474
477
|
// We emit `agentfootprint.run.id` (not `gen_ai.conversation.id`):
|
|
475
478
|
// a run is one turn, not a conversation/session — agentfootprint
|
|
476
479
|
// has no session primitive yet, and mislabeling would corrupt
|
|
@@ -496,6 +499,10 @@ function otelObservability(opts) {
|
|
|
496
499
|
'agentfootprint.principal.id': actor.principal,
|
|
497
500
|
}),
|
|
498
501
|
...(actor?.tenant !== undefined && { 'agentfootprint.tenant.id': actor.tenant }),
|
|
502
|
+
...(captureContent &&
|
|
503
|
+
typeof event.payload.userPrompt === 'string' && {
|
|
504
|
+
'gen_ai.task.input': event.payload.userPrompt,
|
|
505
|
+
}),
|
|
499
506
|
});
|
|
500
507
|
}
|
|
501
508
|
break;
|
|
@@ -509,6 +516,8 @@ function otelObservability(opts) {
|
|
|
509
516
|
// usage attrs on agent spans) + the iteration count.
|
|
510
517
|
const p = event.payload;
|
|
511
518
|
setAttrs(t.root, {
|
|
519
|
+
...(captureContent &&
|
|
520
|
+
typeof p.finalContent === 'string' && { 'gen_ai.task.output': p.finalContent }),
|
|
512
521
|
...(typeof p.totalInputTokens === 'number' && {
|
|
513
522
|
'gen_ai.usage.input_tokens': p.totalInputTokens,
|
|
514
523
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel.js","sourceRoot":"","sources":["../../../src/adapters/observability/otel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"otel.js","sourceRoot":"","sources":["../../../src/adapters/observability/otel.ts"],"names":[],"mappings":"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"}
|