From 439022f72064e368587116374cd5a1b6328774e5 Mon Sep 17 00:00:00 2001 From: "Steven T. Cramer" Date: Sun, 15 Jun 2025 09:35:53 +0700 Subject: [PATCH] fix: Complete DirectiveStreamingParser refactoring by adding log_message case handler - Add missing log_message case handler in presentAssistantMessage.ts - Fix syntax error by adding missing opening brace for tool_use case - Make LogManager public in Task class to allow access from presentAssistantMessage - All tests passing (11/11) and TypeScript compilation clean - Log messages now properly displayed in Roo-Code Output window --- .../assistant-message/presentAssistantMessage.ts | 13 ++++++++++++- src/core/task/Task.ts | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/core/assistant-message/presentAssistantMessage.ts b/src/core/assistant-message/presentAssistantMessage.ts index 54916cf89f..80c884a69b 100644 --- a/src/core/assistant-message/presentAssistantMessage.ts +++ b/src/core/assistant-message/presentAssistantMessage.ts @@ -4,6 +4,8 @@ import { serializeError } from "serialize-error" import type { ToolName, ClineAsk, ToolProgressStatus } from "@roo-code/types" import { TelemetryService } from "@roo-code/telemetry" +import type { LogDirective } from "./directives/logDirective" + import { defaultModeSlug, getModeBySlug } from "../../shared/modes" import type { ToolParamName, ToolResponse } from "../../shared/tools" @@ -149,7 +151,15 @@ export async function presentAssistantMessage(cline: Task) { await cline.say("text", content, undefined, block.partial) break } - case "tool_use": + case "log_message": { + // Process log message using LogManager + const logBlock = block as LogDirective + if (logBlock.message && logBlock.level) { + cline.logManager.processLogEntry(logBlock.message, logBlock.level, logBlock.partial) + } + break + } + case "tool_use": { const toolDescription = (): string => { switch (block.name) { case "execute_command": @@ -512,6 +522,7 @@ export async function presentAssistantMessage(cline: Task) { } break + } } const recentlyModifiedFiles = cline.fileContextTracker.getAndClearCheckpointPossibleFile() diff --git a/src/core/task/Task.ts b/src/core/task/Task.ts index 0b2aa87390..7a6f082023 100644 --- a/src/core/task/Task.ts +++ b/src/core/task/Task.ts @@ -194,7 +194,7 @@ export class Task extends EventEmitter { didCompleteReadingStream = false // Logging - private logManager: LogManager + public logManager: LogManager constructor({ provider,