@strands-agents/sdk 1.5.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/agent-helpers.js +3 -0
- package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
- package/dist/src/agent/__tests__/agent.context-manager.test.js +0 -1
- package/dist/src/agent/__tests__/agent.context-manager.test.js.map +1 -1
- package/dist/src/agent/__tests__/agent.stateful-model.test.js +2 -2
- package/dist/src/agent/__tests__/agent.stateful-model.test.js.map +1 -1
- package/dist/src/agent/agent.d.ts +8 -5
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +60 -33
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/context-manager/modes/agentic/agentic-context.d.ts +19 -0
- package/dist/src/context-manager/modes/agentic/agentic-context.d.ts.map +1 -0
- package/dist/src/context-manager/modes/agentic/agentic-context.js +245 -0
- package/dist/src/context-manager/modes/agentic/agentic-context.js.map +1 -0
- package/dist/src/conversation-manager/__tests__/agentic-context.test.d.ts +2 -0
- package/dist/src/conversation-manager/__tests__/agentic-context.test.d.ts.map +1 -0
- package/dist/src/conversation-manager/__tests__/agentic-context.test.js +332 -0
- package/dist/src/conversation-manager/__tests__/agentic-context.test.js.map +1 -0
- package/dist/src/conversation-manager/__tests__/context-compression.test.d.ts +2 -0
- package/dist/src/conversation-manager/__tests__/context-compression.test.d.ts.map +1 -0
- package/dist/src/conversation-manager/__tests__/context-compression.test.js +176 -0
- package/dist/src/conversation-manager/__tests__/context-compression.test.js.map +1 -0
- package/dist/src/conversation-manager/__tests__/pin.test.js +1 -1
- package/dist/src/conversation-manager/__tests__/pin.test.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +1 -1
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js +1 -1
- package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.d.ts +2 -0
- package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.d.ts.map +1 -0
- package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.js +138 -0
- package/dist/src/conversation-manager/__tests__/token-usage-middleware.test.js.map +1 -0
- package/dist/src/conversation-manager/compression/context-compression.d.ts +39 -0
- package/dist/src/conversation-manager/compression/context-compression.d.ts.map +1 -0
- package/dist/src/conversation-manager/compression/context-compression.js +150 -0
- package/dist/src/conversation-manager/compression/context-compression.js.map +1 -0
- package/dist/src/conversation-manager/{pin-message.d.ts → compression/pin-message.d.ts} +1 -1
- package/dist/src/conversation-manager/compression/pin-message.d.ts.map +1 -0
- package/dist/src/conversation-manager/{pin-message.js → compression/pin-message.js} +1 -1
- package/dist/src/conversation-manager/compression/pin-message.js.map +1 -0
- package/dist/src/conversation-manager/conversation-manager.d.ts +2 -0
- package/dist/src/conversation-manager/conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/conversation-manager.js +2 -2
- package/dist/src/conversation-manager/conversation-manager.js.map +1 -1
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js +4 -35
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
- package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts +0 -19
- package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/summarizing-conversation-manager.js +4 -107
- package/dist/src/conversation-manager/summarizing-conversation-manager.js.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/injection/__tests__/message-injection.test.d.ts +2 -0
- package/dist/src/injection/__tests__/message-injection.test.d.ts.map +1 -0
- package/dist/src/injection/__tests__/message-injection.test.js +200 -0
- package/dist/src/injection/__tests__/message-injection.test.js.map +1 -0
- package/dist/src/injection/index.d.ts +6 -0
- package/dist/src/injection/index.d.ts.map +1 -0
- package/dist/src/injection/index.js +2 -0
- package/dist/src/injection/index.js.map +1 -0
- package/dist/src/injection/message-injection.d.ts +65 -0
- package/dist/src/injection/message-injection.d.ts.map +1 -0
- package/dist/src/injection/message-injection.js +134 -0
- package/dist/src/injection/message-injection.js.map +1 -0
- package/dist/src/injection/types.d.ts +63 -0
- package/dist/src/injection/types.d.ts.map +1 -0
- package/dist/src/injection/types.js +2 -0
- package/dist/src/injection/types.js.map +1 -0
- package/dist/src/injection/xml.d.ts +27 -0
- package/dist/src/injection/xml.d.ts.map +1 -0
- package/dist/src/injection/xml.js +31 -0
- package/dist/src/injection/xml.js.map +1 -0
- package/dist/src/memory/__tests__/memory-manager.test.js +188 -2
- package/dist/src/memory/__tests__/memory-manager.test.js.map +1 -1
- package/dist/src/memory/__tests__/memory-tracing.test.d.ts +2 -0
- package/dist/src/memory/__tests__/memory-tracing.test.d.ts.map +1 -0
- package/dist/src/memory/__tests__/memory-tracing.test.js +250 -0
- package/dist/src/memory/__tests__/memory-tracing.test.js.map +1 -0
- package/dist/src/memory/extraction/__tests__/extraction.test.js +41 -39
- package/dist/src/memory/extraction/__tests__/extraction.test.js.map +1 -1
- package/dist/src/memory/extraction/__tests__/model-extractor.test.js +37 -1
- package/dist/src/memory/extraction/__tests__/model-extractor.test.js.map +1 -1
- package/dist/src/memory/extraction/coordinator.d.ts +6 -1
- package/dist/src/memory/extraction/coordinator.d.ts.map +1 -1
- package/dist/src/memory/extraction/coordinator.js +48 -10
- package/dist/src/memory/extraction/coordinator.js.map +1 -1
- package/dist/src/memory/extraction/model-extractor.d.ts.map +1 -1
- package/dist/src/memory/extraction/model-extractor.js +30 -9
- package/dist/src/memory/extraction/model-extractor.js.map +1 -1
- package/dist/src/memory/extraction/types.d.ts +7 -0
- package/dist/src/memory/extraction/types.d.ts.map +1 -1
- package/dist/src/memory/extraction/types.js.map +1 -1
- package/dist/src/memory/index.d.ts +2 -1
- package/dist/src/memory/index.d.ts.map +1 -1
- package/dist/src/memory/index.js.map +1 -1
- package/dist/src/memory/memory-manager.d.ts +64 -4
- package/dist/src/memory/memory-manager.d.ts.map +1 -1
- package/dist/src/memory/memory-manager.js +236 -36
- package/dist/src/memory/memory-manager.js.map +1 -1
- package/dist/src/memory/types.d.ts +72 -0
- package/dist/src/memory/types.d.ts.map +1 -1
- package/dist/src/middleware/__tests__/agent-middleware.test.js +0 -1
- package/dist/src/middleware/__tests__/agent-middleware.test.js.map +1 -1
- package/dist/src/middleware/__tests__/copy-on-input.test.d.ts +2 -0
- package/dist/src/middleware/__tests__/copy-on-input.test.d.ts.map +1 -0
- package/dist/src/middleware/__tests__/copy-on-input.test.js +379 -0
- package/dist/src/middleware/__tests__/copy-on-input.test.js.map +1 -0
- package/dist/src/middleware/stages.d.ts +14 -7
- package/dist/src/middleware/stages.d.ts.map +1 -1
- package/dist/src/middleware/stages.js +3 -0
- package/dist/src/middleware/stages.js.map +1 -1
- package/dist/src/models/__tests__/google.test.js +41 -0
- package/dist/src/models/__tests__/google.test.js.map +1 -1
- package/dist/src/models/google/adapters.d.ts.map +1 -1
- package/dist/src/models/google/adapters.js +21 -3
- package/dist/src/models/google/adapters.js.map +1 -1
- package/dist/src/models/openai/__tests__/errors.test.js +9 -0
- package/dist/src/models/openai/__tests__/errors.test.js.map +1 -1
- package/dist/src/models/openai/__tests__/responses.test.js +47 -0
- package/dist/src/models/openai/__tests__/responses.test.js.map +1 -1
- package/dist/src/models/openai/errors.d.ts.map +1 -1
- package/dist/src/models/openai/errors.js +4 -1
- package/dist/src/models/openai/errors.js.map +1 -1
- package/dist/src/models/openai/responses-adapter.d.ts +1 -0
- package/dist/src/models/openai/responses-adapter.d.ts.map +1 -1
- package/dist/src/models/openai/responses-adapter.js +24 -10
- package/dist/src/models/openai/responses-adapter.js.map +1 -1
- package/dist/src/multiagent/__tests__/graph.test.js +22 -1
- package/dist/src/multiagent/__tests__/graph.test.js.map +1 -1
- package/dist/src/multiagent/graph.d.ts.map +1 -1
- package/dist/src/multiagent/graph.js +4 -1
- package/dist/src/multiagent/graph.js.map +1 -1
- package/dist/src/sandbox/__tests__/docker.test.node.js +2 -2
- package/dist/src/sandbox/__tests__/docker.test.node.js.map +1 -1
- package/dist/src/sandbox/__tests__/ssh.test.node.js +2 -2
- package/dist/src/sandbox/__tests__/ssh.test.node.js.map +1 -1
- package/dist/src/sandbox/base.d.ts +0 -5
- package/dist/src/sandbox/base.d.ts.map +1 -1
- package/dist/src/sandbox/base.js +0 -5
- package/dist/src/sandbox/base.js.map +1 -1
- package/dist/src/sandbox/docker.d.ts.map +1 -1
- package/dist/src/sandbox/docker.js +2 -0
- package/dist/src/sandbox/docker.js.map +1 -1
- package/dist/src/sandbox/ssh.d.ts.map +1 -1
- package/dist/src/sandbox/ssh.js +2 -0
- package/dist/src/sandbox/ssh.js.map +1 -1
- package/dist/src/telemetry/__tests__/tracer.test.node.js +207 -9
- package/dist/src/telemetry/__tests__/tracer.test.node.js.map +1 -1
- package/dist/src/telemetry/tracer.d.ts +82 -2
- package/dist/src/telemetry/tracer.d.ts.map +1 -1
- package/dist/src/telemetry/tracer.js +242 -3
- package/dist/src/telemetry/tracer.js.map +1 -1
- package/dist/src/telemetry/types.d.ts +86 -1
- package/dist/src/telemetry/types.d.ts.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/json.js +2 -2
- package/dist/src/types/json.js.map +1 -1
- package/dist/src/types/messages.d.ts +8 -0
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js +13 -1
- package/dist/src/types/messages.js.map +1 -1
- package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.d.ts +2 -0
- package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.d.ts.map +1 -0
- package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.js +756 -0
- package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.js.map +1 -0
- package/dist/src/vended-interventions/cedar/cedar.d.ts +114 -0
- package/dist/src/vended-interventions/cedar/cedar.d.ts.map +1 -0
- package/dist/src/vended-interventions/cedar/cedar.js +239 -0
- package/dist/src/vended-interventions/cedar/cedar.js.map +1 -0
- package/dist/src/vended-interventions/cedar/index.d.ts +3 -0
- package/dist/src/vended-interventions/cedar/index.d.ts.map +1 -0
- package/dist/src/vended-interventions/cedar/index.js +2 -0
- package/dist/src/vended-interventions/cedar/index.js.map +1 -0
- package/dist/src/vended-interventions/cedar/schema-generator.d.ts +10 -0
- package/dist/src/vended-interventions/cedar/schema-generator.d.ts.map +1 -0
- package/dist/src/vended-interventions/cedar/schema-generator.js +38 -0
- package/dist/src/vended-interventions/cedar/schema-generator.js.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.node.d.ts +2 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.node.d.ts.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/{bedrock-knowledge-base-store.test.js → bedrock-knowledge-base-store.test.node.js} +154 -7
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.node.js.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.d.ts +1 -1
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.d.ts.map +1 -1
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.js.map +1 -1
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts +57 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts.map +1 -1
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js +86 -11
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js.map +1 -1
- package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.d.ts +2 -0
- package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.js +96 -0
- package/dist/src/vended-plugins/context-injector/__tests__/plugin.test.js.map +1 -0
- package/dist/src/vended-plugins/context-injector/index.d.ts +25 -0
- package/dist/src/vended-plugins/context-injector/index.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-injector/index.js +23 -0
- package/dist/src/vended-plugins/context-injector/index.js.map +1 -0
- package/dist/src/vended-plugins/context-injector/plugin.d.ts +55 -0
- package/dist/src/vended-plugins/context-injector/plugin.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-injector/plugin.js +41 -0
- package/dist/src/vended-plugins/context-injector/plugin.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js +43 -4
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.js +5 -1
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js +68 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/storage.test.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/plugin.js +12 -2
- package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/storage.d.ts +29 -1
- package/dist/src/vended-plugins/context-offloader/storage.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/storage.js +76 -5
- package/dist/src/vended-plugins/context-offloader/storage.js.map +1 -1
- package/dist/src/vended-plugins/index.d.ts +2 -1
- package/dist/src/vended-plugins/index.d.ts.map +1 -1
- package/dist/src/vended-plugins/index.js +2 -1
- package/dist/src/vended-plugins/index.js.map +1 -1
- package/dist/src/vended-plugins/skills/skill.d.ts.map +1 -1
- package/dist/src/vended-plugins/skills/skill.js +4 -2
- package/dist/src/vended-plugins/skills/skill.js.map +1 -1
- package/dist/src/vended-tools/http-request/http-request.js +1 -1
- package/dist/src/vended-tools/http-request/http-request.js.map +1 -1
- package/package.json +54 -36
- package/dist/src/conversation-manager/pin-message.d.ts.map +0 -1
- package/dist/src/conversation-manager/pin-message.js.map +0 -1
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.d.ts +0 -2
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.d.ts.map +0 -1
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.js.map +0 -1
|
@@ -5,6 +5,11 @@ import { tool } from '../tools/tool-factory.js';
|
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { logger } from '../logging/logger.js';
|
|
7
7
|
import { normalizeError } from '../errors.js';
|
|
8
|
+
import { isUserTurn, createInjectionMiddleware } from '../injection/message-injection.js';
|
|
9
|
+
import { escapeXmlText, escapeXmlAttr } from '../injection/xml.js';
|
|
10
|
+
import { InvokeModelStage } from '../middleware/index.js';
|
|
11
|
+
import { Tracer } from '../telemetry/tracer.js';
|
|
12
|
+
import { context, trace } from '@opentelemetry/api';
|
|
8
13
|
const SEARCH_TOOL_DESCRIPTION = 'Search long-term memory for facts, preferences, or context from previous conversations. Use when you need background about the user or topic that may have been discussed before.';
|
|
9
14
|
const ADD_TOOL_DESCRIPTION = 'Add facts, preferences, or decisions to long-term memory so they are remembered across conversations. Use when the user shares something worth recalling later.';
|
|
10
15
|
/**
|
|
@@ -12,6 +17,15 @@ const ADD_TOOL_DESCRIPTION = 'Add facts, preferences, or decisions to long-term
|
|
|
12
17
|
* Resolved by the {@link MemoryManager}.
|
|
13
18
|
*/
|
|
14
19
|
export const DEFAULT_MAX_SEARCH_RESULTS = 3;
|
|
20
|
+
/**
|
|
21
|
+
* Default number of entries injected per model call when injection does not specify one.
|
|
22
|
+
*
|
|
23
|
+
* A memory store ranks by semantic (embedding) similarity, which is not the same as contextual
|
|
24
|
+
* usefulness — the top hit is not reliably the most useful entry for the turn. Injecting the top few
|
|
25
|
+
* gives the model a small candidate set to pick from rather than betting on the store's first result.
|
|
26
|
+
* Five balances that recall against context bloat; lower it for a tighter prepend.
|
|
27
|
+
*/
|
|
28
|
+
const DEFAULT_MAX_ENTRIES = 5;
|
|
15
29
|
/** Flattens nested AggregateErrors so the leaves are concrete reasons, not errors-of-errors. */
|
|
16
30
|
function _flattenReasons(reasons) {
|
|
17
31
|
return reasons.flatMap((reason) => (reason instanceof AggregateError ? _flattenReasons(reason.errors) : [reason]));
|
|
@@ -59,6 +73,15 @@ export class MemoryManager {
|
|
|
59
73
|
_extractionStores;
|
|
60
74
|
/** Background extraction coordinator, created in {@link initAgent} when extraction is configured. */
|
|
61
75
|
_coordinator;
|
|
76
|
+
/** Resolved injection config, or `false` when injection is disabled. */
|
|
77
|
+
_injectionConfig;
|
|
78
|
+
/**
|
|
79
|
+
* Tracer for memory operation spans, shared with the extraction coordinator. A per-instance
|
|
80
|
+
* Tracer is intentional: it wraps the same global OTel provider, and parent-child nesting is
|
|
81
|
+
* established via OTel context (context.active() / context.with()), not instance hierarchy — so a
|
|
82
|
+
* fresh instance routes spans to the same exporter and parents correctly without fragmenting traces.
|
|
83
|
+
*/
|
|
84
|
+
_tracer = new Tracer();
|
|
62
85
|
constructor(config) {
|
|
63
86
|
if (config.stores.length === 0) {
|
|
64
87
|
throw new Error('MemoryManager: at least one store is required');
|
|
@@ -117,6 +140,8 @@ export class MemoryManager {
|
|
|
117
140
|
this._addToolConfig = typeof config.addToolConfig === 'object' ? config.addToolConfig : {};
|
|
118
141
|
this._addToolStores = this._resolveAddToolStores(this._addToolConfig);
|
|
119
142
|
}
|
|
143
|
+
this._injectionConfig =
|
|
144
|
+
config.injection === false ? false : typeof config.injection === 'object' ? config.injection : {};
|
|
120
145
|
}
|
|
121
146
|
/**
|
|
122
147
|
* Resolves the writable stores the `add_memory` tool may write to. When `stores` is given, each
|
|
@@ -145,16 +170,34 @@ export class MemoryManager {
|
|
|
145
170
|
/**
|
|
146
171
|
* Initializes the plugin with the agent.
|
|
147
172
|
*
|
|
148
|
-
* Wires up
|
|
149
|
-
*
|
|
173
|
+
* Wires up two independent behaviors:
|
|
174
|
+
* - **Extraction**: for any store configured with {@link ExtractionConfig}, buffers conversation
|
|
175
|
+
* messages and attaches each store's triggers. A no-op when no store uses extraction.
|
|
176
|
+
* - **Injection**: when enabled, registers an `InvokeModelStage` middleware that folds retrieved
|
|
177
|
+
* memory into the model input for each call without touching durable history. See
|
|
178
|
+
* {@link _provideMemoryContext}, the `renderContent` callback the middleware invokes.
|
|
150
179
|
*
|
|
151
180
|
* @param agent - The agent this plugin is being attached to
|
|
152
181
|
*/
|
|
153
|
-
initAgent(agent) {
|
|
182
|
+
async initAgent(agent) {
|
|
183
|
+
await this._initStores();
|
|
184
|
+
this._initExtraction(agent);
|
|
185
|
+
this._initInjection(agent);
|
|
186
|
+
}
|
|
187
|
+
/** Call `initialize()` on each store that implements it. */
|
|
188
|
+
async _initStores() {
|
|
189
|
+
for (const store of this._searchStores) {
|
|
190
|
+
if (store.initialize) {
|
|
191
|
+
await store.initialize();
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
/** Wires background extraction for stores configured with {@link ExtractionConfig}. */
|
|
196
|
+
_initExtraction(agent) {
|
|
154
197
|
if (this._extractionStores.length === 0) {
|
|
155
198
|
return;
|
|
156
199
|
}
|
|
157
|
-
const coordinator = new ExtractionCoordinator(this._extractionStores, agent.model);
|
|
200
|
+
const coordinator = new ExtractionCoordinator(this._extractionStores, agent.model, this._tracer);
|
|
158
201
|
this._coordinator = coordinator;
|
|
159
202
|
// Buffer every message the agent adds, so extraction has its own copy to save from.
|
|
160
203
|
agent.addHook(MessageAddedEvent, (event) => {
|
|
@@ -166,6 +209,73 @@ export class MemoryManager {
|
|
|
166
209
|
}
|
|
167
210
|
}
|
|
168
211
|
}
|
|
212
|
+
/**
|
|
213
|
+
* Registers the injection middleware when injection is enabled. Folds retrieved memory into the
|
|
214
|
+
* model input for each call via {@link _provideMemoryContext}, without touching durable history. A
|
|
215
|
+
* no-op when injection is disabled.
|
|
216
|
+
*/
|
|
217
|
+
_initInjection(agent) {
|
|
218
|
+
const config = this._injectionConfig;
|
|
219
|
+
if (config === false) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
agent.addMiddleware(InvokeModelStage.Input, createInjectionMiddleware({
|
|
223
|
+
...(config.trigger !== undefined && { trigger: config.trigger }),
|
|
224
|
+
renderContent: (context) => this._provideMemoryContext(context.messages, config),
|
|
225
|
+
}));
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Produces the memory context text to inject for a model call, or `undefined` to skip. This is the
|
|
229
|
+
* `renderContent` callback the injection middleware invokes (see {@link initAgent}).
|
|
230
|
+
*
|
|
231
|
+
* Derives a query (the configured callback or an adaptive default), searches memory, and renders the
|
|
232
|
+
* top entries. Skips silently (returns `undefined`) when no query can be derived or the search
|
|
233
|
+
* returns nothing. The rendering callback throwing fails open (returns `undefined`).
|
|
234
|
+
*
|
|
235
|
+
* @param messages - The current conversation, as data
|
|
236
|
+
* @param config - The resolved injection configuration
|
|
237
|
+
* @returns The injected text, or `undefined` when there is nothing to inject
|
|
238
|
+
*/
|
|
239
|
+
async _provideMemoryContext(messages, config) {
|
|
240
|
+
const maxResults = config.maxEntries ?? DEFAULT_MAX_ENTRIES;
|
|
241
|
+
const span = this._tracer.startMemoryInjectSpan({ maxEntries: maxResults });
|
|
242
|
+
// End the inject span on every path (skip, fail-open, success). Injection fails open, so a
|
|
243
|
+
// format failure ends OK with a flag; only callers above us treat a thrown search as an error.
|
|
244
|
+
const end = (injected, entryCount = 0, formatError = false) => {
|
|
245
|
+
this._tracer.endMemoryInjectSpan(span, { injected, entryCount, formatError });
|
|
246
|
+
};
|
|
247
|
+
// Set the inject span active so the nested search span parents under it.
|
|
248
|
+
const run = async () => {
|
|
249
|
+
const query = this._resolveInjectionQuery(messages, config);
|
|
250
|
+
if (!query?.trim()) {
|
|
251
|
+
end(false);
|
|
252
|
+
return undefined;
|
|
253
|
+
}
|
|
254
|
+
const entries = (await this.search(query, { maxSearchResults: maxResults })).slice(0, maxResults);
|
|
255
|
+
if (entries.length === 0) {
|
|
256
|
+
end(false);
|
|
257
|
+
return undefined;
|
|
258
|
+
}
|
|
259
|
+
try {
|
|
260
|
+
const rendered = config.format ? config.format({ entries }) : this._defaultInjectionFormat(entries);
|
|
261
|
+
end(true, entries.length);
|
|
262
|
+
return rendered;
|
|
263
|
+
}
|
|
264
|
+
catch (error) {
|
|
265
|
+
logger.warn(`reason=<${normalizeError(error).message}> | injection format threw; skipping injection`);
|
|
266
|
+
end(false, 0, true);
|
|
267
|
+
return undefined;
|
|
268
|
+
}
|
|
269
|
+
};
|
|
270
|
+
try {
|
|
271
|
+
return span ? await context.with(trace.setSpan(context.active(), span), run) : await run();
|
|
272
|
+
}
|
|
273
|
+
catch (error) {
|
|
274
|
+
// search (or anything else here) throwing must not leak the span; end it and rethrow.
|
|
275
|
+
end(false);
|
|
276
|
+
throw error;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
169
279
|
/**
|
|
170
280
|
* Saves every store's remaining messages and waits for all saves to finish. No-op when no store has
|
|
171
281
|
* extraction configured.
|
|
@@ -181,6 +291,58 @@ export class MemoryManager {
|
|
|
181
291
|
async flush() {
|
|
182
292
|
await this._coordinator?.flush();
|
|
183
293
|
}
|
|
294
|
+
/**
|
|
295
|
+
* Derives the injection search query. Uses the configured `query` callback when provided (a throw
|
|
296
|
+
* fails open, skipping injection); otherwise an adaptive default: the latest user message's text on
|
|
297
|
+
* a user turn, or the most recent assistant message's text otherwise (the previous autonomous step).
|
|
298
|
+
*
|
|
299
|
+
* @param messages - The current conversation, as data
|
|
300
|
+
* @param config - The resolved injection configuration
|
|
301
|
+
* @returns The query string, or `undefined` when none is available
|
|
302
|
+
*/
|
|
303
|
+
_resolveInjectionQuery(messages, config) {
|
|
304
|
+
if (config.query) {
|
|
305
|
+
try {
|
|
306
|
+
return config.query({ messages });
|
|
307
|
+
}
|
|
308
|
+
catch (error) {
|
|
309
|
+
logger.warn(`reason=<${normalizeError(error).message}> | injection query threw; skipping injection`);
|
|
310
|
+
return undefined;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
const role = isUserTurn(messages) ? 'user' : 'assistant';
|
|
314
|
+
const index = this._findLastIndex(messages, (message) => message.role === role);
|
|
315
|
+
if (index < 0) {
|
|
316
|
+
return undefined;
|
|
317
|
+
}
|
|
318
|
+
const text = messages[index].content.filter((block) => 'text' in block)
|
|
319
|
+
.map((block) => block.text)
|
|
320
|
+
.join('\n')
|
|
321
|
+
.trim();
|
|
322
|
+
return text.length > 0 ? text : undefined;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Default injection format: a `<memory>` block with one `<entry>` per result. Each entry carries a
|
|
326
|
+
* `source` attribute naming the originating store (when known) so the model can attribute memories.
|
|
327
|
+
*
|
|
328
|
+
* @param entries - The retrieved memory entries to render
|
|
329
|
+
* @returns The rendered `<memory>` block
|
|
330
|
+
*/
|
|
331
|
+
_defaultInjectionFormat(entries) {
|
|
332
|
+
const items = entries.map((entry) => entry.storeName
|
|
333
|
+
? `<entry source="${escapeXmlAttr(entry.storeName)}">${escapeXmlText(entry.content)}</entry>`
|
|
334
|
+
: `<entry>${escapeXmlText(entry.content)}</entry>`);
|
|
335
|
+
return `<memory>\n${items.join('\n')}\n</memory>`;
|
|
336
|
+
}
|
|
337
|
+
/** Returns the index of the last element matching `predicate`, or -1. */
|
|
338
|
+
_findLastIndex(items, predicate) {
|
|
339
|
+
for (let i = items.length - 1; i >= 0; i--) {
|
|
340
|
+
if (predicate(items[i])) {
|
|
341
|
+
return i;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
return -1;
|
|
345
|
+
}
|
|
184
346
|
/**
|
|
185
347
|
* Returns tools registered by this plugin.
|
|
186
348
|
*
|
|
@@ -222,30 +384,48 @@ export class MemoryManager {
|
|
|
222
384
|
*/
|
|
223
385
|
async search(query, options) {
|
|
224
386
|
logger.debug(`query=<${query}>, max_search_results=<${options?.maxSearchResults}>, stores=<${options?.stores}> | searching stores`);
|
|
225
|
-
const
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
387
|
+
const spanStoreNames = options?.stores ?? this._config.stores.map((s) => s.name);
|
|
388
|
+
const span = this._tracer.startMemorySearchSpan({
|
|
389
|
+
query,
|
|
390
|
+
storeNames: spanStoreNames,
|
|
391
|
+
...(options?.maxSearchResults !== undefined && { maxSearchResults: options.maxSearchResults }),
|
|
392
|
+
});
|
|
393
|
+
let targetStores;
|
|
394
|
+
let settled;
|
|
395
|
+
try {
|
|
396
|
+
targetStores =
|
|
397
|
+
options?.stores !== undefined
|
|
398
|
+
? [...new Set(options.stores)].map((name) => {
|
|
399
|
+
const found = this._config.stores.find((s) => s.name === name);
|
|
400
|
+
if (!found) {
|
|
401
|
+
throw new Error(`MemoryManager: store '${name}' not found`);
|
|
402
|
+
}
|
|
403
|
+
return found;
|
|
404
|
+
})
|
|
405
|
+
: this._config.stores;
|
|
406
|
+
settled = await Promise.allSettled(targetStores.map((store) => store.search(query, {
|
|
407
|
+
maxSearchResults: options?.maxSearchResults ?? store.maxSearchResults ?? DEFAULT_MAX_SEARCH_RESULTS,
|
|
408
|
+
})));
|
|
409
|
+
}
|
|
410
|
+
catch (error) {
|
|
411
|
+
this._tracer.endMemorySearchSpan(span, { error: normalizeError(error) });
|
|
412
|
+
throw error;
|
|
413
|
+
}
|
|
237
414
|
const results = [];
|
|
415
|
+
let storeFailureCount = 0;
|
|
238
416
|
for (let i = 0; i < settled.length; i++) {
|
|
239
417
|
const settledResult = settled[i];
|
|
240
418
|
const storeName = targetStores[i].name;
|
|
241
419
|
if (settledResult.status === 'rejected') {
|
|
242
420
|
logger.warn(`store=<${storeName}>, reason=<${normalizeError(settledResult.reason).message}> | store search failed`);
|
|
421
|
+
storeFailureCount++;
|
|
243
422
|
continue;
|
|
244
423
|
}
|
|
245
424
|
for (const entry of settledResult.value) {
|
|
246
425
|
results.push({ ...entry, storeName });
|
|
247
426
|
}
|
|
248
427
|
}
|
|
428
|
+
this._tracer.endMemorySearchSpan(span, { entries: results, storeFailureCount });
|
|
249
429
|
logger.debug(`results=<${results.length}> | search complete`);
|
|
250
430
|
return results;
|
|
251
431
|
}
|
|
@@ -260,28 +440,45 @@ export class MemoryManager {
|
|
|
260
440
|
*
|
|
261
441
|
* @param content - The text content to add
|
|
262
442
|
* @param options - Optional metadata and store name filter
|
|
443
|
+
* @param detached - Internal. When the write runs detached from the call that scheduled it (the
|
|
444
|
+
* fire-and-forget add tool path), start the span as a trace root rather than parenting to a
|
|
445
|
+
* possibly-ended span.
|
|
446
|
+
* @internal
|
|
263
447
|
*/
|
|
264
|
-
async add(content, options) {
|
|
448
|
+
async add(content, options, detached = false) {
|
|
449
|
+
const spanStoreNames = options?.stores ?? this._addStores.map((s) => s.name);
|
|
450
|
+
const span = this._tracer.startMemoryAddSpan({
|
|
451
|
+
content,
|
|
452
|
+
storeNames: spanStoreNames,
|
|
453
|
+
...(detached && { forceRoot: true }),
|
|
454
|
+
});
|
|
265
455
|
let writableStores;
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
456
|
+
let settled;
|
|
457
|
+
try {
|
|
458
|
+
if (options?.stores !== undefined) {
|
|
459
|
+
writableStores = [...new Set(options.stores)].map((name) => {
|
|
460
|
+
const found = this._config.stores.find((s) => s.name === name);
|
|
461
|
+
if (!found) {
|
|
462
|
+
throw new Error(`MemoryManager: store '${name}' not found`);
|
|
463
|
+
}
|
|
464
|
+
if (!found.writable) {
|
|
465
|
+
throw new Error(`MemoryManager: store '${name}' is read-only`);
|
|
466
|
+
}
|
|
467
|
+
return found;
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
else {
|
|
471
|
+
writableStores = this._addStores;
|
|
472
|
+
}
|
|
473
|
+
if (writableStores.length === 0) {
|
|
474
|
+
throw new Error('MemoryManager: no writable store matched');
|
|
475
|
+
}
|
|
476
|
+
settled = await Promise.allSettled(writableStores.map((store) => store.add(content, options?.metadata)));
|
|
280
477
|
}
|
|
281
|
-
|
|
282
|
-
|
|
478
|
+
catch (error) {
|
|
479
|
+
this._tracer.endMemoryAddSpan(span, { error: normalizeError(error) });
|
|
480
|
+
throw error;
|
|
283
481
|
}
|
|
284
|
-
const settled = await Promise.allSettled(writableStores.map((store) => store.add(content, options?.metadata)));
|
|
285
482
|
const failures = [];
|
|
286
483
|
for (let i = 0; i < settled.length; i++) {
|
|
287
484
|
const settledResult = settled[i];
|
|
@@ -292,8 +489,11 @@ export class MemoryManager {
|
|
|
292
489
|
}
|
|
293
490
|
}
|
|
294
491
|
if (failures.length > 0) {
|
|
295
|
-
|
|
492
|
+
const aggregateError = new AggregateError(failures.map((failure) => failure.reason), `MemoryManager: store writes failed: ${failures.map((failure) => failure.store).join(', ')}`);
|
|
493
|
+
this._tracer.endMemoryAddSpan(span, { storeFailureCount: failures.length, error: aggregateError });
|
|
494
|
+
throw aggregateError;
|
|
296
495
|
}
|
|
496
|
+
this._tracer.endMemoryAddSpan(span);
|
|
297
497
|
}
|
|
298
498
|
/**
|
|
299
499
|
* Resolves the store names that a tool callback should target against the tool's scoped set.
|
|
@@ -385,7 +585,7 @@ export class MemoryManager {
|
|
|
385
585
|
// Fire-and-forget: dispatch the writes without awaiting so the agent loop isn't blocked.
|
|
386
586
|
// add() logs per-store failures; swallow the rejection so it isn't an unhandled rejection.
|
|
387
587
|
for (const content of input.entries) {
|
|
388
|
-
void this.add(content, { stores }).catch(() => { });
|
|
588
|
+
void this.add(content, { stores }, true).catch(() => { });
|
|
389
589
|
}
|
|
390
590
|
return { accepted: input.entries.length };
|
|
391
591
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-manager.js","sourceRoot":"","sources":["../../../src/memory/memory-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory-manager.js","sourceRoot":"","sources":["../../../src/memory/memory-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { JSONValue } from '../types/json.js';
|
|
|
2
2
|
import type { MessageData } from '../types/messages.js';
|
|
3
3
|
import type { Tool } from '../tools/tool.js';
|
|
4
4
|
import type { ExtractionConfig } from './extraction/types.js';
|
|
5
|
+
import type { InjectionConfig } from '../injection/index.js';
|
|
5
6
|
/**
|
|
6
7
|
* A single memory entry retrieved from or stored to a memory store.
|
|
7
8
|
*/
|
|
@@ -139,6 +140,13 @@ export interface MemoryStore extends MemoryStoreConfig {
|
|
|
139
140
|
* @param context - Manager-supplied per-batch context (see {@link AddMessagesContext})
|
|
140
141
|
*/
|
|
141
142
|
addMessages?(messages: MessageData[], context?: AddMessagesContext): Promise<unknown>;
|
|
143
|
+
/**
|
|
144
|
+
* Perform async setup that must succeed before the agent runs.
|
|
145
|
+
*
|
|
146
|
+
* Called by the {@link MemoryManager} during `initAgent`. Stores that require remote resources
|
|
147
|
+
* (e.g. resolving a knowledge base type) implement this; the default is a no-op.
|
|
148
|
+
*/
|
|
149
|
+
initialize?(): Promise<void>;
|
|
142
150
|
/**
|
|
143
151
|
* Returns store-specific tools to register with the agent, through a {@link MemoryManager}. Registers
|
|
144
152
|
* tools alongside `search_memory` / `add_memory` tools if enabled on the {@link MemoryManager}.
|
|
@@ -196,6 +204,54 @@ export interface MemoryAddToolConfig extends MemoryToolConfig {
|
|
|
196
204
|
*/
|
|
197
205
|
waitForWrites?: boolean;
|
|
198
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* Configuration for memory context injection.
|
|
209
|
+
*
|
|
210
|
+
* When enabled on a {@link MemoryManager}, the manager searches memory before a model call and makes
|
|
211
|
+
* the top results available to the model for that call, so relevant knowledge is present without the
|
|
212
|
+
* model choosing to search. The injected text is ephemeral: it augments the model input for that call
|
|
213
|
+
* only and never persists into the durable conversation or session.
|
|
214
|
+
*
|
|
215
|
+
* Extends the generic {@link InjectionConfig} (which carries `trigger`) with the memory-owned knobs:
|
|
216
|
+
* how many entries to retrieve, how to derive the query, and how to render the results.
|
|
217
|
+
*/
|
|
218
|
+
export interface MemoryInjectionConfig extends InjectionConfig {
|
|
219
|
+
/**
|
|
220
|
+
* Maximum number of entries to retrieve and inject per model call.
|
|
221
|
+
*
|
|
222
|
+
* A store ranks by semantic similarity, which is not the same as contextual usefulness, so the
|
|
223
|
+
* default injects a small candidate set rather than betting on the top hit. Raising this improves
|
|
224
|
+
* recall at the cost of a larger prepend (context bloat); lower it for a tighter injection.
|
|
225
|
+
*
|
|
226
|
+
* With multiple stores, results are concatenated in store-registration order with no cross-store
|
|
227
|
+
* ranking, so this cap can favor entries from earlier-registered stores.
|
|
228
|
+
*
|
|
229
|
+
* @defaultValue 5
|
|
230
|
+
*/
|
|
231
|
+
maxEntries?: number;
|
|
232
|
+
/**
|
|
233
|
+
* Derives the search query from the current conversation. Return `undefined` or an empty string to
|
|
234
|
+
* skip injection for this call. A callback that throws fails open (injection is skipped).
|
|
235
|
+
*
|
|
236
|
+
* Defaults to an adaptive query: the latest user message's text on a user turn, otherwise the most
|
|
237
|
+
* recent assistant message's text (the previous step on an autonomous turn).
|
|
238
|
+
*/
|
|
239
|
+
query?: (context: {
|
|
240
|
+
messages: MessageData[];
|
|
241
|
+
}) => string | undefined;
|
|
242
|
+
/**
|
|
243
|
+
* Renders retrieved entries into the injected text. A callback that throws fails open (injection is
|
|
244
|
+
* skipped).
|
|
245
|
+
*
|
|
246
|
+
* Defaults to a `<memory>` XML block with one `<entry>` per result, carrying a `source` attribute
|
|
247
|
+
* naming the originating store (when known) so the model can attribute and weigh each memory. The
|
|
248
|
+
* default escapes entry content and source, so a custom `format` that emits markup is responsible
|
|
249
|
+
* for its own escaping.
|
|
250
|
+
*/
|
|
251
|
+
format?: (context: {
|
|
252
|
+
entries: MemoryEntry[];
|
|
253
|
+
}) => string;
|
|
254
|
+
}
|
|
199
255
|
/**
|
|
200
256
|
* Configuration for the {@link MemoryManager}.
|
|
201
257
|
*/
|
|
@@ -209,5 +265,21 @@ export interface MemoryManagerConfig {
|
|
|
209
265
|
* writable stores; pass a {@link MemoryAddToolConfig} with `stores` to restrict it to specific ones.
|
|
210
266
|
*/
|
|
211
267
|
addToolConfig?: MemoryAddToolConfig | boolean;
|
|
268
|
+
/**
|
|
269
|
+
* Memory context injection. Defaults to `true`. `true` uses the default injection settings;
|
|
270
|
+
* pass a {@link MemoryInjectionConfig} to customize retrieval, timing, and formatting; `false`
|
|
271
|
+
* disables it.
|
|
272
|
+
*
|
|
273
|
+
* `true` is equivalent to:
|
|
274
|
+
* ```ts
|
|
275
|
+
* {
|
|
276
|
+
* trigger: 'userTurn', // inject only on a fresh user ask
|
|
277
|
+
* maxEntries: 5, // retrieve and inject up to 5 entries
|
|
278
|
+
* // query: the latest user text on a user turn, else the most recent assistant text
|
|
279
|
+
* // format: a <memory> block with one <entry source="STORE_NAME"> per result (content escaped)
|
|
280
|
+
* }
|
|
281
|
+
* ```
|
|
282
|
+
*/
|
|
283
|
+
injection?: boolean | MemoryInjectionConfig;
|
|
212
284
|
}
|
|
213
285
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/memory/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/memory/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,6 @@ describe('Agent middleware integration — InvokeModelStage', () => {
|
|
|
38
38
|
systemPrompt: 'Be helpful',
|
|
39
39
|
messages: expect.arrayContaining([expect.any(Message)]),
|
|
40
40
|
toolSpecs: expect.arrayContaining([expect.objectContaining({ name: 'testTool' })]),
|
|
41
|
-
modelState: expect.anything(),
|
|
42
41
|
invocationState: expect.anything(),
|
|
43
42
|
});
|
|
44
43
|
});
|