Skip to content

feat: entity tree view, agent navigation fixes, configurable refresh#20

Open
gavin-jeong wants to merge 1 commit intomasterfrom
feat/entity-tree-view
Open

feat: entity tree view, agent navigation fixes, configurable refresh#20
gavin-jeong wants to merge 1 commit intomasterfrom
feat/entity-tree-view

Conversation

@gavin-jeong
Copy link
Copy Markdown
Collaborator

Summary

Entity Tree View

  • Toggle left pane between flat conversation list and entity tree (tab when left-focused, or :tree command)
  • Right pane detail level cycles independently (tab when right-focused): compact/standard/verbose
  • Tree sections: Agents, Background Jobs, Task Board — each collapsible
  • Compact labels (Agent: shortID [type], BG: id command, Task: #id subject)
  • Rich preview: agents show full subagent conversation with tool calls, bg jobs show actual command output, tasks show full activity span
  • J key jumps from conv sub-item to matching entity in tree (configurable via ConvKeymap.JumpToTree)

Agent Navigation Fixes

  • Parse toolUseResult.agentId from session JSONL (was reading empty top-level field)
  • Build toolUseToAgent map for direct agent ID lookup instead of timestamp heuristics
  • Fix bg task navigation: match actual TaskOutput result instead of "Command running in background" acknowledgement
  • TaskCreate operations now visible as sub-items (task detection decoupled from task list existence)

Configurable Refresh

  • All views (Sessions, Conversation, Config, Plugins, Stats, Hooks) use keymap.Session.Refresh instead of hardcoded "R"
  • Added refresh to Stats and Hooks views (previously had none)
  • Help lines use configurable key

Test plan

  • Open a session with agents — press tab on left side to toggle to entity tree
  • Select agent in tree — preview shows full subagent conversation
  • Enter on agent — drills into subagent conversation view
  • Select bg job in tree — preview shows command output
  • J on agent sub-item in flat view — jumps to tree with agent selected
  • :tree / :detail:compact commands work
  • R refreshes in all views (sessions, conversation, config, plugins, stats, hooks)
  • Custom keymap override for refresh key works

@gavin-jeong gavin-jeong force-pushed the feat/entity-tree-view branch 9 times, most recently from 2cefee0 to 008125f Compare April 8, 2026 04:58
@gavin-jeong gavin-jeong requested review from dikpaal and zzJinux and removed request for dikpaal April 8, 2026 07:46
Entity Tree View:
- Toggle left pane between flat conversation list and entity tree
  (tab when left-focused, or :tree command)
- Right pane detail level cycles independently (tab when right-focused)
- Tree shows Agents, Background Jobs, and Task Board sections
- Compact labels: Agent: shortID [type], BG: id command, Task: #id subject
- Rich preview: agents show full subagent conversation with tool calls,
  bg jobs show actual command output, tasks show full activity span
- J key jumps from conv sub-item to matching entity in tree
- ConvKeymap with configurable JumpToTree key

Agent Navigation Fixes:
- Parse toolUseResult.agentId from session JSONL (was reading empty
  top-level field)
- Build toolUseToAgent map for direct agent ID lookup instead of
  timestamp heuristics
- Fix bg task navigation: match actual TaskOutput result instead of
  "Command running in background" acknowledgement
- TaskCreate operations now visible as sub-items (task detection
  decoupled from task list existence)

Configurable Refresh:
- All views use keymap.Session.Refresh instead of hardcoded "R"
- Added refresh to Stats and Hooks views (previously had none)
- Help lines use configurable key
@gavin-jeong gavin-jeong force-pushed the feat/entity-tree-view branch from 008125f to 68bbdae Compare April 8, 2026 09:29
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