diff --git a/.changeset/tui-export-all-messages.md b/.changeset/tui-export-all-messages.md new file mode 100644 index 0000000000..302f995a45 --- /dev/null +++ b/.changeset/tui-export-all-messages.md @@ -0,0 +1,5 @@ +--- +"@kilocode/cli": patch +--- + +Export all messages from TUI instead of truncated store diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index 21b0ca4bcb..1d0b5c091a 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -1017,10 +1017,16 @@ export function Session() { try { const sessionData = session() if (!sessionData) return - const sessionMessages = messages() + // kilocode_change start - fetch all messages from server instead of truncated sync store + const allMessages = await sdk.client.session.messages({ sessionID: sessionData.id }, { throwOnError: true }) + const sessionMessages = allMessages.data.map((msg) => ({ + info: msg.info, + parts: msg.parts, + })) + // kilocode_change end const transcript = formatTranscript( sessionData, - sessionMessages.map((msg) => ({ info: msg, parts: sync.data.part[msg.id] ?? [] })), + sessionMessages, // kilocode_change { thinking: showThinking(), toolDetails: showDetails(), @@ -1048,7 +1054,6 @@ export function Session() { try { const sessionData = session() if (!sessionData) return - const sessionMessages = messages() const defaultFilename = `session-${sessionData.id.slice(0, 8)}.md` @@ -1063,9 +1068,17 @@ export function Session() { if (options === null) return + // kilocode_change start - fetch all messages from server instead of truncated sync store + const allMessages = await sdk.client.session.messages({ sessionID: sessionData.id }, { throwOnError: true }) + const sessionMessages = allMessages.data.map((msg) => ({ + info: msg.info, + parts: msg.parts, + })) + // kilocode_change end + const transcript = formatTranscript( sessionData, - sessionMessages.map((msg) => ({ info: msg, parts: sync.data.part[msg.id] ?? [] })), + sessionMessages, // kilocode_change { thinking: options.thinking, toolDetails: options.toolDetails,