Files
bot-bottle/bot_bottle/cli
didericis 76f488a5a5
lint / lint (push) Successful in 2m4s
test / unit (pull_request) Successful in 57s
test / integration (pull_request) Successful in 28s
test / coverage (pull_request) Successful in 1m15s
feat(cli): add headless launch mode for orchestrators
`cli.py start` was interactive-only: TUI selectors (agent / bottle /
name+color) plus a y/N preflight, then a blocking PTY attached to the
controlling terminal. That shape can't be driven by an orchestrator
(Paseo), CI, or webhook dispatch, and made spinning up a known
agent+bottle more friction than necessary.

Add a `--headless` path on `start`:
  - agent / bottles / label / color come from flags + manifest defaults;
    no TUI selectors, no y/N (auto-confirmed via a new `assume_yes` param
    threaded into the shared `_launch_bottle` core).
  - `--bottle` (repeatable) defaults to the agent's own `bottle:` when
    omitted; `--label` defaults to the agent name and auto-uniquifies on
    slug collision (orchestrators fire-and-forget many bottles);
    `--color` defaults to none.
  - the agent still execs on inherited stdio/PTY, so whatever allocates
    the PTY drives the live session — only the launch chrome went
    non-interactive.
  - `--headless --dry-run` previews the resolved plan without launching.

Prerequisite for orchestrator integration, webhook dispatch, and remote
spin-up. New unit coverage in tests/unit/test_cli_start_headless.py
(11 tests); start/cli/launch sweep green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NkwFXLFff9PYPy4wgVBJp9
2026-06-29 11:41:33 -04:00
..
2026-06-25 08:58:28 +00:00
2026-06-25 15:03:06 -04:00