- Added a new @oh-my-pi/snapcompact package and redirected compaction call sites to it.
- Added provider-aware snapcompact shape resolution for model-specific mixed-frame behavior.
- Added optional image detail support by extending ImageContent and passing hints through OpenAI providers.
- Added native snapcompact render options, including 5x8/8x8 font loading and palette/geometry controls.
Zhipu Coding Plan keys are formatted '<id>.<secret>' (no 'sk-' prefix),
so the OAuth login prompt's 'sk-...' placeholder misled users into
thinking their pasted key was malformed.
Also extended the SECRET_PATTERNS redaction example in
docs/skills/authoring-hooks.md with the Zhipu shape and a comment noting
the list is not exhaustive, so hook authors referencing the example do
not silently miss Zhipu keys.
Fixes#2106
- Added `TUI.resetDisplay()` to force an immediate full-frame replay including native scrollback.
- Moved the persistent model selector default from Ctrl+L to Alt+M, preserving existing user remaps.
- Reserved Alt+M so extensions cannot shadow the model selector shortcut.
ExtensionRunner#getShortcuts() accepted ctrl+q because #RESERVED_SHORTCUTS
predated the new default, and InputController registers extension
shortcuts before the followUp keybinding, so the editor's custom-key
map silently overwrote the extension handler. Now ctrl+q is reserved
alongside the other built-in chords and the extension authoring docs
list it as such.
Addresses code review on #1905.
Adds .omp-plugin/marketplace.json as the preferred catalog location for omp
marketplaces. fetchMarketplace now searches .omp-plugin/marketplace.json
first and falls back to .claude-plugin/marketplace.json so existing
Claude Code-compatible marketplaces keep loading.
Docs and authoring skill updated to reflect the new preferred path.
Co-Authored-By: omp <noreply@oh-my-pi.dev>
- Added canonical `pi.zod` schema API exports and removed TypeBox package exports/imports.
- Migrated Tool schema typing from TypeBox to shared `TSchema`/Zod flow with legacy TypeBox compatibility.
- Updated AI provider adapters and MCP/agent builders to convert tool params through `toolWireSchema()`.
- Reworked schema validation from AJV to Zod-safe parsing with `fromTypeBox`, `toolWireSchema`, and meta schema checks.