@chances-ai/tui 14.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/api-key-prompt.d.ts +8 -15
- package/dist/api-key-prompt.d.ts.map +1 -1
- package/dist/api-key-prompt.js +18 -30
- package/dist/api-key-prompt.js.map +1 -1
- package/dist/app.d.ts +5 -8
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +167 -100
- package/dist/app.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/modal.d.ts +3 -2
- package/dist/modal.d.ts.map +1 -1
- package/dist/modal.js +3 -2
- package/dist/modal.js.map +1 -1
- package/dist/model-picker.d.ts +7 -39
- package/dist/model-picker.d.ts.map +1 -1
- package/dist/model-picker.js +14 -67
- package/dist/model-picker.js.map +1 -1
- package/dist/select-multi.d.ts +36 -0
- package/dist/select-multi.d.ts.map +1 -0
- package/dist/select-multi.js +104 -0
- package/dist/select-multi.js.map +1 -0
- package/dist/select.d.ts +63 -0
- package/dist/select.d.ts.map +1 -0
- package/dist/select.js +122 -0
- package/dist/select.js.map +1 -0
- package/dist/session-picker.d.ts +7 -15
- package/dist/session-picker.d.ts.map +1 -1
- package/dist/session-picker.js +14 -42
- package/dist/session-picker.js.map +1 -1
- package/dist/slash-typeahead.d.ts +34 -0
- package/dist/slash-typeahead.d.ts.map +1 -0
- package/dist/slash-typeahead.js +78 -0
- package/dist/slash-typeahead.js.map +1 -0
- package/dist/user-question.d.ts +26 -0
- package/dist/user-question.d.ts.map +1 -0
- package/dist/user-question.js +140 -0
- package/dist/user-question.js.map +1 -0
- package/dist/view-model.d.ts +9 -2
- package/dist/view-model.d.ts.map +1 -1
- package/dist/view-model.js +41 -13
- package/dist/view-model.js.map +1 -1
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-picker.d.ts","sourceRoot":"","sources":["../src/session-picker.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-picker.d.ts","sourceRoot":"","sources":["../src/session-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB;qEACiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;CACrD,GAAG,GAAG,CAAC,OAAO,CAcd"}
|
package/dist/session-picker.js
CHANGED
|
@@ -1,47 +1,19 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
2
|
-
import {
|
|
3
|
-
import { useState } from "react";
|
|
4
|
-
import { useTheme } from "./theme-context.js";
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Select } from "./select.js";
|
|
5
3
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (key.escape)
|
|
13
|
-
return { cursor: safe, resolved: null };
|
|
14
|
-
if (key.return)
|
|
15
|
-
return { cursor: safe, resolved: sessions[safe] ?? null };
|
|
16
|
-
if (key.upArrow)
|
|
17
|
-
return { cursor: Math.max(0, safe - 1) };
|
|
18
|
-
if (key.downArrow)
|
|
19
|
-
return { cursor: Math.min(sessions.length - 1, safe + 1) };
|
|
20
|
-
return { cursor: safe };
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Vertical list of recent sessions with arrow-key cursor + Enter to resume.
|
|
24
|
-
* Modeled on oh-my-pi's `session-selector.ts`; simplified — no fuzzy filter
|
|
25
|
-
* yet (defer until lists exceed ~20 entries in practice). All keystroke
|
|
26
|
-
* logic in {@link reduceSessionPicker} for testability.
|
|
4
|
+
* (5.10 A4) Recent-session picker — a thin wrapper over the generic
|
|
5
|
+
* {@link Select}. The old `useInput` + `reduceSessionPicker` reducer are gone;
|
|
6
|
+
* the ↑↓/Enter/Esc behavior is the Select's (see `select.test`). Not filterable
|
|
7
|
+
* (lists are short — last ~10 by updatedAt). Signature unchanged so
|
|
8
|
+
* `apps/cli/src/slash/resume.ts` renders `<SessionPicker sessions onChoose/>`
|
|
9
|
+
* verbatim.
|
|
27
10
|
*/
|
|
28
11
|
export function SessionPicker({ sessions, onChoose, }) {
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
onChoose(resolved);
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
if (next !== cursor)
|
|
39
|
-
setCursor(next);
|
|
40
|
-
});
|
|
41
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: theme.permission, paddingX: 1, children: [_jsx(Text, { color: theme.permission, children: "Resume a session \u00B7 \u2191\u2193 \u00B7 Enter \u00B7 Esc" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: sessions.length === 0 ? (_jsx(Text, { dimColor: true, children: "no saved sessions in this workspace" })) : (sessions.slice(0, 10).map((s, i) => {
|
|
42
|
-
const selected = i === safeCursor;
|
|
43
|
-
const date = s.updatedAt.slice(0, 10);
|
|
44
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: selected ? theme.permission : undefined, children: [selected ? "▸ " : " ", _jsx(Text, { dimColor: true, children: date }), " ", s.title] }), s.preview ? (_jsxs(Text, { dimColor: true, children: [" ", s.preview.slice(0, 60)] })) : null] }, s.id));
|
|
45
|
-
})) })] }));
|
|
12
|
+
const options = sessions.map((s) => ({
|
|
13
|
+
label: `${s.updatedAt.slice(0, 10)} ${s.title}`,
|
|
14
|
+
value: s,
|
|
15
|
+
description: s.preview ? s.preview.slice(0, 60) : undefined,
|
|
16
|
+
}));
|
|
17
|
+
return (_jsx(Select, { heading: "Resume a session \u00B7 \u2191\u2193 \u00B7 Enter \u00B7 Esc", options: options, onSelect: onChoose, onCancel: () => onChoose(null) }));
|
|
46
18
|
}
|
|
47
19
|
//# sourceMappingURL=session-picker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-picker.js","sourceRoot":"","sources":["../src/session-picker.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"session-picker.js","sourceRoot":"","sources":["../src/session-picker.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAqB,MAAM,aAAa,CAAC;AAYxD;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,QAAQ,GAIT;IACC,MAAM,OAAO,GAAoC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,KAAK,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE;QAC/C,KAAK,EAAE,CAAC;QACR,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KAC5D,CAAC,CAAC,CAAC;IACJ,OAAO,CACL,KAAC,MAAM,IACL,OAAO,EAAC,8DAAqC,EAC7C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAC9B,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type JSX } from "react";
|
|
2
|
+
export interface SlashSuggestion {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
/** (5.10 A3) Ghost-text shown after the name, e.g. `<provider> <url>`. */
|
|
6
|
+
argumentHint?: string;
|
|
7
|
+
}
|
|
8
|
+
/** Pure helper for picking the suggestions to show for a partial input. The
|
|
9
|
+
* typeahead is only meaningful before the first space (while typing the command
|
|
10
|
+
* NAME); once args begin, the menu hides and Enter submits normally. */
|
|
11
|
+
export declare function suggestSlashCommands(input: string, available: SlashSuggestion[]): SlashSuggestion[];
|
|
12
|
+
/**
|
|
13
|
+
* (5.10 A3) Stateful slash-command typeahead — replaces the old passive
|
|
14
|
+
* ghost-text list. While visible it owns the **non-modal** `Autocomplete`
|
|
15
|
+
* context (ink-ext A1), so the user keeps typing into chat to filter, but
|
|
16
|
+
* `↑/↓` select, `Tab` completes the name, `Enter` executes the SELECTED command
|
|
17
|
+
* (not the raw text), and `Esc` dismisses. The Enter interception is real
|
|
18
|
+
* submit-gating: `Autocomplete.return → autocomplete:execute` resolves before
|
|
19
|
+
* `Chat.chat:submit` on the bus, so the menu must be acted on or dismissed.
|
|
20
|
+
*
|
|
21
|
+
* Visible only while typing the command name (input starts with `/`, no space
|
|
22
|
+
* yet, ≥1 match, not dismissed). Tab inserts a trailing space → the menu closes
|
|
23
|
+
* and the user types args, which Enter then submits via the normal chat path.
|
|
24
|
+
*/
|
|
25
|
+
export declare function SlashTypeahead({ input, available, busy, onComplete, onExecute, }: {
|
|
26
|
+
input: string;
|
|
27
|
+
available: SlashSuggestion[];
|
|
28
|
+
busy: boolean;
|
|
29
|
+
/** Tab: replace the draft with the completed `"/name "` (trailing space). */
|
|
30
|
+
onComplete: (newInput: string) => void;
|
|
31
|
+
/** Enter: run the selected command line `"/name"`. */
|
|
32
|
+
onExecute: (line: string) => void;
|
|
33
|
+
}): JSX.Element | null;
|
|
34
|
+
//# sourceMappingURL=slash-typeahead.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash-typeahead.d.ts","sourceRoot":"","sources":["../src/slash-typeahead.tsx"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAItD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;yEAEyE;AACzE,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,eAAe,EAAE,GAC3B,eAAe,EAAE,CAKnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,SAAS,EACT,IAAI,EACJ,UAAU,EACV,SAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,6EAA6E;IAC7E,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,sDAAsD;IACtD,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAgErB"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from "ink";
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
4
|
+
import { useKeybinding, useKeybindingContext } from "@chances-ai/ink-ext";
|
|
5
|
+
import { useTheme } from "./theme-context.js";
|
|
6
|
+
/** Pure helper for picking the suggestions to show for a partial input. The
|
|
7
|
+
* typeahead is only meaningful before the first space (while typing the command
|
|
8
|
+
* NAME); once args begin, the menu hides and Enter submits normally. */
|
|
9
|
+
export function suggestSlashCommands(input, available) {
|
|
10
|
+
if (!input.startsWith("/"))
|
|
11
|
+
return [];
|
|
12
|
+
const partial = input.slice(1).toLowerCase();
|
|
13
|
+
if (partial === "")
|
|
14
|
+
return available.slice(0, 5);
|
|
15
|
+
return available.filter((c) => c.name.toLowerCase().startsWith(partial)).slice(0, 5);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* (5.10 A3) Stateful slash-command typeahead — replaces the old passive
|
|
19
|
+
* ghost-text list. While visible it owns the **non-modal** `Autocomplete`
|
|
20
|
+
* context (ink-ext A1), so the user keeps typing into chat to filter, but
|
|
21
|
+
* `↑/↓` select, `Tab` completes the name, `Enter` executes the SELECTED command
|
|
22
|
+
* (not the raw text), and `Esc` dismisses. The Enter interception is real
|
|
23
|
+
* submit-gating: `Autocomplete.return → autocomplete:execute` resolves before
|
|
24
|
+
* `Chat.chat:submit` on the bus, so the menu must be acted on or dismissed.
|
|
25
|
+
*
|
|
26
|
+
* Visible only while typing the command name (input starts with `/`, no space
|
|
27
|
+
* yet, ≥1 match, not dismissed). Tab inserts a trailing space → the menu closes
|
|
28
|
+
* and the user types args, which Enter then submits via the normal chat path.
|
|
29
|
+
*/
|
|
30
|
+
export function SlashTypeahead({ input, available, busy, onComplete, onExecute, }) {
|
|
31
|
+
const { theme } = useTheme();
|
|
32
|
+
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
33
|
+
const [dismissed, setDismissed] = useState(false);
|
|
34
|
+
const matches = suggestSlashCommands(input, available);
|
|
35
|
+
const isCommandName = input.startsWith("/") && !input.includes(" ");
|
|
36
|
+
const visible = isCommandName && matches.length > 0 && !dismissed;
|
|
37
|
+
// Any edit to the draft re-opens the menu and resets the selection — the
|
|
38
|
+
// filter changed, so a stale index/dismiss must not stick.
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
setDismissed(false);
|
|
41
|
+
setSelectedIndex(0);
|
|
42
|
+
}, [input]);
|
|
43
|
+
const safeIndex = Math.min(selectedIndex, Math.max(0, matches.length - 1));
|
|
44
|
+
useKeybindingContext("Autocomplete", visible);
|
|
45
|
+
useKeybinding("autocomplete:previous", () => setSelectedIndex(Math.max(0, safeIndex - 1)), {
|
|
46
|
+
context: "Autocomplete",
|
|
47
|
+
active: visible,
|
|
48
|
+
});
|
|
49
|
+
useKeybinding("autocomplete:next", () => setSelectedIndex(Math.min(matches.length - 1, safeIndex + 1)), {
|
|
50
|
+
context: "Autocomplete",
|
|
51
|
+
active: visible,
|
|
52
|
+
});
|
|
53
|
+
useKeybinding("autocomplete:accept", // Tab — complete the name, leave args to the user
|
|
54
|
+
() => {
|
|
55
|
+
const m = matches[safeIndex];
|
|
56
|
+
if (m)
|
|
57
|
+
onComplete(`/${m.name} `);
|
|
58
|
+
}, { context: "Autocomplete", active: visible });
|
|
59
|
+
useKeybinding("autocomplete:execute", // Enter — run the selected command
|
|
60
|
+
() => {
|
|
61
|
+
if (busy)
|
|
62
|
+
return; // mirror chat:submit's streaming guard
|
|
63
|
+
const m = matches[safeIndex];
|
|
64
|
+
if (m)
|
|
65
|
+
onExecute(`/${m.name}`);
|
|
66
|
+
}, { context: "Autocomplete", active: visible });
|
|
67
|
+
useKeybinding("autocomplete:dismiss", () => setDismissed(true), {
|
|
68
|
+
context: "Autocomplete",
|
|
69
|
+
active: visible,
|
|
70
|
+
});
|
|
71
|
+
if (!visible)
|
|
72
|
+
return null;
|
|
73
|
+
return (_jsx(Box, { flexDirection: "column", marginLeft: 2, children: matches.map((m, i) => {
|
|
74
|
+
const selected = i === safeIndex;
|
|
75
|
+
return (_jsxs(Text, { color: selected ? theme.permission : undefined, dimColor: !selected, children: [selected ? "❯ " : " ", "/", m.name, m.argumentHint ? _jsxs(Text, { dimColor: true, children: [" ", m.argumentHint] }) : null, _jsxs(Text, { dimColor: true, children: [" \u2014 ", m.description] })] }, m.name));
|
|
76
|
+
}) }));
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=slash-typeahead.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash-typeahead.js","sourceRoot":"","sources":["../src/slash-typeahead.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|
package/dist/view-model.d.ts
CHANGED
|
@@ -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:
|
|
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
|
/**
|
package/dist/view-model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-model.d.ts","sourceRoot":"","sources":["../src/view-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"view-model.d.ts","sourceRoot":"","sources":["../src/view-model.ts"],"names":[],"mappings":"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"}
|
package/dist/view-model.js
CHANGED
|
@@ -344,15 +344,18 @@ export class ChatViewModel {
|
|
|
344
344
|
if (this.pending) {
|
|
345
345
|
const p = this.pending;
|
|
346
346
|
this.pending = null;
|
|
347
|
-
|
|
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
|
-
|
|
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
|
-
|
|
373
|
-
|
|
374
|
-
?
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
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) ----------------------------------------------------
|
package/dist/view-model.js.map
CHANGED
|
@@ -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": "
|
|
3
|
+
"version": "16.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -14,16 +14,17 @@
|
|
|
14
14
|
"dist"
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@chances-ai/
|
|
18
|
-
"@chances-ai/
|
|
19
|
-
"@chances-ai/
|
|
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",
|
|
20
21
|
"marked": "^18.0.0",
|
|
21
22
|
"highlight.js": "^11.11.1",
|
|
22
23
|
"diff": "^9.0.0",
|
|
23
24
|
"string-width": "^8.2.1"
|
|
24
25
|
},
|
|
25
26
|
"peerDependencies": {
|
|
26
|
-
"ink": "^7.0.
|
|
27
|
+
"ink": "^7.0.5",
|
|
27
28
|
"react": "^19.2"
|
|
28
29
|
},
|
|
29
30
|
"scripts": {
|