Skip to content

[codex] Add conversation export - #82

Open
DorianZheng wants to merge 2 commits into
mainfrom
feature/conversation-export
Open

[codex] Add conversation export#82
DorianZheng wants to merge 2 commits into
mainfrom
feature/conversation-export

Conversation

@DorianZheng

@DorianZheng DorianZheng commented Apr 19, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • added a native conversation export flow in Electron main with dialog.showSaveDialog() and a new dune:export:conversation IPC handler
  • added runtime/controller support to collect the full agent transcript across paged transcript reads
  • added JSON and Markdown exporters that rewrite attachment references into a sibling assets/ folder
  • added renderer export controls in the agent panel, including success/error feedback and compact chat support
  • added preload/shared bridge contracts and focused tests for the exporter, preload bridge, controller paging, and panel UI
  • tightened an existing runtime test mock type and export filename sanitization while validating the feature end to end

Why

Users need a way to save an agent group's full conversation history in either a human-readable format or a machine-readable format without manually copying content out of the app.

User impact

Agents with an active chat panel now expose an Export action with Markdown (.md) and JSON (.json) options. Exports copy referenced local attachments into an assets/ sibling folder and rewrite exported paths to stay relative.

Validation

  • pnpm vitest run src/electron/main/export/conversation-exporter.test.ts src/electron/main/runtime/desktop-runtime-controller.test.ts src/electron/preload.test.ts src/renderer/features/agents/components/AgentPanel.test.tsx
  • pnpm tsc --noEmit

@DorianZheng
DorianZheng marked this pull request as ready for review April 24, 2026 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant