fix(tui): add plain text format support to session export command #3303

Merged
freemo merged 1 commits from fix/tui-conversation-export-plain-text into master 2026-04-05 21:10:19 +00:00

1 Commits

Author SHA1 Message Date
freemo 8d49a3b242 fix(tui): add plain text format support to session export command
CI / lint (pull_request) Successful in 21s
CI / typecheck (pull_request) Successful in 57s
CI / security (pull_request) Successful in 1m4s
CI / quality (pull_request) Successful in 35s
CI / build (pull_request) Successful in 18s
CI / helm (pull_request) Successful in 23s
CI / unit_tests (pull_request) Successful in 7m0s
CI / e2e_tests (pull_request) Successful in 15m25s
CI / integration_tests (pull_request) Successful in 23m13s
CI / coverage (pull_request) Successful in 11m18s
CI / docker (pull_request) Successful in 1m29s
CI / status-check (pull_request) Successful in 2s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 56m57s
Add plain text (txt) export format to the TUI /session:export command.

- Add Session.as_export_plain_text() domain method that produces a
  human-readable plain text transcript without Markdown formatting
- Update TuiCommandRouter._session_export() to accept 'txt' as a valid
  format, building the plain text content via as_export_plain_text()
- Update the invalid-format error message to include 'txt' as a valid
  option alongside 'json' and 'md'
- Add BDD scenarios covering plain text export via TUI command and
  domain model, including with-messages and no-messages cases
- Add corresponding step definitions for the new BDD scenarios

The plain text format uses a simple separator-based layout:
  Session: <id>
  Actor: <actor>
  ...
  ----------------------------------------
  [0] USER (timestamp):
  message content
  ----------------------------------------

ISSUES CLOSED: #3036
2026-04-05 17:52:30 +00:00