@pentoshi/clai 3.8.18 → 3.8.20
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/agent/compaction-summary.d.ts +1 -1
- package/dist/agent/compaction-summary.js +3 -2
- package/dist/agent/compaction-summary.js.map +1 -1
- package/dist/agent/context-manager.d.ts +29 -2
- package/dist/agent/context-manager.js +125 -17
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/continue-orient.d.ts +39 -0
- package/dist/agent/continue-orient.js +152 -0
- package/dist/agent/continue-orient.js.map +1 -0
- package/dist/agent/plan-mode-reminders.d.ts +5 -2
- package/dist/agent/plan-mode-reminders.js +16 -10
- package/dist/agent/plan-mode-reminders.js.map +1 -1
- package/dist/agent/runner.js +51 -8
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/session-state.d.ts +2 -0
- package/dist/agent/session-state.js +9 -3
- package/dist/agent/session-state.js.map +1 -1
- package/dist/agent/stop-summary.d.ts +2 -2
- package/dist/agent/stop-summary.js +23 -4
- package/dist/agent/stop-summary.js.map +1 -1
- package/dist/agent/tool-output-formatting.js +8 -4
- package/dist/agent/tool-output-formatting.js.map +1 -1
- package/dist/app/controllers/session-compact-helper.d.ts +2 -0
- package/dist/app/controllers/session-compact-helper.js +14 -5
- package/dist/app/controllers/session-compact-helper.js.map +1 -1
- package/dist/app/controllers/session-controller.js +6 -1
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/llm/http.js +22 -12
- package/dist/llm/http.js.map +1 -1
- package/dist/prompts/embedded.js +1 -1
- package/dist/prompts/embedded.js.map +1 -1
- package/dist/prompts/system.agent.md +3 -2
- package/dist/tools/definitions.js +9 -2
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/http.d.ts +2 -0
- package/dist/tools/http.js +208 -57
- package/dist/tools/http.js.map +1 -1
- package/dist/tools/registry.js +1 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tui-v2/app/App.js +39 -1
- package/dist/tui-v2/app/App.js.map +1 -1
- package/dist/tui-v2/app/commands/picker-commands.js +7 -7
- package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
- package/dist/tui-v2/bootstrap/start-tui-v2.js +10 -4
- package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
- package/dist/tui-v2/components/modal/secret-modal.d.ts +3 -1
- package/dist/tui-v2/components/modal/secret-modal.js +110 -18
- package/dist/tui-v2/components/modal/secret-modal.js.map +1 -1
- package/dist/tui-v2/components/toast/toast-anim.d.ts +5 -4
- package/dist/tui-v2/components/toast/toast-anim.js +10 -7
- package/dist/tui-v2/components/toast/toast-anim.js.map +1 -1
- package/dist/tui-v2/components/toast/toast-host.d.ts +9 -3
- package/dist/tui-v2/components/toast/toast-host.js +124 -26
- package/dist/tui-v2/components/toast/toast-host.js.map +1 -1
- package/dist/tui-v2/controllers/overlay-controller.d.ts +6 -0
- package/dist/tui-v2/controllers/overlay-controller.js +25 -0
- package/dist/tui-v2/controllers/overlay-controller.js.map +1 -1
- package/dist/tui-v2/state/transcript-reducer.js +70 -30
- package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
|
@@ -4,34 +4,124 @@ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
|
|
|
4
4
|
* Masked secret entry (INPUT-009, CORE-002, V2-073).
|
|
5
5
|
*
|
|
6
6
|
* Docked above the composer — same chrome as confirmations (no full-screen
|
|
7
|
-
* black wash).
|
|
7
|
+
* black wash). Keys are handled via `useKeyboard` (not a focus-trapped
|
|
8
|
+
* 1-cell input) so click-away cannot freeze typing/Esc, and bullets always
|
|
9
|
+
* reflect keystrokes. Value only leaves via onSubmit / answerSecret.
|
|
8
10
|
*/
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
+
import { useRef, useState } from "react";
|
|
12
|
+
import { useKeyboard, usePaste } from "@opentui/react";
|
|
13
|
+
import { TextAttributes, decodePasteBytes, stripAnsiSequences, } from "@opentui/core";
|
|
11
14
|
import { chordFromKeyEvent } from "../../actions/chord-from-key.js";
|
|
12
|
-
|
|
15
|
+
import { SecretBuffer } from "../../composer/secret-buffer.js";
|
|
13
16
|
const ACCENT = "#e0b000";
|
|
17
|
+
function isPrintableSequence(seq) {
|
|
18
|
+
if (!seq)
|
|
19
|
+
return false;
|
|
20
|
+
for (let i = 0; i < seq.length; i += 1) {
|
|
21
|
+
const code = seq.charCodeAt(i);
|
|
22
|
+
// Allow space and printable ASCII; reject control bytes.
|
|
23
|
+
if (code < 0x20 || code === 0x7f)
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
14
28
|
export function SecretModal(props) {
|
|
15
29
|
const { services, theme, request, docked } = props;
|
|
16
|
-
const
|
|
17
|
-
const [
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
function
|
|
30
|
+
const bufferRef = useRef(new SecretBuffer());
|
|
31
|
+
const [mask, setMask] = useState("");
|
|
32
|
+
function refreshMask() {
|
|
33
|
+
setMask(bufferRef.current.masked());
|
|
34
|
+
}
|
|
35
|
+
function cancel() {
|
|
36
|
+
bufferRef.current.clear();
|
|
37
|
+
services.overlay.answerSecret(undefined);
|
|
38
|
+
}
|
|
39
|
+
function submit() {
|
|
40
|
+
const value = bufferRef.current.reveal();
|
|
41
|
+
bufferRef.current.clear();
|
|
42
|
+
// Empty submit = cancel (same as Esc) — never send empty password to sudo.
|
|
43
|
+
services.overlay.answerSecret(value.length > 0 ? value : undefined);
|
|
44
|
+
}
|
|
45
|
+
// Global keyboard (like ConfirmModal) — does not depend on input focus.
|
|
46
|
+
// A previous 1-cell hidden <input> lost focus after clicks and stopped
|
|
47
|
+
// accepting keys; Esc only worked when that cell was focused.
|
|
48
|
+
useKeyboard((key) => {
|
|
49
|
+
if (key.eventType === "release")
|
|
50
|
+
return;
|
|
22
51
|
const chord = chordFromKeyEvent(key);
|
|
23
52
|
if (chord === "escape") {
|
|
24
53
|
key.preventDefault();
|
|
25
|
-
|
|
54
|
+
cancel();
|
|
26
55
|
return;
|
|
27
56
|
}
|
|
28
|
-
if (
|
|
57
|
+
if (chord === "ctrl+c") {
|
|
58
|
+
// Cancel the password UI immediately. App / SIGINT still own double-press quit.
|
|
29
59
|
key.preventDefault();
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
60
|
+
cancel();
|
|
61
|
+
if (services.session.getState().running) {
|
|
62
|
+
services.session.abort();
|
|
63
|
+
}
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
if (chord === "enter") {
|
|
67
|
+
key.preventDefault();
|
|
68
|
+
submit();
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (chord === "backspace" || key.name === "delete") {
|
|
72
|
+
key.preventDefault();
|
|
73
|
+
const buf = bufferRef.current;
|
|
74
|
+
buf.deleteBackward(buf.length);
|
|
75
|
+
refreshMask();
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
// Ignore other chords (arrows, ctrl+*, etc.) so they don't inject garbage.
|
|
79
|
+
if (key.ctrl || key.meta || key.option || key.super)
|
|
80
|
+
return;
|
|
81
|
+
if ([
|
|
82
|
+
"up",
|
|
83
|
+
"down",
|
|
84
|
+
"left",
|
|
85
|
+
"right",
|
|
86
|
+
"home",
|
|
87
|
+
"end",
|
|
88
|
+
"tab",
|
|
89
|
+
"escape",
|
|
90
|
+
].includes(key.name)) {
|
|
91
|
+
key.preventDefault();
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// Prefer sequence; fall back to single-char name (some terminals omit sequence).
|
|
95
|
+
const seq = typeof key.sequence === "string" && key.sequence.length > 0
|
|
96
|
+
? key.sequence
|
|
97
|
+
: key.name.length === 1
|
|
98
|
+
? key.name
|
|
99
|
+
: "";
|
|
100
|
+
if (!isPrintableSequence(seq))
|
|
101
|
+
return;
|
|
102
|
+
key.preventDefault();
|
|
103
|
+
const buf = bufferRef.current;
|
|
104
|
+
buf.insert(seq, buf.length);
|
|
105
|
+
refreshMask();
|
|
106
|
+
});
|
|
107
|
+
// Paste into the secret buffer (composer paste is disabled while overlay open).
|
|
108
|
+
usePaste((event) => {
|
|
109
|
+
try {
|
|
110
|
+
const text = stripAnsiSequences(decodePasteBytes(event.bytes));
|
|
111
|
+
if (!text || !isPrintableSequence(text.replace(/\r?\n/g, "")))
|
|
112
|
+
return;
|
|
113
|
+
event.preventDefault();
|
|
114
|
+
const cleaned = text.replace(/\r?\n/g, "");
|
|
115
|
+
if (!cleaned)
|
|
116
|
+
return;
|
|
117
|
+
const buf = bufferRef.current;
|
|
118
|
+
buf.insert(cleaned, buf.length);
|
|
119
|
+
refreshMask();
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// ignore paste decode errors
|
|
123
|
+
}
|
|
124
|
+
});
|
|
35
125
|
return (_jsxs("box", { border: true, borderStyle: "rounded", style: {
|
|
36
126
|
flexDirection: "column",
|
|
37
127
|
width: docked ? "100%" : "70%",
|
|
@@ -45,6 +135,8 @@ export function SecretModal(props) {
|
|
|
45
135
|
fg: theme.background,
|
|
46
136
|
bg: ACCENT,
|
|
47
137
|
attributes: TextAttributes.BOLD,
|
|
48
|
-
}, children: ` SECURE · ${request.title.toUpperCase()} ` }), _jsx("text", { content: " " }), _jsx("text", { style: { fg: theme.muted, attributes: TextAttributes.DIM }, children: "never logged or echoed" })] }), _jsx("text", { style: { fg: theme.foreground }, children: request.prompt }), _jsxs("box", { style: { flexDirection: "row", width: "100%" }, children: [
|
|
138
|
+
}, children: ` SECURE · ${request.title.toUpperCase()} ` }), _jsx("text", { content: " " }), _jsx("text", { style: { fg: theme.muted, attributes: TextAttributes.DIM }, children: "never logged or echoed" })] }), _jsx("text", { style: { fg: theme.foreground }, children: request.prompt }), _jsxs("box", { style: { flexDirection: "row", width: "100%" }, children: [_jsxs("text", { style: { fg: ACCENT, attributes: TextAttributes.BOLD }, children: ["password \u203A", " "] }), _jsx("text", { style: { fg: theme.foreground }, children: mask.length > 0 ? mask : "█" }), _jsx("text", { style: { fg: theme.muted, attributes: TextAttributes.DIM }, children: mask.length > 0
|
|
139
|
+
? ` (${String(mask.length)} chars · not shown)`
|
|
140
|
+
: " type password — bullets appear as you type" })] }), _jsxs("box", { style: { flexDirection: "row", width: "100%" }, children: [_jsx("text", { style: { fg: theme.cyan, attributes: TextAttributes.BOLD }, children: "\u203A " }), _jsx("text", { style: { fg: theme.cyan }, children: "enter submit \u00B7 esc cancel \u00B7 ctrl+c cancel (again to quit)" })] })] }));
|
|
49
141
|
}
|
|
50
142
|
//# sourceMappingURL=secret-modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-modal.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/modal/secret-modal.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC
|
|
1
|
+
{"version":3,"file":"secret-modal.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/modal/secret-modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export { easeInCubic, easeOutCubic } from "../../motion/ease.js";
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Minimum toast chip height (pad + one body line + pad).
|
|
8
|
+
* Multi-line wraps use a taller box; pass `boxHeight` into toastAnimAt.
|
|
9
9
|
*/
|
|
10
10
|
export declare const TOAST_BOX_HEIGHT = 3;
|
|
11
11
|
/** Resting top row when fully visible (1 = just under terminal top edge). */
|
|
12
12
|
export declare const TOAST_REST_TOP = 1;
|
|
13
|
-
/** Off-screen top when fully hidden above the viewport. */
|
|
13
|
+
/** Off-screen top when fully hidden above the viewport (min height). */
|
|
14
14
|
export declare const TOAST_HIDDEN_TOP: number;
|
|
15
15
|
export type ToastAnimPhase = "enter" | "hold" | "exit" | "gone";
|
|
16
16
|
export interface ToastAnimState {
|
|
@@ -26,5 +26,6 @@ export interface ToastAnimState {
|
|
|
26
26
|
/**
|
|
27
27
|
* Compute motion for a toast at `ageMs` since createdAt.
|
|
28
28
|
* @param holdMs time at rest (item.durationMs)
|
|
29
|
+
* @param boxHeight rendered height (pad + wrapped body lines); default min chip
|
|
29
30
|
*/
|
|
30
|
-
export declare function toastAnimAt(ageMs: number, holdMs: number): ToastAnimState;
|
|
31
|
+
export declare function toastAnimAt(ageMs: number, holdMs: number, boxHeight?: number): ToastAnimState;
|
|
@@ -6,27 +6,30 @@ import { TOAST_ENTER_MS, TOAST_EXIT_MS, } from "../../controllers/toast-controll
|
|
|
6
6
|
import { easeInCubic, easeOutCubic } from "../../motion/ease.js";
|
|
7
7
|
export { easeInCubic, easeOutCubic } from "../../motion/ease.js";
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Minimum toast chip height (pad + one body line + pad).
|
|
10
|
+
* Multi-line wraps use a taller box; pass `boxHeight` into toastAnimAt.
|
|
11
11
|
*/
|
|
12
12
|
export const TOAST_BOX_HEIGHT = 3;
|
|
13
13
|
/** Resting top row when fully visible (1 = just under terminal top edge). */
|
|
14
14
|
export const TOAST_REST_TOP = 1;
|
|
15
|
-
/** Off-screen top when fully hidden above the viewport. */
|
|
15
|
+
/** Off-screen top when fully hidden above the viewport (min height). */
|
|
16
16
|
export const TOAST_HIDDEN_TOP = -TOAST_BOX_HEIGHT;
|
|
17
17
|
/**
|
|
18
18
|
* Compute motion for a toast at `ageMs` since createdAt.
|
|
19
19
|
* @param holdMs time at rest (item.durationMs)
|
|
20
|
+
* @param boxHeight rendered height (pad + wrapped body lines); default min chip
|
|
20
21
|
*/
|
|
21
|
-
export function toastAnimAt(ageMs, holdMs) {
|
|
22
|
+
export function toastAnimAt(ageMs, holdMs, boxHeight = TOAST_BOX_HEIGHT) {
|
|
22
23
|
const age = Math.max(0, ageMs);
|
|
23
24
|
const hold = Math.max(0, holdMs);
|
|
25
|
+
const h = Math.max(TOAST_BOX_HEIGHT, Math.floor(boxHeight));
|
|
26
|
+
const hiddenTop = -h;
|
|
24
27
|
const enterEnd = TOAST_ENTER_MS;
|
|
25
28
|
const holdEnd = enterEnd + hold;
|
|
26
29
|
const exitEnd = holdEnd + TOAST_EXIT_MS;
|
|
27
30
|
if (age < enterEnd) {
|
|
28
31
|
const p = easeOutCubic(age / Math.max(1, TOAST_ENTER_MS));
|
|
29
|
-
const top = Math.round(
|
|
32
|
+
const top = Math.round(hiddenTop + (TOAST_REST_TOP - hiddenTop) * p);
|
|
30
33
|
return { phase: "enter", top, visibility: p };
|
|
31
34
|
}
|
|
32
35
|
if (age < holdEnd) {
|
|
@@ -34,9 +37,9 @@ export function toastAnimAt(ageMs, holdMs) {
|
|
|
34
37
|
}
|
|
35
38
|
if (age < exitEnd) {
|
|
36
39
|
const p = easeInCubic((age - holdEnd) / Math.max(1, TOAST_EXIT_MS));
|
|
37
|
-
const top = Math.round(TOAST_REST_TOP + (
|
|
40
|
+
const top = Math.round(TOAST_REST_TOP + (hiddenTop - TOAST_REST_TOP) * p);
|
|
38
41
|
return { phase: "exit", top, visibility: 1 - p };
|
|
39
42
|
}
|
|
40
|
-
return { phase: "gone", top:
|
|
43
|
+
return { phase: "gone", top: hiddenTop, visibility: 0 };
|
|
41
44
|
}
|
|
42
45
|
//# sourceMappingURL=toast-anim.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast-anim.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/toast/toast-anim.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,cAAc,EACd,aAAa,GACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,
|
|
1
|
+
{"version":3,"file":"toast-anim.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/toast/toast-anim.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,cAAc,EACd,aAAa,GACd,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,wEAAwE;AACxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,gBAAgB,CAAC;AAelD;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,KAAa,EACb,MAAc,EACd,YAAoB,gBAAgB;IAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC;IACrB,MAAM,QAAQ,GAAG,cAAc,CAAC;IAChC,MAAM,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC;IAChC,MAAM,OAAO,GAAG,OAAO,GAAG,aAAa,CAAC;IAExC,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;QAClB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;AAC1D,CAAC"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Notification toasts — top-center, slide in / hold / slide out.
|
|
4
4
|
*
|
|
5
5
|
* Solid message-chip style (no border): intro "AGENT MODE" plate (`theme.mode`)
|
|
6
|
-
* with white bold text.
|
|
6
|
+
* with white bold text. Long messages wrap within the terminal; never spill
|
|
7
|
+
* past the screen edge.
|
|
7
8
|
*/
|
|
8
9
|
import { type ReactNode } from "react";
|
|
9
10
|
import type { ToastController, ToastLevel } from "../../controllers/toast-controller.js";
|
|
@@ -14,6 +15,11 @@ export interface ToastHostProps {
|
|
|
14
15
|
readonly termWidth: number;
|
|
15
16
|
readonly termHeight: number;
|
|
16
17
|
}
|
|
17
|
-
/**
|
|
18
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Word-wrap toast body to `innerWidth` columns (no side pads).
|
|
20
|
+
* First line includes the level glyph; later lines are indented to match.
|
|
21
|
+
*/
|
|
22
|
+
export declare function wrapToastBody(level: ToastLevel, message: string, innerWidth: number): string[];
|
|
23
|
+
/** Pad each body line to full chip width with H_PAD on both sides. */
|
|
24
|
+
export declare function padToastLines(bodyLines: string[], chipWidth: number): string[];
|
|
19
25
|
export declare function ToastHost(props: ToastHostProps): ReactNode;
|
|
@@ -4,7 +4,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@opentui/reac
|
|
|
4
4
|
* Notification toasts — top-center, slide in / hold / slide out.
|
|
5
5
|
*
|
|
6
6
|
* Solid message-chip style (no border): intro "AGENT MODE" plate (`theme.mode`)
|
|
7
|
-
* with white bold text.
|
|
7
|
+
* with white bold text. Long messages wrap within the terminal; never spill
|
|
8
|
+
* past the screen edge.
|
|
8
9
|
*/
|
|
9
10
|
import { useEffect, useState } from "react";
|
|
10
11
|
import { TextAttributes } from "@opentui/core";
|
|
@@ -14,8 +15,10 @@ import { TOAST_BOX_HEIGHT, toastAnimAt, } from "./toast-anim.js";
|
|
|
14
15
|
const TOAST_STACK_GAP = 1;
|
|
15
16
|
/** Animation repaint interval (~30 fps). */
|
|
16
17
|
const TICK_MS = 33;
|
|
17
|
-
/** Horizontal padding
|
|
18
|
-
const H_PAD =
|
|
18
|
+
/** Horizontal padding columns each side of the body text. */
|
|
19
|
+
const H_PAD = 2;
|
|
20
|
+
/** Cap wrap lines so a pathological message cannot cover the whole TUI. */
|
|
21
|
+
const MAX_BODY_LINES = 6;
|
|
19
22
|
function levelGlyph(level) {
|
|
20
23
|
switch (level) {
|
|
21
24
|
case "success":
|
|
@@ -28,31 +31,117 @@ function levelGlyph(level) {
|
|
|
28
31
|
return "·";
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
|
-
/**
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Word-wrap toast body to `innerWidth` columns (no side pads).
|
|
36
|
+
* First line includes the level glyph; later lines are indented to match.
|
|
37
|
+
*/
|
|
38
|
+
export function wrapToastBody(level, message, innerWidth) {
|
|
39
|
+
const w = Math.max(8, innerWidth);
|
|
40
|
+
const prefix = `${levelGlyph(level)} `;
|
|
41
|
+
const indent = " ".repeat(Math.min(prefix.length, w));
|
|
42
|
+
const words = message.replace(/\s+/g, " ").trim().split(" ").filter(Boolean);
|
|
43
|
+
if (words.length === 0)
|
|
44
|
+
return [prefix.trimEnd() || "·"];
|
|
45
|
+
const lines = [];
|
|
46
|
+
let line = prefix;
|
|
47
|
+
let isFirst = true;
|
|
48
|
+
const push = (s) => {
|
|
49
|
+
lines.push(s);
|
|
50
|
+
};
|
|
51
|
+
for (const word of words) {
|
|
52
|
+
const lead = isFirst ? prefix : indent;
|
|
53
|
+
if (lines.length === 0 && isFirst) {
|
|
54
|
+
// seed first line
|
|
55
|
+
if (prefix.length + word.length <= w) {
|
|
56
|
+
line = prefix + word;
|
|
57
|
+
isFirst = false;
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
// word alone longer than width — hard break
|
|
61
|
+
const chunk = word.slice(0, Math.max(1, w - prefix.length));
|
|
62
|
+
push(prefix + chunk);
|
|
63
|
+
let rest = word.slice(chunk.length);
|
|
64
|
+
while (rest.length > 0 && lines.length < MAX_BODY_LINES) {
|
|
65
|
+
const piece = rest.slice(0, w - indent.length);
|
|
66
|
+
push(indent + piece);
|
|
67
|
+
rest = rest.slice(piece.length);
|
|
68
|
+
}
|
|
69
|
+
isFirst = false;
|
|
70
|
+
line = indent;
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const candidate = `${line} ${word}`;
|
|
74
|
+
if (candidate.length <= w) {
|
|
75
|
+
line = candidate;
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
push(line);
|
|
79
|
+
if (lines.length >= MAX_BODY_LINES)
|
|
80
|
+
break;
|
|
81
|
+
if (indent.length + word.length <= w) {
|
|
82
|
+
line = indent + word;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
let rest = word;
|
|
86
|
+
while (rest.length > 0 && lines.length < MAX_BODY_LINES) {
|
|
87
|
+
const piece = rest.slice(0, Math.max(1, w - indent.length));
|
|
88
|
+
if (line !== indent && line.length > indent.length) {
|
|
89
|
+
push(line);
|
|
90
|
+
if (lines.length >= MAX_BODY_LINES)
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
line = indent + piece;
|
|
94
|
+
rest = rest.slice(piece.length);
|
|
95
|
+
if (rest.length === 0)
|
|
96
|
+
break;
|
|
97
|
+
push(line);
|
|
98
|
+
line = indent;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (line.trim().length > 0 && lines.length < MAX_BODY_LINES) {
|
|
103
|
+
if (lines[lines.length - 1] !== line)
|
|
104
|
+
push(line);
|
|
105
|
+
}
|
|
106
|
+
// Soft-cap: if still more content, mark last line with ellipsis.
|
|
107
|
+
if (lines.length >= MAX_BODY_LINES) {
|
|
108
|
+
const last = lines[MAX_BODY_LINES - 1] ?? "";
|
|
109
|
+
lines.length = MAX_BODY_LINES;
|
|
110
|
+
if (!last.endsWith("…")) {
|
|
111
|
+
lines[MAX_BODY_LINES - 1] =
|
|
112
|
+
last.length >= w
|
|
113
|
+
? `${last.slice(0, Math.max(1, w - 1))}…`
|
|
114
|
+
: `${last}…`;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return lines.map((l) => (l.length > w ? l.slice(0, w) : l));
|
|
118
|
+
}
|
|
119
|
+
/** Pad each body line to full chip width with H_PAD on both sides. */
|
|
120
|
+
export function padToastLines(bodyLines, chipWidth) {
|
|
121
|
+
const inner = Math.max(1, chipWidth - H_PAD * 2);
|
|
122
|
+
return bodyLines.map((line) => {
|
|
123
|
+
const clipped = line.length > inner ? line.slice(0, inner) : line;
|
|
124
|
+
return `${" ".repeat(H_PAD)}${clipped.padEnd(inner)}${" ".repeat(H_PAD)}`;
|
|
125
|
+
});
|
|
35
126
|
}
|
|
36
127
|
function ToastPill(props) {
|
|
37
|
-
const { item, theme, top, left, width, visibility } = props;
|
|
128
|
+
const { item, theme, top, left, width, bodyLines, visibility } = props;
|
|
38
129
|
if (visibility <= 0.02)
|
|
39
130
|
return null;
|
|
40
|
-
// Same plate as intro "AGENT MODE" badge; white bold label.
|
|
41
131
|
const plate = theme.mode;
|
|
42
132
|
const textFg = theme.white;
|
|
43
|
-
const label = toastLabel(item.level, item.message);
|
|
44
133
|
const dim = visibility < 0.85;
|
|
45
134
|
const attrs = dim
|
|
46
135
|
? TextAttributes.BOLD | TextAttributes.DIM
|
|
47
136
|
: TextAttributes.BOLD;
|
|
48
|
-
// Vertical pad rows so the label sits centered in a taller chip.
|
|
49
137
|
const blank = " ".repeat(Math.max(1, width));
|
|
138
|
+
const height = 2 + bodyLines.length; // pad + body + pad
|
|
50
139
|
return (_jsxs("box", { style: {
|
|
51
140
|
position: "absolute",
|
|
52
141
|
top,
|
|
53
142
|
left,
|
|
54
143
|
width,
|
|
55
|
-
height
|
|
144
|
+
height,
|
|
56
145
|
zIndex: 1000,
|
|
57
146
|
backgroundColor: plate,
|
|
58
147
|
flexDirection: "column",
|
|
@@ -62,13 +151,13 @@ function ToastPill(props) {
|
|
|
62
151
|
paddingRight: 0,
|
|
63
152
|
paddingTop: 0,
|
|
64
153
|
paddingBottom: 0,
|
|
65
|
-
}, children: [_jsx("text", { selectable: false, content: blank, style: { fg: plate, bg: plate, height: 1, width } }), _jsx("text", { selectable: false, content:
|
|
154
|
+
}, children: [_jsx("text", { selectable: false, content: blank, style: { fg: plate, bg: plate, height: 1, width } }), bodyLines.map((line, i) => (_jsx("text", { selectable: false, content: line, style: {
|
|
66
155
|
fg: textFg,
|
|
67
156
|
bg: plate,
|
|
68
157
|
height: 1,
|
|
69
158
|
width,
|
|
70
159
|
attributes: attrs,
|
|
71
|
-
} }), _jsx("text", { selectable: false, content: blank, style: { fg: plate, bg: plate, height: 1, width } })] }));
|
|
160
|
+
} }, `${item.id}-L${i}`))), _jsx("text", { selectable: false, content: blank, style: { fg: plate, bg: plate, height: 1, width } })] }));
|
|
72
161
|
}
|
|
73
162
|
export function ToastHost(props) {
|
|
74
163
|
const { toast, theme, termWidth, termHeight } = props;
|
|
@@ -83,25 +172,34 @@ export function ToastHost(props) {
|
|
|
83
172
|
}, [items.length > 0]);
|
|
84
173
|
if (items.length === 0)
|
|
85
174
|
return null;
|
|
86
|
-
//
|
|
87
|
-
const maxWidth = Math.max(
|
|
175
|
+
// Cap width so multi-line wrap stays on-screen (leave side margins).
|
|
176
|
+
const maxWidth = Math.max(20, Math.min(termWidth - 4, Math.floor(termWidth * 0.85)));
|
|
88
177
|
const ordered = [...items].reverse();
|
|
178
|
+
// Estimate stack room with min height; actual stack may use more for wraps.
|
|
89
179
|
const maxStack = Math.max(1, Math.min(3, Math.floor((termHeight - 4) / (TOAST_BOX_HEIGHT + TOAST_STACK_GAP))));
|
|
90
180
|
const visible = ordered.slice(0, maxStack);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
const
|
|
181
|
+
let stackY = 0;
|
|
182
|
+
return (_jsx(_Fragment, { children: visible.map((item) => {
|
|
183
|
+
const innerW = Math.max(8, maxWidth - H_PAD * 2);
|
|
184
|
+
const wrapped = wrapToastBody(item.level, item.message, innerW);
|
|
185
|
+
const padded = padToastLines(wrapped, maxWidth);
|
|
186
|
+
// Prefer natural width for short messages; never exceed maxWidth.
|
|
187
|
+
const natural = Math.max(...padded.map((l) => l.length), 16);
|
|
188
|
+
const toastWidth = Math.min(maxWidth, natural);
|
|
189
|
+
// Re-pad to final width if we shrank for short text.
|
|
190
|
+
const bodyLines = toastWidth === maxWidth
|
|
191
|
+
? padded
|
|
192
|
+
: padToastLines(wrapToastBody(item.level, item.message, toastWidth - H_PAD * 2), toastWidth);
|
|
193
|
+
const boxHeight = 2 + bodyLines.length;
|
|
96
194
|
const left = Math.max(0, Math.floor((termWidth - toastWidth) / 2));
|
|
97
|
-
const anim = toastAnimAt(now - item.createdAt, item.durationMs);
|
|
195
|
+
const anim = toastAnimAt(now - item.createdAt, item.durationMs, boxHeight);
|
|
98
196
|
if (anim.phase === "gone")
|
|
99
197
|
return null;
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
if (top +
|
|
198
|
+
const top = anim.top + stackY;
|
|
199
|
+
stackY += boxHeight + TOAST_STACK_GAP;
|
|
200
|
+
if (top + boxHeight < 0)
|
|
103
201
|
return null;
|
|
104
|
-
return (_jsx(ToastPill, { item: item, theme: theme, top: top, left: left, width: toastWidth, visibility: anim.visibility }, item.id));
|
|
202
|
+
return (_jsx(ToastPill, { item: item, theme: theme, top: top, left: left, width: toastWidth, bodyLines: bodyLines, visibility: anim.visibility }, item.id));
|
|
105
203
|
}) }));
|
|
106
204
|
}
|
|
107
205
|
//# sourceMappingURL=toast-host.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast-host.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/toast/toast-host.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AACtC
|
|
1
|
+
{"version":3,"file":"toast-host.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/toast/toast-host.tsx"],"names":[],"mappings":"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"}
|
|
@@ -129,6 +129,12 @@ export declare class OverlayController {
|
|
|
129
129
|
answerConfirm(ok: boolean): void;
|
|
130
130
|
answerPlanConfirm(result: PlanConfirmResult): void;
|
|
131
131
|
answerSecret(value: string | undefined): void;
|
|
132
|
+
/**
|
|
133
|
+
* Dismiss a blocking secret (or confirm) so turn abort / Ctrl+C never leaves
|
|
134
|
+
* a stuck password UI while the agent has already cancelled.
|
|
135
|
+
* Returns true if something was dismissed.
|
|
136
|
+
*/
|
|
137
|
+
cancelBlockingPrompt(): boolean;
|
|
132
138
|
/** The picker's own `onSelect` decides whether/when to close (e.g. a
|
|
133
139
|
* provider pick may chain into a secret prompt instead of closing). */
|
|
134
140
|
selectPicker(value: string): void;
|
|
@@ -161,6 +161,31 @@ export class OverlayController {
|
|
|
161
161
|
this.forceClose();
|
|
162
162
|
resolve(value);
|
|
163
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Dismiss a blocking secret (or confirm) so turn abort / Ctrl+C never leaves
|
|
166
|
+
* a stuck password UI while the agent has already cancelled.
|
|
167
|
+
* Returns true if something was dismissed.
|
|
168
|
+
*/
|
|
169
|
+
cancelBlockingPrompt() {
|
|
170
|
+
if (this.state.kind === "secret") {
|
|
171
|
+
this.answerSecret(undefined);
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
if (this.state.kind === "confirm") {
|
|
175
|
+
if (this.state.request.kind === "plan" && this.state.planResolve) {
|
|
176
|
+
this.answerPlanConfirm("dismiss");
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
this.answerConfirm(false);
|
|
180
|
+
}
|
|
181
|
+
return true;
|
|
182
|
+
}
|
|
183
|
+
if (this.state.kind === "scope-editor") {
|
|
184
|
+
this.answerScope(undefined);
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
164
189
|
/** The picker's own `onSelect` decides whether/when to close (e.g. a
|
|
165
190
|
* provider pick may chain into a secret prompt instead of closing). */
|
|
166
191
|
selectPicker(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay-controller.js","sourceRoot":"","sources":["../../../src/tui-v2/controllers/overlay-controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overlay-controller.js","sourceRoot":"","sources":["../../../src/tui-v2/controllers/overlay-controller.ts"],"names":[],"mappings":"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"}
|