@alexleekt/pi-ask-user-glimpse 0.2.1 → 0.3.0
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/CONTRIBUTING.md +2 -2
- package/README.md +27 -5
- package/dist/index.html +13 -13
- package/fallback/terminal-prompt.ts +174 -152
- package/index.ts +492 -377
- package/package.json +78 -75
- package/shared/ask-user.ts +19 -19
- package/tool/ask-user.ts +436 -172
- package/tool/response-formatter.ts +104 -77
- package/types/glimpseui.d.ts +56 -53
package/CONTRIBUTING.md
CHANGED
|
@@ -5,8 +5,8 @@ Thanks for your interest in improving `@alexleekt/pi-ask-user-glimpse`!
|
|
|
5
5
|
## Development Setup
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
git clone https://github.com/alexleekt/pi-
|
|
9
|
-
cd pi-ask-user-glimpse
|
|
8
|
+
git clone https://github.com/alexleekt/pi-extensions.git
|
|
9
|
+
cd pi-extensions/packages/pi-ask-user-glimpse
|
|
10
10
|
npm install
|
|
11
11
|
```
|
|
12
12
|
|
package/README.md
CHANGED
|
@@ -5,6 +5,29 @@
|
|
|
5
5
|
|
|
6
6
|
A Pi extension that replaces `ask_user` with rich native WebView dialogs powered by [glimpseui](https://npmjs.com/package/glimpseui) and styled with shadcn/ui design tokens.
|
|
7
7
|
|
|
8
|
+
> **Stop reading terminal walls of text.** This extension turns every `ask_user` call into a beautiful, searchable, keyboard-navigable dialog — complete with markdown context panels, inline descriptions, and dark mode. Your agent asks better questions. You answer faster.
|
|
9
|
+
|
|
10
|
+
### Use Case: Scoping a New Project
|
|
11
|
+
|
|
12
|
+
Instead of the agent dumping a wall of questions into the terminal, it opens a native dialog:
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
┌──────────────────────────────────────────────┐
|
|
16
|
+
│ Which database should we use? │
|
|
17
|
+
│ ───────────────────────────────────────── │
|
|
18
|
+
│ Context: We need something reliable for │
|
|
19
|
+
│ production. │
|
|
20
|
+
│ │
|
|
21
|
+
│ ○ PostgreSQL · Relational, proven │
|
|
22
|
+
│ ○ SQLite · Zero-config, embedded │
|
|
23
|
+
│ ○ Custom... │
|
|
24
|
+
│ │
|
|
25
|
+
│ [Cancel] [Submit] │
|
|
26
|
+
└──────────────────────────────────────────────┘
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The agent gets a clean selection back. You get a decision made in seconds, not minutes of scrolling.
|
|
30
|
+
|
|
8
31
|
## Features
|
|
9
32
|
|
|
10
33
|
- **Single-select** — searchable option list with inline descriptions
|
|
@@ -14,7 +37,6 @@ A Pi extension that replaces `ask_user` with rich native WebView dialogs powered
|
|
|
14
37
|
- **Native WebView** — renders in a real window (macOS WKWebView / Linux GTK4 / Windows WebView2)
|
|
15
38
|
- **Terminal fallback** — gracefully degrades to TUI prompts when glimpseui is unavailable
|
|
16
39
|
|
|
17
|
-
|
|
18
40
|
## Install
|
|
19
41
|
|
|
20
42
|
```bash
|
|
@@ -126,20 +148,20 @@ Each question is shown as a card with a progress bar at the top. Questions with
|
|
|
126
148
|
|-----------|------|---------|-------------|
|
|
127
149
|
| `question` | `string` | *(required)* | The question to ask |
|
|
128
150
|
| `context` | `string` | — | Additional context shown in a left-side markdown panel |
|
|
129
|
-
| `options` | `Array<string
|
|
151
|
+
| `options` | `Array<string | {title, description?}>` | — | Options for flat single/multi-select mode |
|
|
130
152
|
| `questions` | `Array<{title, description?, options?, allowMultiple?}>` | — | Questions for questionnaire mode. When present, `options` is ignored. Each question can have its own `options` (same shape as top-level `options`) and `allowMultiple`. Questions without `options` render as freeform textareas. |
|
|
131
153
|
| `allowMultiple` | `boolean` | `false` | Allow selecting multiple options |
|
|
132
154
|
| `allowFreeform` | `boolean` | `true` | Show a freeform "Custom" option |
|
|
133
155
|
| `allowComment` | `boolean` | `false` | Collect an optional comment after selection |
|
|
134
156
|
| `allowSkip` | `boolean` | `false` | Allow submitting a questionnaire without answering all questions (questionnaire mode only) |
|
|
135
157
|
| `followCursor` | `boolean` | `false` | Make the 1200×900 dialog follow the terminal cursor |
|
|
136
|
-
| `displayMode` | `"overlay"
|
|
158
|
+
| `displayMode` | `"overlay" | "inline"` | — | Legacy option; ignored (always centered dialog) |
|
|
137
159
|
|
|
138
160
|
## Development
|
|
139
161
|
|
|
140
162
|
```bash
|
|
141
|
-
git clone https://github.com/alexleekt/pi-
|
|
142
|
-
cd pi-ask-user-glimpse
|
|
163
|
+
git clone https://github.com/alexleekt/pi-extensions.git
|
|
164
|
+
cd pi-extensions/packages/pi-ask-user-glimpse
|
|
143
165
|
npm install
|
|
144
166
|
```
|
|
145
167
|
|