@chances-ai/tui 15.0.0 → 16.0.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/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"AACA,OAAO,EAA6C,KAAK,GAAG,EAAkB,MAAM,OAAO,CAAC;AAG5F,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAO5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAe,KAAK,aAAa,EAAa,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA6ClD,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,aAAa,CAAC;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,6EAA6E;IAC7E,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C;;qEAEiE;IACjE,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,kFAAkF;IAClF,sBAAsB,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3C,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC1C,wEAAwE;IACxE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,sFAAsF;IACtF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,oEAAoE;AACpE,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,kBAAkB,EAAE,GAC9B,kBAAkB,EAAE,CAOtB;AAED;wDACwD;AACxD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAMxD"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"AACA,OAAO,EAA6C,KAAK,GAAG,EAAkB,MAAM,OAAO,CAAC;AAS5F,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAO5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAe,KAAK,aAAa,EAAa,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA8ClD,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,aAAa,CAAC;IAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,6EAA6E;IAC7E,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C;;qEAEiE;IACjE,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,kFAAkF;IAClF,sBAAsB,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3C,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC1C,wEAAwE;IACxE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,sFAAsF;IACtF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,oEAAoE;AACpE,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,kBAAkB,EAAE,GAC9B,kBAAkB,EAAE,CAOtB;AAED;wDACwD;AACxD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CAMxD"}
package/dist/app.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Box, Static, Text, useApp } from "ink";
3
3
  import { useEffect, useState, useSyncExternalStore } from "react";
4
- import { KeybindingProvider, useKeybinding, useKeybindingContext, useTextInput } from "@chances-ai/ink-ext";
4
+ import { KeybindingProvider, useKeybinding, useKeybindingContext, usePasteInput, useTextInput, } from "@chances-ai/ink-ext";
5
5
  import { SlashTypeahead } from "./slash-typeahead.js";
6
6
  // Re-exported for backward compat: `suggestSlashCommands`/`SlashSuggestion` moved
7
7
  // to slash-typeahead.tsx (5.10 A3) but several call sites + tests import them here.
@@ -13,6 +13,7 @@ import { Progress } from "./progress.js";
13
13
  import { ToolMessage } from "./tool-message.js";
14
14
  import { useTheme, ThemeProvider } from "./theme-context.js";
15
15
  import { extractDiff } from "./view-model.js";
16
+ import { QuestionView } from "./user-question.js";
16
17
  /** (5.3 / 5.9) Footer presentation per approval mode: glyph + theme role.
17
18
  * `default` is a dim discoverability hint; the rest are colored badges. */
18
19
  const MODE_DISPLAY = {
@@ -81,17 +82,23 @@ function ChatInner({ vm, onSubmit, onSlash, availableSlashCommands, availableRes
81
82
  const [input, setInput] = useState("");
82
83
  // (5.3) Non-null while the "no, and tell the model" feedback field is open.
83
84
  const [feedback, setFeedback] = useState(null);
85
+ // (5.10b) Cursor over the 4 permission options for ↑↓ navigation. The y/a/n/d +
86
+ // 1/2/3 shortcuts still select directly and bypass it.
87
+ const [permCursor, setPermCursor] = useState(0);
84
88
  const { exit } = useApp();
85
89
  // (5.3 codex R2 SHOULD-FIX #4) Drop half-typed feedback when the prompt changes.
86
90
  useEffect(() => {
87
91
  setFeedback(null);
92
+ setPermCursor(0);
88
93
  }, [vm.pending]);
89
94
  // (5.10 A1) The permission prompt + yolo confirm both live in the modal
90
95
  // `Confirmation` context: while either is up it masks `Chat`, so the chat
91
96
  // input below receives nothing — the old `if (vm.pending) … return` guards,
92
97
  // now structural. v15 keeps the v14 char keys (y/a/n/d + 1/2/3); the Select
93
98
  // migration of this prompt is v16.
94
- const confirmActive = vm.pending !== null || vm.yoloConfirmPending;
99
+ // (5.10b) A question pending drives QuestionView's own Select/Modal contexts —
100
+ // it must NOT also light up the Confirmation (y/a/n/d) context.
101
+ const confirmActive = (vm.pending !== null && vm.pending.req.kind !== "question") || vm.yoloConfirmPending;
95
102
  // Run a `/command` line: clear the draft, echo it, dispatch via the host.
96
103
  // Shared by chat:submit (typed "/foo args") and SlashTypeahead's Enter
97
104
  // (executes the SELECTED command, no args — the menu only shows pre-space).
@@ -143,6 +150,12 @@ function ChatInner({ vm, onSubmit, onSlash, availableSlashCommands, availableRes
143
150
  if (char && !key.ctrl && !key.meta)
144
151
  setInput((s) => s + char);
145
152
  });
153
+ // (5.10b) A bracketed paste into Chat keeps its newlines as a multi-line draft
154
+ // (no premature submit — the v15 known gap). Single-line sinks strip newlines.
155
+ usePasteInput("Chat", (text) => {
156
+ if (!vm.busy)
157
+ setInput((s) => s + text);
158
+ });
146
159
  // -- Confirmation context (permission prompt + yolo confirm) --
147
160
  useKeybindingContext("Confirmation", confirmActive);
148
161
  useTextInput("Confirmation", (char, key) => {
@@ -186,18 +199,50 @@ function ChatInner({ vm, onSubmit, onSlash, availableSlashCommands, availableRes
186
199
  else
187
200
  vm.resolvePermission({ allow: false });
188
201
  }, { context: "Confirmation", active: confirmActive });
189
- useKeybinding("confirm:accept", // return only meaningful in the feedback sub-mode
202
+ // (5.10b) ↑↓ move the highlighted permission option; Enter selects it. The
203
+ // shortcuts (y/a/n/d, 1/2/3) still select directly via the text handler above.
204
+ const choosePermission = (cursor) => {
205
+ if (cursor === 0)
206
+ vm.resolvePermission({ allow: true });
207
+ else if (cursor === 1)
208
+ vm.resolvePermission({ allow: true, remember: true });
209
+ else if (cursor === 2)
210
+ vm.resolvePermission({ allow: false });
211
+ else
212
+ setFeedback(""); // cursor 3 → deny-with-feedback
213
+ };
214
+ const permNavigable = vm.pending !== null && !vm.yoloConfirmPending && feedback === null;
215
+ useKeybinding("confirm:previous", () => {
216
+ if (permNavigable)
217
+ setPermCursor((c) => Math.max(0, c - 1));
218
+ }, { context: "Confirmation", active: confirmActive });
219
+ useKeybinding("confirm:next", () => {
220
+ if (permNavigable)
221
+ setPermCursor((c) => Math.min(3, c + 1));
222
+ }, { context: "Confirmation", active: confirmActive });
223
+ useKeybinding("confirm:accept", // return: send the feedback note, or select the highlighted option
190
224
  () => {
191
- if (vm.pending !== null && feedback !== null) {
225
+ if (vm.pending === null)
226
+ return;
227
+ if (feedback !== null) {
192
228
  const note = feedback.trim();
193
229
  setFeedback(null);
194
230
  vm.resolvePermission({ allow: false, feedback: note || undefined });
231
+ return;
195
232
  }
233
+ if (!vm.yoloConfirmPending)
234
+ choosePermission(permCursor);
196
235
  }, { context: "Confirmation", active: confirmActive });
197
236
  const liveAssistant = vm.liveLines().find((l) => l.kind === "assistant");
198
237
  const tokens = liveAssistant ? Math.round(liveAssistant.text.length / 4) : 0;
199
238
  const showInput = !modalNode && !vm.yoloConfirmPending && !vm.pending;
200
- return (_jsxs(_Fragment, { children: [_jsx(Static, { items: vm.committedLines(), children: (line, i) => _jsx(LineView, { line: line, rich: true }, i) }, vm.clearGeneration), _jsxs(Box, { flexDirection: "column", children: [vm.liveLines().map((line, i) => (_jsx(LineView, { line: line, rich: false }, `live-${i}`))), modalNode ? _jsx(Box, { marginTop: 1, children: modalNode }) : null, !modalNode && vm.yoloConfirmPending ? _jsx(YoloConfirm, { theme: theme }) : null, !modalNode && !vm.yoloConfirmPending && vm.pending ? (_jsx(PermissionDialog, { name: vm.pending.req.name, summary: vm.pending.req.summary, feedback: feedback, theme: theme, glyphs: glyphs })) : null, vm.busy && showInput ? _jsx(Progress, { active: true, tokens: tokens }) : null, showInput ? (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { marginTop: vm.busy ? 0 : 1, children: [_jsxs(Text, { color: vm.busy ? undefined : theme.accent, dimColor: vm.busy, children: [glyphs.prompt, " "] }), _jsx(Text, { children: input })] }), _jsx(SlashTypeahead, { input: input, available: availableSlashCommands ?? [], busy: vm.busy, onComplete: setInput, onExecute: runSlash }), _jsx(MentionAutocomplete, { input: input, available: availableResources ?? [] }), _jsx(ModeBadge, { mode: vm.approvalMode, theme: theme, glyphs: glyphs, busy: vm.busy })] })) : null] })] }));
239
+ // (5.10b) The permission dialog only renders the authorization variant; the
240
+ // question variant (B2) renders via QuestionView. Narrow here so `.summary`
241
+ // is typed (the pending slot now carries a discriminated union).
242
+ const pend = vm.pending;
243
+ const authReq = pend && pend.req.kind !== "question" ? pend.req : null;
244
+ const questionReq = pend && pend.req.kind === "question" ? pend.req : null;
245
+ return (_jsxs(_Fragment, { children: [_jsx(Static, { items: vm.committedLines(), children: (line, i) => _jsx(LineView, { line: line, rich: true }, i) }, vm.clearGeneration), _jsxs(Box, { flexDirection: "column", children: [vm.liveLines().map((line, i) => (_jsx(LineView, { line: line, rich: false }, `live-${i}`))), modalNode ? _jsx(Box, { marginTop: 1, children: modalNode }) : null, !modalNode && vm.yoloConfirmPending ? _jsx(YoloConfirm, { theme: theme }) : null, !modalNode && !vm.yoloConfirmPending && authReq ? (_jsx(PermissionDialog, { name: authReq.name, summary: authReq.summary, feedback: feedback, cursor: permCursor, theme: theme, glyphs: glyphs })) : null, !modalNode && questionReq ? (_jsx(QuestionView, { questions: questionReq.questions, onSubmit: (d) => vm.resolveQuestion(d), onCancel: () => vm.resolveQuestion({ kind: "question", answers: {}, declined: true }) })) : null, vm.busy && showInput ? _jsx(Progress, { active: true, tokens: tokens }) : null, showInput ? (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { marginTop: vm.busy ? 0 : 1, children: [_jsxs(Text, { color: vm.busy ? undefined : theme.accent, dimColor: vm.busy, children: [glyphs.prompt, " "] }), _jsx(Text, { children: input })] }), _jsx(SlashTypeahead, { input: input, available: availableSlashCommands ?? [], busy: vm.busy, onComplete: setInput, onExecute: runSlash }), _jsx(MentionAutocomplete, { input: input, available: availableResources ?? [] }), _jsx(ModeBadge, { mode: vm.approvalMode, theme: theme, glyphs: glyphs, busy: vm.busy })] })) : null] })] }));
201
246
  }
202
247
  function YoloConfirm({ theme }) {
203
248
  return (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: theme.error, children: "─".repeat(40) }), _jsx(Text, { color: theme.error, children: "\u26A0 Enter YOLO mode?" }), _jsx(Text, { children: "All tool calls will be auto-approved. Only explicit deny-rules still block." }), _jsx(Text, { dimColor: true, children: "[y] enter yolo \u00B7 [n] cancel" })] }));
@@ -205,12 +250,12 @@ function YoloConfirm({ theme }) {
205
250
  /** (5.9) Top-rule-only permission dialog with an embedded structured diff (for
206
251
  * write/edit) and a `❯`-marked numbered option list. Same v13 keys (y/a/n/d +
207
252
  * 1/2/3) — this is a visual reskin, not the v15 Select interaction. */
208
- function PermissionDialog({ name, summary, feedback, theme, glyphs, }) {
253
+ function PermissionDialog({ name, summary, feedback, cursor, theme, glyphs, }) {
209
254
  const diff = looksLikeDiff(summary) ? extractDiff(summary) : null;
210
255
  // The summary's first line is the human title (e.g. "overwrite path"); the
211
256
  // diff (if any) renders structured below, so don't repeat it as raw text.
212
257
  const titleLine = summary.split("\n")[0] ?? summary;
213
- return (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: theme.permission, children: "─".repeat(40) }), _jsxs(Text, { color: theme.permission, bold: true, children: ["Approve ", name, "?"] }), _jsx(Text, { children: titleLine }), diff ? _jsx(DiffView, { diff: diff, anchored: name === "write" }) : null, feedback !== null ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "tell the model what to do instead:" }), _jsxs(Box, { children: [_jsxs(Text, { color: theme.accent, children: [glyphs.prompt, " "] }), _jsx(Text, { children: feedback }), _jsx(Text, { dimColor: true, children: "\u258C" })] }), _jsx(Text, { dimColor: true, children: "[enter] send \u00B7 [esc] back" })] })) : (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { children: [_jsxs(Text, { color: theme.permission, children: [glyphs.prompt, " "] }), "1 Yes"] }), _jsx(Text, { children: " 2 Yes, don't ask again" }), _jsx(Text, { children: " 3 No (esc)" }), _jsx(Text, { children: " d No, and tell the model what to do" })] }))] }));
258
+ return (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: theme.permission, children: "─".repeat(40) }), _jsxs(Text, { color: theme.permission, bold: true, children: ["Approve ", name, "?"] }), _jsx(Text, { children: titleLine }), diff ? _jsx(DiffView, { diff: diff, anchored: name === "write" }) : null, feedback !== null ? (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { dimColor: true, children: "tell the model what to do instead:" }), _jsxs(Box, { children: [_jsxs(Text, { color: theme.accent, children: [glyphs.prompt, " "] }), _jsx(Text, { children: feedback }), _jsx(Text, { dimColor: true, children: "\u258C" })] }), _jsx(Text, { dimColor: true, children: "[enter] send \u00B7 [esc] back" })] })) : (_jsx(Box, { flexDirection: "column", marginTop: 1, children: ["1 Yes", "2 Yes, don't ask again", "3 No (esc)", "d No, and tell the model what to do"].map((label, i) => (_jsxs(Text, { color: i === cursor ? theme.permission : undefined, children: [i === cursor ? `${glyphs.prompt} ` : " ", label] }, label))) }))] }));
214
259
  }
215
260
  /** (5.3 / 5.9) Footer approval-mode indicator — a single dim line. */
216
261
  function ModeBadge({ mode, theme, glyphs, busy, }) {
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { type JSX, type ReactNode } from "react";
2
+ import { type SelectOption } from "./select.js";
3
+ /**
4
+ * (5.10b A2) The ONE generic multi-select primitive — `[ ]`/`[✓]` rows + a
5
+ * trailing Submit row. The single source of truth for the selection lives in
6
+ * this component as data (a `T[]`), NOT in hand-rolled `"☑ label"` strings — the
7
+ * exact anti-pattern oh-my-pi's `ask.ts` fell into (it concatenated checkbox
8
+ * glyphs into option strings and parsed them back out). Navigation comes from
9
+ * the shared `Select` keybinding context (ink-ext A1); this component owns no
10
+ * `useInput`. The inline free-text "Other" row is the consumer's job
11
+ * (`QuestionView` injects an option + a text field) — keeping this primitive a
12
+ * pure checkbox list.
13
+ */
14
+ /** Toggle a value in the selection (XOR): add if absent, remove if present. */
15
+ export declare function toggleSelected<T>(selected: readonly T[], value: T): T[];
16
+ /** Move the cursor over `options` PLUS a trailing Submit row (index =
17
+ * `options.length`), clamped to `[0, options.length]` (no wrap), skipping
18
+ * disabled options in the direction of travel. The Submit row is always
19
+ * selectable. Returns the original cursor when there's nowhere to go. */
20
+ export declare function moveMultiCursor<T>(options: SelectOption<T>[], cursor: number, delta: number): number;
21
+ export interface SelectMultiProps<T> {
22
+ options: SelectOption<T>[];
23
+ /** Called with the chosen values when the user accepts the Submit row. */
24
+ onSubmit: (values: T[]) => void;
25
+ onCancel: () => void;
26
+ heading?: ReactNode;
27
+ visibleRows?: number;
28
+ active?: boolean;
29
+ /** Controlled selection — `QuestionView` owns it so it survives tab switches.
30
+ * Uncontrolled (internal state) when omitted. */
31
+ selected?: T[];
32
+ onChange?: (values: T[]) => void;
33
+ submitLabel?: string;
34
+ }
35
+ export declare function SelectMulti<T>({ options, onSubmit, onCancel, heading, visibleRows, active, selected: controlledSelected, onChange, submitLabel, }: SelectMultiProps<T>): JSX.Element;
36
+ //# sourceMappingURL=select-multi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-multi.d.ts","sourceRoot":"","sources":["../src/select-multi.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG3D,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,aAAa,CAAC;AAE/D;;;;;;;;;;GAUG;AAIH,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAEvE;AAED;;;0EAG0E;AAC1E,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAWpG;AAID,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;sDACkD;IAClD,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAC7B,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAgB,EAChB,MAAa,EACb,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EACR,WAAsB,GACvB,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAkFnC"}
@@ -0,0 +1,104 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { useState } from "react";
4
+ import { useKeybinding, useKeybindingContext, useTextInput } from "@chances-ai/ink-ext";
5
+ import { useTheme } from "./theme-context.js";
6
+ import { visibleWindow } from "./select.js";
7
+ /**
8
+ * (5.10b A2) The ONE generic multi-select primitive — `[ ]`/`[✓]` rows + a
9
+ * trailing Submit row. The single source of truth for the selection lives in
10
+ * this component as data (a `T[]`), NOT in hand-rolled `"☑ label"` strings — the
11
+ * exact anti-pattern oh-my-pi's `ask.ts` fell into (it concatenated checkbox
12
+ * glyphs into option strings and parsed them back out). Navigation comes from
13
+ * the shared `Select` keybinding context (ink-ext A1); this component owns no
14
+ * `useInput`. The inline free-text "Other" row is the consumer's job
15
+ * (`QuestionView` injects an option + a text field) — keeping this primitive a
16
+ * pure checkbox list.
17
+ */
18
+ // -- pure helpers (unit-tested without a TTY, the reduceModelPicker convention) --
19
+ /** Toggle a value in the selection (XOR): add if absent, remove if present. */
20
+ export function toggleSelected(selected, value) {
21
+ return selected.includes(value) ? selected.filter((v) => v !== value) : [...selected, value];
22
+ }
23
+ /** Move the cursor over `options` PLUS a trailing Submit row (index =
24
+ * `options.length`), clamped to `[0, options.length]` (no wrap), skipping
25
+ * disabled options in the direction of travel. The Submit row is always
26
+ * selectable. Returns the original cursor when there's nowhere to go. */
27
+ export function moveMultiCursor(options, cursor, delta) {
28
+ const submitIndex = options.length;
29
+ const step = delta < 0 ? -1 : 1;
30
+ let next = cursor;
31
+ for (let i = 0; i <= options.length + 1; i++) {
32
+ next += step;
33
+ if (next < 0 || next > submitIndex)
34
+ return cursor; // hit an edge → stay
35
+ if (next === submitIndex)
36
+ return next; // Submit row, always selectable
37
+ if (!options[next]?.disabled)
38
+ return next;
39
+ }
40
+ return cursor;
41
+ }
42
+ export function SelectMulti({ options, onSubmit, onCancel, heading, visibleRows = 10, active = true, selected: controlledSelected, onChange, submitLabel = "Submit", }) {
43
+ const { theme } = useTheme();
44
+ const [cursor, setCursor] = useState(0);
45
+ const [internalSelected, setInternalSelected] = useState([]);
46
+ const selected = controlledSelected ?? internalSelected;
47
+ const setSelected = (next) => {
48
+ if (onChange)
49
+ onChange(next);
50
+ else
51
+ setInternalSelected(next);
52
+ };
53
+ // Multi-select is a MODAL context: while it's up, chat below receives nothing.
54
+ useKeybindingContext("Select", active);
55
+ const submitIndex = options.length;
56
+ const onSubmitRow = cursor === submitIndex;
57
+ const toggle = (idx) => {
58
+ const opt = options[idx];
59
+ if (!opt || opt.disabled)
60
+ return;
61
+ setSelected(toggleSelected(selected, opt.value));
62
+ };
63
+ useKeybinding("select:previous", () => setCursor((c) => moveMultiCursor(options, c, -1)), {
64
+ context: "Select",
65
+ active,
66
+ });
67
+ useKeybinding("select:next", () => setCursor((c) => moveMultiCursor(options, c, 1)), {
68
+ context: "Select",
69
+ active,
70
+ });
71
+ // space toggles the focused option (no-op on the Submit row).
72
+ useKeybinding("select:toggle", () => {
73
+ if (!onSubmitRow)
74
+ toggle(cursor);
75
+ }, { context: "Select", active });
76
+ // enter on the Submit row submits; on an option it toggles (so you can pick
77
+ // with Enter then Enter on Submit to finish).
78
+ useKeybinding("select:accept", () => {
79
+ if (onSubmitRow)
80
+ onSubmit(selected);
81
+ else
82
+ toggle(cursor);
83
+ }, { context: "Select", active });
84
+ useKeybinding("select:cancel", onCancel, { context: "Select", active });
85
+ // Numeric 1-9 jumps to + toggles that option (claude-code parity).
86
+ useTextInput("Select", (input, key) => {
87
+ if (key.ctrl || key.meta)
88
+ return;
89
+ const n = Number.parseInt(input, 10);
90
+ if (Number.isInteger(n) && n >= 1 && n <= options.length) {
91
+ setCursor(n - 1);
92
+ toggle(n - 1);
93
+ }
94
+ }, { active });
95
+ const windowCursor = options.length > 0 ? Math.min(cursor, options.length - 1) : 0;
96
+ const { slice, offset } = visibleWindow(options, windowCursor, visibleRows);
97
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.permission, paddingX: 1, children: [heading ? _jsx(Text, { color: theme.permission, children: heading }) : null, _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [options.length === 0 ? _jsx(Text, { dimColor: true, children: "no options" }) : null, slice.map((o, i) => {
98
+ const idx = offset + i;
99
+ const focused = idx === cursor;
100
+ const checked = selected.includes(o.value);
101
+ return (_jsxs(Text, { color: focused ? theme.permission : undefined, dimColor: o.disabled, children: [focused ? "❯ " : " ", "[", checked ? "✓" : " ", "] ", o.label, o.description ? _jsxs(Text, { dimColor: true, children: [" \u2014 ", o.description] }) : null] }, `${idx}-${o.label}`));
102
+ }), options.length > slice.length ? _jsxs(Text, { dimColor: true, children: ["\u2026 ", options.length - slice.length, " more"] }) : null, _jsxs(Text, { color: onSubmitRow ? theme.permission : undefined, bold: onSubmitRow, children: [onSubmitRow ? "❯ " : " ", submitLabel, " (", selected.length, ")"] })] })] }));
103
+ }
104
+ //# sourceMappingURL=select-multi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-multi.js","sourceRoot":"","sources":["../src/select-multi.tsx"],"names":[],"mappings":"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"}
package/dist/select.d.ts CHANGED
@@ -54,6 +54,10 @@ export interface SelectProps<T> {
54
54
  filterable?: boolean;
55
55
  /** Whether this select owns input right now (pushes the `Select` context). */
56
56
  active?: boolean;
57
+ /** (5.10b) Notified with the focused option's value as the cursor moves, so a
58
+ * parent (QuestionView) can render a side-by-side preview. Best with a
59
+ * primitive `T` (the effect dep compares by identity). */
60
+ onFocusChange?: (value: T) => void;
57
61
  }
58
- export declare function Select<T>({ options, onSelect, onCancel, heading, visibleRows, filterable, active, }: SelectProps<T>): JSX.Element;
62
+ export declare function Select<T>({ options, onSelect, onCancel, heading, visibleRows, filterable, active, onFocusChange, }: SelectProps<T>): JSX.Element;
59
63
  //# sourceMappingURL=select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../src/select.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,KAAK,EAAE,CAAC,CAAC;IACT,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;kCACkC;AAClC,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAI9F;AAED;;mFAEmF;AACnF,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAU/F;AAED;8EAC8E;AAC9E,wBAAgB,UAAU,CAAC,CAAC,EAC1B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EACX,WAAW,EAAE,MAAM,GAClB,MAAM,CAOR;AAED;;qCAEqC;AACrC,wBAAgB,aAAa,CAAC,CAAC,EAC7B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB;IAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAM9C;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjF;AAID,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,kCAAkC;IAClC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;uDACmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,EACxB,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAgB,EAChB,UAAkB,EAClB,MAAa,GACd,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CA6F9B"}
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../src/select.tsx"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAItE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,KAAK,EAAE,CAAC,CAAC;IACT,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID;kCACkC;AAClC,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAI9F;AAED;;mFAEmF;AACnF,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAU/F;AAED;8EAC8E;AAC9E,wBAAgB,UAAU,CAAC,CAAC,EAC1B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EACX,WAAW,EAAE,MAAM,GAClB,MAAM,CAOR;AAED;;qCAEqC;AACrC,wBAAgB,aAAa,CAAC,CAAC,EAC7B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB;IAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAM9C;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjF;AAID,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,kCAAkC;IAClC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;uDACmD;IACnD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;+DAE2D;IAC3D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,EACxB,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAgB,EAChB,UAAkB,EAClB,MAAa,EACb,aAAa,GACd,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAoG9B"}
package/dist/select.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from "ink";
3
- import { useState } from "react";
3
+ import { useEffect, useState } from "react";
4
4
  import { useKeybinding, useKeybindingContext, useTextInput } from "@chances-ai/ink-ext";
5
5
  import { useTheme } from "./theme-context.js";
6
6
  // -- pure helpers (unit-tested without a TTY, the reduceModelPicker convention) --
@@ -57,7 +57,7 @@ export function visibleWindow(options, cursor, visibleRows) {
57
57
  export function clampCursor(options, cursor) {
58
58
  return Math.min(Math.max(0, cursor), Math.max(0, options.length - 1));
59
59
  }
60
- export function Select({ options, onSelect, onCancel, heading, visibleRows = 10, filterable = false, active = true, }) {
60
+ export function Select({ options, onSelect, onCancel, heading, visibleRows = 10, filterable = false, active = true, onFocusChange, }) {
61
61
  const { theme } = useTheme();
62
62
  const [filter, setFilter] = useState("");
63
63
  const [cursor, setCursor] = useState(0);
@@ -65,19 +65,27 @@ export function Select({ options, onSelect, onCancel, heading, visibleRows = 10,
65
65
  useKeybindingContext("Select", active);
66
66
  const matches = filterOptions(options, filter);
67
67
  const safeCursor = clampCursor(matches, cursor);
68
- useKeybinding("select:previous", () => setCursor(moveCursor(matches, safeCursor, -1)), {
68
+ const focusedValue = matches[safeCursor]?.value;
69
+ useEffect(() => {
70
+ if (onFocusChange && focusedValue !== undefined)
71
+ onFocusChange(focusedValue);
72
+ }, [onFocusChange, focusedValue]);
73
+ // Functional updates (clamping `c` against the live list) so several keypresses
74
+ // coalesced into one input flush each advance the cursor — a closure over
75
+ // `safeCursor` would re-apply the same start every time (5.10b).
76
+ useKeybinding("select:previous", () => setCursor((c) => moveCursor(matches, clampCursor(matches, c), -1)), {
69
77
  context: "Select",
70
78
  active,
71
79
  });
72
- useKeybinding("select:next", () => setCursor(moveCursor(matches, safeCursor, 1)), {
80
+ useKeybinding("select:next", () => setCursor((c) => moveCursor(matches, clampCursor(matches, c), 1)), {
73
81
  context: "Select",
74
82
  active,
75
83
  });
76
- useKeybinding("select:pageUp", () => setCursor(pageCursor(matches, safeCursor, -1, visibleRows)), {
84
+ useKeybinding("select:pageUp", () => setCursor((c) => pageCursor(matches, clampCursor(matches, c), -1, visibleRows)), {
77
85
  context: "Select",
78
86
  active,
79
87
  });
80
- useKeybinding("select:pageDown", () => setCursor(pageCursor(matches, safeCursor, 1, visibleRows)), {
88
+ useKeybinding("select:pageDown", () => setCursor((c) => pageCursor(matches, clampCursor(matches, c), 1, visibleRows)), {
81
89
  context: "Select",
82
90
  active,
83
91
  });
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../src/select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../src/select.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAA4B,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AA0B9C,mFAAmF;AAEnF;kCACkC;AAClC,MAAM,UAAU,aAAa,CAAI,OAA0B,EAAE,MAAc;IACzE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAClG,CAAC;AAED;;mFAEmF;AACnF,MAAM,UAAU,UAAU,CAAI,OAA0B,EAAE,MAAc,EAAE,KAAa;IACrF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,IAAI,IAAI,CAAC;QACb,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,qBAAqB;QAC/E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ;YAAE,OAAO,IAAI,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;8EAC8E;AAC9E,MAAM,UAAU,UAAU,CACxB,OAA0B,EAC1B,MAAc,EACd,GAAW,EACX,WAAmB;IAEnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC;IACrF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC;IACvC,OAAO,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;qCAEqC;AACrC,MAAM,UAAU,aAAa,CAC3B,OAA0B,EAC1B,MAAc,EACd,WAAmB;IAEnB,IAAI,OAAO,CAAC,MAAM,IAAI,WAAW;QAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACxE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC;IACrE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;AACxE,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,WAAW,CAAI,OAA0B,EAAE,MAAc;IACvE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAuBD,MAAM,UAAU,MAAM,CAAI,EACxB,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAW,GAAG,EAAE,EAChB,UAAU,GAAG,KAAK,EAClB,MAAM,GAAG,IAAI,EACb,aAAa,GACE;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExC,6EAA6E;IAC7E,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAChD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,IAAI,YAAY,KAAK,SAAS;YAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/E,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAElC,gFAAgF;IAChF,0EAA0E;IAC1E,iEAAiE;IACjE,aAAa,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACzG,OAAO,EAAE,QAAQ;QACjB,MAAM;KACP,CAAC,CAAC;IACH,aAAa,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACpG,OAAO,EAAE,QAAQ;QACjB,MAAM;KACP,CAAC,CAAC;IACH,aAAa,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE;QACpH,OAAO,EAAE,QAAQ;QACjB,MAAM;KACP,CAAC,CAAC;IACH,aAAa,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,EAAE;QACrH,OAAO,EAAE,QAAQ;QACjB,MAAM;KACP,CAAC,CAAC;IACH,aAAa,CACX,eAAe,EACf,GAAG,EAAE;QACH,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;YAClD,QAAQ,EAAE,CAAC,CAAC,gEAAgE;IACnF,CAAC,EACD,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAC9B,CAAC;IACF,aAAa,CAAC,eAAe,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAExE,2EAA2E;IAC3E,kFAAkF;IAClF,YAAY,CACV,QAAQ,EACR,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACb,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAChC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,SAAS,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;aAAM,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3C,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAC5B,SAAS,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC,EACD,EAAE,MAAM,EAAE,CACX,CAAC;IAEF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAE1E,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC,aACvF,OAAO,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,YAAG,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,EAChE,UAAU,CAAC,CAAC,CAAC,CACZ,MAAC,GAAG,IAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAC7B,KAAC,IAAI,2BAAgB,EACrB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,YAAG,MAAM,IAAI,OAAO,GAAQ,IAClD,CACP,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACrC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACtB,KAAC,IAAI,IAAC,QAAQ,iCAAkB,CACjC,CAAC,CAAC,CAAC,CACF,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACjB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;wBACvB,MAAM,QAAQ,GAAG,GAAG,KAAK,UAAU,CAAC;wBACpC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;wBACrC,OAAO,CACL,MAAC,IAAI,IAEH,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC9C,QAAQ,EAAE,CAAC,CAAC,QAAQ,aAEnB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EACtB,MAAM,OAAG,CAAC,CAAC,KAAK,EAChB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAC,IAAI,IAAC,QAAQ,+BAAK,CAAC,CAAC,WAAW,IAAQ,CAAC,CAAC,CAAC,IAAI,KAN3D,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAOnB,CACR,CAAC;oBACJ,CAAC,CAAC,CACH,EACA,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAC/B,MAAC,IAAI,IAAC,QAAQ,8BAAI,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,aAAa,CAC7D,CAAC,CAAC,CAAC,IAAI,IACJ,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type JSX } from "react";
2
+ import type { QuestionDecision, QuestionSpec } from "@chances-ai/tools";
3
+ import { type SelectOption } from "./select.js";
4
+ /**
5
+ * (5.10b B2) The model-driven chooser for the `ask_user_question` tool. Rides the
6
+ * `vm.pending` permission seam (NOT `openModal`) so detach + resolver
7
+ * serialization hold (codex R1). Mirrors claude-code's QuestionView: a tab per
8
+ * question, single-select → {@link Select} / multi-select → {@link SelectMulti},
9
+ * an optional side-by-side Markdown preview, a UI-injected "Other" free-text row
10
+ * (the model never declares it — schema-locked), and auto-submit for a lone
11
+ * single-select question. No `useInput` of its own — everything routes through
12
+ * the ink-ext bus (Select / Modal contexts).
13
+ */
14
+ /** Sentinel for the UI-injected free-text "Other" row. */
15
+ export declare const OTHER_VALUE = "__other__";
16
+ /** Options for a question = the model's options + the injected "Other…" row. */
17
+ export declare function buildOptions(q: QuestionSpec): SelectOption<string>[];
18
+ /** Whether a (single-select) question renders a side-by-side Markdown preview. */
19
+ export declare function questionHasPreview(q: QuestionSpec): boolean;
20
+ export interface QuestionViewProps {
21
+ questions: QuestionSpec[];
22
+ onSubmit: (decision: QuestionDecision) => void;
23
+ onCancel: () => void;
24
+ }
25
+ export declare function QuestionView({ questions, onSubmit, onCancel }: QuestionViewProps): JSX.Element;
26
+ //# sourceMappingURL=user-question.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-question.d.ts","sourceRoot":"","sources":["../src/user-question.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAKxD;;;;;;;;;GASG;AAEH,0DAA0D;AAC1D,eAAO,MAAM,WAAW,cAAc,CAAC;AAEvC,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,CAOpE;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CAE3D;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,QAAQ,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAsL9F"}
@@ -0,0 +1,140 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { useState } from "react";
4
+ import { useKeybinding, useKeybindingContext, useTextInput } from "@chances-ai/ink-ext";
5
+ import { Select } from "./select.js";
6
+ import { SelectMulti } from "./select-multi.js";
7
+ import { Markdown } from "./markdown.js";
8
+ import { useTheme } from "./theme-context.js";
9
+ /**
10
+ * (5.10b B2) The model-driven chooser for the `ask_user_question` tool. Rides the
11
+ * `vm.pending` permission seam (NOT `openModal`) so detach + resolver
12
+ * serialization hold (codex R1). Mirrors claude-code's QuestionView: a tab per
13
+ * question, single-select → {@link Select} / multi-select → {@link SelectMulti},
14
+ * an optional side-by-side Markdown preview, a UI-injected "Other" free-text row
15
+ * (the model never declares it — schema-locked), and auto-submit for a lone
16
+ * single-select question. No `useInput` of its own — everything routes through
17
+ * the ink-ext bus (Select / Modal contexts).
18
+ */
19
+ /** Sentinel for the UI-injected free-text "Other" row. */
20
+ export const OTHER_VALUE = "__other__";
21
+ /** Options for a question = the model's options + the injected "Other…" row. */
22
+ export function buildOptions(q) {
23
+ const base = q.options.map((o) => ({
24
+ label: o.label,
25
+ value: o.label,
26
+ description: o.description,
27
+ }));
28
+ return [...base, { label: "Other…", value: OTHER_VALUE }];
29
+ }
30
+ /** Whether a (single-select) question renders a side-by-side Markdown preview. */
31
+ export function questionHasPreview(q) {
32
+ return !q.multiSelect && q.options.some((o) => typeof o.preview === "string" && o.preview.trim() !== "");
33
+ }
34
+ export function QuestionView({ questions, onSubmit, onCancel }) {
35
+ const { theme } = useTheme();
36
+ const total = questions.length;
37
+ // A lone single-select question auto-submits (claude-code's hideSubmitTab).
38
+ const showSubmitTab = total > 1 || questions.some((q) => q.multiSelect);
39
+ const submitIndex = total; // tab index of the Submit step (only when showSubmitTab)
40
+ const maxIndex = showSubmitTab ? submitIndex : total - 1;
41
+ const [index, setIndex] = useState(0);
42
+ const [answers, setAnswers] = useState({});
43
+ // Non-null while editing the "Other" free-text for the current question; holds
44
+ // the already-picked non-Other labels (multi-select) the typed text appends to.
45
+ const [otherBase, setOtherBase] = useState(null);
46
+ const [otherText, setOtherText] = useState("");
47
+ const [focusedLabel, setFocusedLabel] = useState(undefined);
48
+ // (codex R2 SHOULD-FIX #1) Per-question multi-select draft. SelectMulti is
49
+ // remounted on every tab switch, so without lifting its selection here, ticking
50
+ // options → switching tabs → coming back would silently lose the answer.
51
+ const [multiDraft, setMultiDraft] = useState({});
52
+ const editingOther = otherBase !== null;
53
+ const q = index < total ? questions[index] : undefined;
54
+ const atSubmit = showSubmitTab && index === submitIndex;
55
+ const finish = (final) => {
56
+ onSubmit({ kind: "question", answers: final });
57
+ };
58
+ const recordAndAdvance = (labels) => {
59
+ if (!q)
60
+ return;
61
+ const next = { ...answers, [q.question]: labels };
62
+ setAnswers(next);
63
+ setOtherBase(null);
64
+ setOtherText("");
65
+ if (!showSubmitTab) {
66
+ finish(next); // lone single-select → auto-submit
67
+ }
68
+ else if (index < total - 1) {
69
+ setIndex(index + 1);
70
+ }
71
+ else {
72
+ setIndex(submitIndex);
73
+ }
74
+ };
75
+ // Tab navigation (Left/Right), disabled while editing the Other field.
76
+ useKeybinding("select:prevTab", () => setIndex((i) => Math.max(0, i - 1)), {
77
+ context: "Select",
78
+ active: !editingOther,
79
+ });
80
+ useKeybinding("select:nextTab", () => setIndex((i) => Math.min(maxIndex, i + 1)), {
81
+ context: "Select",
82
+ active: !editingOther,
83
+ });
84
+ // "Other" free-text sub-mode (Modal context masks the list below).
85
+ useKeybindingContext("Modal", editingOther);
86
+ useTextInput("Modal", (input, key) => {
87
+ if (key.backspace || key.delete)
88
+ setOtherText((t) => t.slice(0, -1));
89
+ else if (input && !key.ctrl && !key.meta)
90
+ setOtherText((t) => t + input);
91
+ }, { active: editingOther });
92
+ useKeybinding("modal:accept", () => {
93
+ const text = otherText.trim();
94
+ const base = otherBase ?? [];
95
+ recordAndAdvance(text ? [...base, text] : base);
96
+ }, { context: "Modal", active: editingOther });
97
+ useKeybinding("modal:cancel", () => {
98
+ setOtherBase(null);
99
+ setOtherText("");
100
+ }, { context: "Modal", active: editingOther });
101
+ const tabBar = (_jsxs(Box, { children: [questions.map((qq, i) => {
102
+ const answered = (answers[qq.question]?.length ?? 0) > 0;
103
+ const current = i === index;
104
+ return (_jsxs(Text, { color: current ? theme.permission : undefined, bold: current, children: [answered ? "☑" : "☐", " ", qq.header, " "] }, qq.question));
105
+ }), showSubmitTab ? (_jsx(Text, { color: atSubmit ? theme.permission : undefined, bold: atSubmit, children: "\u23CE Submit" })) : null] }));
106
+ let body;
107
+ if (atSubmit) {
108
+ body = (_jsx(Select, { heading: "Review and submit your answers", options: [{ label: "Submit answers", value: "submit" }], onSelect: () => finish(answers), onCancel: onCancel, active: !editingOther }));
109
+ }
110
+ else if (q && q.multiSelect) {
111
+ const qKey = q.question;
112
+ body = (_jsx(SelectMulti, { heading: q.question, options: buildOptions(q), selected: multiDraft[qKey] ?? [], onChange: (v) => setMultiDraft((d) => ({ ...d, [qKey]: v })), onSubmit: (values) => {
113
+ const nonOther = values.filter((v) => v !== OTHER_VALUE);
114
+ if (values.includes(OTHER_VALUE))
115
+ setOtherBase(nonOther);
116
+ else
117
+ recordAndAdvance(nonOther);
118
+ }, onCancel: onCancel, active: !editingOther }));
119
+ }
120
+ else if (q) {
121
+ const selectEl = (_jsx(Select, { heading: q.question, options: buildOptions(q), onSelect: (value) => {
122
+ if (value === OTHER_VALUE)
123
+ setOtherBase([]);
124
+ else
125
+ recordAndAdvance([value]);
126
+ }, onCancel: onCancel, onFocusChange: setFocusedLabel, active: !editingOther }));
127
+ if (questionHasPreview(q)) {
128
+ const previewText = q.options.find((o) => o.label === focusedLabel)?.preview ?? "";
129
+ body = (_jsxs(Box, { children: [_jsx(Box, { width: "50%", children: selectEl }), _jsx(Box, { width: "50%", marginLeft: 1, paddingX: 1, flexDirection: "column", borderStyle: "round", borderColor: theme.permission, children: previewText ? _jsx(Markdown, { text: previewText }) : _jsx(Text, { dimColor: true, children: "(no preview)" }) })] }));
130
+ }
131
+ else {
132
+ body = selectEl;
133
+ }
134
+ }
135
+ else {
136
+ body = _jsx(Text, { dimColor: true, children: "no questions" });
137
+ }
138
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [tabBar, _jsx(Box, { marginTop: 1, children: body }), editingOther ? (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: theme.permission, children: "Type your own answer (Enter to confirm, Esc to go back):" }), _jsxs(Text, { children: ["> ", otherText] })] })) : null] }));
139
+ }
140
+ //# sourceMappingURL=user-question.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-question.js","sourceRoot":"","sources":["../src/user-question.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ApprovalMode, ApprovalState, EventBus } from "@chances-ai/runtime";
2
- import type { PermissionDecision, PermissionRequest } from "@chances-ai/tools";
2
+ import type { AuthorizationDecision, PermissionDecision, PermissionRequest, QuestionDecision } from "@chances-ai/tools";
3
3
  import { type FrameScheduler } from "./frame-scheduler.js";
4
4
  /** (5.9) Extract the `linesDiff` block (from the first `@@ -d` hunk header to
5
5
  * the end) out of a write/edit permission summary, or null when the summary
@@ -202,7 +202,14 @@ export declare class ChatViewModel {
202
202
  * - `{allow:false}` — plain deny.
203
203
  * - `{allow:false, feedback}` — deny + relay the user's note to the model.
204
204
  */
205
- resolvePermission(decision: PermissionDecision): void;
205
+ resolvePermission(decision: AuthorizationDecision): void;
206
+ /**
207
+ * (5.10b) Resolve an open QUESTION prompt with the user's answers (or a
208
+ * decline). Mirrors {@link resolvePermission} for the `question` pending
209
+ * variant — the `ask_user_question` tool turns the decision into the
210
+ * model-facing tool result.
211
+ */
212
+ resolveQuestion(decision: QuestionDecision): void;
206
213
  /** The current session approval mode (`"default"` when unwired). */
207
214
  get approvalMode(): ApprovalMode;
208
215
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"view-model.d.ts","sourceRoot":"","sources":["../src/view-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-model.d.ts","sourceRoot":"","sources":["../src/view-model.ts"],"names":[],"mappings":"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"}
@@ -344,15 +344,18 @@ export class ChatViewModel {
344
344
  if (this.pending) {
345
345
  const p = this.pending;
346
346
  this.pending = null;
347
- p.resolve({ allow: false });
347
+ // (5.10b) Reject in-flight requests in their own variant.
348
+ p.resolve(p.req.kind === "question" ? { kind: "question", answers: {}, declined: true } : { allow: false });
348
349
  }
349
350
  }
350
351
  detached = false;
351
352
  /** Returned to the PermissionGate as its resolver. After `detach()`,
352
353
  * any call resolves denied synchronously — see `detach()` docstring. */
353
354
  requestPermission = (req) => {
354
- if (this.detached)
355
- return Promise.resolve({ allow: false });
355
+ if (this.detached) {
356
+ // (5.10b) Decline in the request's own variant.
357
+ return Promise.resolve(req.kind === "question" ? { kind: "question", answers: {}, declined: true } : { allow: false });
358
+ }
356
359
  return new Promise((resolve) => {
357
360
  this.pending = { req, resolve };
358
361
  this.forceFlush();
@@ -368,18 +371,43 @@ export class ChatViewModel {
368
371
  */
369
372
  resolvePermission(decision) {
370
373
  const p = this.pending;
374
+ // (5.10b) Authorization-only path; a question pending is settled via
375
+ // resolveQuestion. Narrowing on `kind` also lets us read `req.summary`.
376
+ if (!p || p.req.kind === "question") {
377
+ this.forceFlush();
378
+ return;
379
+ }
371
380
  this.pending = null;
372
- if (p) {
373
- const verb = decision.allow
374
- ? decision.remember
375
- ? "approved (won't ask again)"
376
- : "approved"
377
- : decision.feedback
378
- ? "denied with feedback"
379
- : "denied";
380
- this.pushCommitted({ kind: "info", text: `${verb}: ${p.req.summary}` });
381
- p.resolve(decision);
381
+ const verb = decision.allow
382
+ ? decision.remember
383
+ ? "approved (won't ask again)"
384
+ : "approved"
385
+ : decision.feedback
386
+ ? "denied with feedback"
387
+ : "denied";
388
+ this.pushCommitted({ kind: "info", text: `${verb}: ${p.req.summary}` });
389
+ p.resolve(decision);
390
+ this.forceFlush();
391
+ }
392
+ /**
393
+ * (5.10b) Resolve an open QUESTION prompt with the user's answers (or a
394
+ * decline). Mirrors {@link resolvePermission} for the `question` pending
395
+ * variant — the `ask_user_question` tool turns the decision into the
396
+ * model-facing tool result.
397
+ */
398
+ resolveQuestion(decision) {
399
+ const p = this.pending;
400
+ if (!p || p.req.kind !== "question") {
401
+ this.forceFlush();
402
+ return;
382
403
  }
404
+ this.pending = null;
405
+ const header = p.req.questions[0]?.header ?? "question";
406
+ this.pushCommitted({
407
+ kind: "info",
408
+ text: `${decision.declined ? "declined" : "answered"}: ${header}`,
409
+ });
410
+ p.resolve(decision);
383
411
  this.forceFlush();
384
412
  }
385
413
  // -- approval mode (5.3) ----------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"view-model.js","sourceRoot":"","sources":["../src/view-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-model.js","sourceRoot":"","sources":["../src/view-model.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chances-ai/tui",
3
- "version": "15.0.0",
3
+ "version": "16.0.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -14,17 +14,17 @@
14
14
  "dist"
15
15
  ],
16
16
  "dependencies": {
17
- "@chances-ai/ink-ext": "15.0.0",
18
- "@chances-ai/plugin-api": "15.0.0",
19
- "@chances-ai/runtime": "15.0.0",
20
- "@chances-ai/tools": "15.0.0",
17
+ "@chances-ai/ink-ext": "16.0.0",
18
+ "@chances-ai/plugin-api": "16.0.0",
19
+ "@chances-ai/runtime": "16.0.0",
20
+ "@chances-ai/tools": "16.0.0",
21
21
  "marked": "^18.0.0",
22
22
  "highlight.js": "^11.11.1",
23
23
  "diff": "^9.0.0",
24
24
  "string-width": "^8.2.1"
25
25
  },
26
26
  "peerDependencies": {
27
- "ink": "^7.0.3",
27
+ "ink": "^7.0.5",
28
28
  "react": "^19.2"
29
29
  },
30
30
  "scripts": {