@arhen/pi-core-ask1.0.13
Minimalist pi questionnaire: ask_user_question tool with up to 4 structured questions (2-4 options, multiSelect, previews, type-something).
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
Readme
@arhen/pi-core-ask
Install
Requires the pi coding agent — install it first: npm install -g @earendil-works/pi-coding-agent.
pi install npm:@arhen/pi-core-ask
Registers the
ask_user_questiontool. Only one extension may register it per session.
Minimalist pi questionnaire: ask_user_question tool with up to 4 structured questions per call — 2–4 options each, multiSelect, markdown previews, and an auto-appended "Type something." free-text row. Stateless: one tool, one dialog, no lifecycle machinery.
Tool contract
questions(1–4):question,header(≤16 chars),options(2–4 oflabel≤60 chars /description/ optionalpreview),multiSelect(default false)- Reserved labels rejected:
Other,Type something.,Next— the runtime appends its own free-text row - Validation: duplicate questions/labels, too few options, too many questions — each class rejected with its own error string
- Envelope:
User has answered your questions: "Q"="A". selected preview: …/User declined to answer questionson Esc
UI
Boxed dialog, one question at a time: progress dots, header chip, option list (pi-tui SelectList), preview pane for focused options, "Type something." → inline input, Enter next (toggle on multiSelect) / Ctrl+S done (multiSelect) / Esc cancel.

Preview pane with a side-by-side comparison grid for the focused option:

Questions (1/3) ● ○ ○ [Workspace]
Where to run ask frnd-chat-improvements? Active feature analyze-vision-billing exists…
→ Continue in main workspace (Re…
Parallel ej workspace
Type something.
─────────────────────────────────────────────
Enter next ↵ select → Type something. = custom ⇫ Esc cancel
Design
- One tool, one boxed dialog, stateless — no lifecycle events, no config, no RPC fallback, no i18n
- Requires an interactive terminal: outside TUI mode the tool returns the
ERROR_NO_UIerror instead of a dialog; calls run sequentially (executionMode: "sequential") - Multi-question questionnaire: progress dots,
←/→navigation (answers preserved per question),Enternext (toggle whilemultiSelect),Ctrl+Scommits multiSelect,Esccancels - Options via pi-tui SelectList; focused option's full description + optional preview render in a pane below
- "Type something." free-text row on every question; blank submit returns to options
- Validation: reserved labels rejected (trimmed), previews only on single-select, 2-4 options, unique questions/labels
- Envelope:
User has answered your questions: "Q"="A"./ decline on Esc
Development
bun install
npx tsc --noEmit
bun test # pure-logic: validation guards + response envelope
License
MIT.