Repository navigation
v2026.10.10-4
@code-yeongyu/senpi
Breaking Changes
Added
- A terminal session's control endpoint accepts
get_available_models,get_available_thinking_levels,set_model,set_thinking_levelandinterrupt. It applies each one exactly as the pane's own/model, thinking-level selector or Esc would, with the same validation, footer update and persistence, andget_protocol_infolists the acceptedcommands. A multi-session host also answersinterrupt { turnId? }with{ interrupted, turnId }once the turn has stopped (oh-my-openagent#9660). pi.session.admitExternalMessagetakes an optionalsender(another session's id and name, the command line, or an external chat) anddisplay_text. The terminal then shows a delivered message under one label line,Sent by another agent · <name>orSent from the command line, with the message as it was written, instead of the raw provenance header. The model still reads the header (oh-my-openagent#9660).
Changed
Fixed
-
Two processes rebinding the same session at once both end at the moved session. The one that finds the move already done returns the new path instead of failing with
ENOENTwhile reading the old file (#2828). -
A global default extension shim left behind by an earlier install (for example after switching from npm to bun or to the standalone binary) no longer fails every start with
Cannot find module. On start, a generated shim whose target is gone is rewritten to the current install's builtin when there is one, and removed when the engine has none; the loader skips any such shim without an error. A file you wrote yourself (no generated banner) is never touched (#2765). -
The input box is no longer pushed off-screen when something writes to the terminal behind the TUI (a child that inherits stdout, a raw fd 1 write, or
console.logfrom an extension or a Worker). While the TUI owns the screen, those writes go to the debug log, which is now capped at 32 MiB. Windows keeps the existing JS-level guard (#2815).
Removed
@code-yeongyu/senpi-ai
Breaking Changes
Added
Changed
Fixed
Removed
@code-yeongyu/senpi-agent-core
Breaking Changes
Added
Changed
Fixed
Removed
@code-yeongyu/senpi-codemode
Breaking Changes
Added
Changed
Fixed
-
A detached eval cell that waits for its kernel to start now says so (
waiting for the js kernel to be ready) instead ofqueued behind in the js kernelwith an empty predecessor (#2790). -
A stopped (or failed) detached cell's result and notification show its buffered output instead of the live
1/1 cells runningframe, so a cancelled cell no longer reads as still running. The kernel-state note now says plainly whether the kernel was restarted:The JavaScript worker was not restarted; variables from earlier cells are kept.instead of... remains running; its existing variables are preserved., orThe JavaScript worker was restarted; variables from earlier cells are lost.instead of... was unresponsive to interrupt and was restarted ...(the worker may have answered the interrupt and still needed a restart) (#2791). -
An isolated (
isolate: true) eval cell's result names QuickJS as its runtime (quickjs <version>, sandbox) instead of the persistent kernel's Bun or Node runtime (#2811).