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.
Files changed (64) hide show
  1. package/README.md +1 -1
  2. package/dist/src/memory/integrations/strands/factory.d.ts +78 -0
  3. package/dist/src/memory/integrations/strands/factory.d.ts.map +1 -0
  4. package/dist/src/memory/integrations/strands/factory.js +108 -0
  5. package/dist/src/memory/integrations/strands/factory.js.map +1 -0
  6. package/dist/src/memory/integrations/strands/format.d.ts +17 -0
  7. package/dist/src/memory/integrations/strands/format.d.ts.map +1 -0
  8. package/dist/src/memory/integrations/strands/format.js +29 -0
  9. package/dist/src/memory/integrations/strands/format.js.map +1 -0
  10. package/dist/src/memory/integrations/strands/index.d.ts +11 -0
  11. package/dist/src/memory/integrations/strands/index.d.ts.map +1 -0
  12. package/dist/src/memory/integrations/strands/index.js +6 -0
  13. package/dist/src/memory/integrations/strands/index.js.map +1 -0
  14. package/dist/src/memory/integrations/strands/logger.d.ts +19 -0
  15. package/dist/src/memory/integrations/strands/logger.d.ts.map +1 -0
  16. package/dist/src/memory/integrations/strands/logger.js +27 -0
  17. package/dist/src/memory/integrations/strands/logger.js.map +1 -0
  18. package/dist/src/memory/integrations/strands/sender.d.ts +79 -0
  19. package/dist/src/memory/integrations/strands/sender.d.ts.map +1 -0
  20. package/dist/src/memory/integrations/strands/sender.js +170 -0
  21. package/dist/src/memory/integrations/strands/sender.js.map +1 -0
  22. package/dist/src/memory/integrations/strands/store.d.ts +28 -0
  23. package/dist/src/memory/integrations/strands/store.d.ts.map +1 -0
  24. package/dist/src/memory/integrations/strands/store.js +154 -0
  25. package/dist/src/memory/integrations/strands/store.js.map +1 -0
  26. package/dist/src/memory/integrations/strands/types.d.ts +122 -0
  27. package/dist/src/memory/integrations/strands/types.d.ts.map +1 -0
  28. package/dist/src/memory/integrations/strands/types.js +73 -0
  29. package/dist/src/memory/integrations/strands/types.js.map +1 -0
  30. package/dist/src/runtime/app.d.ts +7 -2
  31. package/dist/src/runtime/app.d.ts.map +1 -1
  32. package/dist/src/runtime/app.js +7 -4
  33. package/dist/src/runtime/app.js.map +1 -1
  34. package/dist/src/runtime/client.d.ts +79 -11
  35. package/dist/src/runtime/client.d.ts.map +1 -1
  36. package/dist/src/runtime/client.js +230 -79
  37. package/dist/src/runtime/client.js.map +1 -1
  38. package/dist/src/runtime/index.d.ts +5 -0
  39. package/dist/src/runtime/index.d.ts.map +1 -1
  40. package/dist/src/runtime/index.js +3 -0
  41. package/dist/src/runtime/index.js.map +1 -1
  42. package/dist/src/runtime/shell/config.d.ts +81 -0
  43. package/dist/src/runtime/shell/config.d.ts.map +1 -0
  44. package/dist/src/runtime/shell/config.js +15 -0
  45. package/dist/src/runtime/shell/config.js.map +1 -0
  46. package/dist/src/runtime/shell/index.d.ts +9 -0
  47. package/dist/src/runtime/shell/index.d.ts.map +1 -0
  48. package/dist/src/runtime/shell/index.js +6 -0
  49. package/dist/src/runtime/shell/index.js.map +1 -0
  50. package/dist/src/runtime/shell/protocol.d.ts +45 -0
  51. package/dist/src/runtime/shell/protocol.d.ts.map +1 -0
  52. package/dist/src/runtime/shell/protocol.js +99 -0
  53. package/dist/src/runtime/shell/protocol.js.map +1 -0
  54. package/dist/src/runtime/shell/session.d.ts +240 -0
  55. package/dist/src/runtime/shell/session.d.ts.map +1 -0
  56. package/dist/src/runtime/shell/session.js +880 -0
  57. package/dist/src/runtime/shell/session.js.map +1 -0
  58. package/dist/src/runtime/shell/validation.d.ts +8 -0
  59. package/dist/src/runtime/shell/validation.d.ts.map +1 -0
  60. package/dist/src/runtime/shell/validation.js +17 -0
  61. package/dist/src/runtime/shell/validation.js.map +1 -0
  62. package/dist/src/runtime/types.d.ts +89 -0
  63. package/dist/src/runtime/types.d.ts.map +1 -1
  64. 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 on port 8080.
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(): void;
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;;OAEG;IACH,GAAG,IAAI,IAAI;IAmBX;;;;;;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"}
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"}
@@ -66,16 +66,19 @@ export class BedrockAgentCoreApp {
66
66
  });
67
67
  }
68
68
  /**
69
- * Starts the Fastify server on port 8080.
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: '0.0.0.0' });
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
- * Builds WebSocket URL with query parameters.
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
  *