feat(coding-agent/modes): added debug transcript export command to dump visible TUI conversation

- Added transcript export option to debug menu that writes visible TUI conversation to a temporary text file.
- Implemented handleDebugTranscriptCommand in CommandController to render chat messages, strip ANSI codes, and write to temp directory.
- Updated InteractiveModeContext interface and InteractiveMode to expose the new debug transcript command handler.
This commit is contained in:
can1357
2026-03-01 08:53:49 +01:00
parent e7c9ff4d4f
commit 0fbd76d3fa
5 changed files with 37 additions and 1 deletions
+11
View File
@@ -27,6 +27,11 @@ const DEBUG_MENU_ITEMS: SelectItem[] = [
{ value: "memory", label: "Report: memory issue", description: "Heap snapshot + bundle" },
{ value: "logs", label: "View: recent logs", description: "Show last 50 log entries" },
{ value: "system", label: "View: system info", description: "Show environment details" },
{
value: "transcript",
label: "Export: TUI transcript",
description: "Write visible TUI conversation to a temp txt",
},
{ value: "clear-cache", label: "Clear: artifact cache", description: "Remove old session artifacts" },
];
@@ -95,6 +100,9 @@ export class DebugSelectorComponent extends Container {
case "system":
await this.#handleViewSystemInfo();
break;
case "transcript":
await this.#handleTranscriptExport();
break;
case "clear-cache":
await this.#handleClearCache();
break;
@@ -323,6 +331,9 @@ export class DebugSelectorComponent extends Container {
this.ctx.ui.requestRender();
}
async #handleTranscriptExport(): Promise<void> {
await this.ctx.handleDebugTranscriptCommand();
}
async #handleOpenArtifacts(): Promise<void> {
const sessionFile = this.ctx.sessionManager.getSessionFile();
if (!sessionFile) {