@astralyn/pi 1.0.1 → 1.0.2
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 +15 -0
- package/dist/bundle/chunks/{chunk-H2N2THAO.js → chunk-5RBGZ6YW.js} +19 -13
- package/dist/bundle/chunks/{chunk-4TT2QGFL.js → chunk-MWM24AOB.js} +1 -1
- package/dist/bundle/chunks/{virtual-modules-YFKU7JZF.js → virtual-modules-EDIGEIG6.js} +1 -1
- package/dist/bundle/cli.js +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/core/tools/renderers/bash.d.ts.map +1 -1
- package/dist/core/tools/renderers/bash.js +4 -3
- package/dist/core/tools/renderers/bash.js.map +1 -1
- package/dist/core/tools/shell-tool.d.ts.map +1 -1
- package/dist/core/tools/shell-tool.js +9 -2
- package/dist/core/tools/shell-tool.js.map +1 -1
- package/dist/extensions/deepwiki/execute.d.ts +0 -3
- package/dist/extensions/deepwiki/execute.d.ts.map +1 -1
- package/dist/extensions/deepwiki/execute.js.map +1 -1
- package/dist/extensions/deepwiki/render.d.ts.map +1 -1
- package/dist/extensions/deepwiki/render.js +0 -5
- package/dist/extensions/deepwiki/render.js.map +1 -1
- package/dist/extensions/question/render.d.ts.map +1 -1
- package/dist/extensions/question/render.js +3 -7
- package/dist/extensions/question/render.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +19 -1
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/tasks/index.d.ts.map +1 -1
- package/dist/modes/interactive/tasks/index.js +11 -3
- package/dist/modes/interactive/tasks/index.js.map +1 -1
- package/dist/modes/interactive/tasks/layout.js +4 -5
- package/dist/modes/interactive/tasks/layout.js.map +1 -1
- package/dist/modes/interactive/tasks/manager.d.ts.map +1 -1
- package/dist/modes/interactive/tasks/manager.js +2 -0
- package/dist/modes/interactive/tasks/manager.js.map +1 -1
- package/dist/modes/interactive/tool-view/chat.d.ts +2 -3
- package/dist/modes/interactive/tool-view/chat.d.ts.map +1 -1
- package/dist/modes/interactive/tool-view/chat.js +18 -5
- package/dist/modes/interactive/tool-view/chat.js.map +1 -1
- package/dist/modes/interactive/tool-view/style.d.ts +2 -1
- package/dist/modes/interactive/tool-view/style.d.ts.map +1 -1
- package/dist/modes/interactive/tool-view/style.js +2 -2
- package/dist/modes/interactive/tool-view/style.js.map +1 -1
- package/docs/bundled/tasks.md +5 -3
- package/docs/bundled/tool-presentation.md +3 -2
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/docs/bundled/tasks.md
CHANGED
|
@@ -12,7 +12,7 @@ Start Bash through the native `bash` tool (the optional native Windows `powershe
|
|
|
12
12
|
|
|
13
13
|
Omitting `background` keeps the normal foreground wait. A background submission returns an execution reference, not a successful final outcome. Up to eight background executions run at once; a ninth background submission is rejected without starting. Foreground commands are never limited by background work. `bg create` has been removed; its old stored results and background notifications show their saved text in transcripts.
|
|
14
14
|
|
|
15
|
-
In interactive mode, **Ctrl+B** moves eligible foreground managed tasks to the background, oldest first, while background slots remain; when every slot is taken it says so instead. Once a foreground execution has run for ten seconds and can still move, the statusline shows `Ctrl+B to background`. It works even when `/tasks` owns focus. The same execution continues: no cancellation, restart or timeout reset. It does not detach ordinary file tools, or user `!` shell commands.
|
|
15
|
+
In interactive mode, **Ctrl+B** moves eligible foreground managed tasks to the background, oldest first, while background slots remain; when every slot is taken it says so instead. Once a foreground execution has run for ten seconds and can still move, the statusline shows `Ctrl+B to background`. It works even when `/tasks` owns focus. The same execution continues: no cancellation, restart or timeout reset. The handoff result names the path the work took, because the model cannot see it: a command submitted with `background: true` reports a handoff from an empty log, while one moved mid-run reports that its execution continued unchanged, that the log already holds output, and that a supplied timeout is still measured from command startup. It does not detach ordinary file tools, or user `!` shell commands.
|
|
16
16
|
|
|
17
17
|
When nothing is eligible, the key is not consumed: it falls through to other bindings instead of reporting a no-op.
|
|
18
18
|
|
|
@@ -80,7 +80,7 @@ Bash and PowerShell show live plain-text output. Other executors show their publ
|
|
|
80
80
|
| Escape | Close the current search, help or confirmation first; otherwise close the panel |
|
|
81
81
|
| Ctrl+B | Detach **all** eligible foreground executions through the host |
|
|
82
82
|
|
|
83
|
-
Click a pane to focus it, a task row to select it, or a tab label to display it. The mouse wheel scrolls the pane under the pointer without changing keyboard focus or task selection. Search, help and confirmation consume their own input without activating the panel behind them.
|
|
83
|
+
Click a pane to focus it, a task row to select it, or a tab label to display it. The mouse wheel scrolls the pane under the pointer without changing keyboard focus or task selection. Footer hints are clickable as well, including while a transient confirmation owns that row: the click dismisses it and performs the hint's action. Search, help and confirmation consume their own input without activating the panel behind them.
|
|
84
84
|
|
|
85
85
|
Shell output initially follows the tail, marked **Live** next to the output. Scrolling up enters **Browsing**, which holds a bounded output snapshot while status continues updating. In Output, press `f`, End, or scroll down to the bottom to resume following. If the task finishes while browsing, the panel offers to load its final output. Closing or scrolling never pauses, restarts or cancels execution.
|
|
86
86
|
|
|
@@ -88,7 +88,9 @@ The panel polls only selected tail output once per second, up to 48 KiB per read
|
|
|
88
88
|
|
|
89
89
|
Controls use the `app.tasks.*` bindings: `search`, `previousTab`, `nextTab`, `nextFocus`, `previousFocus`, `top`, `bottom`, `follow`, `kill`, `confirmStop`, `detachSelected`, `detach` and `help`. List paging uses `tui.select.pageUp` / `pageDown`; Details and Output paging use `tui.editor.pageUp` / `pageDown`. All are configurable. The former view and direct-focus bindings have been removed.
|
|
90
90
|
|
|
91
|
-
The
|
|
91
|
+
The `/hotkeys` table lists the task bindings next to the editor ones, and the panel's `?` help lists every control, so both detach scopes are discoverable without reading these docs.
|
|
92
|
+
|
|
93
|
+
The statusline names the foreground share of active managed work — all foreground, or an `N foreground` breakdown once background work is active too — and points to `/tasks`. When only retained background results remain, it labels that scope explicitly; foreground results arrive inline in the transcript instead of staying in the statusline. The model-facing `tasks list` keeps its background-only scope and foreground omission count.
|
|
92
94
|
|
|
93
95
|
## Completion notifications
|
|
94
96
|
|
|
@@ -13,6 +13,7 @@ I'll look at the code.
|
|
|
13
13
|
│ 1 const a = 0
|
|
14
14
|
│ -2 const b = 1
|
|
15
15
|
│ +2 const b = 2
|
|
16
|
+
|
|
16
17
|
● $ npm test
|
|
17
18
|
│ ... (14 earlier lines, ctrl+o to expand)
|
|
18
19
|
│ FAIL a.test.ts
|
|
@@ -26,7 +27,7 @@ The tests failed.
|
|
|
26
27
|
|
|
27
28
|
- The dot is the tool's state: the warning color while the call is pending or running, green after success, and red after failure.
|
|
28
29
|
- The rail continues through every visual line that belongs to the same tool. A blank output line renders as a bare `│`.
|
|
29
|
-
-
|
|
30
|
+
- Consecutive single-line tool blocks sit directly under each other. A multiline tool block keeps one blank line before the next tool; wrapped titles count as multiline too. Spacing follows the current width and updates when tools expand, collapse, or receive output. Hidden tool rows add no spacing. Text before or after a run of tools keeps one blank line.
|
|
30
31
|
- `read`, `grep`, `find`, and `ls` show only their header until expanded. A failed call always shows its error.
|
|
31
32
|
- Consecutive calls never merge into a group. Every call keeps its own row, and the configured expand-tools key (`Ctrl+O` by default) or a click on the row shows its complete result.
|
|
32
33
|
|
|
@@ -38,7 +39,7 @@ The `Ctrl+B` background hint is not part of a tool row. Once a foreground manage
|
|
|
38
39
|
|
|
39
40
|
The look is defined in one place, `src/modes/interactive/tool-view/style.ts`: the marker and rail glyphs, their colors, the spacing between blocks, and which tools fold their result. `FramedComponent` in the same file hangs a component's lines off the marker or the rail and derives the gutter width from the glyphs.
|
|
40
41
|
|
|
41
|
-
`tool-view/tool-execution.ts` owns one call's lifecycle: pending, success and error states, expansion, image placement and Kitty conversion, and renderer disposal. `tool-view/chat.ts` owns the chat container that
|
|
42
|
+
`tool-view/tool-execution.ts` owns one call's lifecycle: pending, success and error states, expansion, image placement and Kitty conversion, and renderer disposal. `tool-view/chat.ts` owns the chat container that measures tool blocks for spacing and disposes rows when the chat clears. Extension tools and built-in tools use the same shell, so a third-party tool gets the same dot and rail without any change.
|
|
42
43
|
|
|
43
44
|
Built-in renderers remain responsible for semantic content such as file paths, syntax highlighting, search results, Diff previews, and command output. They return plain components; the shell frames them.
|
|
44
45
|
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astralyn/pi",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@astralyn/pi",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.2",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@earendil-works/chord": "1.0.2",
|