clients/go/v0.9.0

codewhale-hq/Codewhaleclients/go/v0.9.0Aug 28, 2026by github-actions[bot]

Upgrading?

AI Summary

This release implements the AHP 0.9.0 specification, focusing on automation workflows, terminal session management, and error handling improvements. It introduces durable turn errors and refines the lifecycle management for sessions and terminals.

Key Highlights

  • Implements AHP 0.9.0 with durable turn errors resumable via `chat/turnResume`.
  • Adds automation catalogue and automation-run channels for shared trigger-based workflows.
  • Renames session lifecycle value from `creationFailed` to `failed`.
  • Adds `InitializeResult._meta` for hosts to advertise extension capabilities.

Breaking Changes

  • Removed session-level forking from `createSession`.
  • Removed `error` from `changeset/contentChanged`.
  • Removed `ContentNotFound` as an exported AHP error code.

New Features

  • Added automation catalogue and automation-run channels.
  • Added `chat/turnResume` action for resumable errors.
  • Added annotations carrying `origin` with required session URI.
  • Added explicit `running`/`exited` lifecycle for terminal state.
  • Added generated clients preserving unknown values for nonexhaustive enums.

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