You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/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.