github can1357/oh-my-pi v18.2.7

3 hours ago

@oh-my-pi/pi-ai

Breaking Changes

  • Anthropic streaming and provider request helpers must now be imported from @oh-my-pi/pi-ai/providers/anthropic instead of the package root.
  • Moved the public NO_AUTH_SENTINEL export from providers/openai-shared to auth-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 buildDiscoveredModel helper 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 find tool for semantic workspace searching, allowing agents to locate behaviors and symbols using natural language
  • Added find CLI 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 find tool over grep and glob for 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 default package 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 find tool 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 setMagicKeywords for 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

Don't miss a new oh-my-pi release

NewReleases is sending notifications on new releases.