spec/v0.9.0
ChatbotXIO/ChatbotXspec/v0.9.0Aug 28, 2026by github-actions[bot]
Upgrading?
AI Summary
AHP Specification version 0.9.0 defining the core protocol changes for automation, error handling, and session lifecycles.
Key Highlights
- Automation catalogue and automation-run channels for shared trigger-based agent workflows
- Turn errors are durable response parts with resumption support
- Annotations carry an 'origin' with a required session URI
- Terminal state uses explicit running/exited lifecycle
- Session lifecycle renamed to 'failed'
Breaking Changes
- Removed 'error' from changeset/contentChanged; failures now use changeset/statusChanged
- Removed session-level forking from createSession; use chat forking instead
- Removed 'ContentNotFound' from exported AHP error codes
New Features
- Automation catalogue and automation-run channels
- Durable turn errors
- InitializeResult._meta for extension capabilities
- Annotations carry origin with session URI
- TerminalSessionClaim requires the chat URI
Full Release Notes
## [0.9.0] — 2026-08-28 Spec version: `0.9.0` ### Added - Automation catalogue and automation-run channels, including self-contained host-defined event triggers and automation-origin messages, for shared trigger-based agent session workflows. - Turn errors are durable response parts, and resumable errors can reopen the same turn through `chat/turnResume`. - `InitializeResult._meta` for hosts to advertise implementation-specific extension capabilities in initialize responses. ### Changed - Annotations now carry an `origin` with a required session URI and optional chat URI and turn ID. - Renamed the failed session lifecycle value from `creationFailed` to `failed`. - `TerminalSessionClaim` now requires the chat URI that owns the terminal. - Terminal state now uses an explicit `running`/`exited` lifecycle that preserves exits without an exit code. - Generated clients now preserve unknown values for nonexhaustive protocol enums and their discriminated unions. - `SessionToolClientExecutionRequest.toolCall` is narrowed to a running tool-call state. - Automation catalogue snapshots now use `AutomationState.entries`, whose items are named `AutomationEntry`. ### Removed - Removed `error` from `changeset/contentChanged`; changeset failures are represented by `changeset/statusChanged`. - Removed session-level forking from `createSession`; use chat forking instead. - `ContentNotFound` is no longer an exported AHP error code; `-32006` remains reserved and unassigned. ### Fixed - Chat reducers now derive `modifiedAt` from turn action data instead of local wall clocks.
Related Repositories
openclaw/openclaw★ 392,727
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
nilbuild/developer-roadmap★ 370,105
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
morluto/rea★ 361,388
Reverse engineer anything with agents, from app behavior down to native binaries.
anomalyco/opencode★ 219,915
The open source coding agent.
n8n-io/n8n★ 208,292
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.