(message: SessionMessageResponse)
| 78 | } |
| 79 | |
| 80 | async replayMessage(message: SessionMessageResponse) { |
| 81 | if (message.info.role !== "assistant" && message.info.role !== "user") return |
| 82 | |
| 83 | const cwd = message.info.role === "assistant" ? message.info.path?.cwd : undefined |
| 84 | for (const part of message.parts) { |
| 85 | await this.recordFetchedPart(message.info.sessionID, message, part) |
| 86 | if (part.type === "tool") { |
| 87 | await this.handleToolPart(message.info.sessionID, part, cwd ?? process.cwd()) |
| 88 | continue |
| 89 | } |
| 90 | await this.replayContentPart(message, part) |
| 91 | } |
| 92 | } |
| 93 | |
| 94 | private async replayContentPart(message: SessionMessageResponse, part: Part) { |
| 95 | if (part.type !== "text" && part.type !== "file" && part.type !== "reasoning") return |
no test coverage detected