Commit Graph

4 Commits

Author SHA1 Message Date
Austin aa7fd2b886 fix: enable opencode agent + wire dashboard Terminal to live /ws/terminal
- settings.json: opencode enabled true (binary already installed; was disabled)
- terminal.js: point WebSocket at /ws/terminal on the main server (was dead 8082),
  switch message protocol action:/type: -> type: to match PtySession backend
2026-07-26 10:40:40 -07:00
Austin 96d8281b9b Wire up dynamic agent registry, integrations, agent-time tracking, UI modernization
- server.py: dynamic agent execution engine (cli/http/mcp), live agent
  registry (/api/agents register/unregister), integrations API, agent stats
  & skill scoring, kanban task delete, plugin uninstall, agent-time tracking
  + /test page
- dashboard: modernized agent-health, plugins marketplace, smart-router,
  styles; added agent-time monitor page + terminal page
- scheduler.py rewrite; start.sh / start-agentic-os.sh improvements
- skills: added firebase-*, notion-knowledge-capture, xcode-project-setup,
  audit/test plugins; updated learnings across skills
- brain/ docs + data registry files (agent-registry, integrations, router-keywords)
- .gitignore: exclude runtime artifacts (pid, graphify-out, logs)

Verified live on :8081 - all new endpoints return 200 and register/unregister
persists to data/agent-registry.json.
2026-07-25 12:27:26 -07:00
Claude d7a1cbd292 Replace command-runner Terminal with a real interactive PTY
The previous Terminal ran one command at a time via subprocess.run
and returned its output - it couldn't run interactive programs
(colors, live input, TUIs like gemini's chat/auth flow), which is
what a terminal actually needs to do.

Backend: new /ws/terminal WebSocket endpoint spawns a real shell
attached to a pseudo-terminal (stdlib pty on POSIX, pywinpty/ConPTY
on Windows) and streams raw I/O bidirectionally, with resize support.
Replaces the old POST /api/terminal/run and GET /api/terminal/session
endpoints entirely.

Frontend: terminal.js now loads xterm.js + the fit addon from CDN
and renders a real terminal emulator wired to the WebSocket, instead
of a scrollback div with a single input line.

Verified on this Linux sandbox via raw WebSocket tests: shell spawns
correctly, commands execute and echo real output, resize propagates
to the PTY (confirmed via ), and closing the connection
cleanly kills the shell process with no orphans (interactive bash
ignores SIGTERM by default, so cleanup uses SIGKILL). Could not
visually verify the xterm.js browser rendering in this sandbox since
its egress policy blocks the CDN (cdn.jsdelivr.net) outright - same
CDN this app already uses for chart.js, so expected to work on a
normal machine; please confirm on Windows.
2026-07-06 05:12:54 +00:00
Claude fec0601722 Add a Terminal page to the dashboard
Adds a real shell terminal to the dashboard sidebar: POST
/api/terminal/run executes a command via subprocess in a
server-tracked working directory (with cd support), and GET
/api/terminal/session returns the current cwd. The frontend renders
a scrollback panel with command history (up/down arrows) styled to
match the existing chat UI.

Local-only power feature: it executes arbitrary shell commands, same
trust model as the existing agent CLIs the dashboard already shells
out to.
2026-07-05 22:15:47 +00:00