AHP Swift Package v0.7.0
[0.7.0] — 2026-07-31
Implements AHP 0.7.0.
Added
- Capability-gated side chats can start from a chat turn and return bounded chat transcripts as message attachments.
- Multiroot session support:
AgentCapabilities.multipleWorkingDirectoriescapability (withimmutablePrimary, which pinsworkingDirectories[0]as a fixed primary root that clients MUST NOT remove or reorder),CreateSessionParams.workingDirectoriesandSessionMetadata.workingDirectories(equal-peer set, mirrored ontoSessionState/SessionSummary),CreateChatParams.workingDirectoriesandChatState/ChatSummary.workingDirectories(a subset of the session's set), and the client-dispatchablesession/workingDirectorySet/session/workingDirectoryRemovedandchat/workingDirectorySet/chat/workingDirectoryRemovedactions for mutating those sets. (#337) AHPClient.completions()andAHPClient.sessionConfigCompletions()convenience methods, plusAHPCommands.completions(id:)/AHPCommands.sessionConfigCompletions(id:)request factories, giving the generatedCompletions*/SessionConfigCompletions*types a typed entry point. (#340)resultonToolResultTerminalContent(exitCode,preview,truncated), present once the command exits. (#323)- Optional
isPtymetadata onToolResultTerminalContentandTerminalStateindicating whether a terminal resource is PTY-backed. (#322) - Side-chat sources and origins can now carry an immutable selected-text snapshot with optional response-part provenance.
Changed
- Side-chat sources and origins now carry stable
turnIdreferences instead of nested active/completed turn snapshots. MessageChatAttachment.endTurnis optional; hosts pin the latest completed turn when it is omitted, and chat attachments may reference chats in other sessions.chat/toolCallReadymay finalize a tool call's provisional contributor and intention without changing client execution ownership.- Final tool input may be inline or a lazy
ContentRef, and streaming deltas may include partial parameters.
Removed
ToolResultTerminalCompleteContent; command completion data now lives onToolResultTerminalContent. (#322, #323)- Non-standard
resource_encryption_alg_values_supportedandresource_encryption_enc_values_supportedfields fromProtectedResourceMetadata. (#368)
Fixed
createChat.sourceis once again a fully discriminated union: fork and side-chat sources both require akind, and missing or unknown kinds are rejected.- Restored authentication documentation in the
authenticatecommand andMcpAuthRequirementthat a secret-scanner had redacted, including a corruptedWWW-Authenticate: Bearer scope="…"header example.