Skip to content

samagotchi 0.65.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 19:58
· 153 commits to main since this release

Added

  • Anthropic Messages hosts (api: anthropic): streamed text and thinking, native tool use, images, usage with
    cache reads and writes, thinking blocks replayed verbatim (also after --resume; reasoning_history defaults to
    all there). A new host key auth: bearer|x-api-key (any host) picks the header the key goes in. Thinking levels
    map to Messages' thinking (off disabled, low/medium/high adaptive at that effort, default nothing), with
    fallbacks when a host refuses a field. Recaps, ctx.ask_model and broadcast triage work there too. See
    docs/configuration.md, "Anthropic Messages hosts". Known limit until the next release: Claude 5.x models
    (Opus, Sonnet and Haiku 5.5, Fable 5.1) may stop a turn with a 400 "… bound to a different conversation" after the
    history changed under their thinking blocks; the next release adds the recovery.
  • dialect: fireworks on an api: anthropic host, for Fireworks directly or behind a gateway: Bearer auth, no
    thinking display, no cache_control, and x-session-affinity for cache routing. chi self names it.
  • A provider's refusal (Messages stop_reason: refusal, or an empty content_filter stop) ends the turn with
    no answer: refused by the provider (category) in every UI and isn't retried. A content_filter stop after some
    text keeps the text, marked [cut off by the provider's content filter].
  • Web composer: a row above the text field shows the keys while idle and, while a turn runs, where a message sent now
    goes in (after this thinking step, tool call or answer, with its clock), with cut in now and queue for after the turn links. Alt+Enter (Option+Enter) queues. See docs/cli.md, "Typing during a turn".
  • Terminal: while a turn runs, the status row ends in · typing goes in at the next step (/cut, /queue).

Changed

  • Web: a message queued for after the running turn sits below the running turn's card, not among its rows, also
    after a reload.
  • A chat host that refuses a sampling field (temperature, top_p, top_k) gets the step again without it instead
    of the turn failing; on api: openai hosts such a 400 no longer turns reasoning off.
  • A Splash or Fireworks model's vision comes from its model list instead of reading "unknown".

Fixed

  • A server error without a numeric code is classified by its type: an invalid request fails at once instead of being
    retried, an unknown model (404, NOT_FOUND) is no longer retried, a timeout_error is a 504.
  • Anthropic's context-overflow 400s ("prompt is too long", "input length and max_tokens exceed context limit")
    roll the turn back and report it as too long for the context window, also through a gateway on the OpenAI path.

Update with chi update (the system bundle moves with the gem).