You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pure kernel extraction — createCore() is now a frontend-agnostic kernel (EventBus, ContextManager, HandlerRegistry, Compositor). The agent backend, LLM client, and provider management are loaded as extensions, not wired into the core.
Compositor — new render stream routing system. All TUI output flows through named streams ("agent", "query", "status") mapped to surfaces. Extensions redirect streams to capture output (floating panels, tmux panes, test buffers).
RemoteSession — high-level primitive for routing agent output to external surfaces. Bundles compositor redirects, shell lifecycle advisors, and chrome suppression into one call.
Tool protocol abstraction — deferred tool mode support alongside the existing API mode.
Advisable shell lifecycle — shell:on-processing-start and shell:on-processing-done are now named handlers that extensions can advise.
New Extensions & Bridges
ash-mcp-bridge — MCP server bridge for exposing agent-sh tools over MCP
ash-acp-bridge — ACP JSON-RPC server wrapping the headless core (fixed: now loads built-in extensions, fixes async race, stops swallowing errors)
web-access — web search and content extraction extension
peer-mesh — cross-instance communication via remote handler calls (Ray-inspired)
subagents — subagent orchestration extension
openrouter — OpenRouter provider helper
tmux-pane — tmux split pane with output-only and interactive modes via RemoteSession
interactive-prompts — rewritten using interactive UI primitive
Overlay Agent
Moved from built-in to examples/extensions/ — install with cp examples/extensions/overlay-agent.ts ~/.agent-sh/extensions/ or -e ./examples/extensions/overlay-agent.ts
createFloatingPanel removed from ExtensionContext public API (FloatingPanel still importable directly)
Fixed output leak on dismiss while agent is active
Uses createRemoteSession for proper compositor routing
Fixes
Bracket paste — no more auto-submit on paste, clean editor data model
Diff rendering — truncation no longer hides actual changes (was showing only context lines)
Compaction — configurable threshold, force-compact on manual /compact
agent-backend — correctly reads defaultProvider from settings
Alt screen — re-check alt screen state on overlay teardown
Nuclear summaries — deterministic ISO timestamps
TUI — show tail line of truncated command output, cap content width at MAX_CONTENT_WIDTH
Extension System
registerCommand, registerInstruction, removeInstruction on ExtensionContext
System prompt injection via named instruction blocks
Scrollback capture and scoped cleanup
Extension-loader exported for library consumers
Branding
agent-sh is the primary name; ash is a short alias (alias ash=agent-sh)
Package name prefixes like ash-mcp-bridge use the short form
Docs
Full audit: fixed stale API references, added missing ExtensionContext methods, updated project structure, corrected tool inventory, trimmed verbose sections