@strands-agents/sdk 1.6.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/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/memory/__tests__/memory-manager.test.js +7 -7
- 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/memory-manager.d.ts +15 -2
- package/dist/src/memory/memory-manager.d.ts.map +1 -1
- package/dist/src/memory/memory-manager.js +123 -45
- package/dist/src/memory/memory-manager.js.map +1 -1
- package/dist/src/memory/types.d.ts +7 -0
- package/dist/src/memory/types.d.ts.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/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/vended-interventions/cedar/__tests__/cedar.test.node.js +81 -0
- package/dist/src/vended-interventions/cedar/__tests__/cedar.test.node.js.map +1 -1
- package/dist/src/vended-interventions/cedar/cedar.d.ts +12 -0
- package/dist/src/vended-interventions/cedar/cedar.d.ts.map +1 -1
- package/dist/src/vended-interventions/cedar/cedar.js +15 -4
- package/dist/src/vended-interventions/cedar/cedar.js.map +1 -1
- package/dist/src/vended-interventions/cedar/schema-generator.d.ts +1 -1
- package/dist/src/vended-interventions/cedar/schema-generator.d.ts.map +1 -1
- package/dist/src/vended-interventions/cedar/schema-generator.js +8 -3
- package/dist/src/vended-interventions/cedar/schema-generator.js.map +1 -1
- 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-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/storage.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/storage.js +15 -2
- package/dist/src/vended-plugins/context-offloader/storage.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 +36 -36
- 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
|
@@ -3,6 +3,7 @@ import { MemoryManager } from '../../memory-manager.js';
|
|
|
3
3
|
import { InvocationTrigger, IntervalTrigger } from '../triggers.js';
|
|
4
4
|
import { ExtractionCoordinator, SAVE_FAILURES_BEFORE_BACKOFF, BACKOFF_PROBE_INTERVAL, } from '../coordinator.js';
|
|
5
5
|
import { resolveExtractionConfig } from '../resolve-extraction-config.js';
|
|
6
|
+
import { Tracer } from '../../../telemetry/tracer.js';
|
|
6
7
|
import { Message, TextBlock, ToolUseBlock } from '../../../types/messages.js';
|
|
7
8
|
import { AfterInvocationEvent, MessageAddedEvent } from '../../../hooks/events.js';
|
|
8
9
|
import { createMockAgent } from '../../../__fixtures__/agent-helpers.js';
|
|
@@ -93,7 +94,7 @@ describe('MemoryManager extraction', () => {
|
|
|
93
94
|
const store = createExtractionStore('s', true, 'addMessages');
|
|
94
95
|
const mm = new MemoryManager({ stores: [store] });
|
|
95
96
|
const agent = createMockAgent();
|
|
96
|
-
mm.initAgent(agent);
|
|
97
|
+
await mm.initAgent(agent);
|
|
97
98
|
await addMessages(agent, userMsg('remember this'));
|
|
98
99
|
// The default trigger fires every DEFAULT_EXTRACTION_TRIGGER_TURNS turns; flush forces the write.
|
|
99
100
|
await mm.flush();
|
|
@@ -103,7 +104,7 @@ describe('MemoryManager extraction', () => {
|
|
|
103
104
|
const store = createExtractionStore('s', false, 'addMessages');
|
|
104
105
|
const mm = new MemoryManager({ stores: [store] });
|
|
105
106
|
const agent = createMockAgent();
|
|
106
|
-
mm.initAgent(agent);
|
|
107
|
+
await mm.initAgent(agent);
|
|
107
108
|
await addMessages(agent, userMsg('ignored'));
|
|
108
109
|
await mm.flush();
|
|
109
110
|
expect(store.addMessages).not.toHaveBeenCalled();
|
|
@@ -116,7 +117,7 @@ describe('MemoryManager extraction', () => {
|
|
|
116
117
|
model.addTurn({ type: 'textBlock', text: '[{"content":"a durable fact"}]' });
|
|
117
118
|
const mm = new MemoryManager({ stores: [store] });
|
|
118
119
|
const agent = createMockAgent({ extra: { model: model } });
|
|
119
|
-
mm.initAgent(agent);
|
|
120
|
+
await mm.initAgent(agent);
|
|
120
121
|
await addMessages(agent, userMsg('I like dark mode'));
|
|
121
122
|
await fireInvocation(agent, mm);
|
|
122
123
|
expect(store.add).toHaveBeenCalledWith('a durable fact', undefined);
|
|
@@ -125,7 +126,7 @@ describe('MemoryManager extraction', () => {
|
|
|
125
126
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()] }, 'both');
|
|
126
127
|
const mm = new MemoryManager({ stores: [store] });
|
|
127
128
|
const agent = createMockAgent();
|
|
128
|
-
mm.initAgent(agent);
|
|
129
|
+
await mm.initAgent(agent);
|
|
129
130
|
await addMessages(agent, userMsg('hi'));
|
|
130
131
|
await fireInvocation(agent, mm);
|
|
131
132
|
expect(store.addMessages).toHaveBeenCalledTimes(1);
|
|
@@ -137,7 +138,7 @@ describe('MemoryManager extraction', () => {
|
|
|
137
138
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
138
139
|
const mm = new MemoryManager({ stores: [store] });
|
|
139
140
|
const agent = createMockAgent();
|
|
140
|
-
mm.initAgent(agent);
|
|
141
|
+
await mm.initAgent(agent);
|
|
141
142
|
await addMessages(agent, userMsg('I prefer dark mode'), new Message({ role: 'assistant', content: [new TextBlock('Noted')] }));
|
|
142
143
|
await fireInvocation(agent, mm);
|
|
143
144
|
expect(store.addMessages).toHaveBeenCalledTimes(1);
|
|
@@ -152,7 +153,7 @@ describe('MemoryManager extraction', () => {
|
|
|
152
153
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
153
154
|
const mm = new MemoryManager({ stores: [store] });
|
|
154
155
|
const agent = createMockAgent();
|
|
155
|
-
mm.initAgent(agent);
|
|
156
|
+
await mm.initAgent(agent);
|
|
156
157
|
await addMessages(agent, userMsg('first'), userMsg('second'));
|
|
157
158
|
await fireInvocation(agent, mm);
|
|
158
159
|
const batch = store.addMessages.mock.calls[0][0];
|
|
@@ -165,7 +166,7 @@ describe('MemoryManager extraction', () => {
|
|
|
165
166
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
166
167
|
const mm = new MemoryManager({ stores: [store] });
|
|
167
168
|
const agent = createMockAgent();
|
|
168
|
-
mm.initAgent(agent);
|
|
169
|
+
await mm.initAgent(agent);
|
|
169
170
|
// seq 0 (kept), seq 1 (tool-only, filtered to empty and dropped), seq 2 (kept).
|
|
170
171
|
const toolOnly = new Message({
|
|
171
172
|
role: 'assistant',
|
|
@@ -184,7 +185,7 @@ describe('MemoryManager extraction', () => {
|
|
|
184
185
|
store.addMessages.mockRejectedValueOnce(new Error('backend down'));
|
|
185
186
|
const mm = new MemoryManager({ stores: [store] });
|
|
186
187
|
const agent = createMockAgent();
|
|
187
|
-
mm.initAgent(agent);
|
|
188
|
+
await mm.initAgent(agent);
|
|
188
189
|
await addMessages(agent, userMsg('first'), userMsg('second'));
|
|
189
190
|
await fireInvocation(agent, mm); // fails, mark rolled back
|
|
190
191
|
await fireInvocation(agent, mm); // retries the same batch
|
|
@@ -199,7 +200,7 @@ describe('MemoryManager extraction', () => {
|
|
|
199
200
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
200
201
|
const mm = new MemoryManager({ stores: [store] });
|
|
201
202
|
const agent = createMockAgent();
|
|
202
|
-
mm.initAgent(agent);
|
|
203
|
+
await mm.initAgent(agent);
|
|
203
204
|
// First turn (seq 0) saves cleanly; second turn (seq 1) fails then retries.
|
|
204
205
|
await addMessages(agent, userMsg('turn one'));
|
|
205
206
|
await fireInvocation(agent, mm);
|
|
@@ -217,7 +218,7 @@ describe('MemoryManager extraction', () => {
|
|
|
217
218
|
const b = createExtractionStore('b', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
218
219
|
const mm = new MemoryManager({ stores: [a, b] });
|
|
219
220
|
const agent = createMockAgent();
|
|
220
|
-
mm.initAgent(agent);
|
|
221
|
+
await mm.initAgent(agent);
|
|
221
222
|
await addMessages(agent, userMsg('first'), userMsg('second'));
|
|
222
223
|
await fireInvocation(agent, mm);
|
|
223
224
|
const ctxA = a.addMessages.mock.calls[0][1];
|
|
@@ -230,16 +231,17 @@ describe('MemoryManager extraction', () => {
|
|
|
230
231
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()], extractor }, 'both');
|
|
231
232
|
const mm = new MemoryManager({ stores: [store] });
|
|
232
233
|
const agent = createMockAgent();
|
|
233
|
-
mm.initAgent(agent);
|
|
234
|
+
await mm.initAgent(agent);
|
|
234
235
|
await addMessages(agent, userMsg('something happened'));
|
|
235
236
|
await fireInvocation(agent, mm);
|
|
236
237
|
expect(store.addMessages).not.toHaveBeenCalled();
|
|
237
|
-
// The extractor receives (messages, context); the context is the extractor envelope only
|
|
238
|
-
//
|
|
238
|
+
// The extractor receives (messages, context); the context is the extractor envelope only
|
|
239
|
+
// (defaultModel + tracer), with no sequenceNumbers — that field is for the addMessages route.
|
|
239
240
|
expect(extractor.extract).toHaveBeenCalledTimes(1);
|
|
240
241
|
const extractArgs = extractor.extract.mock.calls[0];
|
|
241
242
|
expect(extractArgs).toHaveLength(2);
|
|
242
|
-
expect(extractArgs[1]).
|
|
243
|
+
expect(extractArgs[1]).not.toHaveProperty('sequenceNumbers');
|
|
244
|
+
expect(extractArgs[1]).toHaveProperty('defaultModel');
|
|
243
245
|
});
|
|
244
246
|
});
|
|
245
247
|
describe('extractor route', () => {
|
|
@@ -250,7 +252,7 @@ describe('MemoryManager extraction', () => {
|
|
|
250
252
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()], extractor }, 'both');
|
|
251
253
|
const mm = new MemoryManager({ stores: [store] });
|
|
252
254
|
const agent = createMockAgent();
|
|
253
|
-
mm.initAgent(agent);
|
|
255
|
+
await mm.initAgent(agent);
|
|
254
256
|
await addMessages(agent, userMsg('something happened'));
|
|
255
257
|
await fireInvocation(agent, mm);
|
|
256
258
|
expect(extractor.extract).toHaveBeenCalledTimes(1);
|
|
@@ -267,10 +269,10 @@ describe('MemoryManager extraction', () => {
|
|
|
267
269
|
const mm = new MemoryManager({ stores: [store] });
|
|
268
270
|
const fakeModel = { id: 'model' };
|
|
269
271
|
const agent = createMockAgent({ extra: { model: fakeModel } });
|
|
270
|
-
mm.initAgent(agent);
|
|
272
|
+
await mm.initAgent(agent);
|
|
271
273
|
await addMessages(agent, userMsg('hi'));
|
|
272
274
|
await fireInvocation(agent, mm);
|
|
273
|
-
expect(extractor.extract).toHaveBeenCalledWith(expect.any(Array), { defaultModel: fakeModel });
|
|
275
|
+
expect(extractor.extract).toHaveBeenCalledWith(expect.any(Array), expect.objectContaining({ defaultModel: fakeModel }));
|
|
274
276
|
});
|
|
275
277
|
it('writes entries concurrently rather than serially', async () => {
|
|
276
278
|
// Both add() calls should be in flight before either resolves -> the second is invoked while
|
|
@@ -296,7 +298,7 @@ describe('MemoryManager extraction', () => {
|
|
|
296
298
|
});
|
|
297
299
|
const mm = new MemoryManager({ stores: [store] });
|
|
298
300
|
const agent = createMockAgent();
|
|
299
|
-
mm.initAgent(agent);
|
|
301
|
+
await mm.initAgent(agent);
|
|
300
302
|
await addMessages(agent, userMsg('x'));
|
|
301
303
|
await fireInvocation(agent, mm);
|
|
302
304
|
expect(store.add).toHaveBeenCalledTimes(2);
|
|
@@ -311,7 +313,7 @@ describe('MemoryManager extraction', () => {
|
|
|
311
313
|
store.add.mockResolvedValueOnce(undefined).mockRejectedValueOnce(new Error('write failed'));
|
|
312
314
|
const mm = new MemoryManager({ stores: [store] });
|
|
313
315
|
const agent = createMockAgent();
|
|
314
|
-
mm.initAgent(agent);
|
|
316
|
+
await mm.initAgent(agent);
|
|
315
317
|
await addMessages(agent, userMsg('x'));
|
|
316
318
|
await fireInvocation(agent, mm); // fails, rolled back
|
|
317
319
|
await fireInvocation(agent, mm); // retries the same batch
|
|
@@ -325,7 +327,7 @@ describe('MemoryManager extraction', () => {
|
|
|
325
327
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
326
328
|
const mm = new MemoryManager({ stores: [store] });
|
|
327
329
|
const agent = createMockAgent();
|
|
328
|
-
mm.initAgent(agent);
|
|
330
|
+
await mm.initAgent(agent);
|
|
329
331
|
const toolOnly = new Message({
|
|
330
332
|
role: 'assistant',
|
|
331
333
|
content: [new ToolUseBlock({ name: 't', toolUseId: '1', input: {} })],
|
|
@@ -341,7 +343,7 @@ describe('MemoryManager extraction', () => {
|
|
|
341
343
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()], filter: { exclude: ['text'] } }, 'addMessages');
|
|
342
344
|
const mm = new MemoryManager({ stores: [store] });
|
|
343
345
|
const agent = createMockAgent();
|
|
344
|
-
mm.initAgent(agent);
|
|
346
|
+
await mm.initAgent(agent);
|
|
345
347
|
await addMessages(agent, userMsg('this is text and should be excluded'));
|
|
346
348
|
await fireInvocation(agent, mm);
|
|
347
349
|
// The only message was text, excluded -> emptied -> nothing to write.
|
|
@@ -353,7 +355,7 @@ describe('MemoryManager extraction', () => {
|
|
|
353
355
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
354
356
|
const mm = new MemoryManager({ stores: [store] });
|
|
355
357
|
const agent = createMockAgent();
|
|
356
|
-
mm.initAgent(agent);
|
|
358
|
+
await mm.initAgent(agent);
|
|
357
359
|
await addMessages(agent, userMsg('turn one'));
|
|
358
360
|
await fireInvocation(agent, mm);
|
|
359
361
|
await addMessages(agent, userMsg('turn two'));
|
|
@@ -368,7 +370,7 @@ describe('MemoryManager extraction', () => {
|
|
|
368
370
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
369
371
|
const mm = new MemoryManager({ stores: [store] });
|
|
370
372
|
const agent = createMockAgent();
|
|
371
|
-
mm.initAgent(agent);
|
|
373
|
+
await mm.initAgent(agent);
|
|
372
374
|
await addMessages(agent, userMsg('only turn'));
|
|
373
375
|
await fireInvocation(agent, mm);
|
|
374
376
|
await fireInvocation(agent, mm); // no new messages
|
|
@@ -379,7 +381,7 @@ describe('MemoryManager extraction', () => {
|
|
|
379
381
|
store.addMessages.mockRejectedValueOnce(new Error('backend down'));
|
|
380
382
|
const mm = new MemoryManager({ stores: [store] });
|
|
381
383
|
const agent = createMockAgent();
|
|
382
|
-
mm.initAgent(agent);
|
|
384
|
+
await mm.initAgent(agent);
|
|
383
385
|
await addMessages(agent, userMsg('important'));
|
|
384
386
|
await fireInvocation(agent, mm); // fails, mark rolled back
|
|
385
387
|
await fireInvocation(agent, mm); // retries
|
|
@@ -397,7 +399,7 @@ describe('MemoryManager extraction', () => {
|
|
|
397
399
|
function failingCoordinator() {
|
|
398
400
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
399
401
|
store.addMessages.mockRejectedValue(new Error('backend down'));
|
|
400
|
-
const coordinator = new ExtractionCoordinator([asExtractionStore(store)], {});
|
|
402
|
+
const coordinator = new ExtractionCoordinator([asExtractionStore(store)], {}, new Tracer());
|
|
401
403
|
return { coordinator, store };
|
|
402
404
|
}
|
|
403
405
|
it('backs off to periodic probes after SAVE_FAILURES_BEFORE_BACKOFF failures in a row', async () => {
|
|
@@ -417,7 +419,7 @@ describe('MemoryManager extraction', () => {
|
|
|
417
419
|
store.addMessages.mockRejectedValue(new Error('down'));
|
|
418
420
|
const mm = new MemoryManager({ stores: [store] });
|
|
419
421
|
const agent = createMockAgent();
|
|
420
|
-
mm.initAgent(agent);
|
|
422
|
+
await mm.initAgent(agent);
|
|
421
423
|
// Enter backoff.
|
|
422
424
|
for (let i = 0; i < SAVE_FAILURES_BEFORE_BACKOFF; i++) {
|
|
423
425
|
await turn(agent, mm, `down${i}`);
|
|
@@ -439,7 +441,7 @@ describe('MemoryManager extraction', () => {
|
|
|
439
441
|
const bad = createExtractionStore('bad', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
440
442
|
bad.addMessages.mockRejectedValue(new Error('down'));
|
|
441
443
|
const good = createExtractionStore('good', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
442
|
-
const coordinator = new ExtractionCoordinator([asExtractionStore(bad), asExtractionStore(good)], {});
|
|
444
|
+
const coordinator = new ExtractionCoordinator([asExtractionStore(bad), asExtractionStore(good)], {}, new Tracer());
|
|
443
445
|
const PROBES = 2;
|
|
444
446
|
const requests = SAVE_FAILURES_BEFORE_BACKOFF + BACKOFF_PROBE_INTERVAL * PROBES;
|
|
445
447
|
for (let i = 0; i < requests; i++) {
|
|
@@ -456,7 +458,7 @@ describe('MemoryManager extraction', () => {
|
|
|
456
458
|
store.addMessages.mockRejectedValue(new Error('down'));
|
|
457
459
|
const mm = new MemoryManager({ stores: [store] });
|
|
458
460
|
const agent = createMockAgent();
|
|
459
|
-
mm.initAgent(agent);
|
|
461
|
+
await mm.initAgent(agent);
|
|
460
462
|
await addMessages(agent, userMsg('x'));
|
|
461
463
|
await expect(fireInvocation(agent, mm)).resolves.toBeUndefined();
|
|
462
464
|
await expect(mm.flush()).resolves.toBeUndefined();
|
|
@@ -464,7 +466,7 @@ describe('MemoryManager extraction', () => {
|
|
|
464
466
|
it('flush bypasses backoff and writes the backlog of a recovered store', async () => {
|
|
465
467
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
466
468
|
store.addMessages.mockRejectedValue(new Error('down'));
|
|
467
|
-
const coordinator = new ExtractionCoordinator([asExtractionStore(store)], {});
|
|
469
|
+
const coordinator = new ExtractionCoordinator([asExtractionStore(store)], {}, new Tracer());
|
|
468
470
|
// Drive the store into backoff.
|
|
469
471
|
for (let i = 0; i < SAVE_FAILURES_BEFORE_BACKOFF; i++) {
|
|
470
472
|
coordinator.record(userMsg(`down${i}`).toJSON());
|
|
@@ -487,7 +489,7 @@ describe('MemoryManager extraction', () => {
|
|
|
487
489
|
// clear the prior failures. We prove that by showing backoff still engages at the threshold.
|
|
488
490
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
489
491
|
store.addMessages.mockRejectedValue(new Error('down'));
|
|
490
|
-
const coordinator = new ExtractionCoordinator([asExtractionStore(store)], {});
|
|
492
|
+
const coordinator = new ExtractionCoordinator([asExtractionStore(store)], {}, new Tracer());
|
|
491
493
|
// One short of backoff.
|
|
492
494
|
for (let i = 0; i < SAVE_FAILURES_BEFORE_BACKOFF - 1; i++) {
|
|
493
495
|
coordinator.record(userMsg(`m${i}`).toJSON());
|
|
@@ -515,7 +517,7 @@ describe('MemoryManager extraction', () => {
|
|
|
515
517
|
const store = createExtractionStore('s', { trigger: [new IntervalTrigger({ turns: 2 })] }, 'addMessages');
|
|
516
518
|
const mm = new MemoryManager({ stores: [store] });
|
|
517
519
|
const agent = createMockAgent();
|
|
518
|
-
mm.initAgent(agent);
|
|
520
|
+
await mm.initAgent(agent);
|
|
519
521
|
// Fire the raw hook (not the flushing helper) so we observe interval gating, not flush's
|
|
520
522
|
// force-completion.
|
|
521
523
|
await addMessages(agent, userMsg('a'));
|
|
@@ -533,7 +535,7 @@ describe('MemoryManager extraction', () => {
|
|
|
533
535
|
const store = createExtractionStore('s', { trigger: new InvocationTrigger() }, 'addMessages');
|
|
534
536
|
const mm = new MemoryManager({ stores: [store] });
|
|
535
537
|
const agent = createMockAgent();
|
|
536
|
-
mm.initAgent(agent);
|
|
538
|
+
await mm.initAgent(agent);
|
|
537
539
|
await addMessages(agent, userMsg('hi'));
|
|
538
540
|
await fireInvocation(agent, mm);
|
|
539
541
|
expect(store.addMessages).toHaveBeenCalledTimes(1);
|
|
@@ -543,17 +545,17 @@ describe('MemoryManager extraction', () => {
|
|
|
543
545
|
const store = createExtractionStore('s', { trigger: [new IntervalTrigger({ turns: 2 }), new InvocationTrigger()] }, 'addMessages');
|
|
544
546
|
const mm = new MemoryManager({ stores: [store] });
|
|
545
547
|
const agent = createMockAgent();
|
|
546
|
-
mm.initAgent(agent);
|
|
548
|
+
await mm.initAgent(agent);
|
|
547
549
|
await addMessages(agent, userMsg('a'));
|
|
548
550
|
await fireInvocation(agent, mm);
|
|
549
551
|
// Invocation trigger fired on turn 1 even though interval would not have.
|
|
550
552
|
expect(store.addMessages).toHaveBeenCalledTimes(1);
|
|
551
553
|
});
|
|
552
|
-
it('does not register hooks when no store has extraction', () => {
|
|
554
|
+
it('does not register hooks when no store has extraction', async () => {
|
|
553
555
|
const store = { name: 's', writable: true, search: vi.fn(), add: vi.fn() };
|
|
554
556
|
const mm = new MemoryManager({ stores: [store] });
|
|
555
557
|
const agent = createMockAgent();
|
|
556
|
-
mm.initAgent(agent);
|
|
558
|
+
await mm.initAgent(agent);
|
|
557
559
|
expect(agent.trackedHooks).toHaveLength(0);
|
|
558
560
|
});
|
|
559
561
|
});
|
|
@@ -569,7 +571,7 @@ describe('MemoryManager extraction', () => {
|
|
|
569
571
|
store.addMessages.mockReturnValue(blocked);
|
|
570
572
|
const mm = new MemoryManager({ stores: [store] });
|
|
571
573
|
const agent = createMockAgent();
|
|
572
|
-
mm.initAgent(agent);
|
|
574
|
+
await mm.initAgent(agent);
|
|
573
575
|
await addMessages(agent, userMsg('hello'));
|
|
574
576
|
// Fire the hook directly (not via the flushing helper) — it must resolve while the write hangs.
|
|
575
577
|
await invokeAll(agent, new AfterInvocationEvent({ agent, invocationState: {} }));
|
|
@@ -591,7 +593,7 @@ describe('MemoryManager extraction', () => {
|
|
|
591
593
|
store.addMessages.mockReturnValue(blocked);
|
|
592
594
|
const mm = new MemoryManager({ stores: [store] });
|
|
593
595
|
const agent = createMockAgent();
|
|
594
|
-
mm.initAgent(agent);
|
|
596
|
+
await mm.initAgent(agent);
|
|
595
597
|
await addMessages(agent, userMsg('hello'));
|
|
596
598
|
await invokeAll(agent, new AfterInvocationEvent({ agent, invocationState: {} }));
|
|
597
599
|
const flushed = mm.flush();
|
|
@@ -611,7 +613,7 @@ describe('MemoryManager extraction', () => {
|
|
|
611
613
|
const store = createExtractionStore('s', { trigger: [new IntervalTrigger({ turns: 5 })] }, 'addMessages');
|
|
612
614
|
const mm = new MemoryManager({ stores: [store] });
|
|
613
615
|
const agent = createMockAgent();
|
|
614
|
-
mm.initAgent(agent);
|
|
616
|
+
await mm.initAgent(agent);
|
|
615
617
|
await addMessages(agent, userMsg('a'));
|
|
616
618
|
await invokeAll(agent, new AfterInvocationEvent({ agent, invocationState: {} })); // count 1, no fire
|
|
617
619
|
await addMessages(agent, userMsg('b'));
|
|
@@ -625,7 +627,7 @@ describe('MemoryManager extraction', () => {
|
|
|
625
627
|
const store = createExtractionStore('s', { trigger: [new InvocationTrigger()] }, 'addMessages');
|
|
626
628
|
const mm = new MemoryManager({ stores: [store] });
|
|
627
629
|
const agent = createMockAgent();
|
|
628
|
-
mm.initAgent(agent);
|
|
630
|
+
await mm.initAgent(agent);
|
|
629
631
|
await addMessages(agent, userMsg('a'));
|
|
630
632
|
await fireInvocation(agent, mm); // invocation trigger already extracted + flushed
|
|
631
633
|
expect(store.addMessages).toHaveBeenCalledTimes(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraction.test.js","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/extraction.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extraction.test.js","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/extraction.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
1
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
2
2
|
import { ModelExtractor } from '../model-extractor.js';
|
|
3
3
|
import { MockMessageModel } from '../../../__fixtures__/mock-message-model.js';
|
|
4
|
+
import { Tracer } from '../../../telemetry/tracer.js';
|
|
4
5
|
function userTurn(text) {
|
|
5
6
|
return { role: 'user', content: [{ text }] };
|
|
6
7
|
}
|
|
@@ -64,5 +65,40 @@ describe('ModelExtractor', () => {
|
|
|
64
65
|
const extractor = new ModelExtractor();
|
|
65
66
|
await expect(extractor.extract([userTurn('x')])).rejects.toThrow('no model configured');
|
|
66
67
|
});
|
|
68
|
+
it('wraps the model call in a model-invoke span when a tracer is supplied', async () => {
|
|
69
|
+
const model = new MockMessageModel();
|
|
70
|
+
model.addTurn({ type: 'textBlock', text: '[{"content": "fact"}]' });
|
|
71
|
+
const startSpy = vi.spyOn(Tracer.prototype, 'startModelInvokeSpan');
|
|
72
|
+
const endSpy = vi.spyOn(Tracer.prototype, 'endModelInvokeSpan');
|
|
73
|
+
const extractor = new ModelExtractor({ model: model });
|
|
74
|
+
await extractor.extract([userTurn('x')], { tracer: new Tracer() });
|
|
75
|
+
expect(startSpy).toHaveBeenCalledTimes(1);
|
|
76
|
+
expect(endSpy).toHaveBeenCalledTimes(1);
|
|
77
|
+
expect(endSpy.mock.calls[0][1]?.error).toBeUndefined();
|
|
78
|
+
expect(endSpy.mock.calls[0][1]?.output).toBeDefined();
|
|
79
|
+
startSpy.mockRestore();
|
|
80
|
+
endSpy.mockRestore();
|
|
81
|
+
});
|
|
82
|
+
it('extracts without a tracer in context (standalone use)', async () => {
|
|
83
|
+
const model = new MockMessageModel();
|
|
84
|
+
model.addTurn({ type: 'textBlock', text: '[{"content": "fact"}]' });
|
|
85
|
+
const extractor = new ModelExtractor({ model: model });
|
|
86
|
+
// No context at all -> the optional span calls no-op.
|
|
87
|
+
const entries = await extractor.extract([userTurn('x')]);
|
|
88
|
+
expect(entries).toEqual([{ content: 'fact' }]);
|
|
89
|
+
});
|
|
90
|
+
it('ends the model-invoke span with an error when the model throws', async () => {
|
|
91
|
+
const failing = {
|
|
92
|
+
streamAggregated: () => {
|
|
93
|
+
throw new Error('model down');
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
const endSpy = vi.spyOn(Tracer.prototype, 'endModelInvokeSpan');
|
|
97
|
+
const extractor = new ModelExtractor({ model: failing });
|
|
98
|
+
await expect(extractor.extract([userTurn('x')], { tracer: new Tracer() })).rejects.toThrow('model down');
|
|
99
|
+
expect(endSpy).toHaveBeenCalledTimes(1);
|
|
100
|
+
expect(endSpy.mock.calls[0][1]?.error).toBeInstanceOf(Error);
|
|
101
|
+
endSpy.mockRestore();
|
|
102
|
+
});
|
|
67
103
|
});
|
|
68
104
|
//# sourceMappingURL=model-extractor.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-extractor.test.js","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/model-extractor.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"model-extractor.test.js","sourceRoot":"","sources":["../../../../../src/memory/extraction/__tests__/model-extractor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { MemoryStore } from '../types.js';
|
|
2
2
|
import type { MessageData } from '../../types/messages.js';
|
|
3
3
|
import type { Model } from '../../models/model.js';
|
|
4
|
+
import type { Tracer } from '../../telemetry/tracer.js';
|
|
4
5
|
import type { ResolvedExtractionConfig } from './resolve-extraction-config.js';
|
|
5
6
|
/**
|
|
6
7
|
* A store paired with its fully-resolved extraction config.
|
|
@@ -56,6 +57,7 @@ export declare class ExtractionCoordinator {
|
|
|
56
57
|
/** Per store: its resolved extraction config (triggers, extractor, filter). */
|
|
57
58
|
private readonly _storeToExtractionConfig;
|
|
58
59
|
private readonly _defaultModel;
|
|
60
|
+
private readonly _tracer;
|
|
59
61
|
/** The shared list of messages waiting to be saved, oldest first. Each is tagged with its `seq`. */
|
|
60
62
|
private _pending;
|
|
61
63
|
/** The number to give the next message added to the buffer. Only ever increases. */
|
|
@@ -71,8 +73,9 @@ export declare class ExtractionCoordinator {
|
|
|
71
73
|
/**
|
|
72
74
|
* @param stores - The extraction-configured stores this coordinator manages, each with its resolved config
|
|
73
75
|
* @param defaultModel - The agent's model, passed to extractors that don't configure their own
|
|
76
|
+
* @param tracer - Tracer for extraction spans, shared with the {@link MemoryManager}
|
|
74
77
|
*/
|
|
75
|
-
constructor(stores: ExtractionBinding[], defaultModel: Model);
|
|
78
|
+
constructor(stores: ExtractionBinding[], defaultModel: Model, tracer: Tracer);
|
|
76
79
|
/** Adds a message to the buffer. */
|
|
77
80
|
record(message: MessageData): void;
|
|
78
81
|
/**
|
|
@@ -114,6 +117,8 @@ export declare class ExtractionCoordinator {
|
|
|
114
117
|
*
|
|
115
118
|
* Fact writes run in parallel. If any fails we throw, which makes the caller retry the whole batch
|
|
116
119
|
* next time - so a fact that already saved may be written again (stores should expect duplicates).
|
|
120
|
+
*
|
|
121
|
+
* @returns The number of entries written (extracted facts, or raw messages).
|
|
117
122
|
*/
|
|
118
123
|
private _write;
|
|
119
124
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../../src/memory/extraction/coordinator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../../src/memory/extraction/coordinator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAGlD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAE9E;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,KAAK,EAAE,WAAW,CAAA;IAClB,kFAAkF;IAClF,MAAM,EAAE,wBAAwB,CAAA;CACjC;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAsCvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAmD;IAC5F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAO;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAwB;IACxC,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAI;IACpB,wGAAwG;IACxG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IACxD,qGAAqG;IACrG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiC;IACtE,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiC;IAElE;;;;OAIG;gBACS,MAAM,EAAE,iBAAiB,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM;IAU5E,oCAAoC;IACpC,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAIlC;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAU1C,8FAA8F;IAC9F,OAAO,CAAC,QAAQ;IAOhB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAStB;;;;;;;;OAQG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAcd,QAAQ;IAwDtB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAerB;;;;;;;;;OASG;YACW,MAAM;IAyBpB;;;;;;OAMG;IACH,OAAO,CAAC,KAAK;CAUd"}
|