iclavue 11.3.2 → 11.3.4

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.
@@ -7,7 +7,7 @@ import { createInterface } from 'node:readline/promises'
7
7
  import { stdin, stdout } from 'node:process'
8
8
  import { fileURLToPath } from 'node:url'
9
9
 
10
- const APP_VERSION = '11.3.2'
10
+ const APP_VERSION = '11.3.4'
11
11
  const APP_NPM_PACKAGE_NAME = 'clavue'
12
12
  export const CURRENT_PROVIDER_PROFILE_ID = '__current_provider__'
13
13
  const SUPPORTED_LANGUAGES = new Set(['en', 'zh'])
@@ -2,7 +2,7 @@
2
2
 
3
3
  > **Stable product contract** — not a patch log.
4
4
  > All session key behavior is defined here. Code must match this table.
5
- > Last updated: 2026-08-10 (stable prompt identity + single terminal receipt + readable process journal)
5
+ > Last updated: 2026-08-22 (AskUserQuestion Grok choice dock)
6
6
  > Authority: [`clavue-epoch-constitution-v1.md`](./clavue-epoch-constitution-v1.md) · map: [`clavue-doctrine-map.md`](./clavue-doctrine-map.md)
7
7
  >
8
8
  > Shell layout tiers (A/B/C): [`clavue-pager-shell-layout-doctrine.md`](./clavue-pager-shell-layout-doctrine.md).
@@ -25,6 +25,25 @@
25
25
  13. **Prompt identity** — Pager mints one monotonic `promptId` per original submission. Optimistic user row and durable `user.message` are one `user:<promptId>` block. Equal text with different ids remains two turns.
26
26
  14. **Process is readable by default** — Reading shows a 2-line live Thought peek (no fenced code) then spine-only when settled. Verbose may show more Thought. Focused is spine-only. Tool steps stay individual in Reading/Verbose; Focused may group them.
27
27
 
28
+ ## AskUserQuestion · choice dock (Grok Build 2026-08)
29
+
30
+ The picker **replaces the composer** (full-width plate). Journal stays visible above. Waiting strip: `Waiting on answers for {question}… ▾`.
31
+
32
+ | Key | Effect |
33
+ |-----|--------|
34
+ | ↑ ↓ / j k | Move radio (`N (○)` / `(●)`). Number keys **select**, they do not submit. |
35
+ | Enter | Submit highlighted option. Empty `z` row opens free-form. |
36
+ | `1`–`9` | Highlight that option (same row as label + dim description). |
37
+ | `z` | Focus **Type your answer here** (zh: 在此输入你的回答) and type. |
38
+ | `y` | Copy question + options (clipboard / last-copy). |
39
+ | Tab | Next question when the pack has more than one (`Tab:next answer`). |
40
+ | Esc | Scrollback (question stays). Tab/Enter return to the plate. |
41
+ | Shift+x | Dismiss / decline. |
42
+
43
+ Footer: `Tab:next answer \| Esc:scrollback \| Shift+x:dismiss`. Plate: `↑↓ navigate · y copy` left, `Enter:submit` right.
44
+
45
+ Tool-permission radios (`y/a/n`) are unchanged.
46
+
28
47
  ## Journal line roles (content display)
29
48
 
30
49
  | Role | Marker / cue | Style |
@@ -192,7 +211,7 @@ Opt out: `CLAVUE_SESSION_HOST=0`. Cap: `CLAVUE_SESSION_HOST_MAX` (default 8).
192
211
  | ↑ ↓ | Move caret by **soft-wrap display row** when draft has >1 display row; else history (↑ from top) |
193
212
  | Ctrl+Y (prompt focus) | Copy **selection** if any, else entire draft |
194
213
  | Ctrl+' (prompt focus) | Reseed last success-gated Edit/Write as `@path` (does not send) |
195
- | Mouse drag on prompt | **App-level** select → release copies · **keeps highlight** for Ctrl+Y re-copy (typing / next click clears) |
214
+ | Mouse hold-then-drag on prompt | Left **click + hold (~300ms)** then drag selects → release copies · **keeps highlight** for Ctrl+Y. Immediate click-drag does **not** highlight. |
196
215
  | Double-click prompt | Select word → copy · keep highlight |
197
216
  | Triple-click prompt | Select whole draft → copy · keep highlight |
198
217
  | Tab | Toggle prompt ↔ scrollback (if `/` or `@` completions open, Tab commits completion first) |
@@ -240,7 +259,7 @@ Two keyboard profiles share the same journal paint. Toggle Vim with `/vim`, Sett
240
259
  | Y | If selected block has summary → **copy summary**; else type into prompt |
241
260
  | Ctrl+Y | Copy full retained transcript |
242
261
  | Type / Backspace | Return to prompt + edit |
243
- | Mouse drag | Select → copy on release |
262
+ | Mouse hold-then-drag | Left **click + hold (~300ms)** then drag selects → copy on release. Immediate click-drag does **not** highlight. |
244
263
  | Click expand chip / double-click expandable | Expand in place · **keep Prompt focus** |
245
264
  | Sticky header click | Select turn · **keep Prompt focus** · Tab for journal keys |
246
265
  | Double-click user turn | Restore message into prompt for edit/re-send |
@@ -318,7 +337,7 @@ invalid schemas fail closed instead of leaving the agent waiting.
318
337
  | Alt+T | Thinking toggle |
319
338
  | Alt+O | Fast model toggle |
320
339
  | Ctrl+L | Collapse last tool group |
321
- | Mouse drag | Select → copy, then clear highlight |
340
+ | Mouse hold-then-drag | Left **click + hold (~300ms)** then drag selects → copy, then clear highlight. Immediate click-drag does **not** highlight. |
322
341
 
323
342
  Terminal-family running-turn overrides follow the Grok 0.2.101 guide: Apple Terminal uses
324
343
  `Ctrl+O` for send-now; VS Code, Cursor, Windsurf, and Zed use `Ctrl+L`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iclavue",
3
- "version": "11.3.2",
3
+ "version": "11.3.4",
4
4
  "description": "Clavue: execution-first AI coding CLI with direct repo tools, provider routing, native workflows, MCP integration, and long-session recovery",
5
5
  "keywords": [
6
6
  "iclavue",