Skip to content

Commit e951a74

Browse files
committed
feature #1055 [Platform] Rename MessageBag::prepend to actual use-case withSystemMessage (chr-hertel)
This PR was merged into the main branch. Discussion ---------- [Platform] Rename MessageBag::prepend to actual use-case withSystemMessage | Q | A | ------------- | --- | Bug fix? | no | New feature? | no | Docs? | no | Issues | | License | MIT The actual use case is to mess with the system prompt - let's make it explicit by renaming the method. Commits ------- 8be113d Rename MessageBag::prepend to actual use-case withSystemMessage
2 parents ae670c0 + 8be113d commit e951a74

File tree

5 files changed

+10
-8
lines changed

5 files changed

+10
-8
lines changed

src/agent/src/InputProcessor/SystemPromptInputProcessor.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,6 @@ public function processInput(Input $input): void
8585
PROMPT;
8686
}
8787

88-
$input->setMessageBag($messages->prepend(Message::forSystem($message)));
88+
$input->setMessageBag($messages->withSystemMessage(Message::forSystem($message)));
8989
}
9090
}

src/agent/src/Memory/MemoryInputProcessor.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,7 @@ public function processInput(Input $input): void
7777
}
7878

7979
$messages = $input->getMessageBag()
80-
->withoutSystemMessage()
81-
->prepend(Message::forSystem($combinedMessage));
80+
->withSystemMessage(Message::forSystem($combinedMessage));
8281

8382
$input->setMessageBag($messages);
8483
}

src/ai-bundle/tests/Command/AgentCallCommandTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ public function testCommandWithSystemPromptDisplaysItOnce()
193193
->willReturnCallback(function (MessageBag $messages) use ($result) {
194194
// Simulate SystemPromptInputProcessor behavior - add system prompt if not present
195195
if (null === $messages->getSystemMessage()) {
196-
$messages->prepend(Message::forSystem('System prompt'));
196+
$messages->withSystemMessage(Message::forSystem('System prompt'));
197197
}
198198

199199
return $result;

src/platform/src/Message/MessageBag.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,12 @@ public function withoutSystemMessage(): self
105105
return $messages;
106106
}
107107

108-
public function prepend(MessageInterface $message): self
108+
/**
109+
* Clones the MessageBag without previous system message and prepends the given one.
110+
*/
111+
public function withSystemMessage(SystemMessage $message): self
109112
{
110-
$messages = clone $this;
113+
$messages = $this->withoutSystemMessage();
111114
$messages->messages = array_merge([$message], $messages->messages);
112115

113116
return $messages;

src/platform/tests/Message/MessageBagTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,15 +113,15 @@ public function testWithoutSystemMessage()
113113
$this->assertSame('Hello, world!', $userMessage->getContent()[0]->getText());
114114
}
115115

116-
public function testPrepend()
116+
public function testWithSystemMessage()
117117
{
118118
$messageBag = new MessageBag(
119119
Message::ofAssistant('It is time to sleep.'),
120120
Message::ofUser('Hello, world!'),
121121
);
122122

123123
$newMessage = Message::forSystem('My amazing system prompt.');
124-
$newMessageBag = $messageBag->prepend($newMessage);
124+
$newMessageBag = $messageBag->withSystemMessage($newMessage);
125125

126126
$this->assertCount(2, $messageBag);
127127
$this->assertCount(3, $newMessageBag);

0 commit comments

Comments
 (0)