Skip to content

AHP Swift Package v0.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 26 Jun 23:23
· 4 commits to main since this release
e793e92

[0.5.0] — 2026-06-26

Implements AHP 0.5.0.

Added

  • ChatActivityChangedAction (StateAction.chatActivityChanged, wire
    chat/activityChanged) for updating a chat's current activity description
    independently of the session summary.
  • ProgressParams struct (wire root/progress) — a generic progress notification
    correlated by a progressToken (added on CreateSessionParams).
    Used today for the lazy first-use download of an agent's native SDK.
  • SessionModelInfo.maxOutputTokens and SessionModelInfo.maxPromptTokens
    optional fields for communicating model token limits.
  • SessionSummary.meta (_meta on the wire) optional provider metadata field
    for lightweight session-list presentation hints.
  • SessionActiveClientRemovedAction (StateAction.sessionActiveClientRemoved,
    wire session/activeClientRemoved) to release a single active client by
    clientId.
  • ChatDraftChangedAction (StateAction.chatDraftChanged, wire
    chat/draftChanged) and ChatState.draft (Message?) to set or clear the
    user's in-progress draft input for a chat. The chat reducer applies it
    without stamping modifiedAt.
  • Message.model and Message.agent optional fields carrying the selection a
    message was composed with.

Changed

  • SessionState.activeClients ([SessionActiveClient], required) replaces the
    single optional SessionState.activeClient; the session reducer upserts and
    removes entries keyed by clientId.
  • StateAction.sessionActiveClientChanged is renamed to
    StateAction.sessionActiveClientSet (wire session/activeClientSet) with
    upsert-by-clientId semantics; it no longer unsets the active client
    (dispatch session/activeClientRemoved instead).
  • ConfigPropertySchema.enum field is now [AnyCodable]? instead of
    [String]?, allowing numeric, boolean, and null enum values.
  • ModelSelection.config values are now AnyCodable instead of String,
    allowing numeric, boolean, and null configuration values.
  • SessionState now inlines the session metadata fields (provider, title,
    status, activity, project, workingDirectory, annotations) directly
    instead of embedding a summary: SessionSummary. The session reducer mutates
    these fields directly and no longer stamps a modifiedAt. SessionSummary
    remains a root-only catalog struct whose createdAt/modifiedAt are now
    ISO-8601 Strings and which no longer carries model/agent.
  • ChatState and ChatSummary no longer carry model/agent.

Removed

  • SessionActiveClientToolsChangedAction. An active client now updates its
    published tools by re-dispatching StateAction.sessionActiveClientSet with its
    full, updated entry.
  • SessionModelChangedAction (StateAction.sessionModelChanged,
    session/modelChanged) and SessionAgentChangedAction
    (StateAction.sessionAgentChanged, session/agentChanged), along with their
    session-reducer handling.