Add the Unreleased entry for the desktop-notification fix and correct
the hasLinuxDesktopSession docstring, which still claimed the check was
limited to a session bus address in env.
Addresses review feedback on #7707.
- Implemented in-house, zero-dependency utility modules in `pi-utils` covering DOM manipulation, markdown parsing, templating, browser automation helpers, and terminal buffers.
- Migrated packages across the repository to consume the new internal utilities and `omptype` schema validators instead of external dependencies.
- Removed multiple external runtime and development dependencies including Zod, Marked, LRU cache, Turndown, and Puppeteer browser packages.
The SIXEL capability probe gated on process.platform === "win32", but
under WSL process.platform is "linux", so the probe never ran and inline
images fell back to the text placeholder even on Sixel-capable Windows
Terminal. Gate on isConPTYHosted() (native win32 or WSL) instead; the
existing WT_SESSION and TTY requirements still scope it to WT.
Fixes#6009
Table rows splice every wrapped cell line between unstyled border glyphs.
The native wrap deliberately leaves fg color and bold/italic open at line
ends so continuation lines can re-open them, so a codespan broken across a
wrap leaked its color into the '|' borders, inter-cell padding, and the
following cells. Close SGR state per cell line (bold/italic off, default
fg; background preserved) in #wrapCellText.
Closes#7575
Use isConPTYHosted() instead of process.platform === "win32" so the
flag-4 avoidance also covers WSL under a Windows terminal (where
process.platform is "linux" but stdout still crosses ConPTY).
Add CHANGELOG entry under [Unreleased] for this user-facing fix.
Remove the US-layout-specific SHIFT_MAP fallback from keys.ts (not
needed with flag 1, and wrong for non-US layouts).
Move the Windows platform check before the flag-2 preservation branch
in terminal.ts so that Windows always avoids flag 4, even when a parent
TUI has already enabled flag 2. In that case, push flag 3 (1+2) instead
of flag 7 (1+2+4).
WezTerm/ConPTY on Windows drops Shift+letter keypresses entirely when
Kitty keyboard protocol flag 4 (report alternate keys) is set. Fall
back to flag 1 (disambiguate only) on Windows so shifted printable
keys are delivered as raw characters instead of being silently eaten.
Also adds a defensive SHIFT_MAP fallback in decodeKittyPrintable for
terminals that send CSI-u sequences with the shift modifier but omit
the shifted_key secondary codepoint.
- Introduce `@oh-my-pi/omptype` as a new ArkType-compatible schema validation package featuring a lazy JIT runtime, JSON Schema emission, and compatibility adapters.
- Replace `arktype` across workspace packages and test utilities with `@oh-my-pi/omptype`.
- Add benchmark suites, tests, and documentation for the new validation engine and adapters.
- Update workspace build, test runner, and release configurations to include the new package.