agentfootprint 9.2.0 → 9.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +3 -1
- package/dist/adapters/identity/agentcore.js +94 -26
- package/dist/adapters/identity/agentcore.js.map +1 -1
- package/dist/adapters/llm/BedrockProvider.js +34 -9
- package/dist/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/adapters/memory/pgVector.js +731 -0
- package/dist/adapters/memory/pgVector.js.map +1 -0
- package/dist/adapters/memory/s3Vectors.js +780 -0
- package/dist/adapters/memory/s3Vectors.js.map +1 -0
- package/dist/adapters/memory/sqliteVector.js +16 -79
- package/dist/adapters/memory/sqliteVector.js.map +1 -1
- package/dist/adapters/observability/cloudwatch.js +13 -8
- package/dist/adapters/observability/cloudwatch.js.map +1 -1
- package/dist/adapters/observability/xray.js +13 -8
- package/dist/adapters/observability/xray.js.map +1 -1
- package/dist/adapters/security/agentcore.js +0 -0
- package/dist/adapters/security/agentcore.js.map +1 -1
- package/dist/bridge/eventMeta.js +3 -0
- package/dist/bridge/eventMeta.js.map +1 -1
- package/dist/core/Agent.js +11 -0
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/agent/stages/toolCalls.js +80 -7
- package/dist/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/doors/security.js +3 -2
- package/dist/doors/security.js.map +1 -1
- package/dist/embedders/index.js +240 -76
- package/dist/embedders/index.js.map +1 -1
- package/dist/esm/adapters/identity/agentcore.d.ts +39 -9
- package/dist/esm/adapters/identity/agentcore.js +94 -26
- package/dist/esm/adapters/identity/agentcore.js.map +1 -1
- package/dist/esm/adapters/llm/BedrockProvider.d.ts +24 -0
- package/dist/esm/adapters/llm/BedrockProvider.js +34 -9
- package/dist/esm/adapters/llm/BedrockProvider.js.map +1 -1
- package/dist/esm/adapters/memory/pgVector.d.ts +243 -0
- package/dist/esm/adapters/memory/pgVector.js +726 -0
- package/dist/esm/adapters/memory/pgVector.js.map +1 -0
- package/dist/esm/adapters/memory/s3Vectors.d.ts +240 -0
- package/dist/esm/adapters/memory/s3Vectors.js +776 -0
- package/dist/esm/adapters/memory/s3Vectors.js.map +1 -0
- package/dist/esm/adapters/memory/sqliteVector.d.ts +5 -27
- package/dist/esm/adapters/memory/sqliteVector.js +10 -73
- package/dist/esm/adapters/memory/sqliteVector.js.map +1 -1
- package/dist/esm/adapters/observability/cloudwatch.d.ts +20 -0
- package/dist/esm/adapters/observability/cloudwatch.js +13 -8
- package/dist/esm/adapters/observability/cloudwatch.js.map +1 -1
- package/dist/esm/adapters/observability/xray.d.ts +18 -0
- package/dist/esm/adapters/observability/xray.js +13 -8
- package/dist/esm/adapters/observability/xray.js.map +1 -1
- package/dist/esm/adapters/security/agentcore.d.ts +81 -107
- package/dist/esm/adapters/security/agentcore.js +0 -0
- package/dist/esm/adapters/security/agentcore.js.map +1 -1
- package/dist/esm/bridge/eventMeta.d.ts +3 -0
- package/dist/esm/bridge/eventMeta.js +3 -0
- package/dist/esm/bridge/eventMeta.js.map +1 -1
- package/dist/esm/core/Agent.d.ts +16 -0
- package/dist/esm/core/Agent.js +11 -0
- package/dist/esm/core/Agent.js.map +1 -1
- package/dist/esm/core/agent/stages/toolCalls.js +80 -7
- package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
- package/dist/esm/doors/security.d.ts +3 -2
- package/dist/esm/doors/security.js +3 -2
- package/dist/esm/doors/security.js.map +1 -1
- package/dist/esm/embedders/index.d.ts +99 -19
- package/dist/esm/embedders/index.js +240 -76
- package/dist/esm/embedders/index.js.map +1 -1
- package/dist/esm/events/dispatcher.d.ts +1 -1
- package/dist/esm/events/dispatcher.js.map +1 -1
- package/dist/esm/events/payloads.d.ts +23 -1
- package/dist/esm/events/types.d.ts +17 -0
- package/dist/esm/hosting/standingAgent.js +14 -1
- package/dist/esm/hosting/standingAgent.js.map +1 -1
- package/dist/esm/lib/embedderMismatch.d.ts +67 -0
- package/dist/esm/lib/embedderMismatch.js +96 -0
- package/dist/esm/lib/embedderMismatch.js.map +1 -0
- package/dist/esm/lib/rag/defineRAG.d.ts +28 -6
- package/dist/esm/lib/rag/defineRAG.js +39 -5
- package/dist/esm/lib/rag/defineRAG.js.map +1 -1
- package/dist/esm/memory/define.js +31 -1
- package/dist/esm/memory/define.js.map +1 -1
- package/dist/esm/memory/define.types.d.ts +13 -2
- package/dist/esm/memory/define.types.js.map +1 -1
- package/dist/esm/memory/embedding/loadRelevant.d.ts +10 -2
- package/dist/esm/memory/embedding/loadRelevant.js +36 -18
- package/dist/esm/memory/embedding/loadRelevant.js.map +1 -1
- package/dist/esm/memory/pipeline/semantic.d.ts +13 -2
- package/dist/esm/memory/pipeline/semantic.js +11 -5
- package/dist/esm/memory/pipeline/semantic.js.map +1 -1
- package/dist/esm/memory/store/capability.d.ts +25 -6
- package/dist/esm/memory/store/capability.js +68 -3
- package/dist/esm/memory/store/capability.js.map +1 -1
- package/dist/esm/memory/store/index.d.ts +1 -0
- package/dist/esm/memory/store/index.js +4 -0
- package/dist/esm/memory/store/index.js.map +1 -1
- package/dist/esm/memory/store/types.d.ts +40 -0
- package/dist/esm/memory-providers.d.ts +7 -4
- package/dist/esm/memory-providers.js +18 -4
- package/dist/esm/memory-providers.js.map +1 -1
- package/dist/esm/recorders/core/CredentialRecorder.d.ts +30 -0
- package/dist/esm/recorders/core/CredentialRecorder.js +35 -0
- package/dist/esm/recorders/core/CredentialRecorder.js.map +1 -0
- package/dist/esm/security/index.d.ts +7 -3
- package/dist/esm/security/index.js +12 -7
- package/dist/esm/security/index.js.map +1 -1
- package/dist/events/dispatcher.js.map +1 -1
- package/dist/hosting/standingAgent.js +14 -1
- package/dist/hosting/standingAgent.js.map +1 -1
- package/dist/lib/embedderMismatch.js +103 -0
- package/dist/lib/embedderMismatch.js.map +1 -0
- package/dist/lib/rag/defineRAG.js +39 -5
- package/dist/lib/rag/defineRAG.js.map +1 -1
- package/dist/memory/define.js +31 -1
- package/dist/memory/define.js.map +1 -1
- package/dist/memory/define.types.js.map +1 -1
- package/dist/memory/embedding/loadRelevant.js +36 -18
- package/dist/memory/embedding/loadRelevant.js.map +1 -1
- package/dist/memory/pipeline/semantic.js +11 -5
- package/dist/memory/pipeline/semantic.js.map +1 -1
- package/dist/memory/store/capability.js +70 -4
- package/dist/memory/store/capability.js.map +1 -1
- package/dist/memory/store/index.js +7 -1
- package/dist/memory/store/index.js.map +1 -1
- package/dist/memory-providers.js +22 -5
- package/dist/memory-providers.js.map +1 -1
- package/dist/recorders/core/CredentialRecorder.js +39 -0
- package/dist/recorders/core/CredentialRecorder.js.map +1 -0
- package/dist/security/index.js +13 -7
- package/dist/security/index.js.map +1 -1
- package/dist/types/adapters/identity/agentcore.d.ts +39 -9
- package/dist/types/adapters/identity/agentcore.d.ts.map +1 -1
- package/dist/types/adapters/llm/BedrockProvider.d.ts +24 -0
- package/dist/types/adapters/llm/BedrockProvider.d.ts.map +1 -1
- package/dist/types/adapters/memory/pgVector.d.ts +244 -0
- package/dist/types/adapters/memory/pgVector.d.ts.map +1 -0
- package/dist/types/adapters/memory/s3Vectors.d.ts +241 -0
- package/dist/types/adapters/memory/s3Vectors.d.ts.map +1 -0
- package/dist/types/adapters/memory/sqliteVector.d.ts +5 -27
- package/dist/types/adapters/memory/sqliteVector.d.ts.map +1 -1
- package/dist/types/adapters/observability/cloudwatch.d.ts +20 -0
- package/dist/types/adapters/observability/cloudwatch.d.ts.map +1 -1
- package/dist/types/adapters/observability/xray.d.ts +18 -0
- package/dist/types/adapters/observability/xray.d.ts.map +1 -1
- package/dist/types/adapters/security/agentcore.d.ts +81 -107
- package/dist/types/adapters/security/agentcore.d.ts.map +1 -1
- package/dist/types/bridge/eventMeta.d.ts +3 -0
- package/dist/types/bridge/eventMeta.d.ts.map +1 -1
- package/dist/types/core/Agent.d.ts +16 -0
- package/dist/types/core/Agent.d.ts.map +1 -1
- package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
- package/dist/types/doors/security.d.ts +3 -2
- package/dist/types/doors/security.d.ts.map +1 -1
- package/dist/types/embedders/index.d.ts +99 -19
- package/dist/types/embedders/index.d.ts.map +1 -1
- package/dist/types/events/dispatcher.d.ts +1 -1
- package/dist/types/events/dispatcher.d.ts.map +1 -1
- package/dist/types/events/payloads.d.ts +23 -1
- package/dist/types/events/payloads.d.ts.map +1 -1
- package/dist/types/events/types.d.ts +17 -0
- package/dist/types/events/types.d.ts.map +1 -1
- package/dist/types/hosting/standingAgent.d.ts.map +1 -1
- package/dist/types/lib/embedderMismatch.d.ts +68 -0
- package/dist/types/lib/embedderMismatch.d.ts.map +1 -0
- package/dist/types/lib/rag/defineRAG.d.ts +28 -6
- package/dist/types/lib/rag/defineRAG.d.ts.map +1 -1
- package/dist/types/memory/define.d.ts.map +1 -1
- package/dist/types/memory/define.types.d.ts +13 -2
- package/dist/types/memory/define.types.d.ts.map +1 -1
- package/dist/types/memory/embedding/loadRelevant.d.ts +10 -2
- package/dist/types/memory/embedding/loadRelevant.d.ts.map +1 -1
- package/dist/types/memory/pipeline/semantic.d.ts +13 -2
- package/dist/types/memory/pipeline/semantic.d.ts.map +1 -1
- package/dist/types/memory/store/capability.d.ts +25 -6
- package/dist/types/memory/store/capability.d.ts.map +1 -1
- package/dist/types/memory/store/index.d.ts +1 -0
- package/dist/types/memory/store/index.d.ts.map +1 -1
- package/dist/types/memory/store/types.d.ts +40 -0
- package/dist/types/memory/store/types.d.ts.map +1 -1
- package/dist/types/memory-providers.d.ts +7 -4
- package/dist/types/memory-providers.d.ts.map +1 -1
- package/dist/types/recorders/core/CredentialRecorder.d.ts +31 -0
- package/dist/types/recorders/core/CredentialRecorder.d.ts.map +1 -0
- package/dist/types/security/index.d.ts +7 -3
- package/dist/types/security/index.d.ts.map +1 -1
- package/package.json +9 -1
|
@@ -33,39 +33,105 @@
|
|
|
33
33
|
* tenant isolation derives from the workload identity itself (per-tenant
|
|
34
34
|
* workloads), or encode it via `userIdFor` (e.g. `${tenant}:${principal}`).
|
|
35
35
|
*
|
|
36
|
+
* ── How this talks to the SDK (9.4.0 — read this before editing) ────────────
|
|
37
|
+
* Through **`client.send(new SomeCommand(input))`**, never through a method on
|
|
38
|
+
* the client. A bare `@aws-sdk/client-*` **Client** is command-based: its
|
|
39
|
+
* prototype carries `send` and `destroy` and NOTHING ELSE. The per-operation
|
|
40
|
+
* shortcuts (`getResourceOauth2Token(...)`) live on the AGGREGATED client
|
|
41
|
+
* (`BedrockAgentCore`), which is a different class.
|
|
42
|
+
*
|
|
43
|
+
* Until 9.4.0 this adapter built a `BedrockAgentCoreClient` and then duck-typed
|
|
44
|
+
* `client.getResourceOauth2Token` — a method that is never there — so the
|
|
45
|
+
* documented path failed 100% of the time on the very first call, with a
|
|
46
|
+
* message blaming the SDK version. Every test injected `_client` and so never
|
|
47
|
+
* touched the shim. The sibling memory adapter in this same package had the
|
|
48
|
+
* command form right all along; this one now matches it, and
|
|
49
|
+
* `test/adapters/aws/aws-command-pin.test.ts` pins the command names for both.
|
|
50
|
+
*
|
|
36
51
|
* Pattern: Adapter (GoF) + lazy peer-dep load — the AWS SDK is required only when
|
|
37
|
-
* `getCredential` first runs (or never, if you inject `_client`).
|
|
38
|
-
* the SDK command/field names against your installed
|
|
39
|
-
* `@aws-sdk/client-bedrock-agentcore` version — this adapter targets the
|
|
40
|
-
* `GetResourceOauth2Token` shape and is structured so the request→result mapping
|
|
41
|
-
* is unit-tested via the `_client` seam independent of the SDK.
|
|
52
|
+
* `getCredential` first runs (or never, if you inject `_client` / `_sdk`).
|
|
42
53
|
*/
|
|
43
54
|
import { lazyRequire } from '../../lib/lazyRequire.js';
|
|
44
55
|
import { bearer } from '../../identity/kinds.js';
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Map {@link AgentCoreIdentityClientLike} onto the real SDK commands.
|
|
58
|
+
*
|
|
59
|
+
* Two things this function owns, and nothing else does:
|
|
60
|
+
* 1. **The command form.** `send(new Command(input))` — see the module header
|
|
61
|
+
* for why a method on the Client is not an option.
|
|
62
|
+
* 2. **The wire field names.** `GetResourceOauth2Token` answers with
|
|
63
|
+
* `sessionUri`, not `sessionId`, and never reports an expiry. Reading
|
|
64
|
+
* `sessionId` off the response (as this adapter did through 9.3.0) yields
|
|
65
|
+
* `undefined` forever, which arrived at the consumer as an empty
|
|
66
|
+
* `sessionId` on every consent round-trip. An injected `_client` is
|
|
67
|
+
* somebody else's mapping and is left alone.
|
|
68
|
+
*/
|
|
69
|
+
function createIdentityClient(options) {
|
|
70
|
+
let mod;
|
|
71
|
+
if (options._sdk) {
|
|
72
|
+
mod = options._sdk;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
try {
|
|
76
|
+
// Lazy peer-dep: only loaded when no _client/_sdk is injected and getCredential runs.
|
|
77
|
+
mod = lazyRequire('@aws-sdk/client-bedrock-agentcore');
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
throw new Error('agentCoreIdentity requires the `@aws-sdk/client-bedrock-agentcore` peer dependency.\n' +
|
|
81
|
+
' Install: npm install @aws-sdk/client-bedrock-agentcore\n' +
|
|
82
|
+
' Or pass `_client` for a pre-built or mock client.');
|
|
83
|
+
}
|
|
54
84
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
'@aws-sdk/client-bedrock-agentcore version, or pass `_client`.');
|
|
85
|
+
if (!mod.BedrockAgentCoreClient) {
|
|
86
|
+
throw new Error('agentCoreIdentity: `@aws-sdk/client-bedrock-agentcore` is installed but ' +
|
|
87
|
+
'`BedrockAgentCoreClient` was not found. Update the SDK.');
|
|
59
88
|
}
|
|
89
|
+
const sdk = new mod.BedrockAgentCoreClient({ ...(options.region && { region: options.region }) });
|
|
90
|
+
const send = async (Ctor, name, input) => {
|
|
91
|
+
if (!Ctor) {
|
|
92
|
+
throw new Error(`agentCoreIdentity: \`@aws-sdk/client-bedrock-agentcore\` is missing ${name}. ` +
|
|
93
|
+
'Upgrade the SDK, or pass `_client` with your own mapping.');
|
|
94
|
+
}
|
|
95
|
+
return sdk.send(new Ctor(input));
|
|
96
|
+
};
|
|
60
97
|
return {
|
|
61
|
-
getResourceOauth2Token
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
98
|
+
async getResourceOauth2Token(input) {
|
|
99
|
+
if (!input.workloadIdentityToken) {
|
|
100
|
+
// `workloadIdentityToken` is REQUIRED on GetResourceOauth2TokenRequest.
|
|
101
|
+
// Sending the call without one buys an opaque ValidationException from
|
|
102
|
+
// AWS; saying so here names the two ways to supply it instead.
|
|
103
|
+
throw new Error('agentCoreIdentity: GetResourceOauth2Token requires a workload identity token, and ' +
|
|
104
|
+
'none was available for this request.\n' +
|
|
105
|
+
' Inside AgentCore Runtime the container is given one — read it and pass it as ' +
|
|
106
|
+
'`workloadIdentityToken`.\n' +
|
|
107
|
+
' Elsewhere, configure `workloadName` so a per-user token is resolved via ' +
|
|
108
|
+
'GetWorkloadAccessTokenForUserId, or pass `workloadIdentityToken` yourself.');
|
|
109
|
+
}
|
|
110
|
+
const r = (await send(mod.GetResourceOauth2TokenCommand, 'GetResourceOauth2TokenCommand', input));
|
|
111
|
+
return {
|
|
112
|
+
...(r?.accessToken !== undefined && { accessToken: r.accessToken }),
|
|
113
|
+
...(r?.authorizationUrl !== undefined && { authorizationUrl: r.authorizationUrl }),
|
|
114
|
+
// The service's correlation handle for a 3LO round-trip is `sessionUri`.
|
|
115
|
+
...(r?.sessionUri !== undefined && { sessionId: r.sessionUri }),
|
|
116
|
+
};
|
|
117
|
+
},
|
|
118
|
+
async getWorkloadAccessTokenForUserId(input) {
|
|
119
|
+
const r = (await send(mod.GetWorkloadAccessTokenForUserIdCommand, 'GetWorkloadAccessTokenForUserIdCommand', input));
|
|
120
|
+
return {
|
|
121
|
+
...(r?.workloadAccessToken !== undefined && {
|
|
122
|
+
workloadAccessToken: r.workloadAccessToken,
|
|
123
|
+
}),
|
|
124
|
+
};
|
|
125
|
+
},
|
|
67
126
|
};
|
|
68
127
|
}
|
|
128
|
+
function resolveClient(options) {
|
|
129
|
+
// An injected client is used as-is — that seam is how a custom integration
|
|
130
|
+
// (or a test double) replaces the whole mapping.
|
|
131
|
+
if (options._client)
|
|
132
|
+
return options._client;
|
|
133
|
+
return createIdentityClient(options);
|
|
134
|
+
}
|
|
69
135
|
const defaultUserIdFor = (identity) => identity.principal;
|
|
70
136
|
/** Build a {@link CredentialProvider} backed by AWS Bedrock AgentCore Identity. */
|
|
71
137
|
export function agentCoreIdentity(options = {}) {
|
|
@@ -85,9 +151,11 @@ export function agentCoreIdentity(options = {}) {
|
|
|
85
151
|
const c = getClient();
|
|
86
152
|
if (typeof c.getWorkloadAccessTokenForUserId !== 'function') {
|
|
87
153
|
// Explicit config must not silently degrade to workload-level tokens.
|
|
154
|
+
// The SDK-backed client always implements this, so reaching here means an
|
|
155
|
+
// injected `_client` that does not.
|
|
88
156
|
throw new Error('agentCoreIdentity: `workloadName` is configured for per-user workload scoping, ' +
|
|
89
|
-
'but the
|
|
90
|
-
'
|
|
157
|
+
'but the injected `_client` has no getWorkloadAccessTokenForUserId. Implement it, ' +
|
|
158
|
+
'or drop `workloadName` to vend with the static `workloadIdentityToken`.');
|
|
91
159
|
}
|
|
92
160
|
const res = await c.getWorkloadAccessTokenForUserId({
|
|
93
161
|
workloadName: options.workloadName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/identity/agentcore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"agentcore.js","sourceRoot":"","sources":["../../../../src/adapters/identity/agentcore.ts"],"names":[],"mappings":"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"}
|
|
@@ -144,6 +144,30 @@ export interface BedrockProviderOptions {
|
|
|
144
144
|
readonly Converse: new (input: BedrockConverseCommand) => unknown;
|
|
145
145
|
readonly ConverseStream: new (input: BedrockConverseCommand) => unknown;
|
|
146
146
|
};
|
|
147
|
+
/**
|
|
148
|
+
* @internal Test injection (9.4.0) — the AWS SDK MODULE, keyed by the
|
|
149
|
+
* constructor names the package really exports.
|
|
150
|
+
*
|
|
151
|
+
* `_commands` above is keyed `Converse` / `ConverseStream`, which is
|
|
152
|
+
* convenient and hides the one fact worth pinning: which exported command
|
|
153
|
+
* this adapter reaches for. Two adapters in this package have shipped
|
|
154
|
+
* dispatching operations that do not exist, so the shared pin
|
|
155
|
+
* (test/adapters/aws/) drives every AWS adapter through an `_sdk` double and
|
|
156
|
+
* asserts the names. Takes precedence over `_commands` when both are given.
|
|
157
|
+
*/
|
|
158
|
+
readonly _sdk?: BedrockConverseSdkModule;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* The slice of `@aws-sdk/client-bedrock-runtime` this provider touches, named
|
|
162
|
+
* as the package names it. (The embedder door declares its own slice for
|
|
163
|
+
* `InvokeModel` — same package, different operation.)
|
|
164
|
+
*/
|
|
165
|
+
export interface BedrockConverseSdkModule {
|
|
166
|
+
readonly BedrockRuntimeClient?: new (config: {
|
|
167
|
+
region?: string;
|
|
168
|
+
}) => BedrockClient;
|
|
169
|
+
readonly ConverseCommand?: new (input: BedrockConverseCommand) => unknown;
|
|
170
|
+
readonly ConverseStreamCommand?: new (input: BedrockConverseCommand) => unknown;
|
|
147
171
|
}
|
|
148
172
|
export declare function bedrock(options?: BedrockProviderOptions): LLMProvider;
|
|
149
173
|
export declare class BedrockProvider implements LLMProvider {
|
|
@@ -180,21 +180,46 @@ export class BedrockProvider {
|
|
|
180
180
|
}
|
|
181
181
|
// ─── Internals ──────────────────────────────────────────────────────
|
|
182
182
|
function resolveClient(options) {
|
|
183
|
-
|
|
183
|
+
let mod;
|
|
184
|
+
if (options._sdk) {
|
|
185
|
+
mod = options._sdk;
|
|
186
|
+
}
|
|
187
|
+
else if (options._client && options._commands) {
|
|
184
188
|
return { client: options._client, Commands: options._commands };
|
|
185
189
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
190
|
+
else {
|
|
191
|
+
try {
|
|
192
|
+
mod = lazyRequire('@aws-sdk/client-bedrock-runtime');
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
throw new Error('BedrockProvider requires `@aws-sdk/client-bedrock-runtime`.\n' +
|
|
196
|
+
' Install: npm install @aws-sdk/client-bedrock-runtime\n' +
|
|
197
|
+
' Or pass `_client` + `_commands` for test injection.');
|
|
198
|
+
}
|
|
189
199
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
200
|
+
// Named one at a time so a missing one is reported BY NAME. `Converse` and
|
|
201
|
+
// `ConverseStream` are the two operations this provider has; an SDK missing
|
|
202
|
+
// either is a different problem to an SDK that is not installed.
|
|
203
|
+
for (const name of ['ConverseCommand', 'ConverseStreamCommand']) {
|
|
204
|
+
if (typeof mod[name] !== 'function') {
|
|
205
|
+
throw new Error(`BedrockProvider: \`@aws-sdk/client-bedrock-runtime\` is missing ${name}. ` +
|
|
206
|
+
'Upgrade the SDK, or pass `_client` + `_commands` with your own mapping.');
|
|
207
|
+
}
|
|
194
208
|
}
|
|
209
|
+
const client = options._client ??
|
|
210
|
+
(() => {
|
|
211
|
+
if (typeof mod.BedrockRuntimeClient !== 'function') {
|
|
212
|
+
throw new Error('BedrockProvider: `@aws-sdk/client-bedrock-runtime` is installed but ' +
|
|
213
|
+
'`BedrockRuntimeClient` was not found. Update the SDK.');
|
|
214
|
+
}
|
|
215
|
+
return new mod.BedrockRuntimeClient({ region: options.region });
|
|
216
|
+
})();
|
|
195
217
|
return {
|
|
196
|
-
client
|
|
218
|
+
client,
|
|
219
|
+
// Both checked by name directly above.
|
|
220
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
197
221
|
Commands: { Converse: mod.ConverseCommand, ConverseStream: mod.ConverseStreamCommand },
|
|
222
|
+
/* eslint-enable @typescript-eslint/no-non-null-assertion */
|
|
198
223
|
};
|
|
199
224
|
}
|
|
200
225
|
function buildInput(req, defaultModel, defaultMaxTokens) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BedrockProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/BedrockProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BedrockProvider.js","sourceRoot":"","sources":["../../../../src/adapters/llm/BedrockProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* adapters/memory/pgVector — the target our own port has named since 2.x.
|
|
3
|
+
*
|
|
4
|
+
* `MemoryStore`'s docstring has listed the backends it was designed for from
|
|
5
|
+
* the beginning — *"Every storage backend (InMemory, Redis, DynamoDB,
|
|
6
|
+
* **Postgres**, Bedrock AgentCore) implements this interface"* — and named the
|
|
7
|
+
* query, twice, in the places an implementer would look: *"**Postgres**:
|
|
8
|
+
* multi-row INSERT … ON CONFLICT DO UPDATE"* for `putMany`, *"**pgvector**:
|
|
9
|
+
* `ORDER BY embedding <=> query LIMIT k`"* for `search`. Every one of those
|
|
10
|
+
* sentences was true about the design and false about the shipped package.
|
|
11
|
+
* This is the adapter that makes them the same sentence.
|
|
12
|
+
*
|
|
13
|
+
* It matters more than one row in a table of backends. Postgres is the database
|
|
14
|
+
* most teams already run, `pgvector` is an extension away, and a corpus that
|
|
15
|
+
* lives beside the application's own data inherits its backups, its failover,
|
|
16
|
+
* its access control and its migrations. `sqliteVectorStore` is one machine;
|
|
17
|
+
* `s3VectorsStore` is serverless and eventually consistent; this is the one for
|
|
18
|
+
* a fleet that already has a database.
|
|
19
|
+
*
|
|
20
|
+
* ── The table, and why this does not create it ──────────────────────────────
|
|
21
|
+
* A `vector(N)` column fixes N at creation, and N is a fact about your
|
|
22
|
+
* embedder. Creating the table implicitly would pick that number — and the
|
|
23
|
+
* index type, and the operator class — on your behalf, in a migration you never
|
|
24
|
+
* reviewed, in a database whose DDL is usually somebody's job. So the schema is
|
|
25
|
+
* yours to run, and this store REFUSES a table that is missing rather than
|
|
26
|
+
* silently answering "no matches" against nothing:
|
|
27
|
+
*
|
|
28
|
+
* ```sql
|
|
29
|
+
* CREATE EXTENSION IF NOT EXISTS vector;
|
|
30
|
+
*
|
|
31
|
+
* -- 1024 = your embedder's dimensions. bedrockEmbedder() default: 1024.
|
|
32
|
+
* -- openaiEmbedder() default: 1536. staticEmbedder(): 256.
|
|
33
|
+
* CREATE TABLE af_vectors (
|
|
34
|
+
* namespace TEXT NOT NULL,
|
|
35
|
+
* id TEXT NOT NULL,
|
|
36
|
+
* value JSONB NOT NULL,
|
|
37
|
+
* metadata JSONB,
|
|
38
|
+
* embedding vector(1024),
|
|
39
|
+
* embedder_fp TEXT,
|
|
40
|
+
* version INTEGER NOT NULL,
|
|
41
|
+
* created_at BIGINT NOT NULL,
|
|
42
|
+
* updated_at BIGINT NOT NULL,
|
|
43
|
+
* last_accessed_at BIGINT NOT NULL,
|
|
44
|
+
* access_count INTEGER NOT NULL,
|
|
45
|
+
* ttl BIGINT,
|
|
46
|
+
* tier TEXT,
|
|
47
|
+
* source JSONB,
|
|
48
|
+
* embedding_model TEXT,
|
|
49
|
+
* PRIMARY KEY (namespace, id)
|
|
50
|
+
* );
|
|
51
|
+
*
|
|
52
|
+
* -- Cosine, because that is the score this port reports and every threshold
|
|
53
|
+
* -- in this library is calibrated on. Match the operator class to the metric.
|
|
54
|
+
* CREATE INDEX af_vectors_hnsw ON af_vectors
|
|
55
|
+
* USING hnsw (embedding vector_cosine_ops);
|
|
56
|
+
* CREATE INDEX af_vectors_ns ON af_vectors (namespace);
|
|
57
|
+
*
|
|
58
|
+
* -- Recognition (`seen`/`recordSignature`), usefulness feedback, and the
|
|
59
|
+
* -- per-namespace embedder fingerprint. Small, and each one is a port method
|
|
60
|
+
* -- that would otherwise have to be refused.
|
|
61
|
+
* CREATE TABLE af_signatures (
|
|
62
|
+
* namespace TEXT NOT NULL, signature TEXT NOT NULL,
|
|
63
|
+
* PRIMARY KEY (namespace, signature)
|
|
64
|
+
* );
|
|
65
|
+
* CREATE TABLE af_feedback (
|
|
66
|
+
* namespace TEXT NOT NULL, id TEXT NOT NULL,
|
|
67
|
+
* total DOUBLE PRECISION NOT NULL, count INTEGER NOT NULL,
|
|
68
|
+
* PRIMARY KEY (namespace, id)
|
|
69
|
+
* );
|
|
70
|
+
* CREATE TABLE af_index_meta (key TEXT PRIMARY KEY, value TEXT NOT NULL);
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* Every table and column name above is an OPTION with that value as its
|
|
74
|
+
* default, so this drops into a schema that already has naming conventions —
|
|
75
|
+
* see {@link PgVectorStoreOptions}. Identifiers are validated and quoted; a
|
|
76
|
+
* name that is not a plain SQL identifier is refused rather than interpolated.
|
|
77
|
+
*
|
|
78
|
+
* ── Cosine, and only cosine ─────────────────────────────────────────────────
|
|
79
|
+
* `search` is `1 - (embedding <=> $query::vector)` — pgvector's cosine
|
|
80
|
+
* DISTANCE, converted to the cosine SIMILARITY the port reports and
|
|
81
|
+
* `defineRAG`'s 0.7 default is calibrated on. `<->` (L2) and `<#>` (inner
|
|
82
|
+
* product) are deliberately not options: their ranges are not that range, and a
|
|
83
|
+
* number that reads like a cosine and is not one is the failure mode the whole
|
|
84
|
+
* fingerprint machinery exists to prevent. Build the HNSW index with
|
|
85
|
+
* `vector_cosine_ops` so the operator and the index agree — with the wrong
|
|
86
|
+
* operator class the query still returns the right answer, slowly, by scanning.
|
|
87
|
+
*
|
|
88
|
+
* ── One statement at a time, on purpose ─────────────────────────────────────
|
|
89
|
+
* The client here is anything with `query()` — a `pg.Pool` is the expected one,
|
|
90
|
+
* and a Pool hands each `query()` its own connection. `BEGIN` on one and the
|
|
91
|
+
* next statement on another is a transaction that silently is not one, so this
|
|
92
|
+
* adapter never writes multi-statement transactions. Everything that must be
|
|
93
|
+
* atomic is ONE statement: `putMany` is one multi-row upsert, `putIfVersion` is
|
|
94
|
+
* one conditional upsert, `forget` is one statement with CTEs across all four
|
|
95
|
+
* tables. That is a constraint that made the code better.
|
|
96
|
+
*
|
|
97
|
+
* ── Lazy peer dependency ────────────────────────────────────────────────────
|
|
98
|
+
* `pg` is an OPTIONAL peer dependency, required at construction time. Importing
|
|
99
|
+
* `agentfootprint/memory` costs nothing for consumers who never build one of
|
|
100
|
+
* these. Pass `client` to reuse the pool your app already has — which is the
|
|
101
|
+
* recommended shape, because a second pool to the same database is a second set
|
|
102
|
+
* of connections nobody counted.
|
|
103
|
+
*/
|
|
104
|
+
import type { MemoryIdentity } from '../../memory/identity/index.js';
|
|
105
|
+
import type { MemoryStore } from '../../memory/store/types.js';
|
|
106
|
+
/** One result set, as this adapter reads it. */
|
|
107
|
+
export interface PgQueryResult {
|
|
108
|
+
readonly rows: readonly Record<string, unknown>[];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The slice of a `pg` client this adapter calls.
|
|
112
|
+
*
|
|
113
|
+
* Structural, so a `Pool`, a `Client`, a pgBouncer-fronted wrapper or a test
|
|
114
|
+
* double all satisfy it without this package taking a hard type dependency on
|
|
115
|
+
* the optional peer.
|
|
116
|
+
*/
|
|
117
|
+
export interface PgLikeClient {
|
|
118
|
+
query(text: string, params?: readonly unknown[]): Promise<PgQueryResult>;
|
|
119
|
+
/** Optional — awaited by {@link PgVectorStore.close} when this store built the pool. */
|
|
120
|
+
end?(): Promise<void>;
|
|
121
|
+
}
|
|
122
|
+
/** The one constructor this adapter needs out of `pg`. */
|
|
123
|
+
export interface PgSdkModule {
|
|
124
|
+
readonly Pool?: new (config: {
|
|
125
|
+
connectionString?: string;
|
|
126
|
+
}) => PgLikeClient;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Column names, so this store fits a schema that already has conventions.
|
|
130
|
+
* Every one defaults to the name in the `CREATE TABLE` above.
|
|
131
|
+
*/
|
|
132
|
+
export interface PgVectorColumns {
|
|
133
|
+
readonly namespace?: string;
|
|
134
|
+
readonly id?: string;
|
|
135
|
+
readonly value?: string;
|
|
136
|
+
readonly metadata?: string;
|
|
137
|
+
readonly embedding?: string;
|
|
138
|
+
readonly embedderFp?: string;
|
|
139
|
+
readonly version?: string;
|
|
140
|
+
readonly createdAt?: string;
|
|
141
|
+
readonly updatedAt?: string;
|
|
142
|
+
readonly lastAccessedAt?: string;
|
|
143
|
+
readonly accessCount?: string;
|
|
144
|
+
readonly ttl?: string;
|
|
145
|
+
readonly tier?: string;
|
|
146
|
+
readonly source?: string;
|
|
147
|
+
readonly embeddingModel?: string;
|
|
148
|
+
}
|
|
149
|
+
export interface PgVectorStoreOptions {
|
|
150
|
+
/**
|
|
151
|
+
* Postgres connection string, used only when this store builds its own pool.
|
|
152
|
+
* Prefer `client` — a second pool to one database is a second set of
|
|
153
|
+
* connections nobody counted.
|
|
154
|
+
*/
|
|
155
|
+
readonly connectionString?: string;
|
|
156
|
+
/** A pre-built `pg.Pool` (or anything with `query`). Recommended. */
|
|
157
|
+
readonly client?: PgLikeClient;
|
|
158
|
+
/** Schema the tables live in. Default `'public'`. */
|
|
159
|
+
readonly schema?: string;
|
|
160
|
+
/** The vectors table. Default `'af_vectors'`. */
|
|
161
|
+
readonly table?: string;
|
|
162
|
+
/** The recognition-set table (`seen`/`recordSignature`). Default `'af_signatures'`. */
|
|
163
|
+
readonly signaturesTable?: string;
|
|
164
|
+
/** The usefulness-aggregate table. Default `'af_feedback'`. */
|
|
165
|
+
readonly feedbackTable?: string;
|
|
166
|
+
/** The key/value table holding one embedder fingerprint per namespace. Default `'af_index_meta'`. */
|
|
167
|
+
readonly metaTable?: string;
|
|
168
|
+
/** Column names inside {@link table}. Each defaults to the documented one. */
|
|
169
|
+
readonly columns?: PgVectorColumns;
|
|
170
|
+
/**
|
|
171
|
+
* Rows per multi-row upsert. Default 500.
|
|
172
|
+
*
|
|
173
|
+
* Postgres caps a statement at 65,535 bound parameters and this store binds
|
|
174
|
+
* 15 per row, so 500 leaves an order of magnitude of headroom. Raising it
|
|
175
|
+
* trades round-trips for a statement that fails all-or-nothing on a bigger
|
|
176
|
+
* unit.
|
|
177
|
+
*/
|
|
178
|
+
readonly batchSize?: number;
|
|
179
|
+
/** @internal Test injection — skips the `pg` require entirely. */
|
|
180
|
+
readonly _client?: PgLikeClient;
|
|
181
|
+
/** @internal Test injection — the `pg` module (exercises the real shim with a mock module). */
|
|
182
|
+
readonly _pg?: PgSdkModule;
|
|
183
|
+
}
|
|
184
|
+
/** A Postgres-backed vector store, plus the two things it owns beyond the port. */
|
|
185
|
+
export interface PgVectorStore extends MemoryStore {
|
|
186
|
+
/**
|
|
187
|
+
* The embedder fingerprint (`'<id>@<dims>'`) a namespace was built with, or
|
|
188
|
+
* `undefined` when nothing with a vector has been written to it yet.
|
|
189
|
+
*
|
|
190
|
+
* Read this before an embedder swap: it is the fact `EmbedderMismatchError`
|
|
191
|
+
* refuses on, available up front instead of at the first failed write.
|
|
192
|
+
*/
|
|
193
|
+
fingerprintOf(identity: MemoryIdentity): Promise<string | undefined>;
|
|
194
|
+
/**
|
|
195
|
+
* Release the pool, if this store built one. Idempotent. A client you passed
|
|
196
|
+
* in is yours and is left alone.
|
|
197
|
+
*/
|
|
198
|
+
close(): Promise<void>;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Raised when the database is reachable but its schema is not this store's.
|
|
202
|
+
*
|
|
203
|
+
* The law `sqliteVectorStore` states for a file, one backend over: **an
|
|
204
|
+
* unreadable index and an empty one are different facts, and only one of them
|
|
205
|
+
* is safe to answer with "no matches".** A store that treated a missing table
|
|
206
|
+
* as an empty corpus would answer every question from the model's own weights
|
|
207
|
+
* and log nothing.
|
|
208
|
+
*/
|
|
209
|
+
export declare class PgVectorSchemaError extends Error {
|
|
210
|
+
readonly code: "ERR_PGVECTOR_SCHEMA";
|
|
211
|
+
/** The schema-qualified table that could not be used. */
|
|
212
|
+
readonly table: string;
|
|
213
|
+
/** Columns this store needs and did not find. Empty when the table is absent entirely. */
|
|
214
|
+
readonly missingColumns: readonly string[];
|
|
215
|
+
constructor(table: string, missingColumns: readonly string[], detail: string);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Open a `MemoryStore` over an existing Postgres + pgvector table.
|
|
219
|
+
*
|
|
220
|
+
* @throws when `pg` is absent and no `client` was passed.
|
|
221
|
+
* @throws PgVectorSchemaError on the first call, when the table or a column it
|
|
222
|
+
* needs is not there.
|
|
223
|
+
* @throws EmbedderMismatchError from `put`/`putMany`/`search` when a vector
|
|
224
|
+
* meets a namespace built by a different embedder.
|
|
225
|
+
*
|
|
226
|
+
* @example A corpus beside the application's own data
|
|
227
|
+
* ```ts
|
|
228
|
+
* import { Pool } from 'pg';
|
|
229
|
+
* import { defineRAG, indexDocuments } from 'agentfootprint';
|
|
230
|
+
* import { pgVectorStore } from 'agentfootprint/memory';
|
|
231
|
+
* import { openaiEmbedder } from 'agentfootprint/providers';
|
|
232
|
+
*
|
|
233
|
+
* const store = pgVectorStore({ client: new Pool({ connectionString: process.env.DATABASE_URL }) });
|
|
234
|
+
* const embedder = openaiEmbedder();
|
|
235
|
+
*
|
|
236
|
+
* await indexDocuments(store, embedder, docs, { embedderId: embedder.id });
|
|
237
|
+
*
|
|
238
|
+
* const agent = Agent.create({ provider })
|
|
239
|
+
* .rag(defineRAG({ id: 'docs', store, embedder, embedderId: embedder.id }))
|
|
240
|
+
* .build();
|
|
241
|
+
* ```
|
|
242
|
+
*/
|
|
243
|
+
export declare function pgVectorStore(options?: PgVectorStoreOptions): PgVectorStore;
|