agentfootprint 9.10.0 → 9.12.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 (143) hide show
  1. package/CLAUDE.md +4 -1
  2. package/dist/adapters/hosting/agentcore.js +36 -1
  3. package/dist/adapters/hosting/agentcore.js.map +1 -1
  4. package/dist/adapters/identity/agentcore.js +173 -33
  5. package/dist/adapters/identity/agentcore.js.map +1 -1
  6. package/dist/adapters/memory/sqliteVector.js +10 -0
  7. package/dist/adapters/memory/sqliteVector.js.map +1 -1
  8. package/dist/adapters/observability/otel.js +15 -0
  9. package/dist/adapters/observability/otel.js.map +1 -1
  10. package/dist/adapters/types.js +16 -1
  11. package/dist/adapters/types.js.map +1 -1
  12. package/dist/bridge/eventMeta.js +5 -0
  13. package/dist/bridge/eventMeta.js.map +1 -1
  14. package/dist/core/Agent.js +129 -18
  15. package/dist/core/Agent.js.map +1 -1
  16. package/dist/core/agent/stages/toolCalls.js +164 -10
  17. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  18. package/dist/core/agent/toolResultCap.js +0 -0
  19. package/dist/core/agent/toolResultCap.js.map +1 -0
  20. package/dist/core/slots/buildToolsSlot.js +23 -1
  21. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  22. package/dist/core/tools.js +3 -0
  23. package/dist/core/tools.js.map +1 -1
  24. package/dist/esm/adapters/hosting/agentcore.d.ts +4 -1
  25. package/dist/esm/adapters/hosting/agentcore.js +36 -1
  26. package/dist/esm/adapters/hosting/agentcore.js.map +1 -1
  27. package/dist/esm/adapters/identity/agentcore.d.ts +74 -15
  28. package/dist/esm/adapters/identity/agentcore.js +173 -33
  29. package/dist/esm/adapters/identity/agentcore.js.map +1 -1
  30. package/dist/esm/adapters/memory/sqliteVector.d.ts +10 -0
  31. package/dist/esm/adapters/memory/sqliteVector.js +10 -0
  32. package/dist/esm/adapters/memory/sqliteVector.js.map +1 -1
  33. package/dist/esm/adapters/observability/otel.js +15 -0
  34. package/dist/esm/adapters/observability/otel.js.map +1 -1
  35. package/dist/esm/adapters/types.d.ts +91 -1
  36. package/dist/esm/adapters/types.js +14 -0
  37. package/dist/esm/adapters/types.js.map +1 -1
  38. package/dist/esm/bridge/eventMeta.d.ts +7 -0
  39. package/dist/esm/bridge/eventMeta.js +5 -0
  40. package/dist/esm/bridge/eventMeta.js.map +1 -1
  41. package/dist/esm/core/Agent.d.ts +44 -10
  42. package/dist/esm/core/Agent.js +129 -18
  43. package/dist/esm/core/Agent.js.map +1 -1
  44. package/dist/esm/core/agent/stages/toolCalls.d.ts +11 -0
  45. package/dist/esm/core/agent/stages/toolCalls.js +162 -8
  46. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  47. package/dist/esm/core/agent/toolResultCap.d.ts +93 -0
  48. package/dist/esm/core/agent/toolResultCap.js +0 -0
  49. package/dist/esm/core/agent/toolResultCap.js.map +1 -0
  50. package/dist/esm/core/agent/types.d.ts +41 -0
  51. package/dist/esm/core/slots/buildToolsSlot.d.ts +20 -1
  52. package/dist/esm/core/slots/buildToolsSlot.js +23 -1
  53. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  54. package/dist/esm/core/tools.d.ts +30 -1
  55. package/dist/esm/core/tools.js +3 -0
  56. package/dist/esm/core/tools.js.map +1 -1
  57. package/dist/esm/events/payloads.d.ts +5 -1
  58. package/dist/esm/events/types.d.ts +27 -0
  59. package/dist/esm/hosting/httpHost.d.ts +10 -0
  60. package/dist/esm/hosting/httpHost.js +2 -1
  61. package/dist/esm/hosting/httpHost.js.map +1 -1
  62. package/dist/esm/hosting/standingAgent.js +63 -1
  63. package/dist/esm/hosting/standingAgent.js.map +1 -1
  64. package/dist/esm/hosting/types.d.ts +24 -0
  65. package/dist/esm/hosting/types.js.map +1 -1
  66. package/dist/esm/identity/types.d.ts +30 -0
  67. package/dist/esm/identity/types.js.map +1 -1
  68. package/dist/esm/index.d.ts +1 -0
  69. package/dist/esm/index.js +5 -0
  70. package/dist/esm/index.js.map +1 -1
  71. package/dist/esm/lib/injection-engine/skillTools.d.ts +23 -2
  72. package/dist/esm/lib/injection-engine/skillTools.js +15 -1
  73. package/dist/esm/lib/injection-engine/skillTools.js.map +1 -1
  74. package/dist/esm/security/PermissionPolicy.d.ts +83 -5
  75. package/dist/esm/security/PermissionPolicy.js +90 -6
  76. package/dist/esm/security/PermissionPolicy.js.map +1 -1
  77. package/dist/esm/security/index.d.ts +4 -2
  78. package/dist/esm/security/index.js +7 -0
  79. package/dist/esm/security/index.js.map +1 -1
  80. package/dist/esm/security/skillTarget.d.ts +32 -0
  81. package/dist/esm/security/skillTarget.js +37 -0
  82. package/dist/esm/security/skillTarget.js.map +1 -0
  83. package/dist/hosting/httpHost.js +2 -1
  84. package/dist/hosting/httpHost.js.map +1 -1
  85. package/dist/hosting/standingAgent.js +63 -1
  86. package/dist/hosting/standingAgent.js.map +1 -1
  87. package/dist/hosting/types.js.map +1 -1
  88. package/dist/identity/types.js.map +1 -1
  89. package/dist/index.js +8 -2
  90. package/dist/index.js.map +1 -1
  91. package/dist/lib/injection-engine/skillTools.js +15 -1
  92. package/dist/lib/injection-engine/skillTools.js.map +1 -1
  93. package/dist/security/PermissionPolicy.js +90 -6
  94. package/dist/security/PermissionPolicy.js.map +1 -1
  95. package/dist/security/index.js +12 -1
  96. package/dist/security/index.js.map +1 -1
  97. package/dist/security/skillTarget.js +42 -0
  98. package/dist/security/skillTarget.js.map +1 -0
  99. package/dist/types/adapters/hosting/agentcore.d.ts +4 -1
  100. package/dist/types/adapters/hosting/agentcore.d.ts.map +1 -1
  101. package/dist/types/adapters/identity/agentcore.d.ts +74 -15
  102. package/dist/types/adapters/identity/agentcore.d.ts.map +1 -1
  103. package/dist/types/adapters/memory/sqliteVector.d.ts +10 -0
  104. package/dist/types/adapters/memory/sqliteVector.d.ts.map +1 -1
  105. package/dist/types/adapters/observability/otel.d.ts.map +1 -1
  106. package/dist/types/adapters/types.d.ts +91 -1
  107. package/dist/types/adapters/types.d.ts.map +1 -1
  108. package/dist/types/bridge/eventMeta.d.ts +7 -0
  109. package/dist/types/bridge/eventMeta.d.ts.map +1 -1
  110. package/dist/types/core/Agent.d.ts +44 -10
  111. package/dist/types/core/Agent.d.ts.map +1 -1
  112. package/dist/types/core/agent/stages/toolCalls.d.ts +11 -0
  113. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  114. package/dist/types/core/agent/toolResultCap.d.ts +94 -0
  115. package/dist/types/core/agent/toolResultCap.d.ts.map +1 -0
  116. package/dist/types/core/agent/types.d.ts +41 -0
  117. package/dist/types/core/agent/types.d.ts.map +1 -1
  118. package/dist/types/core/slots/buildToolsSlot.d.ts +20 -1
  119. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  120. package/dist/types/core/tools.d.ts +30 -1
  121. package/dist/types/core/tools.d.ts.map +1 -1
  122. package/dist/types/events/payloads.d.ts +5 -1
  123. package/dist/types/events/payloads.d.ts.map +1 -1
  124. package/dist/types/events/types.d.ts +27 -0
  125. package/dist/types/events/types.d.ts.map +1 -1
  126. package/dist/types/hosting/httpHost.d.ts +10 -0
  127. package/dist/types/hosting/httpHost.d.ts.map +1 -1
  128. package/dist/types/hosting/standingAgent.d.ts.map +1 -1
  129. package/dist/types/hosting/types.d.ts +24 -0
  130. package/dist/types/hosting/types.d.ts.map +1 -1
  131. package/dist/types/identity/types.d.ts +30 -0
  132. package/dist/types/identity/types.d.ts.map +1 -1
  133. package/dist/types/index.d.ts +1 -0
  134. package/dist/types/index.d.ts.map +1 -1
  135. package/dist/types/lib/injection-engine/skillTools.d.ts +23 -2
  136. package/dist/types/lib/injection-engine/skillTools.d.ts.map +1 -1
  137. package/dist/types/security/PermissionPolicy.d.ts +83 -5
  138. package/dist/types/security/PermissionPolicy.d.ts.map +1 -1
  139. package/dist/types/security/index.d.ts +4 -2
  140. package/dist/types/security/index.d.ts.map +1 -1
  141. package/dist/types/security/skillTarget.d.ts +33 -0
  142. package/dist/types/security/skillTarget.d.ts.map +1 -0
  143. package/package.json +1 -1
@@ -28,7 +28,10 @@
28
28
  * and the caller's conversation arrives in the
29
29
  * `X-Amzn-Bedrock-AgentCore-Runtime-Session-Id` header rather than in the body,
30
30
  * which is the one thing paths-and-bodies configuration alone could not
31
- * express before this release.
31
+ * express before this release. Its sibling
32
+ * `X-Amzn-Bedrock-AgentCore-Runtime-User-Id` carries WHO is calling (9.12.0) —
33
+ * two headers, two different facts, and the second is why a served run can name
34
+ * an actor in its audit trail without anybody configuring one.
32
35
  *
33
36
  * ── The second door ──────────────────────────────────────────────────────────
34
37
  * `/ws` is this runtime's answer for a caller that cannot host an inbound
@@ -83,6 +86,31 @@ const RUNTIME_PORT = 8080;
83
86
  * front of the container is free to re-case them.
84
87
  */
85
88
  const SESSION_HEADER = 'X-Amzn-Bedrock-AgentCore-Runtime-Session-Id';
89
+ /**
90
+ * The header the runtime puts the caller's END USER in — the second half of
91
+ * "who is this request for", and the documented inbound source for per-user
92
+ * identity (9.12.0).
93
+ *
94
+ * **Both names are the SDK's, not a guess.** `InvokeAgentRuntimeRequest` binds
95
+ * `runtimeSessionId` to {@link SESSION_HEADER} and `runtimeUserId` to this one,
96
+ * and the SDK describes this one as "an identifier for the end user making the
97
+ * request… passed through to the runtime container" — which is what makes the
98
+ * container's side of it this adapter's business. Verified against a real
99
+ * install of `@aws-sdk/client-bedrock-agentcore` before this shipped.
100
+ *
101
+ * Matched case-insensitively, through the same `headerValue` the session uses,
102
+ * for the same reason: a proxy in front of the container re-cases freely, and
103
+ * two header readers that disagree about casing is how one door sees a user the
104
+ * other cannot.
105
+ *
106
+ * **What it is worth, plainly.** The runtime passes this through from its front
107
+ * door, so its trustworthiness is that door's inbound-auth configuration — with
108
+ * JWT auth in front, it is the authenticated caller; on a container somebody
109
+ * exposed directly, it is a string anyone can send. It is read HERE and nowhere
110
+ * else for exactly that reason: the generic JSON wire has no such door in front
111
+ * of it, so it reads no such header.
112
+ */
113
+ const USER_HEADER = 'X-Amzn-Bedrock-AgentCore-Runtime-User-Id';
86
114
  /**
87
115
  * What the `/ws` door caps, as the runtime imposes it — **32KB per frame and a
88
116
  * 15-minute idle timeout.**
@@ -166,6 +194,12 @@ export function agentCoreRuntimeWire(busy) {
166
194
  // caller-adjacent data, not identity — the port says so and it is just as
167
195
  // true here.
168
196
  const sessionId = headerValue(facts, SESSION_HEADER);
197
+ // WHO the request is for — the other header the runtime forwards, and a
198
+ // different fact from the session beside it: a session is a thread, this
199
+ // is a person. Read as-is and absent when absent; the runtime sends it
200
+ // only when the caller supplied one, and deriving a user from a session
201
+ // id would put a thread's name in the actor's place.
202
+ const userId = headerValue(facts, USER_HEADER);
169
203
  // A person's answer to a run that stopped to ask. Read as-is: what a
170
204
  // decision looks like is the tool author's business, not this dialect's.
171
205
  // Without it a deployment here could start turns but never finish one
@@ -174,6 +208,7 @@ export function agentCoreRuntimeWire(busy) {
174
208
  return {
175
209
  input,
176
210
  ...(sessionId !== undefined && { sessionId }),
211
+ ...(userId !== undefined && { userId }),
177
212
  ...(decision !== undefined && { decision }),
178
213
  };
179
214
  },
@@ -1 +1 @@
1
- {"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/hosting/agentcore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/hosting/agentcore.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@
10
10
  * - request.mode 'machine' → `M2M`; 'user' → `USER_FEDERATION`
11
11
  * - request.service → the configured OAuth2 credential-provider name
12
12
  * - request.identity → (per-request workload identity scoping; see below)
13
+ * - request.userToken → the user's own JWT, exchanged for a user-scoped
14
+ * workload token before vending (9.12.0; see below)
13
15
  * - a returned access token → `{ status: 'issued', credential: bearer(token) }`
14
16
  * - a returned auth URL → `{ status: 'authorization-required' }` (3LO consent)
15
17
  *
@@ -18,21 +20,50 @@
18
20
  *
19
21
  * **Per-request identity forwarding (workload identity scoping).**
20
22
  * `GetResourceOauth2Token` carries NO user/tenant field — in AgentCore the
21
- * user identity is bound EARLIER, at workload-token acquisition:
22
- * `GetWorkloadAccessTokenForUserId(workloadName, userId)` returns a workload
23
- * access token scoped to that user, and AgentCore keys its token vault + 3LO
24
- * grants per (workload, user). So this adapter forwards `req.identity` (the
25
- * `runIdentity` that the agent threads through `getCredential`) by resolving a
26
- * per-user workload token first, then vending with it. Engages only when ALL of:
27
- * - `req.mode === 'user'` (USER_FEDERATION — M2M is the workload's own identity),
28
- * - a userId derives from `req.identity` (default `identity.principal`;
29
- * override via `userIdFor`), and
30
- * - `options.workloadName` is configured (the opt-in).
31
- * Otherwise the static `options.workloadIdentityToken` flows exactly as before.
23
+ * user identity is bound EARLIER, at workload-token acquisition. There are two
24
+ * ways to bind it, and this adapter dispatches both:
25
+ *
26
+ * `GetWorkloadAccessTokenForUserId(workloadName, userId)` — the ASSERTION.
27
+ * The agent says who the user is; AWS takes its word for it and returns a
28
+ * workload token keyed to that (workload, user).
29
+ * `GetWorkloadAccessTokenForJWT(workloadName, userToken)` — the PROOF (9.12.0).
30
+ * The agent hands over the token the user's own identity provider signed,
31
+ * and gets back "an opaque token representing the identity of both the
32
+ * workload and the user" (the service's own words for the response).
33
+ *
34
+ * Either way the answer is a `workloadAccessToken`, and it flows into
35
+ * `GetResourceOauth2Token`'s `workloadIdentityToken` unchanged — which is why
36
+ * the second one needed no new credential path, no new result branch and no
37
+ * change to `toHeaders()`. AgentCore keys its token vault + 3LO grants per
38
+ * (workload, user), so the whole point of resolving either is that the vault
39
+ * entry belongs to the person rather than to the agent.
40
+ *
41
+ * **The JWT rides the REQUEST.** `req.userToken` is per call, because the
42
+ * person calling is per call; a JWT in this provider's construction options
43
+ * would be one user's session serving everybody. Presence is what selects the
44
+ * exchange — a proof that arrived is never downgraded to an assertion — and
45
+ * `requireUserToken` turns "no JWT on a `mode: 'user'` request" from a quiet
46
+ * fallback into a refusal, for a deployment where every user IS authenticated.
47
+ *
48
+ * The ladder, in order, for one `getCredential(req)`:
49
+ * 1. `req.userToken` present → exchange it (needs `workloadName`; `mode: 'user'`).
50
+ * 2. else a userId derives from `req.identity` (default `identity.principal`;
51
+ * override via `userIdFor`) on a `mode: 'user'` request, and
52
+ * `options.workloadName` is configured → the by-userId exchange.
53
+ * 3. else the static `options.workloadIdentityToken` flows exactly as before.
54
+ *
32
55
  * `tenant` has no native AgentCore field and is NOT forwarded by default —
33
56
  * tenant isolation derives from the workload identity itself (per-tenant
34
57
  * workloads), or encode it via `userIdFor` (e.g. `${tenant}:${principal}`).
35
58
  *
59
+ * **Secrecy.** The inbound JWT and the exchanged workload token are secrets of
60
+ * equal weight, and neither appears in anything this file throws. A failed
61
+ * exchange is described by the SHAPE of the response — how many fields it
62
+ * carried and what they are called — never by its content, because every field
63
+ * of a token-exchange response is a token. A thrown message reaches the LLM as
64
+ * a tool result AND rides `agentfootprint.credential.failed`, so an error that
65
+ * quotes the response has published the user's session to both at once.
66
+ *
36
67
  * ── How this talks to the SDK (9.4.0 — read this before editing) ────────────
37
68
  * Through **`client.send(new SomeCommand(input))`**, never through a method on
38
69
  * the client. A bare `@aws-sdk/client-*` **Client** is command-based: its
@@ -85,6 +116,16 @@ export interface AgentCoreIdentityClientLike {
85
116
  }): Promise<{
86
117
  readonly workloadAccessToken?: string;
87
118
  }>;
119
+ /** Optional — required only when a request carries `userToken`. Exchanges the
120
+ * user's OWN IdP-issued JWT for a workload access token representing both the
121
+ * workload and the user. Same answer shape as the by-userId exchange, which
122
+ * is why both feed the same `workloadIdentityToken`. */
123
+ getWorkloadAccessTokenForJWT?(input: {
124
+ readonly workloadName: string;
125
+ readonly userToken: string;
126
+ }): Promise<{
127
+ readonly workloadAccessToken?: string;
128
+ }>;
88
129
  }
89
130
  export interface AgentCoreIdentityOptions {
90
131
  readonly region?: string;
@@ -93,11 +134,28 @@ export interface AgentCoreIdentityOptions {
93
134
  * workload token is resolved (see `workloadName`). */
94
135
  readonly workloadIdentityToken?: string;
95
136
  /** The AgentCore workload identity name — the OPT-IN for per-request identity
96
- * scoping. When set, `mode: 'user'` requests carrying `req.identity` resolve a
97
- * per-user workload access token via `GetWorkloadAccessTokenForUserId(workloadName,
98
- * userId)` before vending, so AgentCore's token vault + 3LO grants are keyed per
99
- * (workload, user) instead of per workload. Omit → today's static-token behavior. */
137
+ * scoping, and the one option BOTH exchanges need. When set, a `mode: 'user'`
138
+ * request resolves a per-user workload access token before vending — from
139
+ * `req.userToken` via `GetWorkloadAccessTokenForJWT` when the user's own JWT
140
+ * arrived, otherwise from `req.identity` via `GetWorkloadAccessTokenForUserId`
141
+ * — so AgentCore's token vault + 3LO grants are keyed per (workload, user)
142
+ * instead of per workload. Omit → today's static-token behavior. */
100
143
  readonly workloadName?: string;
144
+ /**
145
+ * Refuse a `mode: 'user'` request that carries no `req.userToken` (9.12.0),
146
+ * instead of falling back to the by-userId exchange or the static token.
147
+ *
148
+ * The opt-in for a deployment where the front door really does authenticate
149
+ * every person — an AgentCore Runtime behind JWT inbound auth, an API gateway
150
+ * that validates a bearer token. There, a delegated request with no proof
151
+ * attached is a wiring bug, and the failure it causes without this flag is the
152
+ * quiet kind: a token gets vended, the call succeeds, and it was scoped to the
153
+ * agent (or to a user id the agent asserted) rather than to the person.
154
+ *
155
+ * `mode: 'machine'` is never affected — M2M is the workload's own identity and
156
+ * has no user to prove.
157
+ */
158
+ readonly requireUserToken?: boolean;
101
159
  /** Map `req.identity` → the AgentCore `userId`. Default: `identity.principal`.
102
160
  * `tenant` has no native AgentCore field — encode it here if you need
103
161
  * tenant-scoped vault entries (e.g. ``({ tenant, principal }) =>
@@ -125,6 +183,7 @@ export interface BedrockAgentCoreIdentitySdkModule {
125
183
  };
126
184
  readonly GetResourceOauth2TokenCommand?: new (input: unknown) => unknown;
127
185
  readonly GetWorkloadAccessTokenForUserIdCommand?: new (input: unknown) => unknown;
186
+ readonly GetWorkloadAccessTokenForJWTCommand?: new (input: unknown) => unknown;
128
187
  }
129
188
  /** Build a {@link CredentialProvider} backed by AWS Bedrock AgentCore Identity. */
130
189
  export declare function agentCoreIdentity(options?: AgentCoreIdentityOptions): CredentialProvider;
@@ -10,6 +10,8 @@
10
10
  * - request.mode 'machine' → `M2M`; 'user' → `USER_FEDERATION`
11
11
  * - request.service → the configured OAuth2 credential-provider name
12
12
  * - request.identity → (per-request workload identity scoping; see below)
13
+ * - request.userToken → the user's own JWT, exchanged for a user-scoped
14
+ * workload token before vending (9.12.0; see below)
13
15
  * - a returned access token → `{ status: 'issued', credential: bearer(token) }`
14
16
  * - a returned auth URL → `{ status: 'authorization-required' }` (3LO consent)
15
17
  *
@@ -18,21 +20,50 @@
18
20
  *
19
21
  * **Per-request identity forwarding (workload identity scoping).**
20
22
  * `GetResourceOauth2Token` carries NO user/tenant field — in AgentCore the
21
- * user identity is bound EARLIER, at workload-token acquisition:
22
- * `GetWorkloadAccessTokenForUserId(workloadName, userId)` returns a workload
23
- * access token scoped to that user, and AgentCore keys its token vault + 3LO
24
- * grants per (workload, user). So this adapter forwards `req.identity` (the
25
- * `runIdentity` that the agent threads through `getCredential`) by resolving a
26
- * per-user workload token first, then vending with it. Engages only when ALL of:
27
- * - `req.mode === 'user'` (USER_FEDERATION — M2M is the workload's own identity),
28
- * - a userId derives from `req.identity` (default `identity.principal`;
29
- * override via `userIdFor`), and
30
- * - `options.workloadName` is configured (the opt-in).
31
- * Otherwise the static `options.workloadIdentityToken` flows exactly as before.
23
+ * user identity is bound EARLIER, at workload-token acquisition. There are two
24
+ * ways to bind it, and this adapter dispatches both:
25
+ *
26
+ * `GetWorkloadAccessTokenForUserId(workloadName, userId)` — the ASSERTION.
27
+ * The agent says who the user is; AWS takes its word for it and returns a
28
+ * workload token keyed to that (workload, user).
29
+ * `GetWorkloadAccessTokenForJWT(workloadName, userToken)` — the PROOF (9.12.0).
30
+ * The agent hands over the token the user's own identity provider signed,
31
+ * and gets back "an opaque token representing the identity of both the
32
+ * workload and the user" (the service's own words for the response).
33
+ *
34
+ * Either way the answer is a `workloadAccessToken`, and it flows into
35
+ * `GetResourceOauth2Token`'s `workloadIdentityToken` unchanged — which is why
36
+ * the second one needed no new credential path, no new result branch and no
37
+ * change to `toHeaders()`. AgentCore keys its token vault + 3LO grants per
38
+ * (workload, user), so the whole point of resolving either is that the vault
39
+ * entry belongs to the person rather than to the agent.
40
+ *
41
+ * **The JWT rides the REQUEST.** `req.userToken` is per call, because the
42
+ * person calling is per call; a JWT in this provider's construction options
43
+ * would be one user's session serving everybody. Presence is what selects the
44
+ * exchange — a proof that arrived is never downgraded to an assertion — and
45
+ * `requireUserToken` turns "no JWT on a `mode: 'user'` request" from a quiet
46
+ * fallback into a refusal, for a deployment where every user IS authenticated.
47
+ *
48
+ * The ladder, in order, for one `getCredential(req)`:
49
+ * 1. `req.userToken` present → exchange it (needs `workloadName`; `mode: 'user'`).
50
+ * 2. else a userId derives from `req.identity` (default `identity.principal`;
51
+ * override via `userIdFor`) on a `mode: 'user'` request, and
52
+ * `options.workloadName` is configured → the by-userId exchange.
53
+ * 3. else the static `options.workloadIdentityToken` flows exactly as before.
54
+ *
32
55
  * `tenant` has no native AgentCore field and is NOT forwarded by default —
33
56
  * tenant isolation derives from the workload identity itself (per-tenant
34
57
  * workloads), or encode it via `userIdFor` (e.g. `${tenant}:${principal}`).
35
58
  *
59
+ * **Secrecy.** The inbound JWT and the exchanged workload token are secrets of
60
+ * equal weight, and neither appears in anything this file throws. A failed
61
+ * exchange is described by the SHAPE of the response — how many fields it
62
+ * carried and what they are called — never by its content, because every field
63
+ * of a token-exchange response is a token. A thrown message reaches the LLM as
64
+ * a tool result AND rides `agentfootprint.credential.failed`, so an error that
65
+ * quotes the response has published the user's session to both at once.
66
+ *
36
67
  * ── How this talks to the SDK (9.4.0 — read this before editing) ────────────
37
68
  * Through **`client.send(new SomeCommand(input))`**, never through a method on
38
69
  * the client. A bare `@aws-sdk/client-*` **Client** is command-based: its
@@ -53,6 +84,62 @@
53
84
  */
54
85
  import { lazyRequire } from '../../lib/lazyRequire.js';
55
86
  import { bearer } from '../../identity/kinds.js';
87
+ /**
88
+ * Re-raise a failed SDK call **without its text** (9.12.0).
89
+ *
90
+ * Every input this adapter sends is a secret: the user's JWT goes into
91
+ * `GetWorkloadAccessTokenForJWT`, a workload access token goes into
92
+ * `GetResourceOauth2Token`. AWS clients report transport and validation
93
+ * failures by echoing request detail into the message — which is how a live
94
+ * user session ends up in a string that this library then hands to the LLM as
95
+ * a tool result and emits on `agentfootprint.credential.failed`. One echo, and
96
+ * it is in the conversation, the commit log, the narrative and every sink.
97
+ *
98
+ * So the text does not come through. What does is the part that is both safe
99
+ * and actionable: which operation failed, the exception's NAME (AWS models
100
+ * them — `AccessDeniedException`, `ResourceNotFoundException`,
101
+ * `ThrottlingException`, `UnauthorizedException`, `ValidationException`) and
102
+ * the HTTP status. That is the same trade the Vault adapter makes, and it is
103
+ * the same reason.
104
+ *
105
+ * **The original is deliberately not attached as `cause`.** A cause travels
106
+ * with the error into every serializer that walks own properties, which would
107
+ * undo the whole of this in one `JSON.stringify`.
108
+ *
109
+ * An injected `_client` never reaches here: it owns its own mapping, and its
110
+ * own secrecy with it — the same law this file already states for field names.
111
+ */
112
+ function sdkFailure(command, err) {
113
+ const e = err;
114
+ const name = typeof e?.name === 'string' && e.name.length > 0 ? e.name : 'an unnamed failure';
115
+ const status = e?.$metadata?.httpStatusCode;
116
+ return new Error(`agentCoreIdentity: ${command} failed — ${name}` +
117
+ (typeof status === 'number' ? ` (HTTP ${status})` : '') +
118
+ ".\n The SDK's own message is withheld: this request carried a token, and AWS clients " +
119
+ 'echo request detail into failure text. Check CloudWatch for the full exception.');
120
+ }
121
+ /**
122
+ * Read the exchanged workload token, or refuse **by shape**.
123
+ *
124
+ * Shared by both exchanges so there is one refusal to read and one rule about
125
+ * what may be said: field NAMES and a count, never a value. Every field of a
126
+ * token-exchange response is a token, and this message travels to the model, to
127
+ * `agentfootprint.credential.failed` and to every log sink attached to it. An
128
+ * operator debugging a malformed answer needs to know which fields came back,
129
+ * which is exactly the part that is safe to print.
130
+ */
131
+ function requireWorkloadAccessToken(response, operation) {
132
+ const token = response?.workloadAccessToken;
133
+ if (typeof token === 'string' && token.length > 0)
134
+ return token;
135
+ const fields = response && typeof response === 'object' ? Object.keys(response) : [];
136
+ throw new Error(`agentCoreIdentity: ${operation} returned no usable workloadAccessToken, so there is no ` +
137
+ 'user-scoped workload token to vend with — refusing rather than falling back to a ' +
138
+ 'workload-level one.\n' +
139
+ ` The response carried ${fields.length} field(s)` +
140
+ (fields.length > 0 ? `: ${fields.join(', ')}.` : '.') +
141
+ '\n Values are withheld on purpose: every field of a token-exchange response is a secret.');
142
+ }
56
143
  /**
57
144
  * Map {@link AgentCoreIdentityClientLike} onto the real SDK commands.
58
145
  *
@@ -92,7 +179,12 @@ function createIdentityClient(options) {
92
179
  throw new Error(`agentCoreIdentity: \`@aws-sdk/client-bedrock-agentcore\` is missing ${name}. ` +
93
180
  'Upgrade the SDK, or pass `_client` with your own mapping.');
94
181
  }
95
- return sdk.send(new Ctor(input));
182
+ try {
183
+ return await sdk.send(new Ctor(input));
184
+ }
185
+ catch (err) {
186
+ throw sdkFailure(name, err);
187
+ }
96
188
  };
97
189
  return {
98
190
  async getResourceOauth2Token(input) {
@@ -115,13 +207,27 @@ function createIdentityClient(options) {
115
207
  ...(r?.sessionUri !== undefined && { sessionId: r.sessionUri }),
116
208
  };
117
209
  },
210
+ // ── The two workload-token exchanges ──────────────────────────────
211
+ //
212
+ // Both answer `{ workloadAccessToken }` and nothing else, so unlike
213
+ // `getResourceOauth2Token` above there is no field to rename — and both
214
+ // hand the response back AS RECEIVED rather than narrowed to that one
215
+ // field. That is deliberate: when the field is missing,
216
+ // `requireWorkloadAccessToken` refuses by describing the response's SHAPE,
217
+ // and a shim that had already thrown the other field names away would leave
218
+ // it describing an empty object — the least useful message available, on
219
+ // the one path where the operator has nothing else to go on.
118
220
  async getWorkloadAccessTokenForUserId(input) {
119
- const r = (await send(mod.GetWorkloadAccessTokenForUserIdCommand, 'GetWorkloadAccessTokenForUserIdCommand', input));
120
- return {
121
- ...(r?.workloadAccessToken !== undefined && {
122
- workloadAccessToken: r.workloadAccessToken,
123
- }),
124
- };
221
+ return ((await send(mod.GetWorkloadAccessTokenForUserIdCommand, 'GetWorkloadAccessTokenForUserIdCommand', input)) ?? {});
222
+ },
223
+ async getWorkloadAccessTokenForJWT(input) {
224
+ // `GetWorkloadAccessTokenForJWTRequest` is `{ workloadName, userToken }`,
225
+ // both required, and the response is `{ workloadAccessToken }` — verified
226
+ // against a real install of @aws-sdk/client-bedrock-agentcore before this
227
+ // shipped, the same way the code-interpreter shapes were. `userToken` is
228
+ // the SDK's own name for the user's IdP-issued OAuth2 token, so the
229
+ // adapter and the wire agree without a rename.
230
+ return ((await send(mod.GetWorkloadAccessTokenForJWTCommand, 'GetWorkloadAccessTokenForJWTCommand', input)) ?? {});
125
231
  },
126
232
  };
127
233
  }
@@ -139,13 +245,55 @@ export function agentCoreIdentity(options = {}) {
139
245
  const getClient = () => (client ??= resolveClient(options));
140
246
  const userIdFor = options.userIdFor ?? defaultUserIdFor;
141
247
  // Per-request identity forwarding (workload identity scoping) — see module
142
- // header. `GetResourceOauth2Token` has no user field; the user is bound at
143
- // workload-token acquisition, so a `mode: 'user'` request carrying an
144
- // identity exchanges (workloadName, userId) for a USER-SCOPED workload token
145
- // and vends with that. Requires `workloadName` (the opt-in); without it the
146
- // static `workloadIdentityToken` flows unchanged (pre-forwarding behavior).
248
+ // header for the ladder and why both exchanges answer the same question.
249
+ // `GetResourceOauth2Token` has no user field; the user is bound at
250
+ // workload-token acquisition, so a `mode: 'user'` request resolves a
251
+ // USER-SCOPED workload token first and vends with that. Both exchanges
252
+ // require `workloadName` (the opt-in); with neither engaged the static
253
+ // `workloadIdentityToken` flows unchanged (pre-forwarding behavior).
147
254
  const resolveWorkloadToken = async (req) => {
148
- const userId = req.mode === 'user' && req.identity !== undefined ? userIdFor(req.identity) : undefined;
255
+ const delegated = req.mode === 'user';
256
+ if (req.userToken !== undefined) {
257
+ if (!delegated) {
258
+ // A user's signed token on a request that asks for the WORKLOAD's own
259
+ // identity. Vending M2M while holding somebody's proof is the exact
260
+ // silent downgrade this whole path exists to close, so it is named
261
+ // rather than resolved one way or the other.
262
+ throw new Error("agentCoreIdentity: a `userToken` arrived on a `mode: 'machine'` request. M2M is the " +
263
+ "workload's own identity — there is no user to act on behalf of, and the token " +
264
+ "would be ignored.\n Declare `mode: 'user'` to exchange it, or drop the token.");
265
+ }
266
+ if (!options.workloadName) {
267
+ throw new Error('agentCoreIdentity: a `userToken` arrived but no `workloadName` is configured, so ' +
268
+ 'there is nothing to exchange it against — and vending at workload level would ' +
269
+ "hand back a token scoped to the AGENT while holding the user's proof.\n" +
270
+ ' Configure `workloadName` (your AgentCore workload identity), or stop sending ' +
271
+ '`userToken`.');
272
+ }
273
+ const c = getClient();
274
+ if (typeof c.getWorkloadAccessTokenForJWT !== 'function') {
275
+ // The SDK-backed client always implements this, so reaching here means
276
+ // an injected `_client` that does not.
277
+ throw new Error('agentCoreIdentity: a `userToken` arrived, but the injected `_client` has no ' +
278
+ 'getWorkloadAccessTokenForJWT. Implement it, or stop sending `userToken`.');
279
+ }
280
+ return requireWorkloadAccessToken(await c.getWorkloadAccessTokenForJWT({
281
+ workloadName: options.workloadName,
282
+ userToken: req.userToken,
283
+ }), 'GetWorkloadAccessTokenForJWT');
284
+ }
285
+ if (options.requireUserToken === true && delegated) {
286
+ // The deployment said every delegated request is authenticated. One that
287
+ // is not is a wiring bug, and the only alternative to saying so is to
288
+ // vend something weaker and let it succeed.
289
+ throw new Error("agentCoreIdentity: `requireUserToken` is set, but this `mode: 'user'` request for " +
290
+ `'${req.service}' carried no \`userToken\`.\n` +
291
+ " Pass the caller's own IdP token as `getCredential({ …, userToken })` — inside " +
292
+ 'AgentCore Runtime behind JWT inbound auth it is the bearer token the front door ' +
293
+ 'validated.\n' +
294
+ ' Or drop `requireUserToken` to fall back to the by-userId exchange.');
295
+ }
296
+ const userId = delegated && req.identity !== undefined ? userIdFor(req.identity) : undefined;
149
297
  if (userId === undefined || !options.workloadName)
150
298
  return options.workloadIdentityToken;
151
299
  const c = getClient();
@@ -157,15 +305,7 @@ export function agentCoreIdentity(options = {}) {
157
305
  'but the injected `_client` has no getWorkloadAccessTokenForUserId. Implement it, ' +
158
306
  'or drop `workloadName` to vend with the static `workloadIdentityToken`.');
159
307
  }
160
- const res = await c.getWorkloadAccessTokenForUserId({
161
- workloadName: options.workloadName,
162
- userId,
163
- });
164
- if (!res.workloadAccessToken) {
165
- throw new Error('agentCoreIdentity: GetWorkloadAccessTokenForUserId returned no workloadAccessToken ' +
166
- 'for per-user scoped vending.');
167
- }
168
- return res.workloadAccessToken;
308
+ return requireWorkloadAccessToken(await c.getWorkloadAccessTokenForUserId({ workloadName: options.workloadName, userId }), 'GetWorkloadAccessTokenForUserId');
169
309
  };
170
310
  return {
171
311
  id: options.id ?? 'agentcore-identity',
@@ -1 +1 @@
1
- {"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/identity/agentcore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/identity/agentcore.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,16 @@
42
42
  * intuition: 50,000 chunks at ~1,000 characters is roughly 50 MB of text, on
43
43
  * the order of 25,000 pages.
44
44
  *
45
+ * **It is a RECOMMENDATION, not an enforced limit, and the difference matters
46
+ * when you are planning.** Nothing in this store counts chunks, refuses a write
47
+ * at 50,000, or degrades on purpose past it: chunk 50,001 is stored and searched
48
+ * exactly like chunk 3. The number is the point on the measured curve where this
49
+ * implementation stops being obviously the right tool — published so the
50
+ * decision is yours and dated, rather than discovered in production. The refusals
51
+ * this store DOES enforce are named on the constructor: a missing `node:sqlite`,
52
+ * an unreadable file, a schema-identity or schema-version mismatch, `':memory:'`,
53
+ * and an embedder-fingerprint conflict.
54
+ *
45
55
  * **Hydration is the number to plan around, not the query.** Steady-state
46
56
  * search is fast everywhere in that table; reading the vectors off disk the
47
57
  * FIRST time is what costs, and at 50,000 × 1536 it is 5.7 seconds. Paid
@@ -42,6 +42,16 @@
42
42
  * intuition: 50,000 chunks at ~1,000 characters is roughly 50 MB of text, on
43
43
  * the order of 25,000 pages.
44
44
  *
45
+ * **It is a RECOMMENDATION, not an enforced limit, and the difference matters
46
+ * when you are planning.** Nothing in this store counts chunks, refuses a write
47
+ * at 50,000, or degrades on purpose past it: chunk 50,001 is stored and searched
48
+ * exactly like chunk 3. The number is the point on the measured curve where this
49
+ * implementation stops being obviously the right tool — published so the
50
+ * decision is yours and dated, rather than discovered in production. The refusals
51
+ * this store DOES enforce are named on the constructor: a missing `node:sqlite`,
52
+ * an unreadable file, a schema-identity or schema-version mismatch, `':memory:'`,
53
+ * and an embedder-fingerprint conflict.
54
+ *
45
55
  * **Hydration is the number to plan around, not the query.** Steady-state
46
56
  * search is fast everywhere in that table; reading the vectors off disk the
47
57
  * FIRST time is what costs, and at 50,000 × 1536 it is 5.7 seconds. Paid