@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 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&nbsp;[<img src="https://pi.luan.sh/icons/pi.svg" width="14" alt="Pi gallery">](https://pi.dev/packages/@luan.sh/pi-side)&nbsp;[<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
- ![@luan.sh/pi-side in Bootty](https://github.com/luan/agents/releases/download/v0.3.2/pi-side.png)
17
+ ![@luan.sh/pi-side in Bootty](https://pi.luan.sh/media/previews/pi-side-8c1a712df319.png)
20
18
 
21
- [Watch the demo](https://github.com/luan/agents/releases/download/v0.3.2/pi-side.mp4).
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: `terminal_bridge`
34
+ ### Native binary: `terminal-bridge`
37
35
 
38
- Side chats are driven by the native `terminal_bridge` binary. Requires a Rust
39
- toolchain (https://rustup.rs). The `terminal_bridge` binary builds itself on
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&nbsp;[<img src="https://pi.luan.sh/icons/pi.svg" width="14" alt="Pi gallery">](https://pi.dev/packages/@luan.sh/pi-libactions)&nbsp;[<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
- ![@luan.sh/pi-libactions in Bootty](https://github.com/luan/agents/releases/download/v0.3.2/pi-libactions.png)
18
+ ![@luan.sh/pi-libactions in Bootty](https://pi.luan.sh/media/previews/pi-libactions-bbaab600e262.png)
21
19
 
22
- [Watch the demo](https://github.com/luan/agents/releases/download/v0.3.2/pi-libactions.mp4).
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.2",
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://github.com/luan/agents/releases/download/v0.3.2/pi-libactions.png",
22
- "video": "https://github.com/luan/agents/releases/download/v0.3.2/pi-libactions.mp4"
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&nbsp;[<img src="https://pi.luan.sh/icons/pi.svg" width="14" alt="Pi gallery">](https://pi.dev/packages/@luan.sh/pi-libtui)&nbsp;[<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
- ![@luan.sh/pi-libtui in Bootty](https://github.com/luan/agents/releases/download/v0.3.2/pi-libtui.png)
21
+ ![@luan.sh/pi-libtui in Bootty](https://pi.luan.sh/media/previews/pi-libtui-1820a03ca387.png)
24
22
 
25
- [Watch the demo](https://github.com/luan/agents/releases/download/v0.3.2/pi-libtui.mp4).
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
+ ![ActionPanel and DialogButtonBar in pi-copy-mode](https://pi.luan.sh/media/libtui/action-panel.png)
59
+
60
+ `MultiSelect` with ordered checkboxes, a filter `SemanticInput`, and a
61
+ `DialogButtonBar`: the pi-xsettings segment editor.
62
+
63
+ ![MultiSelect in pi-xsettings](https://pi.luan.sh/media/libtui/multi-select.png)
64
+
65
+ `mountSplitPane` with side-panel tabs from `registerSidePanelProvider`:
66
+ pi-panels hosting a pi-side conversation.
67
+
68
+ ![Split pane and side-panel tabs in pi-panels](https://pi.luan.sh/media/libtui/split-panes.png)
69
+
70
+ `UnifiedDiffView` from `pi-libtui/diff`: the pi-fileops `apply_patch` result.
71
+
72
+ ![UnifiedDiffView in pi-fileops](https://pi.luan.sh/media/libtui/unified-diff.png)
73
+
74
+ `PtyPane` over `TerminalProjection` from `pi-libtui/terminal`: the
75
+ pi-exec-command Process Hub attached to a running server.
76
+
77
+ ![PtyPane in pi-exec-command](https://pi.luan.sh/media/libtui/terminal.png)
78
+
79
+ `renderDetailCard` as an anchored overlay: a pi-copy-mode annotation.
80
+
81
+ ![Detail card in pi-copy-mode](https://pi.luan.sh/media/libtui/detail-card.png)
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
+ ![ToolActivity rows in pi-tool-search](https://pi.luan.sh/media/libtui/tool-activity.png)
87
+
88
+ `ProgressBar`, `renderPill`, and `renderEditorTokenPills`: the
89
+ pi-custom-editor status row and file tokens.
90
+
91
+ ![Status row and editor pills in pi-custom-editor](https://pi.luan.sh/media/libtui/status-row.png)
92
+
93
+ `TransientPill`: the pi-tuicr confirmation after a review comment is added.
94
+
95
+ ![TransientPill in pi-tuicr](https://pi.luan.sh/media/libtui/transient-pill.png)
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 `terminal_bridge` (the
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 `terminal_bridge` binary builds itself on first use
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
- 6ed73340be70e909918ec92adc31ba920bfc8cd4
1
+ eace67b49e52950cb408c08f290f1ca9c409d68a
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luan.sh/pi-libtui",
3
- "version": "0.3.8",
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://github.com/luan/agents/releases/download/v0.3.2/pi-libtui.png",
34
- "video": "https://github.com/luan/agents/releases/download/v0.3.2/pi-libtui.mp4"
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": "*",
@@ -35,7 +35,7 @@ export type NativeBinaryLocation =
35
35
 
36
36
  export const TERMINAL_BRIDGE: NativeBinary = {
37
37
  crate: "terminal-bridge",
38
- binaryName: "terminal_bridge",
38
+ binaryName: "terminal-bridge",
39
39
  env: "PI_TERMINAL_BRIDGE_BINARY",
40
40
  };
41
41
 
@@ -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", "terminal_bridge");
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.2",
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://github.com/luan/agents/releases/download/v0.3.2/pi-side.png",
24
- "video": "https://github.com/luan/agents/releases/download/v0.3.2/pi-side.mp4"
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",