@astralyn/pi 0.82.4 → 0.82.5
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.
- package/CHANGELOG.md +24 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +2 -2
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/extensions/index.d.ts +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +2 -3
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/types.d.ts +9 -0
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js +11 -0
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/extensions/question/dialog.d.ts +3 -1
- package/dist/extensions/question/dialog.d.ts.map +1 -1
- package/dist/extensions/question/dialog.js +106 -52
- package/dist/extensions/question/dialog.js.map +1 -1
- package/dist/extensions/question/index.d.ts.map +1 -1
- package/dist/extensions/question/index.js +2 -2
- package/dist/extensions/question/index.js.map +1 -1
- package/dist/extensions/question/render-cache.d.ts +9 -0
- package/dist/extensions/question/render-cache.d.ts.map +1 -1
- package/dist/extensions/question/render-cache.js +22 -0
- package/dist/extensions/question/render-cache.js.map +1 -1
- package/dist/extensions/question/results.d.ts.map +1 -1
- package/dist/extensions/question/results.js +6 -1
- package/dist/extensions/question/results.js.map +1 -1
- package/dist/extensions/question/schema.d.ts +4 -0
- package/dist/extensions/question/schema.d.ts.map +1 -1
- package/dist/extensions/question/schema.js +19 -28
- package/dist/extensions/question/schema.js.map +1 -1
- package/dist/extensions/question/types.d.ts +1 -1
- package/dist/extensions/question/types.d.ts.map +1 -1
- package/dist/extensions/question/types.js.map +1 -1
- package/dist/extensions/subagent/agents.d.ts.map +1 -1
- package/dist/extensions/subagent/agents.js +12 -6
- package/dist/extensions/subagent/agents.js.map +1 -1
- package/dist/extensions/subagent/constants.d.ts +1 -1
- package/dist/extensions/subagent/constants.d.ts.map +1 -1
- package/dist/extensions/subagent/constants.js +3 -2
- package/dist/extensions/subagent/constants.js.map +1 -1
- package/dist/extensions/subagent/runner.d.ts +1 -1
- package/dist/extensions/subagent/runner.d.ts.map +1 -1
- package/dist/extensions/subagent/runner.js +5 -1
- package/dist/extensions/subagent/runner.js.map +1 -1
- package/dist/extensions/subagent/schema.d.ts.map +1 -1
- package/dist/extensions/subagent/schema.js +2 -2
- package/dist/extensions/subagent/schema.js.map +1 -1
- package/dist/extensions/subagent/sdk-runner.d.ts.map +1 -1
- package/dist/extensions/subagent/sdk-runner.js +5 -0
- package/dist/extensions/subagent/sdk-runner.js.map +1 -1
- package/dist/extensions/subagent/types.d.ts +7 -0
- package/dist/extensions/subagent/types.d.ts.map +1 -1
- package/dist/extensions/subagent/types.js.map +1 -1
- package/dist/extensions/todo/constants.d.ts +1 -1
- package/dist/extensions/todo/constants.d.ts.map +1 -1
- package/dist/extensions/todo/constants.js +29 -4
- package/dist/extensions/todo/constants.js.map +1 -1
- package/dist/extensions/todo/index.d.ts +1 -1
- package/dist/extensions/todo/index.d.ts.map +1 -1
- package/dist/extensions/todo/index.js +22 -3
- package/dist/extensions/todo/index.js.map +1 -1
- package/dist/extensions/todo/schema.d.ts +6 -5
- package/dist/extensions/todo/schema.d.ts.map +1 -1
- package/dist/extensions/todo/schema.js +20 -9
- package/dist/extensions/todo/schema.js.map +1 -1
- package/dist/extensions/todo/state.d.ts +5 -1
- package/dist/extensions/todo/state.d.ts.map +1 -1
- package/dist/extensions/todo/state.js +184 -38
- package/dist/extensions/todo/state.js.map +1 -1
- package/dist/extensions/todo/view.d.ts.map +1 -1
- package/dist/extensions/todo/view.js +10 -6
- package/dist/extensions/todo/view.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +2 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +34 -1
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/utils/coalescing-terminal.d.ts +71 -17
- package/dist/utils/coalescing-terminal.d.ts.map +1 -1
- package/dist/utils/coalescing-terminal.js +136 -31
- package/dist/utils/coalescing-terminal.js.map +1 -1
- package/docs/bundled/extensions/question.md +9 -7
- package/docs/bundled/extensions/subagent.md +2 -2
- package/docs/bundled/extensions/todo.md +5 -3
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.82.5] - 2026-07-26
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Added digit quick-select to the `question` tool dialog: pressing `1`–`9` jumps to the numbered option — selecting it in single-select, toggling it in multi-select — and the custom-answer row's number opens its input. See [question](docs/bundled/extensions/question.md).
|
|
10
|
+
- Added reverse dependency edges to the `todo` tool: `addBlocks`/`removeBlocks` on `update` let one call mark the tasks that must wait for the current one, with the same existence, tombstone, and cycle validation as `addBlockedBy`. See [todo](docs/bundled/extensions/todo.md).
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Gave the built-in `explorer` subagent profile read-only shell access: `bash` joins its toolset for inspection commands (`git log`/`blame`/`diff`, `wc`, `head`), with the system prompt pinning it to read-only use — no redirect (`>`, `>>`) or heredoc writes, no temp files, no git commands that write (add, commit, checkout, restore, stash, clean), no installs, no network. Explorer also skips loading `AGENTS.md`/`CLAUDE.md` project instructions, which read-only exploration doesn't need — the parent interprets its results. See [subagent](docs/bundled/extensions/subagent.md).
|
|
15
|
+
- Rewrote the subagent tool's model-facing guidance. The description now leads with why to delegate — keeping intermediate tool output (file dumps, search results) out of the parent's context — states explicitly that reports are not shown to the user and must be relayed, names the task and concurrency limits (8 per call, 5 concurrent), advises direct tools for directed lookups and delegation for investigations that would clearly take more than ~3 searches, distinguishes lookup briefings (hand over the exact command) from investigation briefings (hand over the question), suggests bounding answer length, and carries an example explorer briefing. The `general` profile description now states when to choose it over `explorer`, workers are told only their final message is returned and to quote code only when the exact text is load-bearing, and the briefing `prompt` limit rose from 20,000 to 50,000 characters to leave room for pasted context. See [subagent](docs/bundled/extensions/subagent.md).
|
|
16
|
+
- Tightened `question` tool validation: option previews on multi-select questions are now rejected with an explicit `preview_multiselect` error instead of being silently dropped, reserved-label and duplicate checks compare case-insensitively and ignore surrounding whitespace, the unused `Next` label is no longer reserved, and length/count checks that duplicated the JSON schema (already enforced before the tool executes) were removed. Preview markdown rendering is also memoized, so editor keystrokes no longer re-parse previews.
|
|
17
|
+
- Tightened `todo` tool validation and model-facing output: parameters that do not apply to the chosen action are rejected with guidance instead of being silently ignored (`blockedBy` on `update` now points at `addBlockedBy`/`removeBlockedBy`), `create` requires a `description` stating what done means, id parameters must be positive integers at the schema level, an empty string clears `description`/`activeForm`/`owner`, a deletion cannot be combined with other edits and reports which pending dependents became fully unblocked, `list` lines show only unresolved blockers plus the task's owner, and the truncation notice no longer suggests a status filter that is already applied. The tool description was restructured into sectioned guidance (when to use, status workflow, examples) with explicit blocked-task handling: create a task for the blocker and link it with `addBlockedBy` instead of faking completion. See [todo](docs/bundled/extensions/todo.md).
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- Fixed a parallel subagent batch being reported as a failed tool call when only some of its tasks failed. The result is now an error only when no task completed; partial batches surface per-task status in the report sections instead of pushing the parent to retry work that already succeeded.
|
|
22
|
+
- Fixed the `todo` extension's stale-context guard being unreachable: lifecycle replay accessed `ctx.sessionManager` before entering its try block, so the error it meant to swallow after a session replacement raced ahead of the guard. The condition is now detected with the new `isStaleExtensionContextError` predicate (exported alongside `STALE_EXTENSION_CONTEXT_MESSAGE` from the extension API) instead of message-text matching.
|
|
23
|
+
- Fixed the `question` tool ignoring turn aborts: the dialog now closes when the tool call is cancelled and resolves with the answers given so far, instead of lingering until the next interaction.
|
|
24
|
+
- Fixed cancelling the `question` dialog discarding answers already given; the model-facing result now lists them as partial answers, matching the `Chat about this` flow.
|
|
25
|
+
- Fixed `question` dialog interaction papercuts: `Tab` on an unselected single-select option no longer silently commits it when the note editor is cancelled (`Esc` restores the previous selection), and Enter on the `Type something.` row of a multi-select question opens the custom-answer input instead of warning that nothing is selected.
|
|
26
|
+
- Fixed tool output expanded with `ctrl+o` losing its top lines (for example an expanded subagent card's header, task, and activity sections) when the expansion pushed the transcript past the screen height. The scrollback-preserving full-redraw rewrite introduced in 0.82.4 repainted only the bottom screenful, so lines newly pushed above the viewport were never written anywhere.
|
|
27
|
+
- Scoped the 0.82.4 scrollback-preserving redraw rewrite to the window where it matters: from `agent_start` until the user's next input after the run settles, so streaming markdown reflow can no longer yank a scrolled-up reader while text is arriving — including the run's trailing reflow frames. Within that window, redraws that grow the transcript repaint the visible rows in place and scroll the extra lines in at the bottom row, pushing exactly the right rows — already bearing the new content — into scrollback, and explicit toggles (`ctrl+o`/`ctrl+t`) exempt their own frame. Everywhere else — idle sessions, toggles, mode switches — full redraws keep upstream's wipe-and-replay, leaving scrollback as the clean current transcript with no stale seams or per-toggle residue.
|
|
28
|
+
|
|
5
29
|
## [0.82.4] - 2026-07-26
|
|
6
30
|
|
|
7
31
|
### Added
|