@oh-my-pi/pi-coding-agent 16.0.10 → 16.0.11

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 (86) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/cli.js +3208 -3199
  3. package/dist/types/advisor/index.d.ts +1 -0
  4. package/dist/types/advisor/transcript-recorder.d.ts +52 -0
  5. package/dist/types/commit/agentic/agent.d.ts +1 -1
  6. package/dist/types/config/settings-schema.d.ts +0 -4
  7. package/dist/types/edit/file-snapshot-store.d.ts +1 -1
  8. package/dist/types/extensibility/extensions/types.d.ts +7 -0
  9. package/dist/types/modes/components/agent-hub.d.ts +6 -1
  10. package/dist/types/modes/components/agent-transcript-viewer.d.ts +39 -0
  11. package/dist/types/modes/components/chat-transcript-builder.d.ts +42 -0
  12. package/dist/types/modes/controllers/command-controller.d.ts +3 -2
  13. package/dist/types/modes/interactive-mode.d.ts +2 -1
  14. package/dist/types/modes/types.d.ts +2 -1
  15. package/dist/types/registry/agent-registry.d.ts +10 -3
  16. package/dist/types/session/compact-modes.d.ts +60 -0
  17. package/dist/types/session/streaming-output.d.ts +0 -2
  18. package/dist/types/tools/__tests__/json-tree.test.d.ts +1 -0
  19. package/package.json +12 -12
  20. package/src/advisor/index.ts +1 -0
  21. package/src/advisor/transcript-recorder.ts +136 -0
  22. package/src/cli/stats-cli.ts +2 -11
  23. package/src/collab/host.ts +25 -13
  24. package/src/commit/agentic/agent.ts +2 -1
  25. package/src/commit/agentic/tools/git-file-diff.ts +2 -2
  26. package/src/commit/changelog/index.ts +1 -1
  27. package/src/commit/map-reduce/map-phase.ts +1 -1
  28. package/src/commit/map-reduce/utils.ts +1 -1
  29. package/src/config/settings-schema.ts +0 -5
  30. package/src/config/settings.ts +0 -6
  31. package/src/edit/file-snapshot-store.ts +1 -1
  32. package/src/edit/renderer.ts +7 -7
  33. package/src/eval/js/tool-bridge.ts +3 -2
  34. package/src/eval/py/prelude.py +3 -2
  35. package/src/export/html/tool-views.generated.js +28 -28
  36. package/src/extensibility/extensions/types.ts +7 -0
  37. package/src/hindsight/mental-models.ts +1 -1
  38. package/src/internal-urls/docs-index.generated.txt +1 -1
  39. package/src/internal-urls/history-protocol.ts +8 -3
  40. package/src/irc/bus.ts +8 -0
  41. package/src/lsp/index.ts +2 -2
  42. package/src/main.ts +4 -1
  43. package/src/modes/acp/acp-agent.ts +63 -0
  44. package/src/modes/components/agent-hub.ts +97 -920
  45. package/src/modes/components/agent-transcript-viewer.ts +461 -0
  46. package/src/modes/components/chat-transcript-builder.ts +462 -0
  47. package/src/modes/components/diff.ts +12 -35
  48. package/src/modes/controllers/command-controller.ts +12 -2
  49. package/src/modes/controllers/event-controller.ts +1 -1
  50. package/src/modes/controllers/input-controller.ts +8 -1
  51. package/src/modes/controllers/selector-controller.ts +4 -1
  52. package/src/modes/interactive-mode.ts +4 -2
  53. package/src/modes/types.ts +2 -1
  54. package/src/prompts/tools/read.md +1 -1
  55. package/src/registry/agent-registry.ts +13 -4
  56. package/src/sdk.ts +1 -1
  57. package/src/session/agent-session.ts +92 -3
  58. package/src/session/compact-modes.ts +105 -0
  59. package/src/session/session-dump-format.ts +1 -1
  60. package/src/session/session-history-format.ts +1 -1
  61. package/src/session/streaming-output.ts +5 -5
  62. package/src/slash-commands/builtin-registry.ts +16 -4
  63. package/src/task/executor.ts +1 -1
  64. package/src/task/output-manager.ts +5 -0
  65. package/src/tools/__tests__/json-tree.test.ts +35 -0
  66. package/src/tools/approval.ts +1 -1
  67. package/src/tools/bash.ts +0 -1
  68. package/src/tools/browser.ts +0 -1
  69. package/src/tools/eval.ts +1 -1
  70. package/src/tools/gh.ts +1 -1
  71. package/src/tools/irc.ts +1 -1
  72. package/src/tools/json-tree.ts +22 -5
  73. package/src/tools/read.ts +5 -6
  74. package/src/web/scrapers/firefox-addons.ts +1 -1
  75. package/src/web/scrapers/github.ts +1 -1
  76. package/src/web/scrapers/go-pkg.ts +2 -2
  77. package/src/web/scrapers/metacpan.ts +2 -2
  78. package/src/web/scrapers/nvd.ts +2 -2
  79. package/src/web/scrapers/ollama.ts +1 -1
  80. package/src/web/scrapers/opencorporates.ts +1 -1
  81. package/src/web/scrapers/pub-dev.ts +1 -1
  82. package/src/web/scrapers/repology.ts +1 -1
  83. package/src/web/scrapers/sourcegraph.ts +1 -1
  84. package/src/web/scrapers/terraform.ts +6 -6
  85. package/src/web/scrapers/wikidata.ts +2 -2
  86. package/src/workspace-tree.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,41 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [16.0.11] - 2026-06-19
6
+
7
+ ### Added
8
+
9
+ - Added `__advisor.jsonl` transcript persistence for advisor model usage attribution and visibility in the Agent Hub
10
+ - Added defensive reservation against naming a task `__advisor` to prevent filesystem collisions with internal transcripts
11
+ - Added `mode` property to the `CompactOptions` interface for extension-based compaction control
12
+ - Updated `/compact` slash command to support `soft`, `remote`, and `snapcompact` subcommands for per-run strategy overrides
13
+ - Added `/compact` mode subcommands so a manual compaction can override the configured `compaction.strategy`/`remoteEnabled` for that one run: `/compact soft` (summarize locally, skip remote endpoints), `/compact remote` (summarize via the remote endpoint / provider-native compaction; warns and falls back to a local summary when no remote path is available), and `/compact snapcompact` (archive history onto dense bitmap images, no LLM call). Bare `/compact` and `/compact <focus text>` keep their existing behavior; `soft`/`remote` still accept trailing focus instructions, `snapcompact` rejects them. The subcommands are advertised to ACP clients and surface in TUI autocomplete. Extensions can pass the same selection via `compact(instructions, { mode })`.
14
+ - The advisor now persists its own turns to a subagent-style transcript (`<session>/__advisor.jsonl`) so the advisor model's usage is attributed in `omp stats` and its transcript is observable in the Agent Hub (read-only). The transcript follows session switches (`/new`, resume, branch) and is drained/released before a `/drop` deletes the old artifacts dir. The advisor remains a non-peer: it is hidden from agent-facing rosters (`irc` list, `history://`, subagent peer prompt, broadcast targets), is not messageable (`irc send` / collab chat), and is not revivable/killable from the Hub or collab.
15
+
16
+ ### Changed
17
+
18
+ - Standardized file elision markers to a compact `[…Nln elided…]` format
19
+ - Updated transcript viewer to clear cached content if the session file is deleted while opened
20
+ - Refactored agent hub to use a fullscreen overlay for agent transcripts instead of inline chat
21
+ - Improved transcript rendering stability by using a non-incremental builder for viewer replays
22
+ - Advisor transcripts are now excluded from agent-facing surfaces like `irc`, `history://`, and peer rosters
23
+ - Advisor transcripts are read-only and cannot be messaged, revived, or killed via the Agent Hub or IRC
24
+ - Refined `/compact` argument parsing to reject focus instructions for modes that do not support them (e.g., `snapcompact`)
25
+ - Protocol hosts (RPC/`rpc-ui`/ACP) now host-default the full advisor settings group — `advisor.syncBacklog` and `advisor.immuneTurns` in addition to `advisor.enabled`/`advisor.subagents` — so a host that opts the advisor in gets the default tuning instead of inheriting the user's local advisor preferences.
26
+
27
+ ### Fixed
28
+
29
+ - Fixed memory-leaking stale transcripts in the agent viewer when underlying files are deleted
30
+ - Fixed the Agent Hub transcript viewer rendering the transcript body one column right of the "Agent Hub" title (and the title appearing to shift when scrolled to the top): the fullscreen viewer added its own outer gutter on top of the transcript rows, which already carry a 1-column left pad, so the header and body no longer shared a gutter. The viewer now renders the scroll body at full width without the extra gutter, and the file-mention row carries the same 1-column pad as every other row.
31
+ - Fixed the bash tool failing with `pi-natives:command: syntax error at end of input` on a valid `&&`/`;` chain whose later pipeline stage is a compound command, e.g. `echo x && git log | while read h; do …; done | head`. The minimizer's segmented-chain runner rebuilds each chain segment from the brush AST via `pipeline.to_string()` and re-executes that string, but `simple_segment` only validated the *first* pipeline stage — so a compound later stage (`while`/`for`/`if`/subshell) was re-serialized without its terminator and re-run as broken shell. Every stage is now required to be a Display-safe simple command, and — as a general guard against the recurring class of brush `Display` round-trip divergences (previously: quoted here-doc close tags, multi-byte char/byte offsets) — each reconstructed segment is now re-parsed and must match the original pipeline shape before the chain runner executes it; any divergence runs the command whole, unsegmented, instead of corrupting it.
32
+ - Fixed `Ctrl+T` (toggle thinking blocks) and the `/settings` "Hide Thinking Blocks" toggle only collapsing/expanding thinking in the live region: blocks that had scrolled into committed native scrollback on ED3-risk terminals kept their pre-toggle snapshot, so scrolling up showed the old thinking state. Both paths now `resetDisplay()` after flipping each block's flag, forcing a full clear + replay of the whole transcript (matching the tool-output expansion toggle) so every block above the fold re-renders at its new height.
33
+ - Fixed ACP mobile voice settings being unable to call `speech.models.list` by exposing the local STT/TTS model and voice catalog without triggering setup or downloads ([#3011](https://github.com/can1357/oh-my-pi/issues/3011)).
34
+ - Fixed the collapsed inline arg preview used by tools without a custom renderer (e.g. `advise`, MCP tools) truncating every value at a fixed 24 columns, so a long note was cut to `note="Your “stric…"` even on a wide card with empty space to spare. Each value now grows into the width the card actually has, reserving only a small slice for the keys that still follow so a long leading value can't hide them.
35
+
36
+ ### Removed
37
+
38
+ - Removed `display.tabWidth` setting and configurable tab width support
39
+
5
40
  ## [16.0.10] - 2026-06-18
6
41
 
7
42
  ### Added