Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
264be8a
feat(cli): add TUI spec — k9s-inspired resource browser for Ambient API
jsell-rh Apr 24, 2026
8128d8d
feat(cli): Wave 0 — TUI foundation modules
jsell-rh Apr 24, 2026
9aaa4d5
fix(cli): address Wave 0 spec alignment gaps
jsell-rh Apr 24, 2026
533230d
feat(cli): Wave 0 TUI wiring — AppModel, Init/Update/View for project…
jsell-rh Apr 24, 2026
c615a71
docs(cli): trim current-state framing from TUI spec
jsell-rh Apr 24, 2026
e5227a0
Merge branch 'main' into jsell/feat/tui
mergify[bot] Apr 24, 2026
9b3f1b9
feat(cli): Wave 0 wiring — k9s-style TUI with project table
jsell-rh Apr 24, 2026
d86cf3e
docs(cli): address spec review feedback on TUI spec
jsell-rh Apr 24, 2026
9e7e071
fix(cli): TUI visual polish — full-width table, borders, hints
jsell-rh Apr 24, 2026
3e4e3c7
fix(cli): inline autocomplete and live filter
jsell-rh Apr 24, 2026
ae0d2eb
fix(cli): title bar colors and centering to match k9s
jsell-rh Apr 24, 2026
bc0361c
fix(cli): update TUI branding from AM to ACP (Ambient Code Platform)
jsell-rh Apr 24, 2026
8644f3d
fix(cli): black text on selected row, match header border color
jsell-rh Apr 24, 2026
866fcfd
fix(cli): add padding around ACP logo in header
jsell-rh Apr 24, 2026
95431e9
fix(cli): full-width row highlight with black text on orange
jsell-rh Apr 24, 2026
5671ece
fix(cli): full-width row highlight across all columns
jsell-rh Apr 24, 2026
6f81667
fix(cli): selected row black text by removing Cell foreground override
jsell-rh Apr 24, 2026
18b5297
feat(cli): view helpers for agents, sessions, inbox, messages
jsell-rh Apr 24, 2026
369a27b
feat(cli): full navigation wiring — Waves 1-3 connected
jsell-rh Apr 24, 2026
f400ee5
feat(cli): :context shows contexts in a table view
jsell-rh Apr 24, 2026
ad39f21
feat(cli): CRUD + SSE client methods and detail view
jsell-rh Apr 24, 2026
af980e7
feat(cli): wire CRUD, SSE, and detail views into TUI
jsell-rh Apr 24, 2026
5d8cd7a
fix(cli): detail view redraws on terminal resize
jsell-rh Apr 25, 2026
ec867b2
feat(cli): confirmation modals, copy-to-clipboard, SSE status, error …
jsell-rh Apr 25, 2026
8d01b71
fix(cli): update TUI spec branding from AM to ACP
jsell-rh Apr 24, 2026
7842a96
feat(cli): add contextual hotkey hints and session creation to spec
jsell-rh Apr 25, 2026
045d955
feat(cli): add number-key project switching to spec
jsell-rh Apr 25, 2026
7fc390d
feat(cli): contextual hotkeys, project shortcuts, and new session pro…
jsell-rh Apr 25, 2026
ad635ab
fix(cli): project shortcuts stacked vertically, hidden on projects/co…
jsell-rh Apr 25, 2026
0f1c151
fix(cli): messages view uses k9s-style title bar and status indicators
jsell-rh Apr 25, 2026
fa39413
feat(cli): centered dialog overlays for delete confirmation
jsell-rh Apr 25, 2026
cab2c69
fix(cli): header layout — server moved to bottom, shortcuts truncated
jsell-rh Apr 25, 2026
ffc8036
feat(cli): agent/session counts in project table, active phase in age…
jsell-rh Apr 25, 2026
86c7654
fix(cli): header 4-column layout — shortcuts padded, refresh under logo
jsell-rh Apr 25, 2026
ac29712
fix(cli): don't truncate server URL in header
jsell-rh Apr 25, 2026
9c7e150
fix(cli): running/active phase uses orange (214) instead of green
jsell-rh Apr 25, 2026
24de915
feat(cli): real session counts per agent + row coloring by phase
jsell-rh Apr 25, 2026
2cebd4c
fix(cli): full-width row highlight accounts for cell padding
jsell-rh Apr 25, 2026
32181b4
fix(cli): full-row coloring by phase + reliable full-width highlight
jsell-rh Apr 25, 2026
66c145e
fix(cli): selected row highlight uses phase color as background
jsell-rh Apr 25, 2026
f348b37
feat(cli): add row coloring and phase-based highlight to spec
jsell-rh Apr 25, 2026
8ccaa63
fix(cli): restore native Selected style + dynamic phase-based background
jsell-rh Apr 25, 2026
f0a897e
fix(cli): hide project switcher in messages/detail, widen highlight
jsell-rh Apr 25, 2026
7fb53b2
fix(cli): don't ANSI-color empty cells — fixes highlight width
jsell-rh Apr 25, 2026
cff84af
fix(cli): per-row phase coloring via post-processing, plain text cells
jsell-rh Apr 25, 2026
8e0d1f9
fix(cli): add row coloring to project table via STATUS column
jsell-rh Apr 25, 2026
8217c7b
feat(cli): add consistent chrome principle to TUI spec
jsell-rh Apr 25, 2026
7699f69
feat(cli): message polling fallback for session messages
jsell-rh Apr 25, 2026
f8582be
fix(cli): remove messages bottom status bar — use header hints instead
jsell-rh Apr 25, 2026
6202d02
fix(cli): color palette cleanup + command bar in messages view
jsell-rh Apr 25, 2026
cab72ea
fix(cli): wire dialog overlay into View rendering
jsell-rh Apr 25, 2026
b9e4f89
fix(cli): project session count sums per-agent counts for consistency
jsell-rh Apr 25, 2026
349eff9
feat(cli): help overlay, session names, project switch stays in view
jsell-rh Apr 25, 2026
f6251f3
fix(cli): 0 key stays in current view, shows global scope
jsell-rh Apr 25, 2026
ac65b4a
fix(cli): 9 UI polish fixes
jsell-rh Apr 25, 2026
8f7dd86
fix(cli): breadcrumb segments as individual colored boxes
jsell-rh Apr 25, 2026
f36cebf
fix(cli): bold breadcrumbs, less padding, logo pushed down one line
jsell-rh Apr 25, 2026
3715723
fix(cli): improve leaf breadcrumb contrast — brighter blue bg + white fg
jsell-rh Apr 25, 2026
f3bac7c
fix(cli): dinosaur error art + bordered command bar
jsell-rh Apr 25, 2026
0b31030
fix(cli): smaller dino art, command bar takes 3 lines in resize calc
jsell-rh Apr 25, 2026
acf031b
fix(cli): Esc clears filter, filter shown in title bar, clean dino
jsell-rh Apr 25, 2026
d1855de
feat(cli): y hotkey shows pretty-printed JSON instead of detail view
jsell-rh Apr 25, 2026
7589b1d
fix(cli): y key labeled JSON instead of YAML
jsell-rh Apr 25, 2026
e7cce02
fix(cli): title bar colors — blue scope, white count, dim delimiters
jsell-rh Apr 25, 2026
bffbf46
Merge branch 'main' into jsell/feat/tui-dev
jsell-rh Apr 25, 2026
5d160ed
feat(cli): add $EDITOR support for e key in TUI
jsell-rh Apr 25, 2026
ff17595
fix(cli): editor reopens with error comment on parse failure
jsell-rh Apr 25, 2026
ec292e4
fix(cli): editor header matches k9s style — mentions error reopening
jsell-rh Apr 25, 2026
5a0d3e2
fix(cli): resolve project ID from cached session when sending messages
jsell-rh Apr 25, 2026
c7471d7
fix(cli): resolve project ID from session for SSE + polling + send
jsell-rh Apr 25, 2026
577038e
feat(cli): message view — timestamps, wrap, glamour, compose fixes
jsell-rh Apr 25, 2026
f31d2e1
fix(cli): pad message type tags to fixed width for aligned text
jsell-rh Apr 25, 2026
1f45fc4
fix(cli): rename Wrap→Truncate, Mode→Raw, add all shortcuts to header
jsell-rh Apr 25, 2026
525ccf9
fix(cli): rename to p/Pretty, show all shortcuts in header (up to 4 r…
jsell-rh Apr 25, 2026
30bcf76
fix(cli): detect markdown tables in looksLikeMarkdown
jsell-rh Apr 25, 2026
2ffcbd3
fix(cli): always render through glamour in pretty mode, remove looksL…
jsell-rh Apr 25, 2026
39c6a2f
fix(cli): strip leading/trailing blank lines from glamour output
jsell-rh Apr 25, 2026
ef3e4a6
fix(cli): remove / search mode from messages — was silently swallowin…
jsell-rh Apr 25, 2026
819d152
feat(cli): message separators + search filter in messages view
jsell-rh Apr 25, 2026
be8b660
fix(cli): Esc clears search before popping, dimmer separator aligned …
jsell-rh Apr 25, 2026
2261299
fix(cli): disable SSE watcher — blocks UI for seconds on connect
jsell-rh Apr 25, 2026
d84b47b
fix(cli): show real username from JWT token instead of hardcoded "user"
jsell-rh Apr 25, 2026
5cf71e2
fix(cli): cache display lines to avoid re-rendering glamour every frame
jsell-rh Apr 25, 2026
afa7727
Merge branch 'jsell/feat/tui-dev' of https://github.com/jsell-rh/plat…
jsell-rh Apr 25, 2026
e926581
fix(cli): per-message glamour cache + scroll position indicator
jsell-rh Apr 25, 2026
e53044e
debug(cli): add render timing log to /tmp/tui-render-debug.log
jsell-rh Apr 25, 2026
08beba3
fix(cli): glamour WithAutoStyle→WithStandardStyle, remove debug, fix …
jsell-rh Apr 25, 2026
043518d
fix(cli): 0 key stays in agents view, not always jumping to projects
jsell-rh Apr 25, 2026
0865189
fix(cli): auto-refresh tokens — ClientFactory calls GetTokenWithRefre…
jsell-rh Apr 25, 2026
0ebcbaa
feat(cli): TUI header, hint registry, creation dialogs, and UI polish
jsell-rh Apr 26, 2026
6d89f85
Merge branch 'jsell/feat/tui' of https://github.com/jsell-rh/platform…
jsell-rh Apr 27, 2026
41a4cfa
fix(cli): fix tui shortcut padding
jsell-rh Apr 27, 2026
79da4f0
fix(cli): TUI comprehensive review — 42 bugs fixed across state, secu…
jsell-rh Apr 27, 2026
fb982ae
fix(cli): refactor dialog key handling and fix message scroll on mode…
jsell-rh Apr 27, 2026
f04bab9
feat(cli): use AG-UI event stream for live session messages
jsell-rh Apr 27, 2026
7da991f
docs(tui): update spec — dual-stream message source with AG-UI events
jsell-rh Apr 27, 2026
a73c46e
fix(cli): prefill historical messages before starting AG-UI event stream
jsell-rh Apr 27, 2026
ad0eeeb
fix(cli): accumulate AG-UI streaming deltas into single growing messages
jsell-rh Apr 27, 2026
87591f9
fix(cli): skip seq dedup for live AG-UI events
jsell-rh Apr 27, 2026
6663328
feat(cli): accumulate reasoning events and render dim in message stream
jsell-rh Apr 27, 2026
25cc096
fix(cli): show user messages immediately and run dual streams in para…
jsell-rh Apr 27, 2026
8b0b40b
fix(cli): dedup polled assistant messages when event stream is connected
jsell-rh Apr 27, 2026
90881b4
refactor(cli): split message stream into history + liveOverlay buffers
jsell-rh Apr 27, 2026
bfa7c7f
fix(cli): reconnect AG-UI event stream after RUN_FINISHED for next run
jsell-rh Apr 27, 2026
d277103
fix(cli): glamour render extracted text, not raw JSON payload
jsell-rh Apr 27, 2026
7b3c453
feat(cli): red logo and Session Expired badge on 401 auth failure
jsell-rh Apr 28, 2026
53190a3
fix(cli): use ANSI 196 (true red) instead of 31 (dark blue) for error…
jsell-rh Apr 28, 2026
ba35834
refactor(cli): unify Context and Server header into single Context line
jsell-rh Apr 28, 2026
86cf870
fix(cli): use unique entryID for glamour cache instead of Seq to prev…
jsell-rh Apr 28, 2026
87f5d62
refactor(cli): revert TUI message stream to simple polling, remove SSE
jsell-rh Apr 28, 2026
146c3bd
fix(cli): remove streaming cursor indicator from message view
jsell-rh Apr 28, 2026
f787fed
feat(cli): add scheduled sessions view and session interrupt
jsell-rh Apr 28, 2026
bed4d1e
Merge remote-tracking branch 'origin/main' into jsell/feat/tui-dev
jsell-rh Apr 28, 2026
6aa804b
feat(sdk): add ScheduledSession types and builders to Go SDK
jsell-rh Apr 28, 2026
28ca608
refactor(cli): migrate TUI scheduled sessions and interrupt to SDK
jsell-rh Apr 28, 2026
7a81a1b
fix(cli): remove uiTickMsg, only show refresh counter when stale
jsell-rh Apr 28, 2026
8004e8d
feat(cli): add repo URL field to new session form
jsell-rh Apr 29, 2026
da6a7a4
feat(cli): enhance scheduled sessions with full CRUD, edit, and proje…
jsell-rh Apr 30, 2026
b4a3d00
style(cli): gofmt formatting pass
jsell-rh Apr 30, 2026
973c52a
Merge remote-tracking branch 'origin/main' into jsell/feat/tui-dev
jsell-rh Apr 30, 2026
df5641b
fix(cli): fix CI lint and test failures
jsell-rh Apr 30, 2026
0b7dd95
fix(cli): standardize TUIConfig receiver name to 'c' (ST1016)
jsell-rh Apr 30, 2026
f1e89ca
fix(cli): address CodeRabbit review feedback
jsell-rh Apr 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 15 additions & 27 deletions components/ambient-cli/cmd/acpctl/ambient/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,41 +14,29 @@ import (

var Cmd = &cobra.Command{
Use: "ambient",
Short: "Strategic dashboard — live view of your entire Ambient platform",
Long: `Launches an interactive terminal dashboard for the Ambient platform.

Navigate with ↑↓ (or j/k) to switch sections:
Cluster Pods system pods in the ambient-code namespace
Namespaces all cluster namespaces (fleet-* highlighted)
Projects all projects via SDK
Sessions all sessions with phase status
Agents all agents with current session
Stats summary counts and phase breakdown

Controls:
↑↓ / j/k navigate sections
Tab focus command bar
Esc unfocus command bar
r force refresh
PgUp/PgDn scroll main panel
q / Ctrl+C quit

Command bar accepts any shell command (kubectl, oc, acpctl, etc.)
Output streams line-by-line into the main panel.

Data refreshes automatically every 10 seconds.`,
Short: "Interactive TUI — k9s-style resource browser for the Ambient platform",
Long: `Launches an interactive terminal UI for the Ambient platform.

Navigation (k9s-style):
: command mode (tab-complete resource kinds)
/ filter mode (regex, /! inverse, /-l label)
Enter drill into selected resource
Esc back / cancel
d describe selected resource
q quit (or back from child view)
? help overlay

Data refreshes automatically every 5 seconds.`,
RunE: func(cmd *cobra.Command, args []string) error {
factory, err := connection.NewClientFactory()
if err != nil {
return fmt.Errorf("connect: %w", err)
}

client, err := connection.NewClientFromConfig()
m, err := tui.NewAppModel(factory)
if err != nil {
return fmt.Errorf("connect: %w", err)
return fmt.Errorf("init TUI: %w", err)
}

m := tui.NewModel(client, factory)
p := tea.NewProgram(m, tea.WithAltScreen(), tea.WithMouseCellMotion())
if _, err := p.Run(); err != nil {
fmt.Fprintf(os.Stderr, "TUI error: %v\n", err)
Expand Down
Loading