bedrock-agentcore 0.2.3 → 0.3.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/README.md +1 -1
- package/dist/src/memory/integrations/strands/factory.d.ts +78 -0
- package/dist/src/memory/integrations/strands/factory.d.ts.map +1 -0
- package/dist/src/memory/integrations/strands/factory.js +108 -0
- package/dist/src/memory/integrations/strands/factory.js.map +1 -0
- package/dist/src/memory/integrations/strands/format.d.ts +17 -0
- package/dist/src/memory/integrations/strands/format.d.ts.map +1 -0
- package/dist/src/memory/integrations/strands/format.js +29 -0
- package/dist/src/memory/integrations/strands/format.js.map +1 -0
- package/dist/src/memory/integrations/strands/index.d.ts +11 -0
- package/dist/src/memory/integrations/strands/index.d.ts.map +1 -0
- package/dist/src/memory/integrations/strands/index.js +6 -0
- package/dist/src/memory/integrations/strands/index.js.map +1 -0
- package/dist/src/memory/integrations/strands/logger.d.ts +19 -0
- package/dist/src/memory/integrations/strands/logger.d.ts.map +1 -0
- package/dist/src/memory/integrations/strands/logger.js +27 -0
- package/dist/src/memory/integrations/strands/logger.js.map +1 -0
- package/dist/src/memory/integrations/strands/sender.d.ts +79 -0
- package/dist/src/memory/integrations/strands/sender.d.ts.map +1 -0
- package/dist/src/memory/integrations/strands/sender.js +170 -0
- package/dist/src/memory/integrations/strands/sender.js.map +1 -0
- package/dist/src/memory/integrations/strands/store.d.ts +28 -0
- package/dist/src/memory/integrations/strands/store.d.ts.map +1 -0
- package/dist/src/memory/integrations/strands/store.js +154 -0
- package/dist/src/memory/integrations/strands/store.js.map +1 -0
- package/dist/src/memory/integrations/strands/types.d.ts +122 -0
- package/dist/src/memory/integrations/strands/types.d.ts.map +1 -0
- package/dist/src/memory/integrations/strands/types.js +73 -0
- package/dist/src/memory/integrations/strands/types.js.map +1 -0
- package/dist/src/runtime/app.d.ts +7 -2
- package/dist/src/runtime/app.d.ts.map +1 -1
- package/dist/src/runtime/app.js +7 -4
- package/dist/src/runtime/app.js.map +1 -1
- package/dist/src/runtime/client.d.ts +79 -11
- package/dist/src/runtime/client.d.ts.map +1 -1
- package/dist/src/runtime/client.js +230 -79
- package/dist/src/runtime/client.js.map +1 -1
- package/dist/src/runtime/index.d.ts +5 -0
- package/dist/src/runtime/index.d.ts.map +1 -1
- package/dist/src/runtime/index.js +3 -0
- package/dist/src/runtime/index.js.map +1 -1
- package/dist/src/runtime/shell/config.d.ts +81 -0
- package/dist/src/runtime/shell/config.d.ts.map +1 -0
- package/dist/src/runtime/shell/config.js +15 -0
- package/dist/src/runtime/shell/config.js.map +1 -0
- package/dist/src/runtime/shell/index.d.ts +9 -0
- package/dist/src/runtime/shell/index.d.ts.map +1 -0
- package/dist/src/runtime/shell/index.js +6 -0
- package/dist/src/runtime/shell/index.js.map +1 -0
- package/dist/src/runtime/shell/protocol.d.ts +45 -0
- package/dist/src/runtime/shell/protocol.d.ts.map +1 -0
- package/dist/src/runtime/shell/protocol.js +99 -0
- package/dist/src/runtime/shell/protocol.js.map +1 -0
- package/dist/src/runtime/shell/session.d.ts +240 -0
- package/dist/src/runtime/shell/session.d.ts.map +1 -0
- package/dist/src/runtime/shell/session.js +880 -0
- package/dist/src/runtime/shell/session.js.map +1 -0
- package/dist/src/runtime/shell/validation.d.ts +8 -0
- package/dist/src/runtime/shell/validation.d.ts.map +1 -0
- package/dist/src/runtime/shell/validation.js +17 -0
- package/dist/src/runtime/shell/validation.js.map +1 -0
- package/dist/src/runtime/types.d.ts +89 -0
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/package.json +13 -4
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AddMessagesContext, ExtractionConfig, MemoryEntry, MemoryStore, MessageData, SearchOptions } from '@strands-agents/sdk';
|
|
2
|
+
import { type AgentCoreMemoryStoreConfig } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* AgentCore Memory as a Strands `MemoryStore`. Identity and namespace are fixed at construction; only a
|
|
5
|
+
* writable store carries `addMessages` + `extraction`. No `add()`: the conversation path is
|
|
6
|
+
* role-preserving and a flat string would discard role.
|
|
7
|
+
*/
|
|
8
|
+
export declare class AgentCoreMemoryStore implements MemoryStore {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly description?: string;
|
|
11
|
+
readonly maxSearchResults?: number;
|
|
12
|
+
readonly writable: boolean;
|
|
13
|
+
readonly extraction?: boolean | ExtractionConfig;
|
|
14
|
+
private readonly client;
|
|
15
|
+
private readonly memoryId;
|
|
16
|
+
private readonly actorId;
|
|
17
|
+
private readonly sessionId;
|
|
18
|
+
private readonly resolvedNamespace;
|
|
19
|
+
private readonly readMode;
|
|
20
|
+
private readonly minScore?;
|
|
21
|
+
private readonly overFetchFactor;
|
|
22
|
+
private readonly sender?;
|
|
23
|
+
constructor(storeConfig: AgentCoreMemoryStoreConfig);
|
|
24
|
+
search(query: string, options?: SearchOptions): Promise<MemoryEntry[]>;
|
|
25
|
+
private toEntry;
|
|
26
|
+
addMessages(messages: MessageData[], context?: AddMessagesContext): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../../src/memory/integrations/strands/store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAEhB,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACd,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEL,KAAK,0BAA0B,EAUhC,MAAM,YAAY,CAAA;AAuBnB;;;;GAIG;AACH,qBAAa,oBAAqB,YAAW,WAAW;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAA;IAEhD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAsB;gBAElC,WAAW,EAAE,0BAA0B;IA0E7C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAgC5E,OAAO,CAAC,OAAO;IAaT,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CASxF"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { BedrockAgentCoreClient, RetrieveMemoryRecordsCommand, } from '@aws-sdk/client-bedrock-agentcore';
|
|
2
|
+
import { assertNonEmpty, assertResolvedNamespace, DEFAULT_MAX_SEARCH_RESULTS, DEFAULT_OVERFETCH_FACTOR, DEFAULT_REGION, MAX_TOPK, RESERVED_METADATA_PREFIX, resolveNamespace, slugifyNamespace, } from './types.js';
|
|
3
|
+
import { AgentCoreEventSender } from './sender.js';
|
|
4
|
+
import { logger } from './logger.js';
|
|
5
|
+
/** Extract the text of a `MemoryContent` union member, if it is a text member. */
|
|
6
|
+
function memoryContentText(content) {
|
|
7
|
+
if (content && typeof content === 'object' && 'text' in content && typeof content.text === 'string') {
|
|
8
|
+
return content.text;
|
|
9
|
+
}
|
|
10
|
+
return '';
|
|
11
|
+
}
|
|
12
|
+
/** Read the {@link AgentCoreReadTarget} arm: subtree (`namespacePath`) vs exact (`namespace`). */
|
|
13
|
+
function resolveReadTarget(storeConfig) {
|
|
14
|
+
if ('namespacePath' in storeConfig && storeConfig.namespacePath !== undefined) {
|
|
15
|
+
return { readMode: 'subtree', template: storeConfig.namespacePath };
|
|
16
|
+
}
|
|
17
|
+
return { readMode: 'exact', template: storeConfig.namespace };
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* AgentCore Memory as a Strands `MemoryStore`. Identity and namespace are fixed at construction; only a
|
|
21
|
+
* writable store carries `addMessages` + `extraction`. No `add()`: the conversation path is
|
|
22
|
+
* role-preserving and a flat string would discard role.
|
|
23
|
+
*/
|
|
24
|
+
export class AgentCoreMemoryStore {
|
|
25
|
+
name;
|
|
26
|
+
description;
|
|
27
|
+
maxSearchResults;
|
|
28
|
+
writable;
|
|
29
|
+
extraction;
|
|
30
|
+
client;
|
|
31
|
+
memoryId;
|
|
32
|
+
actorId;
|
|
33
|
+
sessionId;
|
|
34
|
+
resolvedNamespace;
|
|
35
|
+
readMode;
|
|
36
|
+
minScore;
|
|
37
|
+
overFetchFactor;
|
|
38
|
+
sender;
|
|
39
|
+
constructor(storeConfig) {
|
|
40
|
+
// The store config carries identity flat, so it *is* the AgentCoreMemoryConfig.
|
|
41
|
+
const config = storeConfig;
|
|
42
|
+
const { readMode, template } = resolveReadTarget(storeConfig);
|
|
43
|
+
this.memoryId = assertNonEmpty(config.memoryId, 'memoryId');
|
|
44
|
+
this.actorId = assertNonEmpty(config.actorId, 'actorId');
|
|
45
|
+
this.sessionId = assertNonEmpty(config.sessionId, 'sessionId');
|
|
46
|
+
assertNonEmpty(template, readMode === 'subtree' ? 'namespacePath' : 'namespace');
|
|
47
|
+
this.resolvedNamespace = resolveNamespace(template, this.actorId, this.sessionId);
|
|
48
|
+
assertResolvedNamespace(this.resolvedNamespace, template);
|
|
49
|
+
this.readMode = readMode;
|
|
50
|
+
// Self-name from the template so a standalone `new AgentCoreMemoryStore(...)` always has a name.
|
|
51
|
+
// Treat an empty/whitespace-only name as absent so the slug fallback engages (matches the trim
|
|
52
|
+
// convention in assertNonEmpty) rather than producing a degenerate "" store name.
|
|
53
|
+
const explicitName = storeConfig.name?.trim();
|
|
54
|
+
this.name = explicitName !== undefined && explicitName.length > 0 ? explicitName : slugifyNamespace(template);
|
|
55
|
+
if (storeConfig.description !== undefined)
|
|
56
|
+
this.description = storeConfig.description;
|
|
57
|
+
if (storeConfig.maxSearchResults !== undefined) {
|
|
58
|
+
if (!Number.isInteger(storeConfig.maxSearchResults) || storeConfig.maxSearchResults < 1) {
|
|
59
|
+
throw new Error(`AgentCoreMemoryStore: maxSearchResults must be a positive integer, got ${storeConfig.maxSearchResults}`);
|
|
60
|
+
}
|
|
61
|
+
this.maxSearchResults = storeConfig.maxSearchResults;
|
|
62
|
+
}
|
|
63
|
+
// Recall-safe default: a bare store never writes unless writable is explicitly true.
|
|
64
|
+
this.writable = storeConfig.writable ?? false;
|
|
65
|
+
if (this.writable && storeConfig.extraction !== undefined)
|
|
66
|
+
this.extraction = storeConfig.extraction;
|
|
67
|
+
if (storeConfig.minScore !== undefined) {
|
|
68
|
+
if (!Number.isFinite(storeConfig.minScore) || storeConfig.minScore < 0 || storeConfig.minScore > 1) {
|
|
69
|
+
throw new Error(`AgentCoreMemoryStore: minScore must be a finite number between 0 and 1, got ${storeConfig.minScore}`);
|
|
70
|
+
}
|
|
71
|
+
this.minScore = storeConfig.minScore;
|
|
72
|
+
}
|
|
73
|
+
if (storeConfig.overFetchFactor !== undefined &&
|
|
74
|
+
(!Number.isFinite(storeConfig.overFetchFactor) || storeConfig.overFetchFactor < 1)) {
|
|
75
|
+
throw new Error(`AgentCoreMemoryStore: overFetchFactor must be a number >= 1, got ${storeConfig.overFetchFactor}`);
|
|
76
|
+
}
|
|
77
|
+
this.overFetchFactor = storeConfig.overFetchFactor ?? DEFAULT_OVERFETCH_FACTOR;
|
|
78
|
+
this.client =
|
|
79
|
+
config.client ??
|
|
80
|
+
new BedrockAgentCoreClient({
|
|
81
|
+
region: config.region ?? process.env.AWS_REGION ?? DEFAULT_REGION,
|
|
82
|
+
...(config.credentialsProvider && { credentials: config.credentialsProvider }),
|
|
83
|
+
});
|
|
84
|
+
if (this.writable) {
|
|
85
|
+
this.sender = new AgentCoreEventSender({
|
|
86
|
+
client: this.client,
|
|
87
|
+
memoryId: this.memoryId,
|
|
88
|
+
actorId: this.actorId,
|
|
89
|
+
sessionId: this.sessionId,
|
|
90
|
+
...(config.metadataProvider !== undefined && { metadataProvider: config.metadataProvider }),
|
|
91
|
+
...(config.maxTurnsPerEvent !== undefined && { maxTurnsPerEvent: config.maxTurnsPerEvent }),
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
else if (storeConfig.extraction !== undefined && storeConfig.extraction !== false) {
|
|
95
|
+
// A real extraction config on a non-writable store would be silently ignored (no write sink), so
|
|
96
|
+
// warn. `extraction: false` is the explicit opt-out — not a misconfiguration — so it stays quiet.
|
|
97
|
+
logger.warn(`[agentcore-memory] store "${this.name}" has an extraction config but writable is false; ` +
|
|
98
|
+
'extraction will not run for this store.');
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// --- READ ---
|
|
102
|
+
async search(query, options) {
|
|
103
|
+
const want = options?.maxSearchResults ?? this.maxSearchResults ?? DEFAULT_MAX_SEARCH_RESULTS;
|
|
104
|
+
// Validate the effective value, not just the constructor field: a call-time `maxSearchResults`
|
|
105
|
+
// (e.g. from the `search_memory` tool) of 0/negative/non-integer would otherwise reach topK and
|
|
106
|
+
// `.slice(0, want)` — 0 yields a silent empty result, non-integers a service ValidationException.
|
|
107
|
+
if (!Number.isInteger(want) || want < 1) {
|
|
108
|
+
throw new Error(`AgentCoreMemoryStore.search: maxSearchResults must be a positive integer, got ${want}`);
|
|
109
|
+
}
|
|
110
|
+
// With a minScore floor, over-fetch then trim so the client-side filter doesn't under-deliver
|
|
111
|
+
// when above-floor records exist deeper in the ranking. With no floor, topK == want. Ceil the
|
|
112
|
+
// product so a fractional overFetchFactor (permitted by validation) never yields a non-integer
|
|
113
|
+
// topK — the service's RetrieveMemoryRecords requires an integer.
|
|
114
|
+
const topK = this.minScore == null ? want : Math.min(Math.ceil(want * this.overFetchFactor), MAX_TOPK);
|
|
115
|
+
const command = new RetrieveMemoryRecordsCommand({
|
|
116
|
+
memoryId: this.memoryId,
|
|
117
|
+
searchCriteria: { searchQuery: query, topK },
|
|
118
|
+
...(this.readMode === 'subtree'
|
|
119
|
+
? { namespacePath: this.resolvedNamespace }
|
|
120
|
+
: { namespace: this.resolvedNamespace }),
|
|
121
|
+
});
|
|
122
|
+
// Errors propagate: MemoryManager.search wraps each store's search() in Promise.allSettled, so a
|
|
123
|
+
// throw is isolated to this store and surfaced through the manager's partial-failure handling
|
|
124
|
+
// rather than swallowed here.
|
|
125
|
+
const out = await this.client.send(command);
|
|
126
|
+
return (out.memoryRecordSummaries ?? [])
|
|
127
|
+
.filter((r) => this.minScore == null || (r.score ?? 0) >= this.minScore)
|
|
128
|
+
.slice(0, want)
|
|
129
|
+
.map((r) => this.toEntry(r));
|
|
130
|
+
}
|
|
131
|
+
toEntry(record) {
|
|
132
|
+
// Keys carry RESERVED_METADATA_PREFIX so these store-provided fields never collide with user metadata.
|
|
133
|
+
const p = RESERVED_METADATA_PREFIX;
|
|
134
|
+
const metadata = {};
|
|
135
|
+
if (record.memoryRecordId !== undefined)
|
|
136
|
+
metadata[`${p}id`] = record.memoryRecordId;
|
|
137
|
+
if (record.score !== undefined)
|
|
138
|
+
metadata[`${p}score`] = record.score;
|
|
139
|
+
if (record.namespaces !== undefined)
|
|
140
|
+
metadata[`${p}namespaces`] = record.namespaces;
|
|
141
|
+
if (record.createdAt !== undefined)
|
|
142
|
+
metadata[`${p}createdAt`] = record.createdAt.toISOString();
|
|
143
|
+
return { content: memoryContentText(record.content), metadata };
|
|
144
|
+
}
|
|
145
|
+
// --- WRITE (no-extractor sink) ---
|
|
146
|
+
async addMessages(messages, context) {
|
|
147
|
+
if (!this.sender) {
|
|
148
|
+
// Not writable: the manager should never call this, but guard so a misconfiguration is loud.
|
|
149
|
+
throw new Error(`AgentCoreMemoryStore "${this.name}" is not writable; addMessages is unavailable`);
|
|
150
|
+
}
|
|
151
|
+
await this.sender.sendBatch(messages, context?.sequenceNumbers);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../../src/memory/integrations/strands/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { AwsCredentialIdentityProvider } from '@aws-sdk/types';
|
|
2
|
+
import type { BedrockAgentCoreClient } from '@aws-sdk/client-bedrock-agentcore';
|
|
3
|
+
import type { JSONValue, MemoryStoreConfig, MessageData } from '@strands-agents/sdk';
|
|
4
|
+
/** Default region used when none is supplied and `AWS_REGION` is unset. */
|
|
5
|
+
export declare const DEFAULT_REGION = "us-west-2";
|
|
6
|
+
/** Default per-store result cap when neither call-level nor store-level `maxSearchResults` is set. */
|
|
7
|
+
export declare const DEFAULT_MAX_SEARCH_RESULTS = 5;
|
|
8
|
+
/** Default over-fetch multiplier applied to `topK` when a `minScore` floor is configured (see store search). */
|
|
9
|
+
export declare const DEFAULT_OVERFETCH_FACTOR = 4;
|
|
10
|
+
/** Hard cap on `topK` so over-fetching never requests an unbounded page. */
|
|
11
|
+
export declare const MAX_TOPK = 100;
|
|
12
|
+
/**
|
|
13
|
+
* Default maximum conversational turns packed into a single `createEvent`. One flush of N turns is sent
|
|
14
|
+
* as `ceil(n / this)` events instead of N calls — the lever that lets trigger cadence control API-call
|
|
15
|
+
* volume. Kept well under the service's accepted payload size.
|
|
16
|
+
*/
|
|
17
|
+
export declare const DEFAULT_MAX_TURNS_PER_EVENT = 50;
|
|
18
|
+
/**
|
|
19
|
+
* Prefix for the store-provided metadata keys on a returned {@link MemoryStore} entry (`_id`, `_score`,
|
|
20
|
+
* `_namespaces`, `_createdAt`). Underscored so they never collide with user-defined metadata; callers
|
|
21
|
+
* should avoid this prefix for their own keys.
|
|
22
|
+
*/
|
|
23
|
+
export declare const RESERVED_METADATA_PREFIX = "_";
|
|
24
|
+
/**
|
|
25
|
+
* How a store's `search()` targets AgentCore long-term records. A discriminated union that mirrors the
|
|
26
|
+
* `RetrieveMemoryRecords` API directly — the member name *is* the read mode, so there is no separate
|
|
27
|
+
* flag to keep in sync with the path:
|
|
28
|
+
* - `{ namespace }`: query one exact namespace prefix (one store per namespace).
|
|
29
|
+
* - `{ namespacePath }`: query a parent path hierarchically, covering all child namespaces (subtree).
|
|
30
|
+
*
|
|
31
|
+
* Exactly one member is present; the `?: never` on the other arm makes passing both a compile error.
|
|
32
|
+
* Both carry a template whose `{actorId}`/`{sessionId}` are substituted at construction.
|
|
33
|
+
*/
|
|
34
|
+
export type AgentCoreReadTarget = {
|
|
35
|
+
readonly namespace: string;
|
|
36
|
+
readonly namespacePath?: never;
|
|
37
|
+
} | {
|
|
38
|
+
readonly namespacePath: string;
|
|
39
|
+
readonly namespace?: never;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Per-message metadata attached to each `createEvent`. Returns a JSON bag; the sender maps each value
|
|
43
|
+
* to AgentCore's `{ stringValue }` event-metadata shape (stringifying non-strings).
|
|
44
|
+
*
|
|
45
|
+
* AgentCore restricts metadata values to `[a-zA-Z0-9\s._:/=+@-]` (letters, digits, whitespace, and
|
|
46
|
+
* `._:/=+@-`). Prefer scalar string/number/boolean values; **avoid arrays/objects** — they stringify to
|
|
47
|
+
* JSON containing `[]{}",` which the service rejects. A value outside the allowed set throws a clear
|
|
48
|
+
* client-side error (naming the key) rather than failing opaquely server-side at `createEvent`.
|
|
49
|
+
*/
|
|
50
|
+
export type MetadataProvider = (message: MessageData) => Record<string, JSONValue>;
|
|
51
|
+
/**
|
|
52
|
+
* Connection + write identity for a store: the AgentCore memoryId/actorId/sessionId plus optional
|
|
53
|
+
* client/credentials/tuning. Passed **flat** on every store config. The factory builds one of these once
|
|
54
|
+
* (constructing the AWS client a single time) and spreads it across the stores of one actor/session set,
|
|
55
|
+
* so they share the same client; a standalone store supplies the same fields directly to its constructor.
|
|
56
|
+
*/
|
|
57
|
+
export interface AgentCoreMemoryConfig {
|
|
58
|
+
/** AgentCore Memory resource id. */
|
|
59
|
+
readonly memoryId: string;
|
|
60
|
+
/** AgentCore actor id. */
|
|
61
|
+
readonly actorId: string;
|
|
62
|
+
/** AgentCore session id. */
|
|
63
|
+
readonly sessionId: string;
|
|
64
|
+
/** Optional per-message metadata attached to each `createEvent`. */
|
|
65
|
+
readonly metadataProvider?: MetadataProvider | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Max conversational turns packed into a single `createEvent` write (see
|
|
68
|
+
* {@link DEFAULT_MAX_TURNS_PER_EVENT}). Lower it to cap payload size; the extraction trigger cadence
|
|
69
|
+
* controls how many turns accumulate before a flush.
|
|
70
|
+
*/
|
|
71
|
+
readonly maxTurnsPerEvent?: number | undefined;
|
|
72
|
+
/** Region for the default client. Ignored if `client` is supplied. */
|
|
73
|
+
readonly region?: string | undefined;
|
|
74
|
+
/** Credentials for the default client. Ignored if `client` is supplied. */
|
|
75
|
+
readonly credentialsProvider?: AwsCredentialIdentityProvider | undefined;
|
|
76
|
+
/** Pre-constructed AWS client (created if omitted; the factory shares one across a store set). */
|
|
77
|
+
readonly client?: BedrockAgentCoreClient | undefined;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Config for a single {@link AgentCoreMemoryStore}. One flat object: the {@link AgentCoreMemoryConfig}
|
|
81
|
+
* identity (`memoryId`/`actorId`/`sessionId` required; client/credentials/tuning optional), the
|
|
82
|
+
* {@link AgentCoreReadTarget} read-target union (`{ namespace }` exact, or `{ namespacePath }` subtree),
|
|
83
|
+
* and the framework's store fields ({@link MemoryStoreConfig} contributes `description`/
|
|
84
|
+
* `maxSearchResults`/`writable`/`extraction`). `writable` defaults to `false` (recall-only); set it
|
|
85
|
+
* `true` to make this the write sink. `name` defaults to a slug of the namespace template when omitted.
|
|
86
|
+
*/
|
|
87
|
+
export type AgentCoreMemoryStoreConfig = Omit<MemoryStoreConfig, 'name'> & AgentCoreMemoryConfig & AgentCoreReadTarget & {
|
|
88
|
+
/** Store name; defaults to a slug of the namespace template (see {@link slugifyNamespace}) if omitted. */
|
|
89
|
+
readonly name?: string;
|
|
90
|
+
/** Optional client-side relevance floor; records scoring below it are dropped from results. */
|
|
91
|
+
readonly minScore?: number;
|
|
92
|
+
/**
|
|
93
|
+
* Multiplier applied to `topK` when `minScore` is set, so the client-side floor doesn't under-deliver
|
|
94
|
+
* when above-floor records sit deeper in the ranking. Defaults to {@link DEFAULT_OVERFETCH_FACTOR}.
|
|
95
|
+
* Ignored when no `minScore` floor is configured. The over-fetched `topK` is capped at {@link MAX_TOPK}.
|
|
96
|
+
*/
|
|
97
|
+
readonly overFetchFactor?: number;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Resolve a namespace template against an actor/session, substituting `{actorId}` and `{sessionId}`.
|
|
101
|
+
*
|
|
102
|
+
* Only these two placeholders are resolved client-side. AgentCore resolves every placeholder (including
|
|
103
|
+
* `{memoryStrategyId}`) at *extraction* time and stores records under the fully-resolved concrete path,
|
|
104
|
+
* but `retrieveMemoryRecords` does NOT resolve placeholders on the *read* path — and in fact rejects a
|
|
105
|
+
* `{`/`}` in the namespace with a `ValidationException`. So any unresolved placeholder left here would
|
|
106
|
+
* make recall fail. {@link assertResolvedNamespace} catches that at construction with a clear message.
|
|
107
|
+
*/
|
|
108
|
+
export declare function resolveNamespace(template: string, actorId: string, sessionId: string): string;
|
|
109
|
+
/**
|
|
110
|
+
* Throw if `resolved` still contains a `{placeholder}` token or any lone brace. AgentCore's retrieve
|
|
111
|
+
* path rejects brace characters, so either guarantees a failed recall; failing here turns that into a
|
|
112
|
+
* clear, construction-time error instead of an opaque service `ValidationException` at first search.
|
|
113
|
+
*/
|
|
114
|
+
export declare function assertResolvedNamespace(resolved: string, template: string): void;
|
|
115
|
+
export declare function assertNonEmpty(value: unknown, field: string): string;
|
|
116
|
+
/**
|
|
117
|
+
* Derive a store name from a namespace template: strip `{placeholder}` segments, then collapse remaining
|
|
118
|
+
* non-alphanumerics to `-`. `[^{}]*` (excludes both braces) is unambiguous and linear — no
|
|
119
|
+
* polynomial-backtracking risk. Falls back to `'agentcore-memory'` if nothing usable remains.
|
|
120
|
+
*/
|
|
121
|
+
export declare function slugifyNamespace(ns: string): string;
|
|
122
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/memory/integrations/strands/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEpF,2EAA2E;AAC3E,eAAO,MAAM,cAAc,cAAc,CAAA;AAEzC,sGAAsG;AACtG,eAAO,MAAM,0BAA0B,IAAI,CAAA;AAE3C,gHAAgH;AAChH,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAEzC,4EAA4E;AAC5E,eAAO,MAAM,QAAQ,MAAM,CAAA;AAE3B;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAA;AAE7C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAE3C;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAElE;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAElF;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,oCAAoC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,4BAA4B;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAE1B,oEAAoE;IACpE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IAExD;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9C,sEAAsE;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,6BAA6B,GAAG,SAAS,CAAA;IACxE,kGAAkG;IAClG,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAA;CACrD;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GACtE,qBAAqB,GACrB,mBAAmB,GAAG;IACpB,0GAA0G;IAC1G,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,+FAA+F;IAC/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AAEH;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAM7F;AAKD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAYhF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAKpE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMnD"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/** Default region used when none is supplied and `AWS_REGION` is unset. */
|
|
2
|
+
export const DEFAULT_REGION = 'us-west-2';
|
|
3
|
+
/** Default per-store result cap when neither call-level nor store-level `maxSearchResults` is set. */
|
|
4
|
+
export const DEFAULT_MAX_SEARCH_RESULTS = 5;
|
|
5
|
+
/** Default over-fetch multiplier applied to `topK` when a `minScore` floor is configured (see store search). */
|
|
6
|
+
export const DEFAULT_OVERFETCH_FACTOR = 4;
|
|
7
|
+
/** Hard cap on `topK` so over-fetching never requests an unbounded page. */
|
|
8
|
+
export const MAX_TOPK = 100;
|
|
9
|
+
/**
|
|
10
|
+
* Default maximum conversational turns packed into a single `createEvent`. One flush of N turns is sent
|
|
11
|
+
* as `ceil(n / this)` events instead of N calls — the lever that lets trigger cadence control API-call
|
|
12
|
+
* volume. Kept well under the service's accepted payload size.
|
|
13
|
+
*/
|
|
14
|
+
export const DEFAULT_MAX_TURNS_PER_EVENT = 50;
|
|
15
|
+
/**
|
|
16
|
+
* Prefix for the store-provided metadata keys on a returned {@link MemoryStore} entry (`_id`, `_score`,
|
|
17
|
+
* `_namespaces`, `_createdAt`). Underscored so they never collide with user-defined metadata; callers
|
|
18
|
+
* should avoid this prefix for their own keys.
|
|
19
|
+
*/
|
|
20
|
+
export const RESERVED_METADATA_PREFIX = '_';
|
|
21
|
+
/**
|
|
22
|
+
* Resolve a namespace template against an actor/session, substituting `{actorId}` and `{sessionId}`.
|
|
23
|
+
*
|
|
24
|
+
* Only these two placeholders are resolved client-side. AgentCore resolves every placeholder (including
|
|
25
|
+
* `{memoryStrategyId}`) at *extraction* time and stores records under the fully-resolved concrete path,
|
|
26
|
+
* but `retrieveMemoryRecords` does NOT resolve placeholders on the *read* path — and in fact rejects a
|
|
27
|
+
* `{`/`}` in the namespace with a `ValidationException`. So any unresolved placeholder left here would
|
|
28
|
+
* make recall fail. {@link assertResolvedNamespace} catches that at construction with a clear message.
|
|
29
|
+
*/
|
|
30
|
+
export function resolveNamespace(template, actorId, sessionId) {
|
|
31
|
+
// Replacer FUNCTIONS (not replacement strings): a value containing `$&`/`$\``/`$'`/`$$` would otherwise
|
|
32
|
+
// be interpreted as a replacement pattern and silently corrupt the path. The function's return value
|
|
33
|
+
// is inserted verbatim and is NOT re-scanned, which also prevents one substituted value (e.g. an
|
|
34
|
+
// actorId literally containing "{sessionId}") from being re-substituted by the next replace.
|
|
35
|
+
return template.replace(/\{actorId\}/g, () => actorId).replace(/\{sessionId\}/g, () => sessionId);
|
|
36
|
+
}
|
|
37
|
+
const UNRESOLVED_PLACEHOLDER = /\{[^{}]*\}/;
|
|
38
|
+
const ANY_BRACE = /[{}]/;
|
|
39
|
+
/**
|
|
40
|
+
* Throw if `resolved` still contains a `{placeholder}` token or any lone brace. AgentCore's retrieve
|
|
41
|
+
* path rejects brace characters, so either guarantees a failed recall; failing here turns that into a
|
|
42
|
+
* clear, construction-time error instead of an opaque service `ValidationException` at first search.
|
|
43
|
+
*/
|
|
44
|
+
export function assertResolvedNamespace(resolved, template) {
|
|
45
|
+
const token = resolved.match(UNRESOLVED_PLACEHOLDER);
|
|
46
|
+
const offending = token?.[0] ?? resolved.match(ANY_BRACE)?.[0];
|
|
47
|
+
if (offending !== undefined) {
|
|
48
|
+
throw new Error(`AgentCoreMemoryStore: namespace "${template}" still contains "${offending}" after substitution. ` +
|
|
49
|
+
`Only {actorId} and {sessionId} are resolved client-side; the AgentCore retrieve path does not ` +
|
|
50
|
+
`resolve placeholders and rejects "{"/"}". Provide a namespace whose only placeholders are ` +
|
|
51
|
+
`{actorId}/{sessionId} (and no stray braces), or pre-substitute the others (e.g. a concrete ` +
|
|
52
|
+
`strategy id) before constructing the store.`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export function assertNonEmpty(value, field) {
|
|
56
|
+
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
57
|
+
throw new Error(`AgentCoreMemoryStore: ${field} must be a non-empty string`);
|
|
58
|
+
}
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Derive a store name from a namespace template: strip `{placeholder}` segments, then collapse remaining
|
|
63
|
+
* non-alphanumerics to `-`. `[^{}]*` (excludes both braces) is unambiguous and linear — no
|
|
64
|
+
* polynomial-backtracking risk. Falls back to `'agentcore-memory'` if nothing usable remains.
|
|
65
|
+
*/
|
|
66
|
+
export function slugifyNamespace(ns) {
|
|
67
|
+
const slug = ns
|
|
68
|
+
.replace(/\{[^{}]*\}/g, '')
|
|
69
|
+
.replace(/[^a-zA-Z0-9]+/g, '-')
|
|
70
|
+
.replace(/^-+|-+$/g, '');
|
|
71
|
+
return slug.length > 0 ? slug : 'agentcore-memory';
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/memory/integrations/strands/types.ts"],"names":[],"mappings":"AAIA,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA;AAEzC,sGAAsG;AACtG,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAA;AAE3C,gHAAgH;AAChH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAA;AAEzC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAE3B;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAA;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAA;AAkF3C;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,OAAe,EAAE,SAAiB;IACnF,wGAAwG;IACxG,qGAAqG;IACrG,iGAAiG;IACjG,6FAA6F;IAC7F,OAAO,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;AACnG,CAAC;AAED,MAAM,sBAAsB,GAAG,YAAY,CAAA;AAC3C,MAAM,SAAS,GAAG,MAAM,CAAA;AAExB;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB,EAAE,QAAgB;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,qBAAqB,SAAS,wBAAwB;YAChG,gGAAgG;YAChG,4FAA4F;YAC5F,6FAA6F;YAC7F,6CAA6C,CAChD,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,KAAa;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,6BAA6B,CAAC,CAAA;IAC9E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;IAC1B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAA;AACpD,CAAC"}
|
|
@@ -40,9 +40,14 @@ export declare class BedrockAgentCoreApp<TSchema extends z.ZodSchema = z.ZodSche
|
|
|
40
40
|
*/
|
|
41
41
|
constructor(params: BedrockAgentCoreAppParams<TSchema>);
|
|
42
42
|
/**
|
|
43
|
-
* Starts the Fastify server
|
|
43
|
+
* Starts the Fastify server.
|
|
44
|
+
*
|
|
45
|
+
* @param options - Optional server options. Supports `port` (defaults to 8080) and `host` (defaults to '0.0.0.0').
|
|
44
46
|
*/
|
|
45
|
-
run(
|
|
47
|
+
run(options?: {
|
|
48
|
+
port?: number;
|
|
49
|
+
host?: string;
|
|
50
|
+
}): void;
|
|
46
51
|
/**
|
|
47
52
|
* Register an async task for health tracking.
|
|
48
53
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/runtime/app.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAYvB,OAAO,KAAK,EACV,yBAAyB,EAOzB,eAAe,EACf,YAAY,EACb,MAAM,YAAY,CAAA;AAOnB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,mBAAmB,CAAC,OAAO,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;IACjF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2E;IACpG,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwC;IACxE,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,YAAY,CAA0D;IAC9E,OAAO,CAAC,iBAAiB,CAAC,CAAc;IACxC,OAAO,CAAC,qBAAqB,CAAqB;IAClD,OAAO,CAAC,gBAAgB,CAAC,CAAc;IAEvC;;;;OAIG;gBACS,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC;IA0BtD
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/runtime/app.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAYvB,OAAO,KAAK,EACV,yBAAyB,EAOzB,eAAe,EACf,YAAY,EACb,MAAM,YAAY,CAAA;AAOnB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,mBAAmB,CAAC,OAAO,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;IACjF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2E;IACpG,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwC;IACxE,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,YAAY,CAA0D;IAC9E,OAAO,CAAC,iBAAiB,CAAC,CAAc;IACxC,OAAO,CAAC,qBAAqB,CAAqB;IAClD,OAAO,CAAC,gBAAgB,CAAC,CAAc;IAEvC;;;;OAIG;gBACS,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC;IA0BtD;;;;OAIG;IACH,GAAG,CAAC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAoBrD;;;;;;OAMG;IACI,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAa7E;;;;;OAKG;IACI,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIjD;;;;;OAKG;IACI,oBAAoB,IAAI,YAAY;IA6B3C;;;;;;;OAOG;IACI,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC;IAoB9E;;;;OAIG;IACI,gBAAgB,IAAI,eAAe;IAa1C;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;OAEG;YACW,gBAAgB;IAO9B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;;;OAKG;YACW,WAAW;IASzB;;;;;OAKG;YACW,iBAAiB;IA8F/B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;;;OAKG;YACW,wBAAwB;IAoCtC;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;;;OAKG;YACW,gBAAgB;IAwB9B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CA2CxB"}
|
package/dist/src/runtime/app.js
CHANGED
|
@@ -66,16 +66,19 @@ export class BedrockAgentCoreApp {
|
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
|
-
* Starts the Fastify server
|
|
69
|
+
* Starts the Fastify server.
|
|
70
|
+
*
|
|
71
|
+
* @param options - Optional server options. Supports `port` (defaults to 8080) and `host` (defaults to '0.0.0.0').
|
|
70
72
|
*/
|
|
71
|
-
run() {
|
|
72
|
-
const PORT = 8080;
|
|
73
|
+
run(options) {
|
|
74
|
+
const PORT = options?.port ?? 8080;
|
|
75
|
+
const HOST = options?.host ?? '0.0.0.0';
|
|
73
76
|
// Wait for Fastify to be ready (all plugins registered), setup routes, and start the server
|
|
74
77
|
Promise.resolve(this._registerPlugins())
|
|
75
78
|
.then(() => {
|
|
76
79
|
this._setupContentTypeParsers();
|
|
77
80
|
this._setupRoutes();
|
|
78
|
-
return this._app.listen({ port: PORT, host:
|
|
81
|
+
return this._app.listen({ port: PORT, host: HOST });
|
|
79
82
|
})
|
|
80
83
|
.then(() => {
|
|
81
84
|
this._app.log.info(`Server listening on port ${PORT}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/runtime/app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/runtime/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { RuntimeClientConfig, GenerateWsConnectionParams, GeneratePresignedUrlParams, GenerateWsConnectionOAuthParams, WebSocketConnection } from './types.js';
|
|
1
|
+
import type { RuntimeClientConfig, GenerateWsConnectionParams, GeneratePresignedUrlParams, GenerateWsConnectionOAuthParams, WebSocketConnection, OpenShellParams, ConnectShellSigV4Params, ConnectShellPresignedParams, ConnectShellOAuthParams, ShellConnectionSigV4, ShellConnectionPresigned, ShellConnectionOAuth } from './types.js';
|
|
2
|
+
import { ShellSession } from './shell/session.js';
|
|
2
3
|
/**
|
|
3
4
|
* Client for generating WebSocket authentication for AgentCore Runtime.
|
|
4
5
|
*
|
|
@@ -45,17 +46,11 @@ export declare class RuntimeClient {
|
|
|
45
46
|
*
|
|
46
47
|
* @internal
|
|
47
48
|
*/
|
|
49
|
+
private _parseAndValidateRegion;
|
|
48
50
|
private _parseRuntimeArn;
|
|
49
|
-
/**
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
* @param runtimeArn - Full runtime ARN
|
|
53
|
-
* @param endpointName - Optional endpoint name for qualifier param
|
|
54
|
-
* @param customHeaders - Optional custom query parameters
|
|
55
|
-
* @returns WebSocket URL with query parameters
|
|
56
|
-
*
|
|
57
|
-
* @internal
|
|
58
|
-
*/
|
|
51
|
+
/** @internal */
|
|
52
|
+
private _buildWsUrl;
|
|
53
|
+
/** @internal */
|
|
59
54
|
private _buildWebSocketUrl;
|
|
60
55
|
/**
|
|
61
56
|
* Generates WebSocket URL and SigV4 signed headers for runtime connection.
|
|
@@ -121,6 +116,79 @@ export declare class RuntimeClient {
|
|
|
121
116
|
* ```
|
|
122
117
|
*/
|
|
123
118
|
generatePresignedUrl(params: GeneratePresignedUrlParams): Promise<string>;
|
|
119
|
+
/** @internal */
|
|
120
|
+
private _buildShellUrl;
|
|
121
|
+
/** Sign a wss:// URL with SigV4 headers, including the session ID. @internal */
|
|
122
|
+
private _sigV4SignWsUrl;
|
|
123
|
+
/** Presign a wss:// URL, embedding auth in query params. @internal */
|
|
124
|
+
private _presignWsUrl;
|
|
125
|
+
/**
|
|
126
|
+
* Generate a SigV4-signed WebSocket URL and headers for a shell connection.
|
|
127
|
+
* Low-level helper — use `openShell` for a fully managed session.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* const { url, headers } = await client.connectShellSigV4({ runtimeArn, shellId, sessionId })
|
|
132
|
+
* const ws = new WebSocket(url, { headers })
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
135
|
+
connectShellSigV4(params: ConnectShellSigV4Params): Promise<ShellConnectionSigV4>;
|
|
136
|
+
/**
|
|
137
|
+
* Generate a presigned WebSocket URL for a shell connection. Auth is embedded
|
|
138
|
+
* in the query string — suitable for browser clients or short-lived tokens.
|
|
139
|
+
* Low-level helper — use `openShell` for a fully managed session.
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```typescript
|
|
143
|
+
* const { url } = await client.connectShellPresigned({ runtimeArn, shellId, sessionId, expires: 120 })
|
|
144
|
+
* const ws = new WebSocket(url)
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
connectShellPresigned(params: ConnectShellPresignedParams): Promise<ShellConnectionPresigned>;
|
|
148
|
+
/**
|
|
149
|
+
* Generate a WebSocket URL and OAuth subprotocols for a shell connection.
|
|
150
|
+
* Low-level helper — use `openShell` for a fully managed session.
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* const { url, subprotocols } = await client.connectShellOAuth({ runtimeArn, shellId, sessionId, bearerToken })
|
|
155
|
+
* const ws = new WebSocket(url, subprotocols)
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
connectShellOAuth(params: ConnectShellOAuthParams): Promise<ShellConnectionOAuth>;
|
|
159
|
+
/**
|
|
160
|
+
* Open a fully managed interactive PTY shell session on an agent VM.
|
|
161
|
+
*
|
|
162
|
+
* Returns a connected `ShellSession` — an async iterable that yields `ShellFrame`
|
|
163
|
+
* objects. Call `close()` when done, or use `try/finally`.
|
|
164
|
+
*
|
|
165
|
+
* For lower-level control (custom WebSocket handling, browser relay), use the
|
|
166
|
+
* `connectShellSigV4`, `connectShellPresigned`, or `connectShellOAuth` helpers
|
|
167
|
+
* directly with `ShellFramer`.
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```typescript
|
|
171
|
+
* const shell = await client.openShell({ runtimeArn })
|
|
172
|
+
* try {
|
|
173
|
+
* await shell.send('echo hello\n')
|
|
174
|
+
* for await (const frame of shell) {
|
|
175
|
+
* if (frame.channel === ShellChannel.STDOUT) process.stdout.write(frame.text)
|
|
176
|
+
* }
|
|
177
|
+
* } finally {
|
|
178
|
+
* await shell.close()
|
|
179
|
+
* }
|
|
180
|
+
* ```
|
|
181
|
+
*
|
|
182
|
+
* @example Auto-reconnect:
|
|
183
|
+
* ```typescript
|
|
184
|
+
* const shell = await client.openShell({
|
|
185
|
+
* runtimeArn,
|
|
186
|
+
* shellId: 'debug',
|
|
187
|
+
* reconnectConfig: { maxRetries: 5, onReconnect: (r) => console.log('reconnected:', r) }
|
|
188
|
+
* })
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
191
|
+
openShell(params: OpenShellParams): Promise<ShellSession>;
|
|
124
192
|
/**
|
|
125
193
|
* Generates WebSocket URL and OAuth headers for runtime connection.
|
|
126
194
|
*
|