@roj-ai/sdk 0.1.14 → 0.1.15

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 (101) hide show
  1. package/dist/bootstrap.d.ts +1 -0
  2. package/dist/bootstrap.d.ts.map +1 -1
  3. package/dist/core/agents/agent.d.ts +25 -1
  4. package/dist/core/agents/agent.d.ts.map +1 -1
  5. package/dist/core/agents/agent.js +117 -21
  6. package/dist/core/agents/agent.js.map +1 -1
  7. package/dist/core/agents/config.d.ts +7 -0
  8. package/dist/core/agents/config.d.ts.map +1 -1
  9. package/dist/core/agents/context.d.ts +10 -0
  10. package/dist/core/agents/context.d.ts.map +1 -1
  11. package/dist/core/agents/state.d.ts +11 -3
  12. package/dist/core/agents/state.d.ts.map +1 -1
  13. package/dist/core/agents/state.js.map +1 -1
  14. package/dist/core/file-store/file-store.d.ts +5 -1
  15. package/dist/core/file-store/file-store.d.ts.map +1 -1
  16. package/dist/core/file-store/file-store.js +31 -21
  17. package/dist/core/file-store/file-store.js.map +1 -1
  18. package/dist/core/image/vips-resizer.test.js +26 -14
  19. package/dist/core/image/vips-resizer.test.js.map +1 -1
  20. package/dist/core/llm/anthropic.d.ts.map +1 -1
  21. package/dist/core/llm/anthropic.js +11 -8
  22. package/dist/core/llm/anthropic.js.map +1 -1
  23. package/dist/core/llm/cache-breakpoints.d.ts +5 -1
  24. package/dist/core/llm/cache-breakpoints.d.ts.map +1 -1
  25. package/dist/core/llm/cache-breakpoints.js +10 -5
  26. package/dist/core/llm/cache-breakpoints.js.map +1 -1
  27. package/dist/core/sessions/session.d.ts.map +1 -1
  28. package/dist/core/sessions/session.js +10 -0
  29. package/dist/core/sessions/session.js.map +1 -1
  30. package/dist/core/sessions/session.test.js +5 -0
  31. package/dist/core/sessions/session.test.js.map +1 -1
  32. package/dist/core/sessions/state.d.ts.map +1 -1
  33. package/dist/core/sessions/state.js +5 -1
  34. package/dist/core/sessions/state.js.map +1 -1
  35. package/dist/core/tools/executor.test.js +1 -0
  36. package/dist/core/tools/executor.test.js.map +1 -1
  37. package/dist/plugins/agent-status/plugin.d.ts.map +1 -1
  38. package/dist/plugins/agent-status/plugin.js +18 -26
  39. package/dist/plugins/agent-status/plugin.js.map +1 -1
  40. package/dist/plugins/context-compact/compaction-live.test.d.ts +17 -0
  41. package/dist/plugins/context-compact/compaction-live.test.d.ts.map +1 -0
  42. package/dist/plugins/context-compact/compaction-live.test.js +177 -0
  43. package/dist/plugins/context-compact/compaction-live.test.js.map +1 -0
  44. package/dist/plugins/context-compact/context-compact.integration.test.js +123 -3
  45. package/dist/plugins/context-compact/context-compact.integration.test.js.map +1 -1
  46. package/dist/plugins/context-compact/context-compactor.d.ts +47 -17
  47. package/dist/plugins/context-compact/context-compactor.d.ts.map +1 -1
  48. package/dist/plugins/context-compact/context-compactor.js +60 -36
  49. package/dist/plugins/context-compact/context-compactor.js.map +1 -1
  50. package/dist/plugins/context-compact/context-compactor.test.js +69 -103
  51. package/dist/plugins/context-compact/context-compactor.test.js.map +1 -1
  52. package/dist/plugins/context-compact/plugin.d.ts +9 -2
  53. package/dist/plugins/context-compact/plugin.d.ts.map +1 -1
  54. package/dist/plugins/context-compact/plugin.js +8 -4
  55. package/dist/plugins/context-compact/plugin.js.map +1 -1
  56. package/dist/plugins/filesystem/filesystem.integration.test.js +36 -0
  57. package/dist/plugins/filesystem/filesystem.integration.test.js.map +1 -1
  58. package/dist/plugins/filesystem/plugin.d.ts.map +1 -1
  59. package/dist/plugins/filesystem/plugin.js +8 -6
  60. package/dist/plugins/filesystem/plugin.js.map +1 -1
  61. package/dist/plugins/mailbox/mailbox.integration.test.js +9 -16
  62. package/dist/plugins/mailbox/mailbox.integration.test.js.map +1 -1
  63. package/dist/plugins/resources/plugin.d.ts.map +1 -1
  64. package/dist/plugins/resources/plugin.js +4 -1
  65. package/dist/plugins/resources/plugin.js.map +1 -1
  66. package/dist/plugins/user-chat/plugin.d.ts +2 -0
  67. package/dist/plugins/user-chat/plugin.d.ts.map +1 -1
  68. package/dist/plugins/user-chat/plugin.js +47 -3
  69. package/dist/plugins/user-chat/plugin.js.map +1 -1
  70. package/dist/plugins/user-chat/schema.d.ts +10 -0
  71. package/dist/plugins/user-chat/schema.d.ts.map +1 -1
  72. package/dist/plugins/user-chat/schema.js +1 -0
  73. package/dist/plugins/user-chat/schema.js.map +1 -1
  74. package/dist/plugins/user-chat/user-chat.integration.test.js +86 -0
  75. package/dist/plugins/user-chat/user-chat.integration.test.js.map +1 -1
  76. package/package.json +2 -2
  77. package/src/core/agents/agent.ts +134 -20
  78. package/src/core/agents/config.ts +7 -0
  79. package/src/core/agents/context.ts +11 -0
  80. package/src/core/agents/state.ts +11 -4
  81. package/src/core/file-store/file-store.ts +38 -18
  82. package/src/core/image/vips-resizer.test.ts +26 -15
  83. package/src/core/llm/anthropic.ts +19 -12
  84. package/src/core/llm/cache-breakpoints.ts +15 -6
  85. package/src/core/sessions/session.test.ts +6 -0
  86. package/src/core/sessions/session.ts +12 -0
  87. package/src/core/sessions/state.ts +5 -1
  88. package/src/core/tools/executor.test.ts +1 -0
  89. package/src/plugins/agent-status/plugin.ts +18 -25
  90. package/src/plugins/context-compact/compaction-live.test.ts +221 -0
  91. package/src/plugins/context-compact/context-compact.integration.test.ts +135 -3
  92. package/src/plugins/context-compact/context-compactor.test.ts +71 -110
  93. package/src/plugins/context-compact/context-compactor.ts +88 -43
  94. package/src/plugins/context-compact/plugin.ts +19 -10
  95. package/src/plugins/filesystem/filesystem.integration.test.ts +44 -0
  96. package/src/plugins/filesystem/plugin.ts +8 -6
  97. package/src/plugins/mailbox/mailbox.integration.test.ts +12 -18
  98. package/src/plugins/resources/plugin.ts +4 -1
  99. package/src/plugins/user-chat/plugin.ts +60 -3
  100. package/src/plugins/user-chat/schema.ts +10 -1
  101. package/src/plugins/user-chat/user-chat.integration.test.ts +99 -0
@@ -10,11 +10,7 @@ import { ContextCompactor, createContextCompactedEvent, formatMessageForSummary
10
10
  // Test Constants
11
11
  // ============================================================================
12
12
  const TEST_MODEL_ID = ModelId('test/model');
13
- // ============================================================================
14
- // Mock LLM Provider
15
- // ============================================================================
16
- class MockLLMProvider {
17
- name = 'mock';
13
+ class InferenceMock {
18
14
  responses = [];
19
15
  responseIndex = 0;
20
16
  calls = [];
@@ -22,23 +18,23 @@ class MockLLMProvider {
22
18
  this.responses = responses;
23
19
  this.responseIndex = 0;
24
20
  }
25
- async inference(request) {
26
- this.calls.push(request);
21
+ run = async (extraMessages) => {
22
+ this.calls.push({ extraMessages });
27
23
  if (this.responseIndex >= this.responses.length) {
28
24
  return Err({ type: 'server_error', message: 'No more mock responses' });
29
25
  }
30
26
  return Ok(this.responses[this.responseIndex++]);
31
- }
27
+ };
32
28
  }
33
29
  // ============================================================================
34
30
  // Tests: ContextCompactor.needsCompaction
35
31
  // ============================================================================
36
32
  describe('ContextCompactor.needsCompaction', () => {
37
- let mockLLM;
33
+ let inference;
38
34
  let compactor;
39
35
  beforeEach(() => {
40
- mockLLM = new MockLLMProvider();
41
- compactor = new ContextCompactor(mockLLM, silentLogger, {
36
+ inference = new InferenceMock();
37
+ compactor = new ContextCompactor(silentLogger, {
42
38
  model: TEST_MODEL_ID,
43
39
  maxTokens: 100,
44
40
  keepRecentMessages: 2,
@@ -62,13 +58,13 @@ describe('ContextCompactor.needsCompaction', () => {
62
58
  // Tests: ContextCompactor.compact
63
59
  // ============================================================================
64
60
  describe('ContextCompactor.compact', () => {
65
- let mockLLM;
61
+ let inference;
66
62
  let compactor;
67
63
  let sessionId;
68
64
  let agentId;
69
65
  beforeEach(() => {
70
- mockLLM = new MockLLMProvider();
71
- compactor = new ContextCompactor(mockLLM, silentLogger, {
66
+ inference = new InferenceMock();
67
+ compactor = new ContextCompactor(silentLogger, {
72
68
  model: TEST_MODEL_ID,
73
69
  maxTokens: 100,
74
70
  keepRecentMessages: 2,
@@ -82,7 +78,7 @@ describe('ContextCompactor.compact', () => {
82
78
  { role: 'user', content: 'message 1' },
83
79
  { role: 'assistant', content: 'message 2' },
84
80
  ];
85
- const result = await compactor.compact(sessionId, agentId, messages);
81
+ const result = await compactor.compact(sessionId, agentId, messages, inference.run);
86
82
  expect(result.ok).toBe(true);
87
83
  if (!result.ok)
88
84
  return;
@@ -91,7 +87,7 @@ describe('ContextCompactor.compact', () => {
91
87
  expect(result.value.compactedMessages).toEqual(messages);
92
88
  });
93
89
  it('compacts old messages and keeps recent ones', async () => {
94
- mockLLM.setResponses([
90
+ inference.setResponses([
95
91
  {
96
92
  content: 'Summary of the conversation',
97
93
  toolCalls: [],
@@ -112,23 +108,23 @@ describe('ContextCompactor.compact', () => {
112
108
  { role: 'user', content: 'recent message 1' },
113
109
  { role: 'assistant', content: 'recent message 2' },
114
110
  ];
115
- const result = await compactor.compact(sessionId, agentId, messages);
111
+ const result = await compactor.compact(sessionId, agentId, messages, inference.run);
116
112
  expect(result.ok).toBe(true);
117
113
  if (!result.ok)
118
114
  return;
119
115
  expect(result.value.summary).toBe('Summary of the conversation');
120
116
  expect(result.value.messagesRemoved).toBe(3);
121
117
  expect(result.value.compactedMessages.length).toBe(3); // summary + 2 recent
122
- // First message is summary
123
- expect(result.value.compactedMessages[0].role).toBe('system');
118
+ // First message is the summary (user-role so it cleanly fits into chat history)
119
+ expect(result.value.compactedMessages[0].role).toBe('user');
124
120
  expect(result.value.compactedMessages[0].content).toContain('[CONVERSATION SUMMARY]');
125
121
  expect(result.value.compactedMessages[0].content).toContain('Summary of the conversation');
126
122
  // Recent messages preserved
127
123
  expect(result.value.compactedMessages[1].content).toBe('recent message 1');
128
124
  expect(result.value.compactedMessages[2].content).toBe('recent message 2');
129
125
  });
130
- it('calls LLM with formatted conversation and configured model', async () => {
131
- mockLLM.setResponses([
126
+ it('calls runInference with a single trailing summarize-instruction message', async () => {
127
+ inference.setResponses([
132
128
  {
133
129
  content: 'Summary',
134
130
  toolCalls: [],
@@ -148,16 +144,15 @@ describe('ContextCompactor.compact', () => {
148
144
  { role: 'user', content: 'recent' },
149
145
  { role: 'assistant', content: 'recent too' },
150
146
  ];
151
- await compactor.compact(sessionId, agentId, messages);
152
- expect(mockLLM.calls.length).toBe(1);
153
- const request = mockLLM.calls[0];
154
- // Verify model from config is used
155
- expect(request.model).toBe(TEST_MODEL_ID);
156
- expect(request.messages[0].role).toBe('user');
157
- expect(request.messages[0].content).toContain('User: user message');
158
- expect(request.messages[0].content).toContain('Agent: assistant message');
159
- // Recent messages should not be in the summarization request
160
- expect(request.messages[0].content).not.toContain('recent');
147
+ await compactor.compact(sessionId, agentId, messages, inference.run);
148
+ expect(inference.calls.length).toBe(1);
149
+ const call = inference.calls[0];
150
+ // Inline summarization sends ONE trailing user message — the host (agent)
151
+ // is responsible for the full prefix (preamble + history); the compactor
152
+ // only contributes the instruction.
153
+ expect(call.extraMessages.length).toBe(1);
154
+ expect(call.extraMessages[0].role).toBe('user');
155
+ expect(typeof call.extraMessages[0].content).toBe('string');
161
156
  });
162
157
  it('returns error when LLM fails', async () => {
163
158
  // No responses set, so LLM will fail
@@ -168,7 +163,7 @@ describe('ContextCompactor.compact', () => {
168
163
  { role: 'user', content: 'recent 1' },
169
164
  { role: 'assistant', content: 'recent 2' },
170
165
  ];
171
- const result = await compactor.compact(sessionId, agentId, messages);
166
+ const result = await compactor.compact(sessionId, agentId, messages, inference.run);
172
167
  expect(result.ok).toBe(false);
173
168
  if (result.ok)
174
169
  return;
@@ -179,13 +174,13 @@ describe('ContextCompactor.compact', () => {
179
174
  // Tests: ContextCompactor.compactIfNeeded
180
175
  // ============================================================================
181
176
  describe('ContextCompactor.compactIfNeeded', () => {
182
- let mockLLM;
177
+ let inference;
183
178
  let compactor;
184
179
  let sessionId;
185
180
  let agentId;
186
181
  beforeEach(() => {
187
- mockLLM = new MockLLMProvider();
188
- compactor = new ContextCompactor(mockLLM, silentLogger, {
182
+ inference = new InferenceMock();
183
+ compactor = new ContextCompactor(silentLogger, {
189
184
  model: TEST_MODEL_ID,
190
185
  maxTokens: 50,
191
186
  keepRecentMessages: 1,
@@ -195,15 +190,15 @@ describe('ContextCompactor.compactIfNeeded', () => {
195
190
  });
196
191
  it('returns null when compaction not needed', async () => {
197
192
  const messages = [{ role: 'user', content: 'short' }];
198
- const result = await compactor.compactIfNeeded(sessionId, agentId, messages);
193
+ const result = await compactor.compactIfNeeded(sessionId, agentId, messages, inference.run);
199
194
  expect(result.ok).toBe(true);
200
195
  if (!result.ok)
201
196
  return;
202
197
  expect(result.value).toBeNull();
203
- expect(mockLLM.calls.length).toBe(0);
198
+ expect(inference.calls.length).toBe(0);
204
199
  });
205
200
  it('compacts when needed', async () => {
206
- mockLLM.setResponses([
201
+ inference.setResponses([
207
202
  {
208
203
  content: 'Summary',
209
204
  toolCalls: [],
@@ -223,7 +218,7 @@ describe('ContextCompactor.compactIfNeeded', () => {
223
218
  { role: 'assistant', content: 'b'.repeat(100) },
224
219
  { role: 'user', content: 'c'.repeat(100) },
225
220
  ];
226
- const result = await compactor.compactIfNeeded(sessionId, agentId, messages);
221
+ const result = await compactor.compactIfNeeded(sessionId, agentId, messages, inference.run);
227
222
  expect(result.ok).toBe(true);
228
223
  if (!result.ok)
229
224
  return;
@@ -282,13 +277,13 @@ describe('createContextCompactedEvent', () => {
282
277
  // ============================================================================
283
278
  describe('ContextCompactor with custom config', () => {
284
279
  it('respects custom maxTokens', () => {
285
- const mockLLM = new MockLLMProvider();
280
+ const inference = new InferenceMock();
286
281
  const config = {
287
282
  model: TEST_MODEL_ID,
288
283
  maxTokens: 20,
289
284
  keepRecentMessages: 1,
290
285
  };
291
- const compactor = new ContextCompactor(mockLLM, silentLogger, config);
286
+ const compactor = new ContextCompactor(silentLogger, config);
292
287
  const smallMessages = [{ role: 'user', content: 'hi' }];
293
288
  expect(compactor.needsCompaction(smallMessages)).toBe(false);
294
289
  const largeMessages = [
@@ -297,8 +292,8 @@ describe('ContextCompactor with custom config', () => {
297
292
  expect(compactor.needsCompaction(largeMessages)).toBe(true);
298
293
  });
299
294
  it('respects custom keepRecentMessages', async () => {
300
- const mockLLM = new MockLLMProvider();
301
- mockLLM.setResponses([
295
+ const inference = new InferenceMock();
296
+ inference.setResponses([
302
297
  {
303
298
  content: 'Summary',
304
299
  toolCalls: [],
@@ -317,7 +312,7 @@ describe('ContextCompactor with custom config', () => {
317
312
  maxTokens: 10,
318
313
  keepRecentMessages: 3,
319
314
  };
320
- const compactor = new ContextCompactor(mockLLM, silentLogger, config);
315
+ const compactor = new ContextCompactor(silentLogger, config);
321
316
  const messages = [
322
317
  { role: 'user', content: 'old 1' },
323
318
  { role: 'assistant', content: 'old 2' },
@@ -325,7 +320,7 @@ describe('ContextCompactor with custom config', () => {
325
320
  { role: 'assistant', content: 'recent 2' },
326
321
  { role: 'user', content: 'recent 3' },
327
322
  ];
328
- const result = await compactor.compact(generateSessionId(), generateTestAgentId(), messages);
323
+ const result = await compactor.compact(generateSessionId(), generateTestAgentId(), messages, inference.run);
329
324
  expect(result.ok).toBe(true);
330
325
  if (!result.ok)
331
326
  return;
@@ -334,8 +329,8 @@ describe('ContextCompactor with custom config', () => {
334
329
  expect(result.value.compactedMessages.length).toBe(4);
335
330
  });
336
331
  it('uses custom summaryPrompt', async () => {
337
- const mockLLM = new MockLLMProvider();
338
- mockLLM.setResponses([
332
+ const inference = new InferenceMock();
333
+ inference.setResponses([
339
334
  {
340
335
  content: 'Summary',
341
336
  toolCalls: [],
@@ -356,14 +351,15 @@ describe('ContextCompactor with custom config', () => {
356
351
  keepRecentMessages: 1,
357
352
  summaryPrompt: customPrompt,
358
353
  };
359
- const compactor = new ContextCompactor(mockLLM, silentLogger, config);
354
+ const compactor = new ContextCompactor(silentLogger, config);
360
355
  const messages = [
361
356
  { role: 'user', content: 'old' },
362
357
  { role: 'user', content: 'recent' },
363
358
  ];
364
- await compactor.compact(generateSessionId(), generateTestAgentId(), messages);
365
- expect(mockLLM.calls.length).toBe(1);
366
- expect(mockLLM.calls[0].systemPrompt).toBe(customPrompt);
359
+ await compactor.compact(generateSessionId(), generateTestAgentId(), messages, inference.run);
360
+ expect(inference.calls.length).toBe(1);
361
+ // Custom prompt is sent as the content of the trailing user-role instruction.
362
+ expect(inference.calls[0].extraMessages[0].content).toBe(customPrompt);
367
363
  });
368
364
  });
369
365
  // ============================================================================
@@ -471,13 +467,13 @@ describe('formatMessageForSummary', () => {
471
467
  // Tests: Tool calls in compaction
472
468
  // ============================================================================
473
469
  describe('ContextCompactor with tool calls', () => {
474
- let mockLLM;
470
+ let inference;
475
471
  let compactor;
476
472
  let sessionId;
477
473
  let agentId;
478
474
  beforeEach(() => {
479
- mockLLM = new MockLLMProvider();
480
- compactor = new ContextCompactor(mockLLM, silentLogger, {
475
+ inference = new InferenceMock();
476
+ compactor = new ContextCompactor(silentLogger, {
481
477
  model: TEST_MODEL_ID,
482
478
  maxTokens: 100,
483
479
  keepRecentMessages: 1,
@@ -486,7 +482,7 @@ describe('ContextCompactor with tool calls', () => {
486
482
  agentId = generateTestAgentId();
487
483
  });
488
484
  it('does not leave orphaned tool results at the start of kept messages', async () => {
489
- mockLLM.setResponses([
485
+ inference.setResponses([
490
486
  {
491
487
  content: 'Summary',
492
488
  toolCalls: [],
@@ -507,7 +503,7 @@ describe('ContextCompactor with tool calls', () => {
507
503
  },
508
504
  { role: 'tool', content: 'export const foo = 1', toolCallId, toolName: 'read' },
509
505
  ];
510
- const result = await compactor.compact(sessionId, agentId, messages);
506
+ const result = await compactor.compact(sessionId, agentId, messages, inference.run);
511
507
  expect(result.ok).toBe(true);
512
508
  if (!result.ok)
513
509
  return;
@@ -519,46 +515,16 @@ describe('ContextCompactor with tool calls', () => {
519
515
  // All 5 original messages should be compacted (none kept except summary)
520
516
  expect(result.value.messagesRemoved).toBe(5);
521
517
  });
522
- it('includes tool calls in summarization request', async () => {
523
- mockLLM.setResponses([
524
- {
525
- content: 'Summary',
526
- toolCalls: [],
527
- finishReason: 'stop',
528
- metrics: { promptTokens: 50, completionTokens: 20, totalTokens: 70, latencyMs: 100, model: 'mock' },
529
- },
530
- ]);
531
- const toolCallId = generateToolCallId();
532
- const messages = [
533
- { role: 'user', content: 'Read the file' },
534
- {
535
- role: 'assistant',
536
- content: '',
537
- toolCalls: [{ id: toolCallId, name: 'read', input: { path: '/src/index.ts' } }],
538
- },
539
- { role: 'tool', content: 'export const foo = 1', toolCallId, toolName: 'read' },
540
- { role: 'user', content: 'recent message' },
541
- ];
542
- await compactor.compact(sessionId, agentId, messages);
543
- expect(mockLLM.calls.length).toBe(1);
544
- const request = mockLLM.calls[0];
545
- const summaryContent = request.messages[0].content;
546
- // Verify tool call is included
547
- expect(summaryContent).toContain('[Called tools: read(path)]');
548
- // Verify tool result includes tool name
549
- expect(summaryContent).toContain('Tool(read):');
550
- expect(summaryContent).toContain('export const foo = 1');
551
- });
552
518
  });
553
519
  // ============================================================================
554
520
  // Tests: History offloading
555
521
  // ============================================================================
556
522
  describe('ContextCompactor with history offloading', () => {
557
- let mockLLM;
523
+ let inference;
558
524
  let sessionId;
559
525
  let agentId;
560
526
  beforeEach(() => {
561
- mockLLM = new MockLLMProvider();
527
+ inference = new InferenceMock();
562
528
  sessionId = generateSessionId();
563
529
  agentId = generateTestAgentId();
564
530
  });
@@ -570,7 +536,7 @@ describe('ContextCompactor with history offloading', () => {
570
536
  return `${pathPrefix}${agentId}/history.md`;
571
537
  },
572
538
  };
573
- mockLLM.setResponses([
539
+ inference.setResponses([
574
540
  {
575
541
  content: 'Summary',
576
542
  toolCalls: [],
@@ -578,7 +544,7 @@ describe('ContextCompactor with history offloading', () => {
578
544
  metrics: { promptTokens: 50, completionTokens: 20, totalTokens: 70, latencyMs: 100, model: 'mock' },
579
545
  },
580
546
  ]);
581
- const compactor = new ContextCompactor(mockLLM, silentLogger, {
547
+ const compactor = new ContextCompactor(silentLogger, {
582
548
  model: TEST_MODEL_ID,
583
549
  maxTokens: 100,
584
550
  keepRecentMessages: 1,
@@ -589,7 +555,7 @@ describe('ContextCompactor with history offloading', () => {
589
555
  { role: 'assistant', content: 'old message 2' },
590
556
  { role: 'user', content: 'recent message' },
591
557
  ];
592
- const result = await compactor.compact(sessionId, agentId, messages);
558
+ const result = await compactor.compact(sessionId, agentId, messages, inference.run);
593
559
  expect(result.ok).toBe(true);
594
560
  if (!result.ok)
595
561
  return;
@@ -610,7 +576,7 @@ describe('ContextCompactor with history offloading', () => {
610
576
  throw new Error('Should not be called');
611
577
  },
612
578
  };
613
- mockLLM.setResponses([
579
+ inference.setResponses([
614
580
  {
615
581
  content: 'Summary',
616
582
  toolCalls: [],
@@ -618,7 +584,7 @@ describe('ContextCompactor with history offloading', () => {
618
584
  metrics: { promptTokens: 50, completionTokens: 20, totalTokens: 70, latencyMs: 100, model: 'mock' },
619
585
  },
620
586
  ]);
621
- const compactor = new ContextCompactor(mockLLM, silentLogger, {
587
+ const compactor = new ContextCompactor(silentLogger, {
622
588
  model: TEST_MODEL_ID,
623
589
  maxTokens: 100,
624
590
  keepRecentMessages: 1,
@@ -628,7 +594,7 @@ describe('ContextCompactor with history offloading', () => {
628
594
  { role: 'user', content: 'old' },
629
595
  { role: 'user', content: 'recent' },
630
596
  ];
631
- const result = await compactor.compact(sessionId, agentId, messages);
597
+ const result = await compactor.compact(sessionId, agentId, messages, inference.run);
632
598
  expect(result.ok).toBe(true);
633
599
  if (!result.ok)
634
600
  return;
@@ -636,7 +602,7 @@ describe('ContextCompactor with history offloading', () => {
636
602
  expect(result.value.compactedMessages[0].content).not.toContain('has been saved to');
637
603
  });
638
604
  it('does not offload history when offloader is not provided', async () => {
639
- mockLLM.setResponses([
605
+ inference.setResponses([
640
606
  {
641
607
  content: 'Summary',
642
608
  toolCalls: [],
@@ -644,7 +610,7 @@ describe('ContextCompactor with history offloading', () => {
644
610
  metrics: { promptTokens: 50, completionTokens: 20, totalTokens: 70, latencyMs: 100, model: 'mock' },
645
611
  },
646
612
  ]);
647
- const compactor = new ContextCompactor(mockLLM, silentLogger, {
613
+ const compactor = new ContextCompactor(silentLogger, {
648
614
  model: TEST_MODEL_ID,
649
615
  maxTokens: 100,
650
616
  keepRecentMessages: 1,
@@ -654,7 +620,7 @@ describe('ContextCompactor with history offloading', () => {
654
620
  { role: 'user', content: 'old' },
655
621
  { role: 'user', content: 'recent' },
656
622
  ];
657
- const result = await compactor.compact(sessionId, agentId, messages);
623
+ const result = await compactor.compact(sessionId, agentId, messages, inference.run);
658
624
  expect(result.ok).toBe(true);
659
625
  if (!result.ok)
660
626
  return;
@@ -668,7 +634,7 @@ describe('ContextCompactor with history offloading', () => {
668
634
  return `/custom/path/history.md`;
669
635
  },
670
636
  };
671
- mockLLM.setResponses([
637
+ inference.setResponses([
672
638
  {
673
639
  content: 'Summary',
674
640
  toolCalls: [],
@@ -676,7 +642,7 @@ describe('ContextCompactor with history offloading', () => {
676
642
  metrics: { promptTokens: 50, completionTokens: 20, totalTokens: 70, latencyMs: 100, model: 'mock' },
677
643
  },
678
644
  ]);
679
- const compactor = new ContextCompactor(mockLLM, silentLogger, {
645
+ const compactor = new ContextCompactor(silentLogger, {
680
646
  model: TEST_MODEL_ID,
681
647
  maxTokens: 100,
682
648
  keepRecentMessages: 1,
@@ -687,7 +653,7 @@ describe('ContextCompactor with history offloading', () => {
687
653
  { role: 'user', content: 'old' },
688
654
  { role: 'user', content: 'recent' },
689
655
  ];
690
- await compactor.compact(sessionId, agentId, messages);
656
+ await compactor.compact(sessionId, agentId, messages, inference.run);
691
657
  expect(offloadedPaths.length).toBe(1);
692
658
  expect(offloadedPaths[0].pathPrefix).toBe('/session/.custom-history/');
693
659
  });
@@ -697,7 +663,7 @@ describe('ContextCompactor with history offloading', () => {
697
663
  throw new Error('Disk full');
698
664
  },
699
665
  };
700
- mockLLM.setResponses([
666
+ inference.setResponses([
701
667
  {
702
668
  content: 'Summary despite offload failure',
703
669
  toolCalls: [],
@@ -705,7 +671,7 @@ describe('ContextCompactor with history offloading', () => {
705
671
  metrics: { promptTokens: 50, completionTokens: 20, totalTokens: 70, latencyMs: 100, model: 'mock' },
706
672
  },
707
673
  ]);
708
- const compactor = new ContextCompactor(mockLLM, silentLogger, {
674
+ const compactor = new ContextCompactor(silentLogger, {
709
675
  model: TEST_MODEL_ID,
710
676
  maxTokens: 100,
711
677
  keepRecentMessages: 1,
@@ -715,7 +681,7 @@ describe('ContextCompactor with history offloading', () => {
715
681
  { role: 'user', content: 'old' },
716
682
  { role: 'user', content: 'recent' },
717
683
  ];
718
- const result = await compactor.compact(sessionId, agentId, messages);
684
+ const result = await compactor.compact(sessionId, agentId, messages, inference.run);
719
685
  // Compaction should succeed despite offload failure
720
686
  expect(result.ok).toBe(true);
721
687
  if (!result.ok)
@@ -1 +1 @@
1
- {"version":3,"file":"context-compactor.test.js","sourceRoot":"","sources":["../../../src/plugins/context-compact/context-compactor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-compactor.test.js","sourceRoot":"","sources":["../../../src/plugins/context-compact/context-compactor.test.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,17 @@
6
6
  */
7
7
  import { type CompactionConfig } from './context-compactor.js';
8
8
  /**
9
- * Plugin config — session-level compaction settings.
9
+ * Plugin config — session-level (default) compaction settings.
10
+ * Individual agents may override fields via `contextCompactPlugin.configureAgent({ ... })`.
10
11
  */
11
12
  export interface ContextCompactPluginConfig {
12
13
  compaction: CompactionConfig;
13
14
  }
14
- export declare const contextCompactPlugin: import("../../core/plugins/plugin-builder.js").PluginDefinition<"context-compact", ContextCompactPluginConfig, void, {}, {}>;
15
+ /**
16
+ * Per-agent override. Any field omitted falls back to the session-level config.
17
+ * Used for cases like "orchestrator gets a tighter 50k threshold while subagents
18
+ * keep the default 200k".
19
+ */
20
+ export type ContextCompactAgentConfig = Partial<CompactionConfig>;
21
+ export declare const contextCompactPlugin: import("../../core/plugins/plugin-builder.js").PluginDefinition<"context-compact", ContextCompactPluginConfig, Partial<CompactionConfig>, {}, {}>;
15
22
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/context-compact/plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,gBAAgB,EAAwE,MAAM,wBAAwB,CAAA;AAGpI;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,UAAU,EAAE,gBAAgB,CAAA;CAC5B;AAED,eAAO,MAAM,oBAAoB,0HA2CxB,CAAA"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/context-compact/plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,gBAAgB,EAAwE,MAAM,wBAAwB,CAAA;AAGpI;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IAC1C,UAAU,EAAE,gBAAgB,CAAA;CAC5B;AAED;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;AAEjE,eAAO,MAAM,oBAAoB,+IA4CxB,CAAA"}