Skip to content

Commit 4908418

Browse files
committed
Fix context pruner instructions prompt appearing in base
1 parent cdec5c0 commit 4908418

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

.agents/__tests__/context-pruner.test.ts

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,12 @@ describe('context-pruner handleSteps', () => {
6565
})
6666

6767
const runHandleSteps = (messages: Message[]) => {
68-
mockAgentState.messageHistory = messages
68+
// Add instructions prompt that will be removed by context-pruner
69+
const messagesWithInstructions = [
70+
...messages,
71+
createMessage('user', 'Instructions prompt'),
72+
]
73+
mockAgentState.messageHistory = messagesWithInstructions
6974
const mockLogger = {
7075
debug: () => {},
7176
info: () => {},
@@ -332,7 +337,12 @@ describe('context-pruner edge cases', () => {
332337
})
333338

334339
const runHandleSteps = (messages: Message[]) => {
335-
mockAgentState.messageHistory = messages
340+
// Add instructions prompt that will be removed by context-pruner
341+
const messagesWithInstructions = [
342+
...messages,
343+
createMessage('user', 'Instructions prompt'),
344+
]
345+
mockAgentState.messageHistory = messagesWithInstructions
336346
const mockLogger = {
337347
debug: () => {},
338348
info: () => {},
@@ -502,15 +512,15 @@ describe('context-pruner edge cases', () => {
502512
},
503513
{
504514
content: 'spawn_agent_inline call for "context-pruner" with quotes',
505-
shouldRemove: true, // Has context-pruner and 3 total messages
515+
shouldRemove: true, // Has context-pruner and 3 total messages before instructions
506516
},
507517
{
508518
content: 'spawn_agent_inline\n "agent_type": "context-pruner"',
509-
shouldRemove: true, // Has context-pruner and 3 total messages
519+
shouldRemove: true, // Has context-pruner and 3 total messages before instructions
510520
},
511521
{
512522
content: 'Multiple spawn_agent_inline calls, one for context-pruner',
513-
shouldRemove: true, // Has context-pruner and 3 total messages
523+
shouldRemove: true, // Has context-pruner and 3 total messages before instructions
514524
},
515525
]
516526

@@ -531,7 +541,7 @@ describe('context-pruner edge cases', () => {
531541
createMessage('user', 'Hello'),
532542
)
533543
} else {
534-
// Should preserve all messages
544+
// Should preserve all messages (4 original messages)
535545
expect((results[0] as any).input.messages).toHaveLength(4)
536546
}
537547
})

.agents/context-pruner.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ const definition: AgentDefinition = {
4040
const numTerminalCommandsToKeep = 5
4141

4242
let currentMessages = [...messages]
43+
// Remove injected instructions prompt
44+
currentMessages.pop()
4345

4446
// Initial check - if already under limit, return
4547
const initialTokens = countTokensJson(currentMessages)

0 commit comments

Comments
 (0)