WatchSignals and CtrlCExitWindow are generic — any frontend can use them. Removing them from the TUI package keeps tui focused on terminal I/O only. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- pkg/core: public Core interface (Submit/Prompt/Interrupt) + Event/EventHandler types - internal/agentcore: AgentCore implementation of Core (session, tools, commands) - internal/tui: TUI package (readline loop, splitInput, signals, bracketed paste) - internal/agent,backend,config,exec,mcp,tools: moved from root to internal/ - cmd/ollie: minimal main() that wires agentcore + tui together (~130 lines) - mkfile: update build target to ./cmd/ollie Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>