Randalix and Claude Opus 5.5
0481db569d
feat(cli): add codeman agent — session-to-session verbs for every CLI mode
...
The agent skill teaches the session verbs to claude only (Codeman seeds its
preamble for local claude sessions). An opencode, codex, pi or gemini agent has
the same environment — CODEMAN_MUX, CODEMAN_SESSION_ID and CODEMAN_API_URL are
exported into every pane — and nothing that teaches it the verbs, so
`codeman agent ls|spawn|send|wait|read|interrupt|rm` packages them as commands.
It is a client of the server, like `codeman tui`, and stays out of
`codeman session` (which drives the in-process SessionManager). No new route and
no second transport: everything goes through CODEMAN_API_URL, so auth,
ownership and the per-session waiter cap apply unchanged. Credentials and the
Basic header come from src/codeman-credentials.ts, in the same order attach and
the TUI use.
Invariants, each in test/cli-agent.test.ts:
- Refuses outside a Codeman session (CODEMAN_MUX=1 + CODEMAN_API_URL); never
guesses a URL.
- `send` takes the prompt as ONE argument (an unquoted multi-line `$(…)` would
otherwise be split by the shell and re-joined into one line), transmits
printable text plus Enter only, and refuses multi-line input loudly instead of
letting sendInput weld the lines. No resend loop of its own: the server's
SubmitVerifier owns the swallowed-Enter case. ESC exists only as `interrupt`,
which never appends Enter.
- `rm` fails closed: empty id, an unprovable self id, or a prefix match in
either direction refuses.
- Nothing mode-shaped in the CLI: the readiness mark `spawn` waits for comes
from the registry (new `capabilities.composerReadyMark`: claude's composer
hint `shift+tab`, deepseek's `❯`), `read` relies on the route's own answer
dispatch, and a `stop`/`blocked` the session cannot fire is the server's 400,
passed through. A `/wait` timeout is a 200 with `timedOut`: exit 2 with a
neutral line, not an error. A worker that dies during spawn's readiness wait
is exit 3, like every other wait.
- `X-Codeman-Agent-Origin` rides only spawn's quick-start, the one request that
may create a case directory; every other verb leaves it off. Server-side,
test/routes/agent-case-marker-routes.test.ts pins that a POST /api/sessions on
an existing workingDir is never labelled, header or not, and that quick-start
labels only a directory it creates.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
2026-10-09 12:59:56 +02:00
..
2026-08-22 14:13:57 +02:00
2026-09-14 23:46:28 +02:00
2026-09-28 15:23:22 +02:00
2026-10-09 10:19:41 +02:00
2026-10-09 12:59:56 +02:00
2026-09-06 21:53:38 +02:00
2026-09-22 17:11:33 +02:00
2026-06-10 01:38:40 +02:00
2026-07-20 17:35:40 +02:00
2026-08-10 12:29:00 +02:00
2026-10-04 23:52:41 +02:00
2026-09-07 19:09:24 +02:00
2026-09-28 16:28:29 +02:00
2026-08-12 02:30:08 +02:00
2026-09-02 08:26:45 +08:00
2026-09-07 19:09:24 +02:00
2026-08-08 22:30:39 +03:00
2026-08-21 02:37:58 +02:00
2026-08-05 01:40:37 +02:00
2026-01-27 23:15:25 +01:00
2026-06-09 20:02:15 +02:00
2026-09-24 01:57:35 +02:00
2026-09-22 08:10:05 +02:00
2026-07-12 17:50:21 +02:00
2026-10-08 14:56:42 +02:00
2026-06-19 17:58:06 -04:00
2026-06-19 17:58:06 -04:00
2026-09-06 23:11:01 +02:00
2026-09-04 16:08:57 -04:00
2026-02-12 13:44:07 +01:00
2026-10-05 20:00:30 +02:00
2026-03-07 07:33:44 +01:00
2026-02-26 16:44:34 +01:00
2026-09-22 18:53:46 +05:30
2026-09-18 16:43:04 +02:00
2026-10-05 19:51:59 +02:00
2026-10-05 20:00:30 +02:00
2026-10-05 19:51:59 +02:00
2026-09-28 16:28:56 +02:00
2026-08-07 16:41:39 +02:00
2026-08-10 11:19:51 +02:00
2026-07-20 02:48:14 +02:00
2026-09-24 01:48:33 +02:00
2026-10-08 14:55:02 +02:00
2026-03-01 16:50:23 +01:00
2026-10-09 12:59:56 +02:00
2026-09-02 08:26:45 +08:00
2026-09-13 17:43:13 +08:00
2026-10-09 12:59:56 +02:00
2026-09-24 01:48:26 +02:00
2026-09-24 01:48:26 +02:00
2026-10-03 11:19:42 +08:00
2026-09-02 08:26:45 +08:00
2026-10-09 09:35:56 +02:00
2026-10-09 09:35:56 +02:00
2026-10-04 23:52:41 +02:00
2026-09-04 14:20:11 +02:00
2026-08-22 14:13:57 +02:00
2026-10-08 14:56:42 +02:00
2026-10-09 12:59:48 +02:00
2026-08-26 18:43:52 +08:00
2026-08-09 05:02:14 +02:00
2026-10-01 17:16:18 +02:00
2026-09-06 21:53:38 +02:00
2026-08-21 08:23:31 -04:00
2026-06-10 22:47:02 +02:00
2026-09-06 21:53:38 +02:00
2026-10-01 11:18:56 +02:00
2026-07-12 18:42:36 +02:00
2026-08-09 15:56:44 +02:00
2026-09-06 23:05:26 +02:00
2026-09-28 17:10:12 +02:00
2026-06-29 11:35:56 +05:30
2026-10-06 15:46:49 +02:00
2026-09-16 20:47:12 +08:00
2026-09-19 12:32:50 +02:00
2026-09-17 13:41:19 +08:00
2026-09-17 13:41:19 +08:00
2026-09-17 12:22:45 +08:00
2026-09-20 21:19:42 +08:00
2026-09-21 04:30:01 +02:00
2026-09-17 11:09:24 +08:00
2026-09-04 16:08:57 -04:00
2026-03-01 16:50:23 +01:00
2026-08-24 18:00:52 +02:00
2026-09-13 17:42:35 +08:00
2026-10-07 19:27:45 +02:00
2026-08-24 18:00:52 +02:00
2026-08-25 18:30:41 +02:00
2026-08-25 03:08:15 +02:00
2026-10-05 19:51:59 +02:00
2026-08-22 14:13:57 +02:00
2026-10-03 08:21:54 -04:00
2026-09-23 11:40:03 +02:00
2026-09-16 16:51:00 +02:00
2026-09-14 23:56:19 +02:00
2026-09-14 23:56:19 +02:00
2026-09-13 17:43:14 +08:00
2026-09-02 19:33:32 +08:00
2026-09-28 16:28:29 +02:00
2026-08-27 19:38:38 +08:00
2026-07-20 02:36:02 +02:00
2026-09-23 14:44:26 +08:00
2026-09-04 14:36:35 +02:00
2026-10-05 19:51:59 +02:00
2026-10-05 19:51:59 +02:00
2026-06-14 08:43:57 +02:00
2026-06-14 08:43:57 +02:00
2026-06-12 09:09:14 -04:00
2026-07-12 17:50:21 +02:00
2026-09-23 11:40:03 +02:00
2026-09-02 20:41:24 -05:00
2026-06-07 04:33:11 +02:00
2026-10-07 00:03:37 +02:00
2026-08-09 22:39:07 +02:00
2026-08-23 21:40:10 -04:00
2026-09-22 13:22:28 +05:30
2026-08-05 08:44:47 +02:00
2026-06-10 01:30:43 +02:00
2026-08-29 23:31:28 -07:00
2026-09-15 20:19:47 +08:00
2026-10-01 11:19:46 +02:00
2026-09-04 16:08:57 -04:00
2026-08-19 23:35:45 +02:00
2026-06-09 20:02:15 +02:00
2026-10-09 09:20:19 +02:00
2026-09-21 04:39:28 +02:00
2026-10-09 07:35:29 +02:00
2026-09-01 12:30:48 +08:00
2026-06-19 13:10:17 -04:00
2026-07-12 17:50:21 +02:00
2026-09-23 14:44:26 +08:00
2026-09-28 16:28:56 +02:00
2026-10-09 05:36:57 +02:00
2026-10-06 20:04:45 +08:00
2026-08-23 08:39:03 +02:00
2026-08-23 08:39:03 +02:00
2026-10-08 21:36:04 +02:00
2026-10-09 10:17:44 +02:00
2026-07-12 18:06:59 +02:00
2026-10-08 04:10:55 +02:00
2026-08-10 03:15:13 +02:00
2026-09-25 19:05:16 -05:00
2026-08-10 11:16:58 +02:00
2026-09-24 22:18:07 +02:00
2026-10-09 01:02:57 +02:00
2026-08-09 14:04:34 +02:00
2026-10-04 21:36:44 +02:00
2026-09-18 22:46:11 +02:00
2026-10-09 05:57:49 +02:00
2026-08-23 14:46:10 -04:00
2026-08-14 00:14:21 +02:00
2026-10-07 06:45:16 +02:00
2026-10-09 09:23:05 +02:00
2026-10-06 09:09:51 +02:00
2026-06-12 09:09:14 -04:00
2026-10-05 09:47:08 -04:00
2026-09-14 23:56:19 +02:00
2026-08-17 01:46:48 +02:00
2026-10-06 08:55:05 +02:00
2026-10-06 08:55:05 +02:00
2026-09-13 17:43:13 +08:00
2026-09-21 03:03:31 +02:00
2026-09-02 20:41:24 -05:00
2026-08-09 18:03:13 +02:00
2026-10-04 23:52:41 +02:00
2026-09-22 19:02:55 +02:00
2026-08-16 20:34:34 +02:00
2026-08-23 08:39:03 +02:00
2026-09-02 08:26:45 +08:00
2026-03-07 07:33:44 +01:00
2026-09-28 15:22:37 -04:00
2026-10-04 23:52:41 +02:00
2026-10-04 23:52:41 +02:00
2026-08-16 20:34:34 +02:00
2026-02-26 16:44:34 +01:00
2026-10-08 20:01:45 +02:00
2026-09-08 00:56:39 -04:00
2026-10-04 23:52:41 +02:00
2026-10-04 23:52:41 +02:00
2026-09-26 22:47:48 -04:00
2026-08-19 19:14:52 +00:00
2026-09-24 01:48:26 +02:00
2026-09-22 13:22:28 +05:30
2026-09-14 23:30:14 +02:00
2026-09-28 15:23:22 +02:00
2026-09-08 00:56:39 -04:00
2026-10-08 14:56:42 +02:00
2026-02-18 12:51:35 +01:00
2026-08-09 13:23:24 +02:00
2026-06-08 11:01:34 -04:00
2026-07-19 15:32:45 +02:00
2026-02-12 13:44:07 +01:00
2026-08-04 15:02:46 +02:00
2026-07-28 23:20:01 +03:00
2026-08-28 11:32:30 -05:00
2026-09-12 05:15:41 +02:00
2026-08-28 13:45:12 -05:00
2026-09-07 22:11:54 -05:00
2026-10-09 05:13:06 +02:00
2026-09-02 20:41:24 -05:00
2026-03-21 19:23:37 +01:00
2026-03-21 07:20:18 +01:00
2026-09-14 23:56:19 +02:00
2026-07-20 04:02:46 +02:00
2026-09-24 22:18:07 +02:00
2026-09-24 22:18:07 +02:00
2026-08-09 16:16:54 +02:00
2026-09-10 12:42:33 +08:00
2026-10-09 10:22:23 +02:00
2026-10-09 05:13:06 +02:00
2026-02-26 16:44:34 +01:00
2026-08-21 02:37:58 +02:00
2026-08-13 17:23:27 +02:00
2026-09-01 11:32:18 +02:00
2026-09-14 15:59:00 +02:00
2026-08-26 18:43:52 +08:00
2026-09-14 14:28:57 +02:00
2026-08-07 01:34:47 +02:00
2026-02-12 18:26:16 +01:00
2026-06-09 20:02:17 +02:00
2026-08-09 16:03:27 +02:00
2026-10-08 14:56:42 +02:00
2026-09-24 01:35:23 +02:00
2026-01-21 22:36:45 +01:00
2026-09-02 20:41:24 -05:00
2026-02-19 14:00:10 +01:00
2026-08-20 12:58:17 -04:00
2026-06-10 18:06:45 +02:00
2026-03-01 16:50:23 +01:00
2026-08-09 23:05:11 +02:00
2026-08-09 23:05:11 +02:00
2026-09-08 00:56:39 -04:00
2026-08-09 23:05:11 +02:00
2026-09-24 22:18:07 +02:00
2026-10-09 10:21:25 +02:00
2026-09-14 23:56:19 +02:00
2026-10-06 08:55:05 +02:00
2026-09-04 13:50:22 +02:00
2026-07-17 16:03:03 -04:00
2026-09-14 23:42:06 +02:00
2026-09-15 14:20:31 +02:00
2026-07-17 15:54:32 -04:00
2026-09-07 21:30:31 -05:00
2026-09-14 23:42:06 +02:00
2026-08-07 05:05:41 +02:00
2026-10-08 10:39:19 -04:00
2026-10-08 00:15:50 -04:00
2026-08-21 02:25:43 +02:00
2026-03-07 07:33:44 +01:00
2026-02-26 16:44:34 +01:00
2026-06-10 20:41:34 +02:00
2026-03-07 07:33:44 +01:00
2026-03-07 07:33:44 +01:00
2026-08-09 15:31:02 +02:00
2026-07-12 18:21:42 +02:00
2026-01-25 07:52:40 +01:00
2026-09-23 11:40:27 +02:00
2026-08-18 10:59:44 -04:00
2026-03-01 14:33:18 +01:00
2026-09-24 01:35:23 +02:00
2026-08-19 19:14:52 +00:00
2026-09-28 15:22:37 -04:00
2026-09-12 05:15:41 +02:00
2026-08-21 02:25:43 +02:00
2026-09-01 12:30:48 +08:00
2026-10-04 19:05:43 +02:00
2026-07-17 16:26:28 -04:00
2026-08-18 10:46:21 -04:00
2026-10-07 11:48:47 +02:00
2026-09-24 01:48:26 +02:00
2026-09-20 21:37:05 +08:00
2026-10-09 06:12:18 +02:00
2026-10-09 05:02:27 +02:00
2026-10-09 09:01:31 +02:00
2026-08-23 14:46:10 -04:00
2026-06-10 03:41:04 +02:00
2026-02-18 18:14:13 +01:00
2026-08-10 03:15:13 +02:00
2026-06-09 20:02:15 +02:00
2026-09-24 01:35:27 +02:00
2026-08-16 20:34:34 +02:00
2026-09-24 01:48:26 +02:00
2026-08-09 01:34:55 +02:00
2026-10-09 03:37:41 +02:00
2026-07-12 19:49:58 +02:00
2026-09-15 17:59:16 +02:00
2026-06-10 20:41:34 +02:00
2026-09-28 16:18:27 +02:00
2026-09-07 08:48:31 +02:00
2026-09-02 20:41:24 -05:00
2026-08-09 01:18:03 +02:00
2026-08-17 22:54:46 +02:00
2026-10-07 19:41:56 +02:00
2026-09-21 18:21:21 +02:00
2026-10-09 09:35:56 +02:00
2026-08-10 03:15:13 +02:00
2026-10-08 21:36:04 +02:00
2026-08-24 22:58:28 +02:00
2026-10-07 13:31:59 +02:00
2026-09-14 23:46:28 +02:00
2026-10-04 23:52:41 +02:00
2026-08-23 12:21:02 -04:00
2026-08-23 12:21:02 -04:00
2026-08-23 14:46:10 -04:00
2026-07-17 16:21:16 -04:00
2026-08-16 05:11:00 +02:00
2026-10-07 02:07:27 +02:00
2026-09-22 09:19:55 +02:00
2026-07-17 16:25:29 -04:00
2026-09-22 18:53:46 +05:30
2026-10-06 16:24:52 +02:00
2026-08-23 12:21:02 -04:00
2026-09-23 11:40:27 +02:00
2026-02-26 16:44:34 +01:00
2026-09-15 17:59:16 +02:00
2026-09-19 11:38:59 +02:00
2026-09-01 02:31:26 +02:00
2026-08-09 01:18:03 +02:00
2026-10-09 03:37:41 +02:00
2026-08-09 21:32:04 -04:00
2026-06-10 01:30:43 +02:00
2026-09-24 01:35:23 +02:00
2026-09-28 16:30:40 +02:00
2026-08-05 01:40:37 +02:00
2026-10-06 09:28:08 +02:00
2026-10-06 09:28:08 +02:00
2026-10-08 20:00:10 +02:00
2026-09-23 11:40:03 +02:00
2026-09-21 04:53:19 +02:00
2026-09-20 13:10:26 -05:00
2026-10-07 13:32:00 +02:00
2026-09-20 13:10:34 -05:00
2026-09-20 13:10:27 -05:00
2026-09-20 13:10:30 -05:00
2026-09-20 13:10:32 -05:00
2026-09-20 13:10:29 -05:00
2026-10-09 05:13:06 +02:00
2026-10-09 09:47:22 +02:00
2026-10-05 21:30:29 -04:00
2026-09-27 07:55:29 -04:00
2026-10-09 10:17:44 +02:00
2026-10-05 21:30:29 -04:00
2026-08-07 01:31:50 +02:00
2026-09-15 21:01:53 +02:00
2026-09-02 20:41:24 -05:00
2026-08-13 17:28:35 +02:00
2026-06-09 20:02:15 +02:00
2026-09-18 22:46:11 +02:00
2026-08-13 17:28:35 +02:00
2026-09-02 20:41:24 -05:00
2026-10-09 04:48:43 +02:00
2026-03-07 07:33:44 +01:00
2026-08-23 14:46:10 -04:00
2026-08-23 14:46:10 -04:00
2026-10-08 00:24:55 -04:00
2026-09-14 15:59:00 +02:00
2026-01-22 11:30:10 +01:00
2026-05-12 10:11:47 +02:00
2026-06-15 01:43:15 +02:00
2026-09-22 12:25:36 +05:30
2026-10-04 23:52:41 +02:00
2026-10-09 10:17:44 +02:00
2026-10-09 01:02:57 +02:00
2026-10-04 20:10:32 -04:00
2026-10-04 20:21:44 -04:00
2026-10-05 19:51:59 +02:00
2026-08-23 14:46:10 -04:00
2026-08-23 14:46:10 -04:00
2026-10-04 20:10:32 -04:00
2026-08-23 14:46:10 -04:00
2026-08-24 00:59:48 +02:00
2026-10-09 09:23:05 +02:00
2026-08-23 14:46:10 -04:00
2026-08-23 14:46:10 -04:00
2026-10-05 19:51:59 +02:00
2026-08-23 12:21:02 -04:00
2026-10-08 21:36:04 +02:00
2026-10-06 04:08:02 +02:00
2026-08-23 12:21:02 -04:00
2026-08-25 18:26:07 +02:00
2026-10-08 22:17:27 +02:00
2026-02-28 17:39:44 +01:00
2026-02-28 17:39:44 +01:00
2026-01-21 07:19:49 +01:00
2026-02-26 16:44:34 +01:00
2026-06-10 18:06:45 +02:00
2026-08-20 10:46:11 +02:00
2026-09-18 21:38:40 +02:00
2026-09-22 19:02:55 +02:00
2026-08-05 02:38:57 +02:00
2026-09-07 19:11:20 -04:00
2026-09-18 21:34:42 +02:00
2026-09-22 13:22:28 +05:30
2026-10-06 10:07:40 +02:00
2026-09-14 14:09:13 +02:00
2026-06-30 19:52:49 -04:00
2026-07-12 12:39:46 +02:00
2026-10-09 08:20:02 +02:00
2026-10-09 05:46:56 +02:00
2026-06-09 15:39:03 -04:00
2026-10-06 10:20:25 +02:00
2026-08-19 19:41:43 +00:00
2026-02-26 16:44:34 +01:00
2026-09-23 11:40:03 +02:00
2026-09-22 13:07:33 +05:30
2026-10-08 20:06:53 +02:00
2026-09-22 13:22:28 +05:30
2026-10-09 07:18:47 +02:00
2026-09-14 23:56:19 +02:00
2026-10-09 09:48:55 +02:00
2026-10-09 08:40:04 +02:00
2026-10-09 09:18:32 +02:00
2026-10-09 09:26:51 +02:00
2026-10-09 08:42:03 +02:00
2026-09-24 01:35:23 +02:00
2026-10-08 14:56:42 +02:00
2026-08-18 19:55:23 +02:00
2026-10-07 09:37:04 +02:00
2026-10-07 09:37:04 +02:00
2026-10-08 04:10:55 +02:00
2026-10-08 03:08:14 +02:00
2026-10-08 21:36:04 +02:00
2026-10-09 08:44:52 +02:00
2026-10-08 03:53:10 +02:00
2026-10-08 17:33:26 +02:00
2026-10-08 04:40:15 +02:00
2026-10-07 09:37:04 +02:00
2026-10-09 08:44:52 +02:00
2026-10-08 17:48:04 +02:00
2026-10-09 09:23:05 +02:00
2026-10-08 02:46:23 +02:00
2026-10-09 09:18:32 +02:00
2026-10-09 09:01:31 +02:00
2026-10-08 03:08:14 +02:00
2026-10-08 04:10:55 +02:00
2026-10-08 04:40:15 +02:00
2026-10-08 04:40:15 +02:00
2026-10-09 10:17:44 +02:00
2026-10-08 04:10:55 +02:00
2026-10-09 08:44:52 +02:00
2026-10-08 22:17:27 +02:00
2026-10-09 10:17:44 +02:00
2026-10-07 07:11:08 +02:00
2026-10-07 13:32:00 +02:00
2026-06-09 15:39:03 -04:00
2026-09-19 10:44:35 +02:00
2026-09-24 22:18:07 +02:00
2026-07-12 19:49:58 +02:00
2026-07-10 11:14:26 -04:00
2026-05-25 23:28:58 +02:00
2026-08-09 18:03:13 +02:00
2026-07-20 03:26:21 +02:00
2026-10-06 16:24:52 +02:00
2026-06-10 20:41:34 +02:00
2026-09-14 15:59:00 +02:00
2026-07-20 02:58:51 +02:00
2026-01-22 11:30:10 +01:00
2026-09-14 15:57:08 +02:00
2026-10-09 08:51:08 +02:00
2026-08-10 11:19:51 +02:00
2026-09-23 11:40:03 +02:00
2026-07-12 12:42:36 +02:00
2026-10-04 23:52:41 +02:00
2026-10-04 23:52:41 +02:00
2026-10-04 23:52:41 +02:00
2026-10-08 14:56:41 +02:00
2026-09-14 23:38:54 +02:00
2026-09-04 15:21:13 +02:00
2026-09-04 15:21:12 +02:00
2026-09-04 15:21:12 +02:00
2026-09-14 23:38:54 +02:00
2026-09-14 23:38:54 +02:00
2026-07-29 09:01:18 +02:00
2026-08-09 04:06:23 +02:00
2026-09-14 23:38:54 +02:00
2026-09-26 22:45:35 -04:00
2026-10-09 09:47:22 +02:00
2026-08-23 14:12:38 -04:00
2026-07-21 00:04:40 +08:00
2026-10-05 20:00:30 +02:00
2026-07-12 18:42:36 +02:00
2026-07-12 18:42:36 +02:00
2026-07-12 18:42:36 +02:00
2026-10-09 05:46:56 +02:00