| 164 | |
| 165 | // Listen for messages |
| 166 | const messageHandler = ({ message }: { message: ClineMessage }) => { |
| 167 | messages.push(message) |
| 168 | |
| 169 | // Log important messages for debugging |
| 170 | if (message.type === "say" && message.say === "error") { |
| 171 | errorOccurred = message.text || "Unknown error" |
| 172 | console.error("Error:", message.text) |
| 173 | } |
| 174 | if (message.type === "ask" && message.ask === "tool") { |
| 175 | console.log("Tool request:", message.text?.substring(0, 200)) |
| 176 | } |
| 177 | if (message.type === "say" && (message.say === "completion_result" || message.say === "text")) { |
| 178 | console.log("AI response:", message.text?.substring(0, 200)) |
| 179 | } |
| 180 | |
| 181 | // Check for tool execution |
| 182 | if (message.type === "say" && message.say === "api_req_started" && message.text) { |
| 183 | console.log("API request started:", message.text.substring(0, 200)) |
| 184 | try { |
| 185 | const requestData = JSON.parse(message.text) |
| 186 | if (requestData.request && requestData.request.includes("apply_diff")) { |
| 187 | applyDiffExecuted = true |
| 188 | console.log("apply_diff tool executed!") |
| 189 | } |
| 190 | } catch (e) { |
| 191 | console.log("Failed to parse api_req_started message:", e) |
| 192 | } |
| 193 | } |
| 194 | } |
| 195 | api.on(RooCodeEventName.Message, messageHandler) |
| 196 | |
| 197 | // Listen for task events |