Skip to content

feat: add agent/axon TUI screens and align list commands with pagination#205

Merged
jason-rl merged 9 commits intomainfrom
jc/agent-axon-tui-screens
Apr 23, 2026
Merged

feat: add agent/axon TUI screens and align list commands with pagination#205
jason-rl merged 9 commits intomainfrom
jc/agent-axon-tui-screens

Conversation

@jason-rl
Copy link
Copy Markdown
Contributor

@jason-rl jason-rl commented Apr 16, 2026

Summary

  • Add agent list/detail TUI screens with private/public tabs, actions popup, delete confirmation, and full cursor pagination
  • Add axon list and axon detail TUI screens
  • Rewrite CLI agent list and axon list to .tsx with TUI components and standard pagination (--limit/--starting-after)
  • Add includeTotalCount parameter to agent service for accurate pagination totals
  • Add axon service enhancements: search, getAxon(), totalCount
  • Group Agents, Objects, and Axons under new "Agents & Objects" main menu submenu
  • Move Benchmarks menu item before Settings
  • Rename "Storage Objects" to "Objects" throughout TUI (breadcrumbs, labels, table titles)

Note: Agent routing, navigation store types, and getAgentColumns()/buildAgentTableColumns() were introduced by #209 and are not part of this PR's diff.

Test plan

  • pnpm build passes
  • Tests pass
  • Command docs auto-generated

🤖 Generated with Claude Code

…ht clipping

- Extract buildObjectDetailFields() into objectService.ts as shared utility
- Refactor ObjectDetailScreen to use shared utility, reducing code duplication
- Add additionalOverhead prop to ResourcePicker for tabbed wrapper height calculation
- Add objectService tests (14 tests)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jason-rl jason-rl force-pushed the jc/object-detail-refactor branch from e054fd3 to 7dc281a Compare April 21, 2026 22:30
@jason-rl jason-rl force-pushed the jc/agent-axon-tui-screens branch from 1554beb to a268483 Compare April 21, 2026 22:30
@jason-rl jason-rl requested review from dines-rl and tode-rl April 21, 2026 23:28
Comment thread src/screens/MenuScreen.tsx Outdated
@jason-rl jason-rl force-pushed the jc/agent-axon-tui-screens branch 4 times, most recently from 0a9613e to 6f0ff3e Compare April 22, 2026 18:19
jason-rl and others added 3 commits April 22, 2026 12:17
…elds

Add color field to ObjectDetailField for semantic coloring (error/warning)
on expiry values. Use formatTimestamp for Created field to include relative
time. Map color names to theme values in ObjectDetailScreen.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
AgentView already types source as AgentSource and is_public as boolean;
the casts were masking the real types.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@jason-rl jason-rl force-pushed the jc/agent-axon-tui-screens branch from 6f0ff3e to e062e13 Compare April 22, 2026 19:22
jason-rl and others added 5 commits April 22, 2026 13:06
Use the single formatTimeAgo from ResourceListView (which provides rich
date+time formatting) for both CLI and TUI, consistent with other list
commands. Removes redundant import from utils/time.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Future-proofs the axon list for operations that need to refresh data
(e.g., delete), matching the pattern used in ListAgentsUI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…efresh race, remove unnecessary async

- Replace buildAgentTableColumns import in DevboxCreatePage with inline
  column builder to decouple from agentColumns.ts
- Replace fragile setTimeout(() => refresh(), 0) with useEffect-based
  needsRefresh state flag for delete callbacks
- Remove unnecessary async from AgentDetailScreen.handleOperation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The prop was typed as generic ResourceWithId but misleadingly named
devbox. Rename to resource across all 15 call sites.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Base automatically changed from jc/object-detail-refactor to main April 23, 2026 00:55
@jason-rl jason-rl merged commit 1481d7a into main Apr 23, 2026
14 checks passed
@jason-rl jason-rl deleted the jc/agent-axon-tui-screens branch April 23, 2026 00:56
jrvb-rl pushed a commit that referenced this pull request Apr 23, 2026
🤖 I have created a release *beep* *boop*
---


##
[1.16.0](v1.15.0...v1.16.0)
(2026-04-23)


### Features

* add agent/axon TUI screens and align list commands with pagination
([#205](#205))
([1481d7a](1481d7a))
* add secret config to bmj, toggle available to show public benchmarks
for new jobs ([#156](#156))
([86cda21](86cda21))
* better handling of RUNLOOP_BASE_URL
([#216](#216))
([f4b59fd](f4b59fd))
* extract shared object detail fields and fix ResourcePicker height
([#204](#204))
([b685b65](b685b65))
* improve agent support in interactive rli
([#209](#209))
([4aa5ca6](4aa5ca6))
* update agents support in rli command line
([#200](#200))
([512d41f](512d41f))


### Bug Fixes

* "Showing 1-0 of 0" in TUI, cache unfiltered total count through search
reset ([#196](#196))
([8170888](8170888))
* don't reset settings TUI menu cursor on back
([#198](#198))
([7a0796d](7a0796d))
* harden dependency security posture
([#211](#211))
([198ad1e](198ad1e))
* improve column width handling for rli agent list
([#199](#199))
([d4aa73f](d4aa73f))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

2 participants