yoi/crates/tui
Hare a6cc05f74c
feat: Session(Segment 群の grouping)を導入
- SessionId 型を新設、各 SegmentStart に session_id を持たせる
- compaction / 内部 fork は同 SessionId を継承、fork() は新 Session を発行
- Store API を (SessionId, SegmentId) ベースに、FsStore layout は
  <root>/<session_id>/<segment_id>.jsonl に
- Store::list_sessions / list_segments(session_id) / lookup_session_of を追加
- restore_by_segment shim を session-store に提供(pod-cli --session で使用)
- SegmentState に SegmentLocation (session_id, segment_id) を保持し ArcSwap で更新
- RestoredState に session_id: Option<SessionId> を追加
- Picker は Session 単位に列挙、leaf segment を解決して resume
2026-05-20 06:17:56 +09:00
..
src feat: Session(Segment 群の grouping)を導入 2026-05-20 06:17:56 +09:00
Cargo.toml refactor: Podのメインループのリファクタリング 2026-05-14 03:27:49 +09:00
README.md Add README to all crates 2026-04-11 03:07:56 +09:00

tui

Pod と対話するためのターミナル UI クライアント。Unix ソケット経由で Pod に接続し、チャット形式でユーザー入力の送信・アシスタント応答の表示・ツール実行の監視を行う。

公開型

  • App — アプリケーション状態(メッセージ履歴、入力バッファ、スクロール位置)
  • Message / MessageKind — 表示メッセージUser, Assistant, Tool, Error, Status
  • PodClient — Pod との Unix ソケット通信クライアント(connect(), send(), next_event()
  • draw() — ratatui によるUI描画関数