chore(deps): update dependency can1357/oh-my-pi to v15.10.8 #53
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/can1357-oh-my-pi-15.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:
15.10.6→15.10.8Release Notes
can1357/oh-my-pi (can1357/oh-my-pi)
v15.10.8Compare Source
@oh-my-pi/pi-agent-core
Added
fetchoverrides toSummaryOptionsandcompact/generateSummaryso remote compaction can use custom HTTP clientsfetchoption toProxyStreamOptionsto control the HTTP request used bystreamProxyfetchoverrides torequestOpenAiRemoteCompactionandrequestRemoteCompactionfor injectable HTTP transportAssistantMessage.upstreamProvider, e.g. OpenRouter's routed provider) as api.gen_ai.response.upstream_providerchat-span telemetry attribute, alongside the existing response id and time-to-first-chunk.@oh-my-pi/pi-ai
Added
fetchtransport override (fetch?: FetchImpl) to Google, Ollama, and OpenAI-compatible model-manager options so dynamic model discovery and metadata lookups can use a caller-supplied HTTP client instead of only globalfetchfetchon OAuth controller and API-key validation/login flows so token exchange, refresh, and device/PKCE login requests can be routed through a customfetchimplementationfetchsupport to usage polling context, allowing usage providers to execute usage checks using an injected HTTP clientAssistantMessage.upstreamProvider, capturing the upstream provider an aggregator routed the request to (OpenRouter reports it via a top-levelproviderfield on every chunk, e.g."Anthropic"). Surfaced from the OpenAI-completions stream alongsideresponseId.Fixed
function_call_arguments.deltaframes forever — commonly seen right after atodotool call) terminating the turn with an error instead of recovering. The whitespace-loop circuit-breaker now (a) stops aborting the shared per-requestAbortController—requestSignalis anAbortSignal.anyover it, so aborting latched it and made every reopen on the reusedrequestSetupimpossible — and (b) drops the half-built junk tool call and replays the request from scratch, bounded byCODEX_WHITESPACE_LOOP_RETRY_LIMIT(2). Sampling nondeterminism usually clears the loop on a fresh attempt; once the budget is exhausted the error is surfaced as before, but without the junk tool call polluting the message.OPENAI_MAX_OUTPUT_TOKENS, mirroring Anthropic'sCLAUDE_CODE_MAX_OUTPUT_TOKENS) on OpenAI-family wires with a known upstream output cap — theopenai-completionsrequest builder (non-OpenRouter) and the shared responses sampling helper (openai-responses,azure-openai-responses). A model's catalogmaxTokensoften tracks its context window rather than the upstream's per-request output cap, so requesting the full ceiling 400'd (e.g.z-ai/glm-4.7asking for 131072 output exceeded the upstream's 131072-token total context). Output is nowmin(requested, model.maxTokens, 64000).max_tokens/max_completion_tokenson OpenRouter (openrouter.ai) completions requests. OpenRouter filters out any upstream whose advertised output cap is below the requestedmax_tokens, so a value derived from the catalog (which reflects the highest-cap provider) silently excluded lower-cap upstreams —provider.order: ["cerebras"]forz-ai/glm-4.7fell through to DeepInfra because Cerebras's ~40k output cap is below the request, whileonly: ["cerebras"](no fallback target) bypassed the filter and worked. Omitting the field lets each upstream self-cap and keeps provider routing (only/order) honored. Kimi via OpenRouter stays exempt — it derives TPM rate limits frommax_tokens.@oh-my-pi/pi-coding-agent
Added
fetchoption toCustomToolContextso custom tools can use a caller-provided HTTP implementationfetchoverrides toModelRegistryconstruction and MCP/web search/tool network calls, enabling callers to inject custom HTTP clients instead of relying on globalfetchbash.enabledsetting to disable the model-facing bash tool while leaving user-initiated bang/RPC bash commands available.@<upstream>model-selector suffix to pin an aggregator model to a single upstream provider per invocation, e.g.--model openrouter/z-ai/glm-4.7@​cerebras(sets OpenRouterprovider.only; Vercel AI Gateway models map tovercelGatewayRouting.only). Resolved throughparseModelPattern, so it works for--model/--smol, model roles, and the SDK, and composes with a trailing thinking level (...@​cerebras:high). The base must resolve to an aggregator (openrouter.ai/ai-gateway.vercel.sh); otherwise the@stays part of the id, so ids that legitimately contain@(claude-opus-4-8@​default,workers-ai/@​cf/...) are unaffected.Fixed
AnthropicApiErrorfolds the entire response body intoerrorMessage, and the inline transcript render reprinted it verbatim — every embedded blank line included — leaving a tall mostly-empty block ending in</html>. The inline error now drops blank lines, clamps to 8 lines, and width-truncates each line viagetPreviewLines, matching the pinned error banner.@oh-my-pi/pi-mnemopi
Added
fetchoption toExtractionClientto inject a custom fetch implementation for remote LLM requestsfetchoption toextractFactsto control the transport used for remote extraction callsfetchimplementation throughcompleteandsummarizeMemoriesvia remote LLM options@oh-my-pi/pi-tui
Fixed
historyRebuildpath on every frame; newly appended tail rows stay reachable while stale history waits for a safe checkpoint. (#2154)@oh-my-pi/pi-utils
Removed
hookFetchAPI, which previously interceptedglobalThis.fetchvia middleware handlershookFetchfrom the package entrypoint, so imports from@.../utilsno longer provide this fetch interception helperWhat's Changed
Full Changelog: https://github.com/can1357/oh-my-pi/compare/v15.10.7...v15.10.8
v15.10.7Compare Source
@oh-my-pi/pi-ai
Fixed
signatureinthinkingblock" after interrupting the model during its visible output.transformMessagesstripped the signature from everythinkingblock of anaborted/errorturn, including blocks that had already finished streaming — Anthropic delivers a block's signature atcontent_block_stopbefore the next block starts, so a thinking block followed bytext/tool_useis fully signed. The valid signature was then replayed empty (signature: ""), which signature-enforcing Anthropic rejects, including when the provider is routed through an LLM gateway baseUrl. Only the single mid-stream block at the abort point is now treated as untrustworthy; completed thinking blocks keep their replayable signatures (#2144).context_management.edits[clear_thinking_20251015]block paired with thethinkingfield, but the eager-todo prelude (and other paths that forcetool_choicetotool/anyon the first user turn) route throughdisableThinkingIfToolChoiceForced, which would stripparams.thinkingwhile leaving the orphancontext_managementbehind. The Anthropic API then rejected the request with400 ... clear_thinking_20251015 strategy requires thinking to be enabled or adaptive. The fix that lands in [15.10.5] now drops both fields together; the new test locks the contract so the strategy can never outlive its enablingthinkingpayload again.0% freewhile separate Anthropic/OpenAI-backed Antigravity model counters remain visible independently, without replaying stale pre-fix cached usage reports.@oh-my-pi/pi-coding-agent
Fixed
ompstartup blocking 25–30 s on a single unresponsive MCP server when no cached tools were available for it.MCPManager.connectServersused to fall through to an unboundedPromise.allSettledover every still-pending server without a cached tool list, so one server stuck waiting on the per-request MCP timeout (OMP_MCP_TIMEOUT_MS, default 30 000 ms) gated the entire UI ready signal. Pending-without-cache servers are now left in flight: their tools surface via the existing background#onToolsChanged→refreshMCPToolspath the moment the connect completes, and failures continue to log through the background catch handler (#2100).What's Changed
Full Changelog: https://github.com/can1357/oh-my-pi/compare/v15.10.6...v15.10.7
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, 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.
34665c22e1308c891018chore(deps): update dependency can1357/oh-my-pi to v15.10.7to chore(deps): update dependency can1357/oh-my-pi to v15.10.8