Skip to content

samagotchi 0.64.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 13:29
· 244 commits to main since this release

Added

  • /queue TEXT during a running turn now works in an attached terminal and the web composer too, as it did in the
    plain REPL: TEXT runs as a turn of its own after the running one, instead of merging into it ((queued: runs after this turn)). A session whose worker is older than this says to restart it rather than steering the turn. See
    docs/cli.md, "Typing during a turn".
  • chi send --queue: the message runs as a turn of its own after the running turn instead of merging into it, and
    chi send --queue --wait waits for that turn's own answer (a running turn no longer refuses it; the running turn's
    reply, end and questions are not the answer). Each turn's reply file now carries its message's id. See
    docs/sessions.md, "Sending a message", and docs/sub-agent.md.
  • Plugins: ctx.sessions.send(id, text, delivery: :queue) runs the message as a turn of its own after the session's
    running turn; delivery: :cut raises (plugins never cut). See docs/plugins.md.

Changed

  • Plain REPL (--no-shared): the lines a turn left over (a steer it didn't merge, /queue lines, image lines, commands
    that wait) run in the order you sent them; before, an unmerged steer ran ahead of a /queue line typed earlier.
  • A message with images sent during a running turn no longer holds back the text lines sent after it: they go in at
    the turn's next step as usual, and the image message still runs as a turn of its own after it.

Fixed

  • Stopping a session mid-turn (chi sessions stop, the web's stop, a parent stopping its delegate) cancels the turn
    with its own reason, session_stopped, instead of the user's Stop: the turn's line reads "canceled (session
    stopped)", a command it was running "stopped as the session was stopped" (slow-commands 0.2.2 counts it as
    stopped, not slow), and chi send --wait --format json reports cancel_reason: session_stopped.
  • A delegate (and any worker a session's own commands start, such as chi send --new) reads hosts: from config.yml
    as it starts, so it sees a host added or changed after its parent's worker started; before, it got the parent's
    start-time hosts through SAMAGOTCHI_HOSTS_JSON, which workers no longer inherit (one set in your shell
    applies to that chi process only; put hosts in config.yml).
  • Web: a step that only called plugin tools with a verb label is titled by the label ("echoing"), not "working
    with echoing"; among other tools such a call is named by its tool ("working with read, echo").
  • Web: a send from a stale tab into a session deleted meanwhile goes back to the start page with a "was not
    found" notice, the line kept in the composer, instead of an alert.
  • chi send, the web composer and a plugin's ctx.sessions.send now report a message the session's worker refuses
    (a 4xx answer such as a delivery it doesn't run) instead of writing it as an input file the worker would merge
    anyway; a body over the worker's size limit still goes in as a file, as before.
  • chi answer, chi send --wait ID (no message) and delegate_result wait for the reply of the turn they are about
    (the answered turn, the running turn, the follow-up's turn), not a newer one queued behind it; a Continue of the
    step-limit question gets the continued turn's reply, and a Stop ends the wait as not_continued. Workers older
    than this keep the old behaviour.