diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-17 03:34:08 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-17 03:34:08 +0300 |
| commit | c115dbd0510200371dc033c208c0c3c09131c797 (patch) | |
| tree | baf745f658ec7740e89769556a8ccd3d2369ca38 /SOCKET_API.md | |
| parent | f7fe0f203e0f349df33819aab239c0aade016f79 (diff) | |
docs: document terminal core in next docs
Diffstat (limited to 'SOCKET_API.md')
| -rw-r--r-- | SOCKET_API.md | 49 |
1 files changed, 1 insertions, 48 deletions
diff --git a/SOCKET_API.md b/SOCKET_API.md index b21fba6f..51046860 100644 --- a/SOCKET_API.md +++ b/SOCKET_API.md @@ -9,7 +9,7 @@ if you are teaching an agent that is already running inside herdr, start with [` there are three practical ways to integrate with herdr: - **agent skill** — [`SKILL.md`](./SKILL.md). best when an agent inside herdr just needs to learn the workflow quickly. -- **cli wrappers** — `herdr server stop`, `herdr workspace ...`, `herdr tab ...`, `herdr agent ...`, `herdr pane ...`, `herdr wait ...`. best for shell scripts and simple orchestration. +- **cli wrappers** — `herdr server stop`, `herdr workspace ...`, `herdr tab ...`, `herdr pane ...`, `herdr wait ...`. best for shell scripts and simple orchestration. - **raw socket api** — best when you want direct request/response control or long-lived event subscriptions. these layers are intentionally stacked on top of the same control surface. @@ -141,7 +141,6 @@ for backward compatibility, requests also accept the older positional forms like ```json { "pane_id": "w64e95948145ed1-1", - "terminal_id": "term_64e95948145ed1", "workspace_id": "w64e95948145ed1", "tab_id": "w64e95948145ed1:1", "focused": true, @@ -153,29 +152,8 @@ for backward compatibility, requests also accept the older positional forms like } ``` -`terminal_id` is an opaque terminal identity. during the pane-backed transition each pane has one terminal id, but clients should not derive it from the pane id. - `label` is an optional manual pane name set through `pane.rename`. -`agent_info` responses contain a terminal-facing view of the same live pane-backed terminal: - -```json -{ - "terminal_id": "term_64e95948145ed1", - "name": "reviewer", - "agent": "pi", - "agent_status": "working", - "workspace_id": "w64e95948145ed1", - "tab_id": "w64e95948145ed1:1", - "pane_id": "w64e95948145ed1-1", - "focused": true, - "cwd": "/home/can/Projects/herdr", - "revision": 0 -} -``` - -`name` is the manual pane label treated as the terminal/agent name by `agent.*` commands. `agent.rename` rejects duplicate active names; `pane.rename` remains backward-compatible and can still create duplicates. - `agent` is an optional display label string. - when herdr detects a built-in agent, this is that built-in name like `pi` or `claude` @@ -225,13 +203,6 @@ for backward compatibility, requests also accept the older positional forms like | `tab.focus` | focus a tab | `tab_info` | | `tab.rename` | rename a tab | `tab_info` | | `tab.close` | close a tab | `ok` | -| `agent.list` | list named or detected terminal-backed agents | `agent_list` | -| `agent.get` | inspect one terminal-backed agent by terminal id, unique name, or pane id | `agent_info` | -| `agent.read` | read output from one terminal-backed agent | `pane_read` | -| `agent.send` | send literal text to one terminal-backed agent | `ok` | -| `agent.rename` | set or clear the unique agent/terminal name | `agent_info` | -| `agent.focus` | show the terminal-backed agent in the TUI | `agent_info` | -| `agent.start` | start a named terminal-backed agent from argv | `agent_started` | | `pane.list` | list panes, optionally filtered by workspace | `pane_list` | | `pane.get` | inspect one pane | `pane_info` | | `pane.rename` | set or clear a manual pane label | `pane_info` | @@ -989,20 +960,6 @@ herdr tab rename <tab_id> <label> herdr tab close <tab_id> ``` -agent commands: - -```text -herdr agent list -herdr agent get <target> -herdr agent read <target> [--source visible|recent|recent-unwrapped] [--lines N] [--format text|ansi] [--ansi] -herdr agent send <target> <text> -herdr agent rename <target> <name>|--clear -herdr agent focus <target> -herdr agent start <name> [--cwd PATH] [--workspace ID] [--tab ID] [--split right|down] [--focus|--no-focus] -- <argv...> -``` - -agent targets accept terminal ids, unique agent names, and legacy pane ids. duplicate names fail clearly for `agent.*`; `pane.rename` can still create duplicate pane labels for backward compatibility. `agent start` treats everything after `--` as argv and does not require agent-specific launch logic. - pane commands: ```text @@ -1037,10 +994,6 @@ herdr wait agent-status <pane_id> --status <idle|working|blocked|done|unknown> [ - `tab create` without `--label` keeps the default numbered tab naming - `tab create --label` applies the custom tab name immediately - `tab create` returns `result.tab` and `result.root_pane` -- `agent list` shows named panes and detected/reported agents as terminal-backed agents -- `agent focus` switches the TUI workspace/tab/pane focus; it is not direct terminal attach -- `agent rename` enforces unique active names; use `pane rename` only when duplicate labels are intentional -- `agent start <name> -- <argv...>` starts a named pane-backed terminal and returns `result.agent` plus `result.argv` - `pane split` keeps focus where it is by default; pass `--focus` to switch to the new pane - `pane read` prints **text**, not json - `pane read --format ansi` and `pane read --ansi` print a rendered ANSI snapshot with colors/styles preserved |
