Commit graph

3 commits

Author SHA1 Message Date
973baf58e1 refactor: clean up no-output timeout architecture
- Remove onKillHandle from BashOperations interface (implementation detail leak)
- Use AbortController + combineAbortSignals to kill from tool level instead
- Extract shared buildOutput() to deduplicate .then()/.catch() paths
- Cleaner separation: BashOperations stays unchanged, timeouts are tool-level

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 19:58:49 -08:00
479124d945 fix: add default timeout and no-output timeout to bash tool
Bash tool had no default timeout, so commands like `npx serve` would
block the agent loop forever. This caused the randomtrends sandbox
thread to die - the LLM started a dev server, the shell never exited,
and the entire session hung with no way to recover.

Two safeguards:
- Default 120s timeout when LLM does not specify one
- 30s no-output timeout that kills processes that go silent

Both are configurable via BashToolOptions and can be disabled by
setting to 0. The LLM can still pass explicit higher timeouts for
long builds.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 19:28:50 -08:00
0250f72976 move pi-mono into companion-cloud as apps/companion-os
- Copy all pi-mono source into apps/companion-os/
- Update Dockerfile to COPY pre-built binary instead of downloading from GitHub Releases
- Update deploy-staging.yml to build pi from source (bun compile) before Docker build
- Add apps/companion-os/** to path triggers
- No more cross-repo dispatch needed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 09:22:50 -08:00