clients/go/v0.9.0
parruda/swarmclients/go/v0.9.0Aug 28, 2026by github-actions[bot]
Upgrading?
AI Summary
Go client implementation of AHP 0.9.0, mirroring Swift package changes regarding automation and error handling.
Key Highlights
- Implements AHP 0.9.0 features for automation catalogues and channels.
- Turn errors are durable response parts, resumable via `chat/turnResume`.
- Annotations carry `origin` with session/chat/turn IDs.
- Terminal state uses explicit `running`/`exited` lifecycle.
Breaking Changes
- Renamed `creationFailed` to `failed` for the failed session lifecycle.
- `TerminalSessionClaim` now requires the chat URI that owns the terminal.
- `ContentNotFound` is no longer an exported AHP error code.
- Session-level forking was removed from `createSession`; use chat forking instead.
- Removed `error` from `changeset/contentChanged`; failures are now represented by `changeset/statusChanged`.
New Features
- Automation catalogue and automation-run channels.
- Durable turn errors and resumability.
- Extension capabilities in `InitializeResult._meta`.
- Resumable errors via `chat/turnResume`.
Full Release Notes
## [0.9.0] — 2026-08-28 Implements AHP 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
maybe-finance/maybe★ 54,214
The personal finance app for everyone
huginn/huginn★ 50,089
Create agents that monitor and act on your behalf. Your agents are standing by!
discourse/discourse★ 48,001
A platform for community discussion. Free, open, simple.
chatwoot/chatwoot★ 38,078
Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬