What problem does it solve?
Provides a single, consistent architecture for connecting an LLM-driven capability surface to a local runtime by defining the six core concepts (Tool, Message, Task, ToolUseContext, AppState, Command) so capabilities are typed, permissioned, and testable without global singletons.
Core Features & Use Cases
- Typed Capability Contracts: Define Tools with Zod-driven input schemas that produce structured tool calls and results for the LLM.
- Contextual Dependency Injection: Use ToolUseContext to pass state, abort signals, callbacks, and permissions into every tool call so tools remain independently testable.
- Immutable, Reducer-Based State: Manage UI and background work via an AppState store updated atomically through reducer functions and tracked Tasks.
- Use Cases: Implement new file, git, or network Tools with per-call permission checks; create PromptCommand or LocalCommand integrations; spawn and monitor long-running Tasks safely.
Quick Start
Use the domain-model skill to explain how to implement a new Tool with a Zod input schema, a checkPermissions function, and a context-aware call that returns a structured tool result.