fix: intermediate text as standalone messages, preserve progress
Add 'intermediate' phase for assistant text between tool calls. These are sent as separate Discord messages without finalizing or disrupting the active progress message.
This commit is contained in:
@@ -41,7 +41,7 @@ export interface AgentInput {
|
||||
export interface AgentOutput {
|
||||
status: 'success' | 'error';
|
||||
result: string | null;
|
||||
phase?: 'progress' | 'final' | 'tool-activity';
|
||||
phase?: 'progress' | 'final' | 'tool-activity' | 'intermediate';
|
||||
newSessionId?: string;
|
||||
error?: string;
|
||||
}
|
||||
|
||||
@@ -105,6 +105,17 @@ export class MessageTurnController {
|
||||
);
|
||||
}
|
||||
|
||||
if (result.phase === 'intermediate') {
|
||||
// Send as standalone message without touching progress state
|
||||
if (text) {
|
||||
await this.options.channel.sendMessage(this.options.chatJid, text);
|
||||
}
|
||||
if (!this.poisonedSessionDetected) {
|
||||
this.resetIdleTimer();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (result.phase === 'tool-activity') {
|
||||
// Ensure a progress message exists for tool activity sub-lines
|
||||
if (!this.progressMessageId && !this.progressCreating) {
|
||||
|
||||
Reference in New Issue
Block a user