Skip to content

AHP Swift Package v0.5.2

Choose a tag to compare

@github-actions github-actions released this 09 Jul 20:39
· 184 commits to main since this release
40a1dfa

[0.5.2] — 2026-07-09

Implements AHP 0.5.2.

Added

  • Typed resource* convenience methods on AHPClient: send wrappers (resourceRead, resourceWrite, resourceList, resourceCopy, resourceDelete, resourceMove, resourceResolve, resourceMkdir, resourceRequest, createResourceWatch) and inbound server-request handling via setServerRequestHandler(_:) / setResourceRequestHandlers(_:) (new ServerRequestHandler typealias and ResourceRequestHandlers type). Inbound server-initiated requests are answered by the installed handler (still MethodNotFound when none is set).
  • ToolResultTerminalCompleteContent for terminal-style completion metadata in tool
    results.
  • Optional enabled field on the child customization types
    (AgentCustomization, SkillCustomization, PromptCustomization,
    RuleCustomization, HookCustomization).
  • disableUserInvocation on SkillCustomization, plus disableModelInvocation
    and disableUserInvocation on AgentCustomization.
  • Optional reviewed field on ChangesetFile. Omitting it (or setting it to
    nil) signals that the server does not support the file "review"
    functionality.
  • changeset/filesReviewedChanged action for servers to update the reviewed
    flag of one or more changeset files.
  • Optional meta (wire _meta) provider-metadata field on every customization
    type, moved from AgentCustomization up to the shared customization base so
    PluginCustomization, ClientPluginCustomization, DirectoryCustomization,
    SkillCustomization, PromptCustomization, RuleCustomization,
    HookCustomization, and McpServerCustomization all carry it.
  • Optional serverInfo on InitializeResult and clientInfo on
    InitializeParams, each an Implementation (name, optional version,
    optional title), identifying the implementation and build behind either side
    of the handshake. Informational only — MUST NOT be used for feature detection.
  • Optional terminalCommandPrefix on InitializeResult for hosts that support
    interpreting !-prefixed user messages as terminal commands.
  • Optional version field on PluginCustomization (inherited by
    ClientPluginCustomization), carrying the plugin's semver sourced from the
    Open Plugins manifest. Provenance / display only.
  • session/mcpServerStartRequested and session/mcpServerStopRequested
    actions for clients to ask the host to start or stop MCP servers; stopping
    moves an authRequired server to stopped so it no longer waits on
    authentication.
  • InputRequestResponsePart and the ResponsePart.inputRequest case. The
    reducer now records a resolved input request in the active turn's
    responseParts on chatInputCompleted — embedding the resolved
    ChatInputRequest (final answers) and the response (accept, decline,
    or cancel) — so the outcome persists after the live request is removed.
    Abandoned requests still record nothing (#324).

Changed

  • The session/customizationToggled reducer now toggles any top-level
    customization (plugin, directory, or top-level mcpServer) or an
    individual child by id, setting that entry's enabled.