@oh-my-pi/pi-ai
Breaking Changes
- Anthropic streaming and provider request helpers must now be imported from
@oh-my-pi/pi-ai/providers/anthropicinstead of the package root. - Moved the public
NO_AUTH_SENTINELexport fromproviders/openai-sharedtoauth-retry.
Fixed
- Anthropic organization-level OAuth permission errors now reliably rotate to sibling credentials and persist blocks across usage reports.
- Fixed error handling for provider responses that do not include token usage information.
@oh-my-pi/pi-catalog
Added
- Added model-kind and grounded-search capability metadata, along with catalogs for local inference and search-engine models.
- Added OpenRouter image-model discovery and live TypeSafe judge-model discovery.
- Added the
buildDiscoveredModelhelper for defining custom providers. - Added glob-based patterns for identity overrides.
Changed
- Updated input cost for TypeSafe models to 0.042
- Improved model routing and thinking-policy handling for llama.cpp Qwen models, Bonsai lineage aliases, and custom provider names.
@oh-my-pi/pi-coding-agent
Breaking Changes
- Image-generation overrides now use model selectors, and web-search CLI overrides use --model instead of --provider.
- Removed the bash tool's env parameter.
- Eval judge(state, questions) is now awaited and returns answers directly; JudgmentHandle and judgment support in wait() have been removed.
Added
- Added
findtool for semantic workspace searching, allowing agents to locate behaviors and symbols using natural language - Added
findCLI command for performing semantic workspace searches - Added batch evaluation with judge_batch(states, questions) / judgeBatch(...), including bounded background execution, incremental result and status access, per-item failure reporting, and the ability to wait for or reattach to jobs across turns or after a reset.
- Added the jevify magic keyword to have the agent establish an evaluation rubric before classifying bulk items and inspect only items flagged by the judge.
- Added omp web-search as an alias for omp search.
- Added tui.titleSpinner configuration to select the terminal-title working-state spinner (braille, dots, or line).
- Added Handlebars-based system prompt templates through SYSTEM_TEMPLATE.md, --system-prompt-template, and the SDK, with access to live settings and tool data.
- Added configurable image, web, speech, dictation, judge, and memory model roles with ordered fallbacks, legacy backend-setting migration, and omp models --kind filtering.
- Added native OpenRouter image generation, model-selected web-plugin search, and live discovery of TypeSafe judge models.
Changed
- Updated agent system prompts to prioritize the
findtool overgrepandglobfor behavioral lookups - Refined system prompt instructions for XML tag handling and agent persona
- Updated sloppy edit tool syntax to use plain text headers instead of XML tags
- Improved startup performance by validating provider-qualified model selectors against only the relevant provider catalog.
- Reduced launch time for npm and compiled builds by embedding the model catalog more efficiently.
Fixed
- Fixed system prompt configuration validation so systemPromptTemplate and customSystemPrompt cannot conflict with a full systemPrompt replacement, including when values are empty.
- Added browser-relay support for listing eligible pages without attaching to or claiming them.
- Fixed Codex compatibility with the sloppy edit tool.
- Capped concurrent eval judge and completion requests to prevent large fan-outs from overwhelming judge and fallback models.
- Temporarily avoids retrying judgment requests with credentials that recently failed due to authorization or billing errors.
- Fixed image and speech fallback models disappearing after discovery and eliminated incorrect incompatibility warnings for providers without credentials.
- Fixed resume and continue flows to hide empty sessions.
- Fixed edit operations that could loop after empty insertions or fail on Unicode no-op and overlapping duplicate matches.
- Fixed live subagent messages being delayed by agent discovery and roster discovery looping on dot-named transcripts.
- Fixed llama.cpp discovery and routing for PrismML Bonsai 2 27B GGUF models, including support for cached models and the Qwen 3.8 thinking-level ladder.
@oh-my-pi/pi-natives
Added
- Added
renderMermaidAscii, a native Mermaid-to-ASCII/Unicode renderer supporting flowcharts, state, sequence, class, ER, and xychart diagrams with color modes, themes, and direction overrides. - Added a
defaultpackage export condition so CommonJS consumers, including bytecode bundles, can load the native bindings.
Changed
- Improved Mermaid flowchart rendering to respect dependency order, reduce crossings, align branches, and wrap long labels without truncation.
Fixed
- Fixed Mermaid rendering issues involving arrowhead alignment and duplicate edge junctions around mixed-width node shapes.
- Fixed sloppy edit grammar compatibility with Codex constrained decoding.
@oh-my-pi/pi-tui
Breaking Changes
- Removed specialized keyword modules in favor of a centralized registration system
Added
- Added
findtool renderer to display search results with hit ranking and score visualization - Supported collapsing/expanding search hit details and range snippets
- Enabled file hyperlinking for navigation to absolute paths in search results
- Added streaming progress display for incomplete find tool operations
- Added Glyph Protocol support for rendering icons without requiring patched fonts
- Added
setMagicKeywordsfor dynamic configuration of highlightable magic keywords
Fixed
- Prevented magic keywords from triggering spelling autocorrect and underlining
@oh-my-pi/pi-utils
Changed
- Mermaid diagrams are now rendered with the native renderer, with output remaining unchanged.
- PI_TIMING span lines now include their start offset to make unspanned gaps easier to identify.
Fixed
- Fixed a startup crash when PI_TIMING profiled modules loaded via require() or TypeScript declaration assets.
What's Changed
- fix(coding-agent): elide 0-turn sessions from resume picker and continue by @H4vC in #12538
- feat(browser): answer Target.getTargets on the relay CDP surface by @alphastorm in #12567
- feat(coding-agent): support Handlebars system prompt overrides by @anatoli-tsinovoy in #12194
- fix(catalog): restore qwen top-level dialect for llama.cpp by @H4vC in #12614
Full Changelog: v18.2.6...v18.2.7