chore(deps): update dependency can1357/oh-my-pi to v18.12.0 #232
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.11.3→18.12.0Release Notes
can1357/oh-my-pi
v18.12.0Compare Source
@oh-my-pi/pi-agent-core
Fixed
PROVIDER_ERRORwhen a follow-up (a finished background job, a late diagnostic, a reminder) arrived while the previous turn was still streaming (#15821 by @robfeldmann)@oh-my-pi/pi-ai
Breaking Changes
PI_CODEX_ZSTDis replaced byPI_REQUEST_COMPRESSION; setPI_REQUEST_COMPRESSION=0to send Codex (and every other) request body uncompressed (#16086 by @H4vC)Added
ThinkingContent.narration, set on Anthropic and Bedrock thinking blocks whose signature marks them as between-tool narration, andpresentNarrationAsAnswer(message)to show those blocks as reply text while replay keeps them as signed thinkingkeys.peek(provider, { includeExpired: true })to name the stored account behind an expired OAuth token for reads that never send it, such as keying an offline model-cache lookup (#16061 by @gchai)prewarmModelConnection(model)(providers/connection-prewarm), which opens the model's API connection ahead of a request using the same transport and TLS settings so the request reuses it instead of paying the connection handshake (#16086 by @H4vC)Changed
PI_REQUEST_COMPRESSION=0to disable it (#16044 by @H4vC)PI_REQUEST_COMPRESSION=0to disable it (#16086 by @H4vC)MOONSHOT_BASE_URL, regional hosts), throttled per host; custom providers, built-in provider ids routed to a gateway, local hosts, and Anthropic gateways are never probed (#16086 by @H4vC)Fixed
toolStartnow waits for the complete JSON name, so a stream that splits or stops mid-name never reports a partial tool name (#16064 by @adi-IL)keys.peek()rotating through stored accounts on each call; it now returns the first account whose token has not expired, every time, so model discovery keeps reading one account's cached catalog (#16061 by @gchai)proc://*calls and Google tool names sent to Bedrock (#15839)@oh-my-pi/pi-catalog
Added
request-encodings,request-encoding-rejection, andendpoint-hostsrule axes,resolveRequestCompression(model, url), andisCatalogEndpointUrl(model, url), declaring which providers' own endpoints decode compressed request bodies: official Anthropic API (gzip), Codex backend (zstd), and GitHub Copilot's API hosts (zstd, then gzip); Moonshot's China host counts as its own endpoint (#16086 by @H4vC)Changed
Fixed
providerType(Azure, GitHub Copilot, OpenCode, ClinePass, DeepSeek, NVIDIA) missing that provider's wire quirks, such as strict Responses pairing and the ClinePass reasoning field: they now follow the same catalog rules as the built-in provider (#16093 by @H4vC)providers.cacheWarmingnever arming for Claude on Google Antigravity: Claude models there now declare Vertex Anthropic's five-minute prompt-cache lifetime; Gemini models stay unwarmed because Google's implicit cache has no fixed lifetime (#15764, #16025 by @harshaygadekar)@oh-my-pi/pi-coding-agent
Added
statusLine.segmentOptions.pi.showProfile: set it tofalseto hide the profile name next to theπbrand, for example when each profile already has its own theme (#16063 by @shgew)sharpshooter.minPromptLength(default 16, minimum 2) to control the shortest prompt Sharpshooter extracts decisions from (#16043 by @bigHippoZz)Changed
models.ymlproviders, built-in providers pointed at a gateway, and local servers are never probed (#16086 by @H4vC)readresult's indentation as count brackets ([»2]two tabs,[·4]four spaces) and keeps its[path#TAG]header as text, so edits from imaged reads keep the right indentation and tag (#15899 by @apoc)contextWindowormaxTokensinmodels.ymlnow wins over the catalog's limit rules for that model id, which previously overwrote it (#16094 by @H4vC)Fixed
du --time=ctime(alsostatus) printing???on Windows; it now shows the last write time, asstatalready does for the status-change timermdir dir/.on Windows removingdir(andrmdir x/..the parent); like POSIX it now fails withInvalid argument/Directory not emptydd if=DIRon Windows failing withfailed to open ...: Permission denied; like POSIX it now opens the directory and reportserror reading ...: Is a directorywith the transfer statisticsfetch.preconnectthrows (#16086 by @H4vC)modes/rpc/rpc-frame) failing to bundle for Node because it pulled in Bun-only modules and the native addon (#16072 by @oyty)auth-gatewaystrict probes sending a raw token instead of the structured credential blob for Alibaba Coding Plan and Snowflake logins (#16092 by @H4vC).claude/worktrees/); those worktrees are no longer snapshotted as nested repos (#16068)editmoves dropping executable permissions in hashline, patch, and apply_patch modes (#16042 by @mottopanikeiku)clip.mp4:2s,clip.mp4:0:05) failing for files outside the session cwd, which also reported a colon-mangled path when the video was missing. (#16056 by @adi-IL)xd://device dispatches and direct MCP tools to show readable, indented arguments with multiline content expanded into blocks (#15589, #16048 by @KunoLu).retry.fallbackChainswarning "references unknown model" at startup for models a discovery provider loads once its background refresh finishes (e.g. Copilot and Cursor-1mvariants); a model still missing after discovery is warned about once (#16061 by @gchai)-1mvariants) going missing at startup when two Copilot accounts are signed in (#16061 by @gchai)-1mvariants) staying unavailable at startup until a background refresh whenever the stored Cursor access token had expired; the startup cache read now uses the same account key as the discovery write (#16061 by @gchai)vardeclared inside a top-level control block disappearing after an awaited JavaScript Eval cell (#15859).%loadscripts like JavaScript kernels (#16032)./restartlosing explicitly opened session files outside the default session directories by resuming the persisted file directly (#16030 by @appboypov)todocall's hidden reminder resurfacing on the next prompt with an outdated list after the agent had already retried successfully (#16001)ssh://ignoring aControlPathfrom~/.ssh/config, so it now reuses an already-authenticated master (e.g. on MFA/keyboard-interactive hosts) instead of failing withPermission denied(#15974)--session-dir <dir> --resume <id>not finding a transcript that is a symlink in that directory, the session lists and id-prefix lookups skipping symlinked transcripts the same way, and a resume that must rewrite such a transcript replacing the link instead of updating the file it points at; a project bucket that is itself a symlink is no longer traversed, so a scan cannot leave the sessions root and no session is listed twice (#15878, #15882 by @AnxForever)/loginagain (#15845).readdropping everything past 500,000 characters: tail selectors, URLgrep, and the linked full-output artifact now reach the whole response body (#15768).find(tool andomp find) reporting "no hits" when every judge request failed; it now reportsfind unavailablewith a hint to use grep, flags partial runs with how many judge requests failed, and exposes the status ascoveragein its details and--jsonoutput (#15744)evalhistory (--continue,--resume) missing the prompt cache after the previous process's first request (#15736)/mcp reauthnow falls back to configured scopes or authorization-server defaults (#15996 by @unclesamwk).@oh-my-pi/pi-natives
Breaking Changes
encodeSixelandencodeSixelAsyncnow require a fourth terminal-background RGB argument packed as0xRRGGBB(#15891 by @Bouska).Fixed
@oh-my-pi/omptype
Fixed
@oh-my-pi/omp-stats
Fixed
xai-oauthalready did (#16092 by @H4vC)@oh-my-pi/pi-tui
Breaking Changes
FindStats.errorsis replaced byfailed(judge requests that failed) andunanswered(unusable answers), andFindToolDetailsrequires acoveragestatus; the find renderer showsN/M requests failed(#15744)Added
pi.showProfiletoStatusLineSegmentOptions:falsekeeps thepisegment's bare glyph under a named profile, in the rendered bar and indescribe(#16063 by @shgew)Fixed
readresult notice printing the absolute resolved path, so a file under the home directory readsResolved path: ~/notes.txtinstead of/home/you/notes.txt(#16055 by @adi-IL).@oh-my-pi/pi-utils
Added
sanitizeTextDeep(), which appliessanitizeText()to every string in a JSON-shaped value without mutating it (#15963)Fixed
What's Changed
New Contributors
Full Changelog: https://github.com/can1357/oh-my-pi/compare/v18.11.3...v18.12.0
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.