@oh-my-pi/pi-coding-agent 15.11.8 → 15.12.1

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 (89) hide show
  1. package/CHANGELOG.md +46 -2
  2. package/dist/cli.js +8095 -7704
  3. package/dist/types/collab/crypto.d.ts +1 -6
  4. package/dist/types/collab/guest.d.ts +2 -0
  5. package/dist/types/collab/host.d.ts +16 -0
  6. package/dist/types/collab/protocol.d.ts +14 -1
  7. package/dist/types/config/settings-schema.d.ts +52 -6
  8. package/dist/types/export/custom-share.d.ts +1 -2
  9. package/dist/types/export/html/index.d.ts +39 -1
  10. package/dist/types/export/share.d.ts +43 -0
  11. package/dist/types/main.d.ts +2 -0
  12. package/dist/types/modes/components/agent-hub.d.ts +19 -1
  13. package/dist/types/modes/components/status-line/component.d.ts +6 -1
  14. package/dist/types/modes/components/status-line/types.d.ts +2 -0
  15. package/dist/types/modes/controllers/event-controller.d.ts +7 -0
  16. package/dist/types/modes/controllers/input-controller.d.ts +1 -1
  17. package/dist/types/modes/controllers/session-focus-controller.d.ts +31 -0
  18. package/dist/types/modes/interactive-mode.d.ts +9 -0
  19. package/dist/types/modes/session-observer-registry.d.ts +7 -0
  20. package/dist/types/modes/theme/theme.d.ts +2 -1
  21. package/dist/types/modes/types.d.ts +12 -0
  22. package/dist/types/session/agent-session.d.ts +2 -0
  23. package/dist/types/session/codex-auto-reset.d.ts +8 -4
  24. package/dist/types/task/executor.d.ts +7 -0
  25. package/dist/types/task/types.d.ts +9 -0
  26. package/dist/types/tools/tool-result.d.ts +2 -0
  27. package/package.json +13 -14
  28. package/scripts/build-binary.ts +4 -0
  29. package/scripts/bundle-dist.ts +4 -0
  30. package/scripts/generate-share-viewer.ts +34 -0
  31. package/src/collab/crypto.ts +10 -4
  32. package/src/collab/guest.ts +31 -2
  33. package/src/collab/host.ts +73 -11
  34. package/src/collab/protocol.ts +48 -7
  35. package/src/commands/join.ts +1 -1
  36. package/src/config/settings-schema.ts +54 -5
  37. package/src/config/settings.ts +12 -0
  38. package/src/export/custom-share.ts +1 -1
  39. package/src/export/html/index.ts +122 -17
  40. package/src/export/html/share-loader.js +102 -0
  41. package/src/export/html/template.css +745 -459
  42. package/src/export/html/template.html +6 -3
  43. package/src/export/html/template.js +240 -915
  44. package/src/export/html/tool-views.generated.js +38 -0
  45. package/src/export/share.ts +268 -0
  46. package/src/internal-urls/docs-index.generated.ts +73 -73
  47. package/src/lsp/index.ts +11 -0
  48. package/src/main.ts +22 -9
  49. package/src/modes/components/agent-hub.ts +541 -410
  50. package/src/modes/components/status-line/component.ts +38 -5
  51. package/src/modes/components/status-line/segments.ts +5 -1
  52. package/src/modes/components/status-line/types.ts +2 -0
  53. package/src/modes/components/tips.txt +3 -1
  54. package/src/modes/controllers/command-controller.ts +55 -96
  55. package/src/modes/controllers/event-controller.ts +45 -16
  56. package/src/modes/controllers/input-controller.ts +104 -4
  57. package/src/modes/controllers/selector-controller.ts +11 -15
  58. package/src/modes/controllers/session-focus-controller.ts +112 -0
  59. package/src/modes/interactive-mode.ts +44 -2
  60. package/src/modes/session-observer-registry.ts +11 -0
  61. package/src/modes/theme/theme.ts +6 -0
  62. package/src/modes/types.ts +12 -0
  63. package/src/modes/utils/ui-helpers.ts +16 -13
  64. package/src/prompts/tools/job.md +1 -1
  65. package/src/session/agent-session.ts +87 -19
  66. package/src/session/codex-auto-reset.ts +23 -11
  67. package/src/slash-commands/builtin-registry.ts +62 -35
  68. package/src/task/executor.ts +14 -0
  69. package/src/task/index.ts +5 -1
  70. package/src/task/render.ts +76 -5
  71. package/src/task/types.ts +9 -0
  72. package/src/tiny/worker.ts +17 -95
  73. package/src/tools/ast-grep.ts +3 -1
  74. package/src/tools/find.ts +3 -1
  75. package/src/tools/gh.ts +20 -6
  76. package/src/tools/irc.ts +4 -0
  77. package/src/tools/job.ts +18 -13
  78. package/src/tools/memory-recall.ts +2 -0
  79. package/src/tools/search.ts +3 -1
  80. package/src/tools/tool-result.ts +8 -0
  81. package/dist/tokenizers.linux-x64-gnu-xcjh3jwk.node +0 -0
  82. package/dist/types/export/html/template.generated.d.ts +0 -1
  83. package/dist/types/export/html/template.macro.d.ts +0 -5
  84. package/dist/types/tiny/compiled-runtime.d.ts +0 -35
  85. package/scripts/generate-template.ts +0 -33
  86. package/src/bun-imports.d.ts +0 -28
  87. package/src/export/html/template.generated.ts +0 -2
  88. package/src/export/html/template.macro.ts +0 -25
  89. package/src/tiny/compiled-runtime.ts +0 -179
package/CHANGELOG.md CHANGED
@@ -2,13 +2,57 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [15.12.1] - 2026-06-12
6
+
7
+ ### Added
8
+
9
+ - Added the `compaction.dropUseless` setting (default on): tool results flagged contextually useless are elided by the per-turn cache-aware prune pass and the pre-compaction threshold prune, replaced with `[Uneventful result elided]`. Built-in tools flag their uneventful outcomes — zero-match/zero-result `search`/`find`/`ast_grep`/`recall` (warnings included; the follow-up call has already corrected course), empty LSP lookups, `job` polls where everything is still running (plus nothing-to-wait-for and unknown-id polls), `irc` wait timeouts and empty inbox drains, and zero-result `github` searches / run-watch give-ups
10
+
11
+ ### Fixed
12
+
13
+ - Restored the default double-Esc behavior to open the editable message-history selector instead of `/tree` so pressing Esc twice can edit a previous message again ([#2396](https://github.com/can1357/oh-my-pi/issues/2396)).
14
+
15
+ ## [15.12.0] - 2026-06-12
16
+
17
+ ### Added
18
+
19
+ - Added `/collab view` command to create a read-only spectator join link
20
+ - Added read-only hints and status text for guest-only participation in collab sessions
21
+ - Added `share.serverUrl` and `share.redactSecrets` settings: the share server/viewer base for `/share` links (default `https://my.omp.sh/s`) and a toggle (default on) that runs the secret obfuscator over the shared snapshot before upload
22
+ - HTML session exports now embed subagent transcripts: sub-session files stored next to the session (`<session>/<AgentId>.jsonl`, recursively) ride along in the export payload, agent ids in task tool cards become drill-down links, and a breadcrumbed overlay renders each subagent's full transcript — including its own tool cards and deeper nested agents — with Esc/backdrop navigation
23
+ - Added Agent Hub focus mode: Enter on a local agent now retargets the main view to that live subagent session with regular transcript rendering, steering, Esc-to-main return, ←← parent navigation, and a ghost status-line badge.
24
+
25
+ ### Changed
26
+
27
+ - Blocked cycling model and thinking presets while a focused subagent session is active and now prompts users to return to the main session first
28
+ - Changed `codexResets.autoRedeem` from a boolean to `unset`/`yes`/`no`: unset runs the eligibility check and asks before spending a saved Codex reset, yes redeems without prompting, and no skips the check entirely
29
+ - Changed collab links so full links with a write token grant mutation rights while links without a token now join as read-only
30
+ - `/share` no longer uploads a plaintext HTML export to a gist for gistpreview. It now snapshots the session JSON, gzips and seals it with a fresh AES-256-GCM key, and pushes the blob to a secret gist (when `gh` is authenticated) or to the share server (capped at 1 MB; oversized sessions are trimmed — images first, then long strings, then oldest entries). The share link is `https://my.omp.sh/s/<id>#<key>`: the viewer fetches the blob (hex ids from the gist API, others from the relay store) and decrypts it in-browser, so the key never leaves the client. Configured secrets are additionally redacted from the snapshot unless `share.redactSecrets` is off. Custom `~/.omp/agent/share.{ts,js,mjs}` handlers keep the legacy HTML-file contract; `/share` also works for in-memory (`--no-session`) sessions now
31
+ - `/collab` now prints a join hint with both link forms: the compact `omp join` link for terminals and a click-to-join browser deep link (`https://<relay-host>/#<link>`, displayed scheme-less, OSC 8-linked) — the relay serves the collab web client at `/`, and the room id + key ride in the URL fragment, so they never appear in any HTTP request. `/join`, `omp join`, and the web connect screen accept either form
32
+ - npm installs no longer download fastembed's ~270MB ONNX native dependency tree eagerly: `fastembed` and `onnxruntime-node` are external to the bundle and optional peers of `@oh-my-pi/pi-mnemopi`, fetched on demand only when Mnemopi local embeddings are first used
33
+ - The `job` tool prompt now documents that omitting `poll` waits on all running jobs, so agents stop enumerating every job id to poll everything
34
+ - Collapsed task tool blocks now cap the per-agent list at 4 rows: the live progress view keeps the running/pending tail visible behind a `… N more agents (…)` summary line with per-status counts, finalized batches keep failed/aborted rows visible while folding the slowest successes, and the streaming call preview caps at the same 4 (expand shows the full list)
35
+ - The anchored Subagents HUD above the editor now lists only detached background spawns: sync task calls (the parent turn is blocked and the inline tool block already renders live progress) and eval `agent()` helpers (rendered by their eval cell's own progress tree) no longer appear in the list
36
+ - Completed rows in the `job` tool output now show the standard done checkmark instead of the watch glyph that replaced the spinner
37
+ - HTML session exports render tool calls through the same React tool renderers the collab web client uses: per-tool views for all built-in tools (bash, edit diffs, todo boards, eval cells, task batches, LSP, search, browser screenshots, …) are bundled as an `<omp-tool-view>` web component into the export instead of the previous string-built dummy renderers
38
+ - Modernized the HTML export page chrome to match the tool-card design language: hairline borders, dense mono typography, compact role-tinted message cards, refined tree sidebar and filter controls, themed scrollbars, collapsed-by-default thinking blocks, and mobile sidebar drawer — derived from the active theme's variables so light and dark themes both render correctly
39
+ - Agent Hub's embedded chat overlay is now reserved for collab guest viewing; local agents open in the main session renderer instead.
40
+
41
+ ### Fixed
42
+
43
+ - Filtered silent abort markers from Agent Hub assistant output so failed turns now render as normal error text
44
+ - Reset focus-session state when switching transcript rendering between the main session and a focused subagent so streaming/progress context no longer leaks across sessions
45
+ - Fixed read-only collab sessions so prompting, interrupts, and other write actions are blocked with a read-only warning instead of being applied
46
+ - Fixed Mnemopi local embeddings in bundled and compiled installs failing with `Cannot find module '../bin/napi-v3/.../onnxruntime_binding.node'`: the Bun bundle inlined fastembed's loader so its relative native require resolved against `dist/cli.js`. `fastembed`/`onnxruntime-node` are no longer bundled; on first use Mnemopi `bun install`s the pinned pair into `~/.omp/cache/fastembed-runtime/<version-key>` and loads the binding from there ([#2389](https://github.com/can1357/oh-my-pi/issues/2389))
47
+ - Fixed the interactive Model scope startup banner so models without an explicit thinking level do not show `:undefined`, and entries that were scoped without a `:level` are no longer rendered with the global default thinking level (which `applyRootSessionOptions` pre-fills on the cycling array for Ctrl+P) ([#2385](https://github.com/can1357/oh-my-pi/issues/2385)).
48
+
5
49
  ## [15.11.8] - 2026-06-12
6
50
 
7
51
  ### Added
8
52
 
9
53
  - Updated collab link handling to accept compact `roomId#key` links and relay hosts without explicit scheme when joining or starting sessions
10
54
  - Added `/collab stop` and `/collab status` options to control and inspect active shared sessions
11
- - Added `/collab`, `/join`, and `/leave` for live session sharing: the host shares an end-to-end encrypted link (AES-256-GCM key only in the link fragment; the relay sees opaque bytes) and guests render the session natively in their own TUI — streaming text, tool cards, footer state, ctrl+o expansion, `/dump` — and can prompt or interrupt the host's agent. Guest prompts render with an author badge; session-mutating commands stay host-only. Defaults to the public `relay.omp.sh` relay (`collab.relayUrl`); a self-hostable Go relay lives in the pi-www repo as `omp-collab-relay`
55
+ - Added `/collab`, `/join`, and `/leave` for live session sharing: the host shares an end-to-end encrypted link (AES-256-GCM key only in the link fragment; the relay sees opaque bytes) and guests render the session natively in their own TUI — streaming text, tool cards, footer state, ctrl+o expansion, `/dump` — and can prompt or interrupt the host's agent. Guest prompts render with an author badge; session-mutating commands stay host-only. Defaults to the public `my.omp.sh` relay (`collab.relayUrl`); a self-hostable Go relay lives in the pi-www repo as `omp-collab-relay`
12
56
  - Added `collab.relayUrl` and `collab.displayName` settings plus a `collab` status-line segment showing the participant count (host) or guest role. Guests mirror the host's real model/thinking state into their replica agent and the host's subagent ecosystem end-to-end: the live subagent HUD, the Agent Hub table with live progress, hub chat/kill/revive (routed to the host), and on-demand subagent transcript viewing
13
57
  - Added `omp join <link>` subcommand that launches the interactive TUI and immediately runs `/join <link>`
14
58
 
@@ -10255,4 +10299,4 @@ Initial public release.
10255
10299
  - Git branch display in footer
10256
10300
  - Message queueing during streaming responses
10257
10301
  - OAuth integration for Gmail and Google Calendar access
10258
- - HTML export with syntax highlighting and collapsible sections
10302
+ - HTML export with syntax highlighting and collapsible sections