@luan.sh/pi-side 0.3.2 → 0.3.3
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/README.md +6 -8
- package/node_modules/@luan.sh/pi-libactions/README.md +3 -5
- package/node_modules/@luan.sh/pi-libactions/package.json +3 -3
- package/node_modules/@luan.sh/pi-libtui/README.md +58 -7
- package/node_modules/@luan.sh/pi-libtui/native-revision +1 -1
- package/node_modules/@luan.sh/pi-libtui/package.json +3 -3
- package/node_modules/@luan.sh/pi-libtui/src/native-binary.ts +1 -1
- package/node_modules/@luan.sh/pi-libtui/test/native-binary.test.ts +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
# @luan.sh/pi-side
|
|
2
|
-
|
|
3
|
-
[Pi gallery](https://pi.dev/packages/@luan.sh/pi-side)
|
|
1
|
+
# @luan.sh/pi-side [<img src="https://pi.luan.sh/icons/pi.svg" width="14" alt="Pi gallery">](https://pi.dev/packages/@luan.sh/pi-side) [<img src="https://pi.luan.sh/icons/npm.svg" width="14" alt="npm">](https://www.npmjs.com/package/@luan.sh/pi-side)
|
|
4
2
|
|
|
5
3
|
`@luan.sh/pi-side` opens independent, interactive Pi sessions next to the
|
|
6
4
|
one you are working in. Each side chat is a real child `pi` process running in
|
|
@@ -16,9 +14,9 @@ It is a Pi extension, not a model-facing tool. It registers one command
|
|
|
16
14
|
|
|
17
15
|
Independent side conversation beside the main Pi session.
|
|
18
16
|
|
|
19
|
-

|
|
20
18
|
|
|
21
|
-
[Watch the demo](https://
|
|
19
|
+
[Watch the demo](https://pi.luan.sh/media/previews/pi-side-21f6936fdecf.mp4).
|
|
22
20
|
|
|
23
21
|
## Install
|
|
24
22
|
|
|
@@ -33,10 +31,10 @@ Optional companion: `pi install npm:@luan.sh/pi-panels` hosts each side
|
|
|
33
31
|
chat as a tab in a side panel; without it, side chats open in a fullscreen
|
|
34
32
|
overlay instead (see below).
|
|
35
33
|
|
|
36
|
-
### Native binary: `
|
|
34
|
+
### Native binary: `terminal-bridge`
|
|
37
35
|
|
|
38
|
-
Side chats are driven by the native `
|
|
39
|
-
toolchain (https://rustup.rs). The `
|
|
36
|
+
Side chats are driven by the native `terminal-bridge` binary. Requires a Rust
|
|
37
|
+
toolchain (https://rustup.rs). The `terminal-bridge` binary builds itself on
|
|
40
38
|
first use under Pi's agent directory (`native/terminal-bridge/<version>/`).
|
|
41
39
|
Set `PI_TERMINAL_BRIDGE_BINARY` to use a prebuilt binary.
|
|
42
40
|
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
# @luan.sh/pi-libactions
|
|
2
|
-
|
|
3
|
-
[Pi gallery](https://pi.dev/packages/@luan.sh/pi-libactions)
|
|
1
|
+
# @luan.sh/pi-libactions [<img src="https://pi.luan.sh/icons/pi.svg" width="14" alt="Pi gallery">](https://pi.dev/packages/@luan.sh/pi-libactions) [<img src="https://pi.luan.sh/icons/npm.svg" width="14" alt="npm">](https://www.npmjs.com/package/@luan.sh/pi-libactions)
|
|
4
2
|
|
|
5
3
|
`@luan.sh/pi-libactions` is a UI-free action registry and keybinding loader
|
|
6
4
|
for Pi extensions. It is a library, not a Pi extension: importing it registers
|
|
@@ -17,9 +15,9 @@ without registering their keys as global editor shortcuts.
|
|
|
17
15
|
|
|
18
16
|
Actions registered by Side Panel and Side Chat, bound by Xsettings, and listed in Pi's `/hotkeys`. The library itself registers no UI.
|
|
19
17
|
|
|
20
|
-

|
|
21
19
|
|
|
22
|
-
[Watch the demo](https://
|
|
20
|
+
[Watch the demo](https://pi.luan.sh/media/previews/pi-libactions-c0f46f189045.mp4).
|
|
23
21
|
|
|
24
22
|
## For users: `keybindings.json`
|
|
25
23
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luan.sh/pi-libactions",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
},
|
|
19
19
|
"pi": {
|
|
20
20
|
"extensions": [],
|
|
21
|
-
"image": "https://
|
|
22
|
-
"video": "https://
|
|
21
|
+
"image": "https://pi.luan.sh/media/previews/pi-libactions-bbaab600e262.png",
|
|
22
|
+
"video": "https://pi.luan.sh/media/previews/pi-libactions-c0f46f189045.mp4"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {},
|
|
25
25
|
"peerDependencies": {
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
# @luan.sh/pi-libtui
|
|
2
|
-
|
|
3
|
-
[Pi gallery](https://pi.dev/packages/@luan.sh/pi-libtui)
|
|
1
|
+
# @luan.sh/pi-libtui [<img src="https://pi.luan.sh/icons/pi.svg" width="14" alt="Pi gallery">](https://pi.dev/packages/@luan.sh/pi-libtui) [<img src="https://pi.luan.sh/icons/npm.svg" width="14" alt="npm">](https://www.npmjs.com/package/@luan.sh/pi-libtui)
|
|
4
2
|
|
|
5
3
|
Shared terminal UI for Pi extensions: layouts, split panes, dialogs, pickers,
|
|
6
4
|
selection actions, semantic colors, icons, cursors, syntax highlighting,
|
|
@@ -20,9 +18,9 @@ registers no model-facing tools, keybindings, or feature-specific UI.
|
|
|
20
18
|
|
|
21
19
|
The native palette diagnostic and shared picker components in Xsettings.
|
|
22
20
|
|
|
23
|
-

|
|
24
22
|
|
|
25
|
-
[Watch the demo](https://
|
|
23
|
+
[Watch the demo](https://pi.luan.sh/media/previews/pi-libtui-e7ff85f140d3.mp4).
|
|
26
24
|
|
|
27
25
|
## Install
|
|
28
26
|
|
|
@@ -49,6 +47,59 @@ neither a generated 256-color palette nor an ANSI base-16 palette, the host
|
|
|
49
47
|
switches to Pi's built-in theme for the detected light or dark scheme (dark if
|
|
50
48
|
the measurement fails).
|
|
51
49
|
|
|
50
|
+
## Components
|
|
51
|
+
|
|
52
|
+
Captures of the shared components inside the extensions that use them. The
|
|
53
|
+
images are served from the documentation site.
|
|
54
|
+
|
|
55
|
+
`ActionPanel` with a `DialogButtonBar` footer in a `DialogOverlay`: the
|
|
56
|
+
pi-copy-mode reaction picker.
|
|
57
|
+
|
|
58
|
+

|
|
59
|
+
|
|
60
|
+
`MultiSelect` with ordered checkboxes, a filter `SemanticInput`, and a
|
|
61
|
+
`DialogButtonBar`: the pi-xsettings segment editor.
|
|
62
|
+
|
|
63
|
+

|
|
64
|
+
|
|
65
|
+
`mountSplitPane` with side-panel tabs from `registerSidePanelProvider`:
|
|
66
|
+
pi-panels hosting a pi-side conversation.
|
|
67
|
+
|
|
68
|
+

|
|
69
|
+
|
|
70
|
+
`UnifiedDiffView` from `pi-libtui/diff`: the pi-fileops `apply_patch` result.
|
|
71
|
+
|
|
72
|
+

|
|
73
|
+
|
|
74
|
+
`PtyPane` over `TerminalProjection` from `pi-libtui/terminal`: the
|
|
75
|
+
pi-exec-command Process Hub attached to a running server.
|
|
76
|
+
|
|
77
|
+

|
|
78
|
+
|
|
79
|
+
`renderDetailCard` as an anchored overlay: a pi-copy-mode annotation.
|
|
80
|
+
|
|
81
|
+

|
|
82
|
+
|
|
83
|
+
`ToolActivity` and `ToolTranscript` from `pi-libtui/tool`: pi-tool-search
|
|
84
|
+
and pi-exec-command rows collapsed into an `Explored` group.
|
|
85
|
+
|
|
86
|
+

|
|
87
|
+
|
|
88
|
+
`ProgressBar`, `renderPill`, and `renderEditorTokenPills`: the
|
|
89
|
+
pi-custom-editor status row and file tokens.
|
|
90
|
+
|
|
91
|
+

|
|
92
|
+
|
|
93
|
+
`TransientPill`: the pi-tuicr confirmation after a review comment is added.
|
|
94
|
+
|
|
95
|
+

|
|
96
|
+
|
|
97
|
+
Components without a capture in a shipped extension: `PickerPanel`
|
|
98
|
+
(pi-prompt-storage), `SearchableSelect` and `SelectBox` (pi-xsettings
|
|
99
|
+
editors), `SelectionActionBar` (pi-copy-mode), `FramedEditorOverlay`,
|
|
100
|
+
`mountHoverTooltip`, `FloatingOverlay`, `ActivityIndicator` styles, and
|
|
101
|
+
`applyScrollbar`. Add them here when a gallery recording shows them in use.
|
|
102
|
+
|
|
52
103
|
## Public modules
|
|
53
104
|
|
|
54
105
|
Every entry point is a side-effect-free import. "Host required" means the
|
|
@@ -76,9 +127,9 @@ guarded Pi 0.84–0.85 adapter; unsupported hosts keep their native transcript.
|
|
|
76
127
|
|
|
77
128
|
## Native binaries
|
|
78
129
|
|
|
79
|
-
Feature packages shell out to Rust binaries such as `
|
|
130
|
+
Feature packages shell out to Rust binaries such as `terminal-bridge` (the
|
|
80
131
|
exported `TERMINAL_BRIDGE` descriptor). Requires a Rust toolchain
|
|
81
|
-
(https://rustup.rs). The `
|
|
132
|
+
(https://rustup.rs). The `terminal-bridge` binary builds itself on first use
|
|
82
133
|
under Pi's agent directory (`native/terminal-bridge/<revision>/`), where
|
|
83
134
|
`<revision>` is the source commit recorded in the packaged `native-revision` file. Set `PI_TERMINAL_BRIDGE_BINARY` to use
|
|
84
135
|
a prebuilt binary; it must point at an executable file.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
eace67b49e52950cb408c08f290f1ca9c409d68a
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luan.sh/pi-libtui",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.9",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"themes": [
|
|
31
31
|
"./themes"
|
|
32
32
|
],
|
|
33
|
-
"image": "https://
|
|
34
|
-
"video": "https://
|
|
33
|
+
"image": "https://pi.luan.sh/media/previews/pi-libtui-1820a03ca387.png",
|
|
34
|
+
"video": "https://pi.luan.sh/media/previews/pi-libtui-e7ff85f140d3.mp4"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"@earendil-works/pi-coding-agent": "*",
|
|
@@ -10,7 +10,7 @@ const options = (executables: readonly string[], environment: Record<string, str
|
|
|
10
10
|
rev: "v1.2.3",
|
|
11
11
|
isExecutable: (path: string) => executables.includes(path),
|
|
12
12
|
});
|
|
13
|
-
const managed = join("/agent/native", "terminal-bridge", "v1.2.3", "bin", "
|
|
13
|
+
const managed = join("/agent/native", "terminal-bridge", "v1.2.3", "bin", "terminal-bridge");
|
|
14
14
|
|
|
15
15
|
test("env override wins and must be executable", () => {
|
|
16
16
|
expect(locateNativeBinary(TERMINAL_BRIDGE, options(["/x/bridge"], { [ENV]: "/x/bridge" }))).toEqual({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luan.sh/pi-side",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
"./src/extension.ts",
|
|
21
21
|
"./node_modules/@luan.sh/pi-libtui/src/extension.ts"
|
|
22
22
|
],
|
|
23
|
-
"image": "https://
|
|
24
|
-
"video": "https://
|
|
23
|
+
"image": "https://pi.luan.sh/media/previews/pi-side-8c1a712df319.png",
|
|
24
|
+
"video": "https://pi.luan.sh/media/previews/pi-side-21f6936fdecf.mp4"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@luan.sh/pi-libactions": "file:../pi-libactions",
|