chore(deps): update dependency can1357/oh-my-pi to v18.13.2 #241
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/can1357-oh-my-pi-18.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
18.13.1→18.13.2Release Notes
can1357/oh-my-pi
v18.13.2Compare Source
@oh-my-pi/pi-agent-core
Added
AgentToolgained the optionalhandlesToolInterruptflag: an interruptible tool that sets it (such aswait) still runs, without blocking, when a loop-owned interrupt is already queued, so it can drain the queued wake event instead of being skipped; user cancellation still skips it (#17174 by @alphastorm)@oh-my-pi/pi-ai
Fixed
invalid_grantwhen they refreshed at the same time or one of them quit mid-refresh (#17128 by @sjawhar)InvalidParameter400s for valid inline images ("provided URL does not appear to be valid", "Download multimodal file timed out"); they are now retried (#17101 by @shuairongzeng)@oh-my-pi/pi-catalog
Added
type: "decision"are listed asjudgemodels served over its/v1/decisionsendpoint, alongside its chat models (#17169 by @richiestanaway)@oh-my-pi/pi-coding-agent
Added
ctx.sessionModesand observe changes with themode_changedevent, without submitting slash commands;extensionHandlers.modeControl: falseturns off extension-driven mode changes (#15753 by @Shadorain)discovery.advertisedReasoningto let a custom provider opt out of the reasoning ladder its/v1/modelsrows advertise (defaulttrue);discovery: proxynow reads that ladder, itsnoneoff-switch, and an explicitreasoning: falseinstead of building every model's thinking surface from the bundled catalog reference alone (#15255, #17077 by @Youwenqwq)WATCHDOG.ymladvisor entries now acceptscope(main,subagent, orall, defaultall) to attach an advisor only to the top-level session or only to advised subagents, andincludeReasoning: falseto omit primary assistant_thinking:_blocks from advisor review deltas (#17058 by @trukhinyuri)session.worktreeScopeto keep the resume picker scoped to one directory (#17061 by @Dante-dan).judgerole (modelRoles.judge: lm-studio/<model>); they answer over LM Studio's/v1/decisionsendpoint instead of being offered as chat models (#17169 by @richiestanaway)getAllTools()now reportsmcpServerName,mcpToolNameandmcpReadOnlyHintfor MCP-backed tools, so an extension can tell read-only connector tools from ones that change things (#17120 by @cfpperche)navigate_tree(move the leaf in the same session file, optionally summarizing the abandoned branch),abort_branch_summaryandset_label, with matchingRpcClientmethods (#17138 by @andrebrait)message_updateframes (messageUpdates: "delta") now carry the block on start/end events and the message on a restart, so a client can rebuild the streaming message from deltas alone (#17137 by @andrebrait)ctx.ui.inputnow accepts{ secret: true }to mask typed characters as bullets in the TUI, forward an optionalsecrethost hint on RPCextension_ui_requestframes, and refuse plaintext form elicitation in ACP mode (#17080 by @GTanger)gc.autoCompress(default off): interactive launches start a detached, low-priorityomp gc --compress --applyat most once a day, so idle sessions are stored compressed without running the command; volumes where compression does not shrink a probe file (e.g. macOS 27) are skipped, and the latest run's output or skip reason is ingc-auto-compress.login the agent dir (#17189 by @wolfiesch)withFatLtoto the Nix package:omp.override { withFatLto = false; }linkspi-nativeswith thin LTO for faster builds (#13752 by @n3oney)Changed
scoutsubagents now includeast_grepin their default tool list, matching the agent prompt's AST-search directive;scoutstays read-only, solsp(which can rename and apply code actions) is not added (#17151 by @sinhduc01)AgentSession.enableIdleMaintenance({ isBlocked, scheduledTurn, onRecap })andrefreshIdleMaintenance()(#17136 by @andrebrait)/tan, SDK hosts) start faster: the model catalog is rebuilt once instead of once per extension (#17088 by @Delije4)Qwen3.8-Flash-Nextserved locally) now get thereplaceedit tool instead of hashline, like Kimi, DeepSeek and GLM 5.3 Flash; an explicitedit.mode,edit.modelVariants,PI_EDIT_VARIANTorPI_STRICT_EDIT_MODEstill wins (#17096 by @ianderse)tool_call, so tools without a specific ACP kind (task,wait,ask, …) show their own name instead of a generic "tool" label (#17162 by @epk)/contextnow opens an interactive, read-only viewer of the active prompt, tools, messages, and thinking with estimated token usage and per-tool output, instead of the static usage report (#16160 by @C-W-Z).Fixed
askquestions being unanswerable while the prompt held a draft: Up/Down now hand the keyboard to the question (typing still goes to the draft until then), and the untouched draft is back in the prompt once the question is answered or cancelled (#17215 by @H4vC)/subagentsopens the hub as an alias of/hub(#17215 by @H4vC)/goal pauseleaving thegoaltool active; pausing now restores the toolset from before the goal started (#15753 by @Shadorain)/liveflipping betweenlisteningandspeakingat every pause in the assistant's speech;speakingnow holds through short pauses (#17114)workflowznotice showing Python call forms in JS-only sessions and describing keep-alive workers wheneval.workpool.freshAgentsis on (#17152 by @bigHippoZz)contexthandler or secret obfuscation was active, when an extension inserted its own message afresh on every request (superpowers' bootstrap), or when requests from one or more advisors ran in between; the new date or directory is now appended after the earlier turns, and is repeated when a side question (/btw) or a branch left out the turn that carried it (#17117 by @sjawhar):autoon a retry fallback entry being ignored: a fixed-effort session now switches to auto thinking on that fallback instead of inheriting the failing turn's effort, and advisor fallbacks keep following the primary's effort without enabling unverified thinking (#17100 by @shgew)ssh://home-relative paths resolving against literal/~instead of the remote account's home (#17182 by @alphastorm)ssh://directories failing with unsupported directory scans (#17182 by @alphastorm)/returning no directories or including matching files; directory-only constraints now work across local, URL, and multi-root searches (#17180 by @alphastorm)skill://glob and find discovery skipping contained linked directories; linked resources keep their skill URLs and directory cycles terminate (#17180 by @alphastorm)ssh://text files while preserving pagination and the remote read limit (#17179 by @alphastorm)tool.apply_patch(...)being rejected as an unknown tool in JavaScript eval when apply-patch editing is enabled (#17178 by @alphastorm)githubrun_watchlabeling unavailable or partial failed-job logs as full logs, and included bounded fetch-failure reasons (#17173 by @alphastorm)githubpr_createechoing large PR bodies in creation summaries andxd://githubresult details (#17173 by @alphastorm)readreplacing a valid HTML page with a stale or missing guessed.mdpage; alternate representations now report their actual source URL (#16834)autoResumefailing every launch when a saved model cannot be restored and model fallback is disabled: startup now warns and opens a fresh session without carrying over the old history or cache identity, while preserving the original--max-timedeadline. Saved-model diagnostics in the warning are sanitized and length-limited before display. Explicit resume and headless model-restoration restrictions remain unchanged (#17163 by @SAKANA-MOONLIGHT).proc://<id>/modereporting a known in-process job or agent as a missing service, and clarified that stdin and lifetime modes are services-only (#17170 by @alphastorm)workingorblockedindicator when omp redraws a user message during a run (#17145)skill://reads,/skill:commands (terminal, ACP and RPC) and subagent autoload skills serving a plugin's old version, or failing withFile not found, in a running session afteromp plugin upgradeinstalled a new version; the session now rediscovers its skills and uses the upgraded files, whether or not the old version's directory was deleted (#17027 by @sjawhar)abort_and_restore_queue) silently discarding queued messages from extensions and agents, such aspi.sendMessagesteer/follow-up cards and agent-attributed prompts; they now appear in the transcript without restarting the run and reach the model with your next prompt (#17161 by @sjawhar)--resume <file|id>,--continue,SessionManager.continueRecent(), the resume pickers and RPCopen_sessionreviving an old copy of a conversation that had continued in a new file because omp could not keep writing the original (another omp process held it, or the file changed under it); resume now opens the copy with the newest turn, unless the original has turns of its own that copy lacks (for--resume, the pickers, and--continueor auto-resume of the terminal's last session), and says which file it picked;--continueand auto-resume without a record of the terminal's last session, and RPCopen_session, take the copy with the newest turn among all linked copies, whichever one was written last. Copies saved before this fix are not linked and still resume as before (#17159 by @sjawhar)retry.fallbackChainsentry naming another Claude model being skipped while the latest Claude turn carries signed thinking: the chain now moves to that entry when the failure is on another model, is not retried (an account-policy denial, a non-retryable error, or a wait pastretry.maxDelayMs), or has spent its retries (#17115 by @sjawhar)/btwfollow-ups reuse stable topic history without caching regenerated image descriptions (#17186)waitreturning a skipped-tool error for background completions, peer messages, or parent steering queued before execution (#17174 by @alphastorm)omp --resume <id>for a session that was never saved to disk, which--resumecannot load; such a session now prints no resume command (#17119 by @sjawhar)apply_patchcommitting unmatched old/context text or dropping numeric prefixes; matching now uses complete lines without changing other edit modes' fuzzy behavior (#17184 by @alphastorm)apply_patchline deletions leaving blank rows, including first, last and only lines (#17184 by @alphastorm)apply_patchrejecting move-only updates and move-then-add envelopes; moves preserve source bytes and permissions and later sections see the ordered file state (#17184 by @alphastorm)omp plugincommands applying changes under--dry-run:upgradeandomp update --plugins --checknow preview, and actions without a preview reject the flag (#17104 by @sjawhar)async.widgetsmid-session now stops spec requests for already-shown job widgets and aborts any request in flight (#17090 by @yuzu-octopus)learnnot hot-registering a newly minted or updated managed skill in the active session (session.skills,skill://, and the system prompt), and fixedcomposeRecallQuerydropping prior user turns when an earlier turn repeated the latest prompt (#17113 by @GTanger)@pathfile mentions skipping.pdf,.docx,.xlsx,.pptx, and.epubfiles as binary instead of converting them to Markdown withmarkitlike CLI@filearguments andread(#17193 by @GTanger)retry.fallbackChainsor the Fireworks Fast degrade) re-rendering the system prompt for the new model, which made Anthropic write the whole cached conversation again on each hop; a hop now keeps the Model line and Delegation wording, and rebuilds only when the new model needs a different edit mode, tool-description handling, or tool set (#17014 by @sjawhar)history://lists the current peers (#17014 by @sjawhar)claude-fable-5) when no vision model is configured; they now use the least expensive priced vision-capable model (#17148, #17196 by @gcp)waitresults and background job deliveries naming a finished subagent only by a job id that differs from its agent id (e.g.Foo-2for a messaged agent's new turn), whereagent://Foo-2andhistory://Foo-2are not found; they now namehistory://Foo, plusagent://Foowhen that turn published its output (#17112 by @sjawhar)RpcClient.promptAndWait()hanging until its timeout when the agent process exits or the client stops after the prompt was acknowledged; it now rejects right away (#17135 by @andrebrait)session_start: the client can now answer it, and other commands still wait for startup to finish, in order (#17139 by @andrebrait)plan.defaultOnStartup) was paused or its plan approved: tools of extensions that load after startup now stay, while built-ins that plan mode registered, such as itswritetransport, still go (#17085 by @appboypov)taskcall silently ignoring amodel(orsourceSession) on a non-seanceitem while theseanceagent is hidden, so the child ran on its own model; the call is now refused with the same error as a single-agent call (#17107 by @sjawhar)[path#TAG]header, after another edit had changed the file, applying to lines that read never displayed, including a line it had cut at the column cap; such an edit now shows the anchored lines first, as it does under the file's current tag (#16208, #17033 by @sjawhar)omp gc --compress(and thegc.autoCompressbackground run) taking minutes on large session histories (#17195 by @H4vC)omp gc --compress --applyspending time on every idle session where the filesystem does not actually compress files (e.g. macOS 27); it now reportscompress skipped: <reason>, andgc.autoCompressno longer slows interactive startup with that check (#17195 by @H4vC)@oh-my-pi/pi-mnemopi
Fixed
@oh-my-pi/pi-natives
Added
globthroughfollowLinks, leaving default traversal unchanged (#17180 by @alphastorm)Changed
Fixed
sortusing many times its-Sbuffer size, or more memory than its container allows or the machine has available, on inputs of short lines, and ignoringtimeoutor a cancel while it sorts (#17155 by @sjawhar)sort -mandsort -csplitting lines longer than their read buffer, andsortjoining a file's unterminated last line to the next file's first line (#17155 by @sjawhar)sort -S N%using the wrong buffer size:-S 50%gave 0 bytes and-S 100%a thousand times the machine's memory; it is now N percent of physical memory as in GNU sort (#17155 by @sjawhar)&jobs are reaped without another command;waitstill reports their status, and$!works inside pipelines, subshells, and command substitutions (#17144).psincludes other users' processes and unreaped zombies when selecting a PID (#17144).globfile-type filters discarding target size and modification time for linked files (#17180 by @alphastorm)jqJSON input parse errors while preserving raw-input bytes (#17179 by @alphastorm)timeoutand tool aborts not stopping built-in commands that were still reading (cat /dev/zero, huge files, FIFOs with no writer) (#17141 by @sjawhar)cat /dev/zero > /dev/null &, running and keeping a core busy after its shell session was gone (#17141 by @sjawhar)echo hi > f & cat < f, hanging the command; a tool abort now also stops a write redirect to a FIFO that has no reader (#17141 by @sjawhar)/bin/cat < f & echo hi > f, hanging the shell until the FIFO's other end opened; the command's own process now opens it, as in bash (#17141 by @sjawhar)timeoutprintingerror: interruptedwhen its limit stopped a built-in command; like GNUtimeout, it now prints nothing of its own and exits 124 (#17141 by @sjawhar)rm -randducrashing the whole session with a stack overflow on a directory tree thousands of levels deep;rm -ralso removes such a tree without running out of file descriptors, and reports a directory that is its own ancestor instead of descending into it (#17021 by @sjawhar)findpanicking and writing a native panic report to~/.omp/logswhen the command reading its output exits early, as infind . -printf '%p\n' | head -1, or when its stderr is closed; it now stops quietly, and a failed-fprintfwrite is reported instead offind: internal error(#17079 by @trukhinyuri)grepandrgrunning the whole agent out of memory on a file with no line breaks, such as a large sparse file: a line over 256 MiB is now reported asnot searchedfor that file and the search continues, and a-fpattern file over 256 MiB is refused with exit status 2 (#17108 by @sjawhar)ls -d DIR/*/now lists only directories instead of passing every file asfile/, and*/namekeeps only matches that containname, as in bash (#17110 by @sjawhar)shopt -s globstar:**now matches any number of directory levels as in bash (**/*.rsfinds files at every depth, also incompgen -G), and a timeout or interrupt stops a long**expansion (#17111 by @sjawhar)@oh-my-pi/pi-tui
Added
TUI.addFrameWriteListener) for terminal integrations that need to react to emitted ANSI output, including resize paints (#17145)HookInputComponent(showHookInput) now accepts{ secret: true }to mask typed characters as bullets (•) in input overlays (#17080 by @GTanger)/contextviewer with category navigation, content inspection, token-usage and compaction estimates, and keyboard/mouse controls that adapt across Tern and other terminals (#16160 by @C-W-Z).Fixed
AskDialogComponent's draft input guard holding the keyboard until the draft was cleared; Up/Down (or a pointer action) now release it so the question can be answered with the draft parked, andsyncPresentationreceives the effective blocked state (#17215 by @H4vC):D) staying open and following the cursor after Shift/Ctrl/Alt+Enter inserted a newline, so the next Enter submitted past a stale list; newlines and cursor motion (arrows, Home/End, word jumps, character jumps) now close it (#17215 by @H4vC)run_watchfailed-job rows hiding why a job's logs are unavailable; multilinegherrors now stay on one row (#17173 by @alphastorm)Removed
ContextUsageView,renderContextUsage,describeContextUsage),contextUsageHead(), and theglyphandcolorfields ofContextBreakdowncategories; useContextViewer(#16160 by @C-W-Z).@oh-my-pi/pi-utils
Added
deadlineMsandwaitMessagecleanup registration options: shutdown waits longer for that callback, but only while it is still pending, and says so on stderr once nothing else is left to wait for (#17128 by @sjawhar)omp --resume <id>instead of leaving its last frame above the shell prompt like a crash (#17119 by @sjawhar)Fixed
What's Changed
shopt -s globstarmatch**recursively by @sjawhar in #17111New Contributors
Full Changelog: https://github.com/can1357/oh-my-pi/compare/v18.13.1...v18.13.2
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.