Skip to content

v0.12.2: Stable session/close and session/resume

Latest

Choose a tag to compare

@ThomasK33 ThomasK33 released this 28 Apr 09:28
· 2 commits to main since this release
6595492

Tracks ACP schema 0.12.2, which promotes session/close and session/resume from unstable to the stable surface. Agent implementations must now provide CloseSession and ResumeSession, and the corresponding unstable types and AgentExperimental methods have been removed.

Added

  • Agent interface gained two new required methods backed by stable schema entries (#35):
    CloseSession(ctx context.Context, params CloseSessionRequest) (CloseSessionResponse, error)
    ResumeSession(ctx context.Context, params ResumeSessionRequest) (ResumeSessionResponse, error)
  • SessionCapabilities now advertises support via stable Close *SessionCloseCapabilities and Resume *SessionResumeCapabilities fields.
  • ResumeSessionRequest carries AdditionalDirectories and McpServers; ResumeSessionResponse returns ConfigOptions and Modes (with an unstable Models field still gated).

Changed

  • Schema version bumped to 0.12.2; the session/close and session/resume request/response types and capability descriptors no longer carry the UNSTABLE marker in their godoc (#35).
  • ClientSideConnection.UnstableCloseSession / UnstableResumeSession were renamed to CloseSession / ResumeSession. Callers must update method names and parameter/return types.
  • ResumeSessionResponse.ConfigOptions switched element type from UnstableSessionConfigOption to the stable SessionConfigOption.
  • UnstableProviderInfo.Current is now optional (json:"current,omitempty") and removed from the JSON-required field list — both omission and null indicate a disabled provider.

Removed

  • AgentExperimental.UnstableCloseSession and AgentExperimental.UnstableResumeSession, plus the UnstableCloseSessionRequest/Response and UnstableResumeSessionRequest/Response types. Migrate to the stable Agent.CloseSession / Agent.ResumeSession methods and the unprefixed types (#35).

Breaking Changes

All Agent implementors must add CloseSession and ResumeSession methods (returning MethodNotFound is fine if the agent doesn't advertise the capability — see the updated example/agent/main.go). Code referencing the unstable types or ClientSideConnection.Unstable{Close,Resume}Session must be renamed:

Before After
AgentExperimental.UnstableCloseSession Agent.CloseSession
AgentExperimental.UnstableResumeSession Agent.ResumeSession
UnstableCloseSessionRequest / Response CloseSessionRequest / Response
UnstableResumeSessionRequest / Response ResumeSessionRequest / Response
ClientSideConnection.UnstableCloseSession ClientSideConnection.CloseSession
ClientSideConnection.UnstableResumeSession ClientSideConnection.ResumeSession

Consumers of UnstableProviderInfo that relied on current always being present should treat a missing or null value as "provider disabled".

Full Changelog: v0.12.0...v0.12.2