@oh-my-pi/pi-coding-agent 16.1.18 → 16.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cli.js +15389 -15103
  3. package/dist/types/edit/hashline/filesystem.d.ts +1 -18
  4. package/dist/types/extensibility/plugins/legacy-pi-bundled-keys.d.ts +10 -0
  5. package/dist/types/extensibility/plugins/legacy-pi-bundled-registry.d.ts +4 -1
  6. package/dist/types/extensibility/plugins/legacy-pi-compat.d.ts +12 -0
  7. package/dist/types/internal-urls/skill-protocol.d.ts +2 -2
  8. package/dist/types/internal-urls/types.d.ts +3 -0
  9. package/dist/types/modes/components/custom-editor.d.ts +0 -2
  10. package/dist/types/modes/controllers/input-controller.d.ts +0 -1
  11. package/dist/types/tools/path-utils.d.ts +3 -0
  12. package/package.json +12 -12
  13. package/scripts/build-binary.ts +20 -0
  14. package/scripts/generate-legacy-pi-bundled-registry.ts +404 -0
  15. package/src/edit/hashline/filesystem.ts +14 -0
  16. package/src/extensibility/plugins/legacy-pi-bundled-keys.ts +987 -0
  17. package/src/extensibility/plugins/legacy-pi-bundled-registry.ts +3330 -18
  18. package/src/extensibility/plugins/legacy-pi-compat.ts +29 -14
  19. package/src/internal-urls/local-protocol.ts +116 -9
  20. package/src/internal-urls/skill-protocol.ts +3 -3
  21. package/src/internal-urls/types.ts +3 -0
  22. package/src/modes/components/custom-editor.test.ts +7 -5
  23. package/src/modes/components/custom-editor.ts +6 -16
  24. package/src/modes/controllers/input-controller.ts +0 -71
  25. package/src/session/messages.ts +70 -47
  26. package/src/tools/ast-edit.ts +1 -0
  27. package/src/tools/ast-grep.ts +1 -0
  28. package/src/tools/find.ts +1 -0
  29. package/src/tools/path-utils.ts +4 -0
  30. package/src/tools/read.ts +43 -17
  31. package/src/tools/search.ts +4 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [16.1.19] - 2026-06-25
6
+
7
+ ### Fixed
8
+
9
+ - Fixed `omp install <plugin>` failing extension validation in compiled-binary mode with `Cannot find module '@(scope)/pi-ai/oauth' from '<plugin>/src/oauth.ts'` (and any other non-wildcard pi-* subpath import like `@oh-my-pi/pi-coding-agent/tools`). The bundled-registry override map seeded by `__buildLegacyPiPackageRootOverrides` only covered the bare package roots, so `rewriteLegacyPiImports` rewrote `@(scope)/pi-ai/oauth` to `@oh-my-pi/pi-ai/oauth`, fell through to `Bun.resolveSync` (which bunfs can't satisfy on Bun 1.3.14+), then left the original specifier alone — at which point Bun's native resolver failed because most plugins declare `@(scope)/pi-ai` as a `peerDependency` only and never materialize a real install. The new `scripts/generate-legacy-pi-bundled-registry.ts` reads every bundled pi-* package's non-wildcard `exports` field and emits both the heavy `legacy-pi-bundled-registry.ts` (static imports + map) and a light `legacy-pi-bundled-keys.ts` (statically imported by `legacy-pi-compat.ts` to seed the override map without the cascade through `legacy-pi-coding-agent-shim → ../index → export/html/...`). `scripts/build-binary.ts` now runs the generator before `bun build --compile`. ([#3442](https://github.com/can1357/oh-my-pi/issues/3442))
10
+ - Fixed `skill://` tool resolution losing loaded session skills when a tool runs outside the session-initialization module state. Internal URL resolution now prefers the caller's `session.skills` snapshot before falling back to the process-global skill list, so `read skill://<name>` works across tool execution boundaries. ([#3436](https://github.com/can1357/oh-my-pi/issues/3436))
11
+ - Fixed `@image` mentions on OpenAI Codex Responses (chatgpt.com `gpt-5.5` and siblings) failing with `Codex error event: [OneOfParam] [input[N].content[…]] [invalid_enum_value] Invalid value: 'input_image'. Supported values are: 'input_text'.`. `convertToLlm` for `fileMention` always emitted a `developer`-role message, so the auto-attached image landed in a Responses content array that the Codex backend (and OpenAI Responses generally) only allows to carry `input_text`. #3421's previous fix only stopped the Codex Responses Lite header from going out on image-bearing turns; the full transport kept rejecting the same payload. `convertToLlm` now splits a mixed-content `fileMention` into two messages — text-only files stay on `developer` (so the auto-read context keeps instruction priority), while image-bearing files ride on `user` (the only Responses content slot that accepts `input_image`). ([#3443](https://github.com/can1357/oh-my-pi/issues/3443))
12
+ - Fixed `local://` binary attachments being decoded with `Bun.file().text()` before read-tool file safeguards could reject or stream them. `read local://...` now routes file-backed resources through the normal filesystem reader, the protocol handler refuses known binary/container resources without materializing their bytes, and the streaming reader's NUL-byte refusal now also covers binary blobs whose first newline lies beyond the byte budget (videos, archives) — those previously bypassed the per-line scan and surfaced as decoded mojibake. ([#3448](https://github.com/can1357/oh-my-pi/issues/3448))
13
+
5
14
  ## [16.1.18] - 2026-06-25
6
15
 
7
16
  ### Added