Repository navigation
rpi v0.3.2
0.3.2
Session pickers became readable, -c stopped opening empty transcripts, and a
race that could resurrect a stale tool list is fixed. No breaking changes.
Added
- The session pickers (
rpi -rand/session) list readable rows. They
previously rendered as a wall of near-identical timestamped file names, because
the list was built from header metadata that carries no name and no transcript.
Each row now comes from a cheap head/tail summary of the session file — display
name, first user prompt (single-lined and truncated to a label), and on-disk
size — so saved sessions can be told apart without parsing logs that can run to
tens of megabytes. Search matches the label, the short id and the file name,
and the primary column is wide enough not to clip a long label. --name/-nrecords a session's display name durably, for a fresh
session as well as a restored one. An empty value clears a name set earlier.
Changed
- The interactive header uses the three-bar brand mark from the site favicon,
labelled with the crab in place of the language name. The old mark mixed an
emoji with a box-drawing glyph, whose east-asian width is ambiguous, so the
header rendered inconsistently depending on the terminal. The mark follows the
active theme's accent colour for its middle bar.RPI_NO_EMOJI=1renders the
lockup without the crab (and without the separator that would otherwise
dangle). - The workspace is now
rustfmt-clean, and the sweep is listed in
.git-blame-ignore-revssogit blameskips it. rpi-ai,rpi-agent,rpi-tools,rpi-harnessandrpi-clinow carry the
crates.ioartificial-intelligencecategory, so they are reachable by
browsing it and not only by keyword search.
Fixed
- A superseded runtime-context update could publish its
activeToolslist
after a newer one had already been applied. Concurrentset_runtime_context
calls run on separate threads, and the thread holding the older response could
reach the recording step last, resurrecting a tool list the newer context had
replaced. The result is now discarded unless its revision is still the newest,
matching the rule Node already applies to the request itself. It surfaced as a
flaky test (issue #17); the test was not the problem. -c/--continueand-r//sessionno longer offer header-only
sessions — the leftovers an abandoned launch leaves behind. Resuming one
previously opened an empty transcript.-cnow picks the newest session that
has content, falling back to the newest overall only when every session is
empty.
Install
Prebuilt binaries for Linux (x86_64, aarch64), macOS (aarch64) and Windows (x86_64) are attached to this release:
curl -fsSL https://raw.githubusercontent.com/bigfish1913/pi-rust/main/scripts/install.sh | shOr build from crates.io:
cargo install rpi-cli --version 0.3.2