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,