@corenel/web-ui 0.8.0 → 0.10.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.
Files changed (83) hide show
  1. package/dist/AskUser.d.ts.map +1 -1
  2. package/dist/AskUser.js +3 -1
  3. package/dist/AskUser.js.map +1 -1
  4. package/dist/CommandTray.d.ts.map +1 -1
  5. package/dist/CommandTray.js +2 -1
  6. package/dist/CommandTray.js.map +1 -1
  7. package/dist/Composer.d.ts.map +1 -1
  8. package/dist/Composer.js +14 -6
  9. package/dist/Composer.js.map +1 -1
  10. package/dist/ContextBar.d.ts.map +1 -1
  11. package/dist/ContextBar.js +24 -1
  12. package/dist/ContextBar.js.map +1 -1
  13. package/dist/ContextManager.d.ts +10 -1
  14. package/dist/ContextManager.d.ts.map +1 -1
  15. package/dist/ContextManager.js +63 -26
  16. package/dist/ContextManager.js.map +1 -1
  17. package/dist/ContextStrip.d.ts +5 -1
  18. package/dist/ContextStrip.d.ts.map +1 -1
  19. package/dist/ContextStrip.js +4 -1
  20. package/dist/ContextStrip.js.map +1 -1
  21. package/dist/ExclusionsModal.d.ts +3 -0
  22. package/dist/ExclusionsModal.d.ts.map +1 -1
  23. package/dist/ExclusionsModal.js +28 -7
  24. package/dist/ExclusionsModal.js.map +1 -1
  25. package/dist/RichContent.d.ts.map +1 -1
  26. package/dist/RichContent.js +3 -1
  27. package/dist/RichContent.js.map +1 -1
  28. package/dist/SummaryTranscript.d.ts.map +1 -1
  29. package/dist/SummaryTranscript.js +4 -3
  30. package/dist/SummaryTranscript.js.map +1 -1
  31. package/dist/TodoBar.d.ts.map +1 -1
  32. package/dist/TodoBar.js +12 -6
  33. package/dist/TodoBar.js.map +1 -1
  34. package/dist/ToolFold.d.ts.map +1 -1
  35. package/dist/ToolFold.js +2 -1
  36. package/dist/ToolFold.js.map +1 -1
  37. package/dist/Transcript.d.ts.map +1 -1
  38. package/dist/Transcript.js +30 -20
  39. package/dist/Transcript.js.map +1 -1
  40. package/dist/agentChat/AgentChat.d.ts +8 -2
  41. package/dist/agentChat/AgentChat.d.ts.map +1 -1
  42. package/dist/agentChat/AgentChat.js +149 -90
  43. package/dist/agentChat/AgentChat.js.map +1 -1
  44. package/dist/agentChat/OptionsDrawer.js +1 -1
  45. package/dist/agentChat/OptionsDrawer.js.map +1 -1
  46. package/dist/agentChat/PlanReview.d.ts +37 -5
  47. package/dist/agentChat/PlanReview.d.ts.map +1 -1
  48. package/dist/agentChat/PlanReview.js +192 -24
  49. package/dist/agentChat/PlanReview.js.map +1 -1
  50. package/dist/agentChat/controller.d.ts +16 -1
  51. package/dist/agentChat/controller.d.ts.map +1 -1
  52. package/dist/agentChat/controller.js.map +1 -1
  53. package/dist/chatSkin.d.ts +20 -0
  54. package/dist/chatSkin.d.ts.map +1 -0
  55. package/dist/chatSkin.js +220 -0
  56. package/dist/chatSkin.js.map +1 -0
  57. package/dist/chatSkinContext.d.ts +55 -0
  58. package/dist/chatSkinContext.d.ts.map +1 -0
  59. package/dist/chatSkinContext.js +16 -0
  60. package/dist/chatSkinContext.js.map +1 -0
  61. package/dist/chatSkinCss.d.ts +3 -0
  62. package/dist/chatSkinCss.d.ts.map +1 -0
  63. package/dist/chatSkinCss.js +202 -0
  64. package/dist/chatSkinCss.js.map +1 -0
  65. package/dist/commandTurn.d.ts +4 -1
  66. package/dist/commandTurn.d.ts.map +1 -1
  67. package/dist/commandTurn.js +13 -1
  68. package/dist/commandTurn.js.map +1 -1
  69. package/dist/contextCopy.d.ts +13 -0
  70. package/dist/contextCopy.d.ts.map +1 -0
  71. package/dist/contextCopy.js +20 -0
  72. package/dist/contextCopy.js.map +1 -0
  73. package/dist/toolRender.d.ts.map +1 -1
  74. package/dist/toolRender.js +7 -6
  75. package/dist/toolRender.js.map +1 -1
  76. package/dist/transcriptSkin.d.ts +23 -1
  77. package/dist/transcriptSkin.d.ts.map +1 -1
  78. package/dist/transcriptSkin.js +134 -9
  79. package/dist/transcriptSkin.js.map +1 -1
  80. package/dist/transcriptSkinCss.d.ts.map +1 -1
  81. package/dist/transcriptSkinCss.js +17 -10
  82. package/dist/transcriptSkinCss.js.map +1 -1
  83. package/package.json +5 -5
@@ -1,23 +1,44 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  /* Plan approval: a one-line card and a review sheet.
3
3
  *
4
- * The orchestrator's plan used to be approved from a small scrolling box in a
5
- * corner card. The card now says what is being approved in one line, and
6
- * Review plan opens the whole plan, rendered, in a centred dialog on a wide
7
- * screen or a sheet from the bottom on a phone, with the decision in a footer
8
- * that stays in view however long the plan is.
4
+ * The card says what is being approved in one line ("orchestrator proposes 4
5
+ * tasks · 3 agents") and keeps Deny and Approve for a one-tap decision.
6
+ * Review plan opens the sheet: the task the run was given and its acceptance
7
+ * criteria, then the plan as a task list (number, title, the agent who will
8
+ * do it), each opening to its files and steps with code folded until asked
9
+ * for. A plan with no `### Task N:` sections is shown as text in the same
10
+ * sheet.
9
11
  *
10
- * Closing the sheet (Escape, the backdrop, Close) decides nothing: the ask
11
- * stays open on the card. Both hosts use this -- the in-chat permission card
12
- * and the daemon's app-wide approvals -- so a plan looks the same wherever it
13
- * is approved.
12
+ * Where it opens: a centred dialog on a wide screen. At 640px and under, the
13
+ * host's bottom sheet (useHostSheet) resting at half or nearly full height;
14
+ * its decision bar is fixed to the bottom of the screen apart from the sheet,
15
+ * because a detented sheet is laid out at its tallest and slid down, so a bar
16
+ * inside it would be off screen at half height. A host with no sheet gets the
17
+ * dialog anchored to the bottom instead.
18
+ *
19
+ * Closing (Escape, the backdrop, Close, dragging the sheet away) decides
20
+ * nothing: the ask stays open on the card. Deny with a note sends the note as
21
+ * the reason the agent is given.
22
+ *
23
+ * `mode="view"` shows an approved plan read-only (the Watch panel's Open
24
+ * file): the same layout, no decision bar.
14
25
  */
15
- import { useEffect, useRef, useState } from 'react';
26
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
16
27
  import { createPortal } from 'react-dom';
17
- import { IcCheck, IcKey, IcX } from '@corenel/ui-kit/icons';
28
+ import { IcCheck, IcChevronRight, IcKey, IcX } from '@corenel/ui-kit/icons';
29
+ import { useHostSheet } from '@corenel/ui-kit/sheetHost';
30
+ import { parsePlanSections, splitFences } from '@corenel/harness/orchestrator/planDoc';
18
31
  import { Markdown } from '../RichContent';
32
+ import { ChatSkinCarry } from '../chatSkin';
19
33
  export const SUBMIT_PLAN = 'submit_plan';
20
34
  const PREFIX = /^Approve plan:\s*\n?/;
35
+ /** Phone sheet resting heights: half, and nearly full. */
36
+ export const SHEET_DETENTS = [0.5, 0.92];
37
+ /** Room kept under the sheet's content for the fixed decision bar until its
38
+ * height is measured (and where it cannot be). */
39
+ const FOOT_H = 64;
40
+ /** The longest note the box takes (the daemon caps it again). */
41
+ const NOTE_MAX = 2000;
21
42
  /** The plan text from a submit_plan ask: its input when there is one, else the
22
43
  * approval summary without its "Approve plan:" lead. */
23
44
  export function planTextOf(input, summary) {
@@ -34,6 +55,35 @@ export function countPlanSteps(text) {
34
55
  return tasks;
35
56
  return text.match(/^\s*\d+[.)]\s+\S/gm)?.length ?? 0;
36
57
  }
58
+ function plural(n, word) {
59
+ return `${n} ${word}${n === 1 ? '' : 's'}`;
60
+ }
61
+ /** "3 tasks · 2 agents" for a structured plan; null when it has no tasks. */
62
+ export function planHeadline(sections) {
63
+ if (!sections.length)
64
+ return null;
65
+ const agents = new Set(sections.map((s) => s.agent).filter(Boolean)).size;
66
+ return `${plural(sections.length, 'task')} · ${plural(agents, 'agent')}`;
67
+ }
68
+ /** Two letters for an agent's chip: the first letters of its first two
69
+ * words, else its first two letters. */
70
+ export function agentInitials(name) {
71
+ const [a = '', b = ''] = name.split(/[^A-Za-z0-9]+/).filter(Boolean);
72
+ const pick = b ? `${a.charAt(0)}${b.charAt(0)}` : a.slice(0, 2);
73
+ return pick.toUpperCase() || '?';
74
+ }
75
+ /** Job titles by name from a roster; the first title seen for a name wins. */
76
+ export function planAgentsOf(list) {
77
+ const out = {};
78
+ for (const a of list) {
79
+ const prior = out[a.name];
80
+ if (!prior)
81
+ out[a.name] = a.jobTitle ? { jobTitle: a.jobTitle } : {};
82
+ else if (!prior.jobTitle && a.jobTitle)
83
+ prior.jobTitle = a.jobTitle;
84
+ }
85
+ return out;
86
+ }
37
87
  function useNarrow() {
38
88
  const q = '(max-width: 640px)';
39
89
  const [narrow, setNarrow] = useState(() => typeof window !== 'undefined' && !!window.matchMedia?.(q).matches);
@@ -47,30 +97,109 @@ function useNarrow() {
47
97
  }, []);
48
98
  return narrow;
49
99
  }
50
- export function PlanReviewSheet({ agent, plan, onApprove, onDeny, onClose }) {
100
+ function AgentChip({ name, jobTitle }) {
101
+ return (_jsxs("span", { style: S.chip, children: [_jsx("span", { style: S.avatar, "aria-hidden": "true", children: agentInitials(name) }), _jsx("span", { style: S.agentName, children: name || 'no agent named' }), jobTitle ? _jsx("span", { style: S.jobTitle, children: jobTitle }) : null] }));
102
+ }
103
+ /** A task's own text, with fenced code folded until opened. */
104
+ function SectionBody({ text }) {
105
+ const parts = useMemo(() => splitFences(text), [text]);
106
+ return (_jsx(_Fragment, { children: parts.map((p, i) => (p.kind === 'code'
107
+ ? (_jsxs("details", { style: S.code, children: [_jsx("summary", { style: S.codeSummary, children: `Code${p.lang ? ` · ${p.lang}` : ''} · ${plural(p.text ? p.text.split('\n').length : 0, 'line')}` }), _jsx("pre", { style: S.pre, children: _jsx("code", { children: p.text }) })] }, i))
108
+ : _jsx(Markdown, { text: p.text }, i))) }));
109
+ }
110
+ function TaskRow({ section, jobTitle }) {
111
+ const [open, setOpen] = useState(false);
112
+ const id = `plan-task-${section.n}`;
113
+ return (_jsxs("li", { style: S.task, children: [_jsxs("button", { type: "button", style: S.taskHead, "aria-expanded": open, "aria-controls": id, onClick: () => setOpen((o) => !o), children: [_jsx("span", { style: S.taskNum, children: section.n }), _jsxs("span", { style: S.taskMain, children: [_jsx("span", { style: S.taskTitle, children: section.title }), _jsx(AgentChip, { name: section.agent, ...(jobTitle ? { jobTitle } : {}) })] }), _jsxs("span", { style: S.taskMeta, children: [plural(section.steps.length, 'step'), section.files.length ? ` · ${plural(section.files.length, 'file')}` : ''] }), _jsx("span", { style: S.caret(open), "aria-hidden": "true", children: _jsx(IcChevronRight, { size: 12 }) })] }), open && (_jsxs("div", { id: id, style: S.taskBody, children: [section.files.length > 0 && (_jsxs("div", { style: S.files, children: [_jsx("div", { style: S.label, children: "Files" }), _jsx("ul", { style: S.fileList, children: section.files.map((f, i) => _jsx("li", { children: _jsx(Markdown, { text: f }) }, i)) })] })), _jsx(SectionBody, { text: section.body })] }))] }));
114
+ }
115
+ /** Approve, or deny with a note. `compact` (the phone bar) drops the hint
116
+ * line so both buttons fit one row at 390px, and makes them finger-sized. */
117
+ function DecisionBar({ onApprove, onDeny, style, compact, barRef }) {
118
+ const [noting, setNoting] = useState(false);
119
+ const [note, setNote] = useState('');
120
+ const size = compact ? S.tall : undefined;
121
+ if (noting) {
122
+ return (_jsxs("div", { ref: barRef, style: { ...style, flexDirection: 'column', alignItems: 'stretch' }, children: [_jsxs("label", { style: S.noteLabel, children: ["What should change? This note is sent with the denial.", _jsx("textarea", { style: S.note, rows: 3, maxLength: NOTE_MAX, autoFocus: true, value: note, onChange: (e) => setNote(e.target.value) })] }), _jsxs("div", { style: S.noteActions, children: [_jsx("button", { type: "button", style: { ...S.deny, ...size }, onClick: () => { setNoting(false); setNote(''); }, children: "Back" }), _jsx("button", { type: "button", style: { ...S.denySend, ...size }, onClick: () => onDeny(note.trim() || undefined), children: "Deny plan" })] })] }));
123
+ }
124
+ return (_jsxs("div", { ref: barRef, style: style, children: [!compact && _jsx("span", { style: S.footNote, children: "Nothing is delegated until you approve." }), _jsx("button", { type: "button", style: { ...S.deny, ...size }, onClick: () => setNoting(true), children: "Deny with a note" }), _jsxs("button", { type: "button", style: { ...S.approve, ...size }, onClick: onApprove, children: [_jsx(IcCheck, { size: 13 }), " Approve plan"] })] }));
125
+ }
126
+ export function PlanReviewSheet({ agent, plan, task, agents, mode = 'decide', title, onApprove, onDeny, onClose }) {
51
127
  const narrow = useNarrow();
128
+ const Sheet = useHostSheet();
129
+ const hosted = narrow && Sheet !== null;
130
+ const [detent, setDetent] = useState(SHEET_DETENTS.length - 1);
52
131
  const dialog = useRef(null);
132
+ /* The phone's fixed bar and the room kept for it under the sheet's content.
133
+ * The bar is one row, then about 200px once Deny with a note opens it, so
134
+ * the room follows its measured height; FOOT_H where it cannot be measured
135
+ * (no ResizeObserver, or not laid out yet). The note's two branches are two
136
+ * elements, so the ref changes and the new one is observed. */
137
+ const [fixedBar, setFixedBar] = useState(null);
138
+ const [footH, setFootH] = useState(FOOT_H);
139
+ useEffect(() => {
140
+ if (!fixedBar || typeof ResizeObserver === 'undefined')
141
+ return undefined;
142
+ const measure = () => {
143
+ const h = Math.ceil(fixedBar.getBoundingClientRect().height);
144
+ if (h > 0)
145
+ setFootH(h);
146
+ };
147
+ measure();
148
+ const ro = new ResizeObserver(measure);
149
+ ro.observe(fixedBar);
150
+ return () => { ro.disconnect(); };
151
+ }, [fixedBar]);
53
152
  useEffect(() => {
153
+ // The host's sheet brings its own Escape (the shared escape stack).
154
+ if (hosted)
155
+ return undefined;
54
156
  const back = document.activeElement;
55
157
  dialog.current?.focus();
56
158
  const onKey = (e) => { if (e.key === 'Escape')
57
159
  onClose(); };
58
160
  document.addEventListener('keydown', onKey);
59
161
  return () => { document.removeEventListener('keydown', onKey); back?.focus?.(); };
60
- }, [onClose]);
61
- const steps = countPlanSteps(plan);
62
- return createPortal(
63
- // data-dock-keepalive: a portal opened from a dock peek panel must not
64
- // count as a click outside it (the peek would close under the sheet).
65
- _jsx("div", { "data-dock-keepalive": true, style: S.backdrop(narrow), onMouseDown: (e) => { if (e.target === e.currentTarget)
66
- onClose(); }, children: _jsxs("div", { ref: dialog, role: "dialog", "aria-modal": "true", "aria-label": "Review plan", tabIndex: -1, style: S.dialog(narrow), children: [narrow && _jsx("div", { style: S.grab, "aria-hidden": "true" }), _jsxs("div", { style: S.head, children: [_jsxs("div", { style: { minWidth: 0, flex: 1 }, children: [_jsx("div", { style: S.eyebrow, children: "Plan for approval" }), _jsxs("div", { style: S.title, children: [_jsx("strong", { children: agent }), " proposes ", steps ? `${steps} step${steps === 1 ? '' : 's'}` : 'a plan'] })] }), _jsx("button", { type: "button", style: S.close, "aria-label": "Close without deciding", onClick: onClose, children: _jsx(IcX, { size: 14 }) })] }), _jsx("div", { style: S.body, children: _jsx(Markdown, { text: plan }) }), _jsxs("div", { style: S.foot, children: [_jsx("span", { style: S.footNote, children: "Nothing is delegated until you approve." }), _jsx("button", { type: "button", style: S.deny, onClick: onDeny, children: "Deny" }), _jsxs("button", { type: "button", style: S.approve, onClick: onApprove, children: [_jsx(IcCheck, { size: 13 }), " Approve plan"] })] })] }) }), document.body);
162
+ }, [onClose, hosted]);
163
+ const sections = useMemo(() => parsePlanSections(plan), [plan]);
164
+ const headline = planHeadline(sections);
165
+ const steps = headline ? 0 : countPlanSteps(plan);
166
+ const deciding = mode === 'decide' && !!onApprove && !!onDeny;
167
+ const label = deciding ? 'Review plan' : 'Approved plan';
168
+ const head = (_jsxs("div", { style: S.head, children: [_jsxs("div", { style: { minWidth: 0, flex: 1 }, children: [_jsx("div", { style: S.eyebrow, children: deciding ? 'Plan for approval' : 'Approved plan' }), _jsx("div", { style: S.title, children: deciding
169
+ ? _jsxs(_Fragment, { children: [_jsx("strong", { children: agent }), " proposes ", headline ?? (steps ? plural(steps, 'step') : 'a plan')] })
170
+ : _jsx("span", { style: S.path, children: title ?? 'Approved plan' }) })] }), _jsx("button", { type: "button", style: S.close, "aria-label": deciding ? 'Close without deciding' : 'Close', onClick: onClose, children: _jsx(IcX, { size: 14 }) })] }));
171
+ const body = (_jsxs("div", { style: S.body, children: [task && (_jsxs("div", { style: S.taskBox, children: [_jsx("div", { style: S.label, children: "Task" }), _jsx("div", { style: S.taskName, children: task.title }), task.acceptanceCriteria.length > 0 && (_jsxs(_Fragment, { children: [_jsx("div", { style: S.label, children: "Acceptance criteria" }), _jsx("ol", { style: S.criteria, children: task.acceptanceCriteria.map((c, i) => _jsx("li", { children: c }, i)) })] }))] })), sections.length
172
+ ? (_jsx("ol", { style: S.tasks, "aria-label": "Tasks", children: sections.map((s, i) => {
173
+ const jobTitle = agents?.[s.agent]?.jobTitle;
174
+ return _jsx(TaskRow, { section: s, ...(jobTitle ? { jobTitle } : {}) }, `${s.n}-${i}`);
175
+ }) }))
176
+ : _jsx(Markdown, { text: plan })] }));
177
+ const bar = (style, compact) => (deciding
178
+ ? _jsx(DecisionBar, { onApprove: onApprove, onDeny: onDeny, style: style, compact: compact, ...(compact ? { barRef: setFixedBar } : {}) })
179
+ : null);
180
+ if (hosted && Sheet) {
181
+ return createPortal(
182
+ // data-dock-keepalive: a portal opened from a dock peek panel must not
183
+ // count as a click outside it (the peek would close under the sheet).
184
+ // S.sheetLayer: one layer for the sheet and its fixed bar, above the
185
+ // notification region, which on a phone spans the screen and holds the
186
+ // approval card that opened this sheet.
187
+ // ChatSkinCarry: opened from a card in a skinned chat, it looks like it.
188
+ _jsx(ChatSkinCarry, { children: _jsxs("div", { "data-dock-keepalive": true, style: S.sheetLayer, children: [_jsx(Sheet, { label: label, onClose: onClose, detents: SHEET_DETENTS, detent: detent, onDetentChange: setDetent, children: _jsxs("div", { style: S.sheetInner(deciding ? footH : 0), children: [head, body] }) }), bar(S.fixedFoot, true)] }) }), document.body);
189
+ }
190
+ return createPortal(_jsx(ChatSkinCarry, { children: _jsx("div", { "data-dock-keepalive": true, style: S.backdrop(narrow), onMouseDown: (e) => { if (e.target === e.currentTarget)
191
+ onClose(); }, children: _jsxs("div", { ref: dialog, role: "dialog", "aria-modal": "true", "aria-label": label, tabIndex: -1, style: S.dialog(narrow), children: [narrow && _jsx("div", { style: S.grab, "aria-hidden": "true" }), head, body, bar(S.foot, false)] }) }) }), document.body);
67
192
  }
68
193
  /** The card's plan row: one line and the three decisions. Owns the sheet. */
69
- export function PlanApprovalCard({ agent, plan, onApprove, onDeny, extra }) {
194
+ export function PlanApprovalCard({ agent, plan, task, agents, onApprove, onDeny, extra }) {
70
195
  const [open, setOpen] = useState(false);
71
- const steps = countPlanSteps(plan);
72
- const decide = (fn) => () => { setOpen(false); fn(); };
73
- return (_jsxs("div", { style: S.card, role: "alert", children: [_jsxs("div", { style: S.cardHead, children: [_jsx(IcKey, { size: 14 }), _jsxs("span", { style: { flex: 1, minWidth: 0 }, children: [_jsx("strong", { children: agent }), " proposes a plan", steps ? ` · ${steps} step${steps === 1 ? '' : 's'}` : ''] }), extra] }), _jsxs("div", { style: S.cardActions, children: [_jsx("button", { type: "button", style: S.review, onClick: () => setOpen(true), children: "Review plan" }), _jsx("button", { type: "button", style: S.deny, onClick: onDeny, children: "Deny" }), _jsxs("button", { type: "button", style: S.approve, onClick: onApprove, children: [_jsx(IcCheck, { size: 12 }), " Approve"] })] }), open && (_jsx(PlanReviewSheet, { agent: agent, plan: plan, onApprove: decide(onApprove), onDeny: decide(onDeny), onClose: () => setOpen(false) }))] }));
196
+ const headline = useMemo(() => planHeadline(parsePlanSections(plan)), [plan]);
197
+ const steps = headline ? 0 : countPlanSteps(plan);
198
+ // Stable: the sheet's focus effect keys on onClose, and a host that
199
+ // re-renders every second (PendingApprovals' countdown) must not pull focus
200
+ // out of a note being typed.
201
+ const close = useCallback(() => setOpen(false), []);
202
+ return (_jsxs("div", { style: S.card, role: "alert", children: [_jsxs("div", { style: S.cardHead, children: [_jsx(IcKey, { size: 14 }), _jsxs("span", { style: { flex: 1, minWidth: 0 }, children: [_jsx("strong", { children: agent }), " proposes ", headline ?? `a plan${steps ? ` · ${plural(steps, 'step')}` : ''}`] }), extra] }), _jsxs("div", { style: S.cardActions, children: [_jsx("button", { type: "button", style: S.review, onClick: () => setOpen(true), children: "Review plan" }), _jsx("button", { type: "button", style: S.deny, onClick: () => onDeny(), children: "Deny" }), _jsxs("button", { type: "button", style: S.approve, onClick: onApprove, children: [_jsx(IcCheck, { size: 12 }), " Approve"] })] }), open && (_jsx(PlanReviewSheet, { agent: agent, plan: plan, ...(task ? { task } : {}), ...(agents ? { agents } : {}), onApprove: () => { setOpen(false); onApprove(); }, onDeny: (note) => { setOpen(false); onDeny(note); }, onClose: close }))] }));
74
203
  }
75
204
  const btn = { display: 'inline-flex', alignItems: 'center', gap: 5, height: 32, padding: '0 13px', borderRadius: 'var(--radius-sm)', fontSize: 13, fontWeight: 600, cursor: 'pointer' };
76
205
  const S = {
@@ -85,19 +214,58 @@ const S = {
85
214
  maxHeight: narrow ? '92dvh' : 'min(86vh, 900px)',
86
215
  borderRadius: narrow ? '16px 16px 0 0' : 'var(--radius-lg)',
87
216
  }),
217
+ /* A stacking context of its own: the sheet (--z-modal) and the bar
218
+ * (--z-modal-nested) keep their order inside it, and the whole layer sits
219
+ * above --z-toast. Zero height; its children are fixed. */
220
+ sheetLayer: { position: 'relative', zIndex: 'calc(var(--z-toast) + 1)' },
221
+ sheetInner: (pad) => ({ display: 'flex', flexDirection: 'column', flex: 1, minHeight: 0, paddingBottom: pad, color: 'var(--text-primary)' }),
88
222
  grab: { width: 36, height: 4, borderRadius: 2, background: 'var(--border-default)', margin: '8px auto 0', flexShrink: 0 },
89
223
  head: { display: 'flex', alignItems: 'flex-start', gap: 10, padding: '14px 16px 12px', borderBottom: '1px solid var(--border-subtle)', flexShrink: 0 },
90
224
  eyebrow: { fontSize: 'var(--fs-eyebrow, 11px)', fontWeight: 600, letterSpacing: '0.08em', textTransform: 'uppercase', color: 'var(--text-tertiary)' },
91
225
  title: { fontSize: 15, marginTop: 2, color: 'var(--text-secondary)', overflowWrap: 'anywhere' },
226
+ path: { fontFamily: 'var(--font-mono)', fontSize: 13, color: 'var(--text-primary)' },
92
227
  close: { display: 'inline-flex', alignItems: 'center', justifyContent: 'center', width: 32, height: 32, border: 0, borderRadius: 'var(--radius-sm)', background: 'transparent', color: 'var(--text-tertiary)', cursor: 'pointer', flexShrink: 0 },
93
228
  body: { flex: 1, minHeight: 0, overflowY: 'auto', padding: '14px 18px', fontSize: 14, lineHeight: 1.6, overflowWrap: 'anywhere' },
94
229
  foot: { display: 'flex', alignItems: 'center', gap: 8, flexWrap: 'wrap', padding: '12px 16px calc(12px + env(safe-area-inset-bottom, 0px))', borderTop: '1px solid var(--border-subtle)', background: 'var(--surface-2)', flexShrink: 0 },
230
+ fixedFoot: {
231
+ position: 'fixed', left: 0, right: 0, bottom: 0, zIndex: 'var(--z-modal-nested, 1050)',
232
+ display: 'flex', alignItems: 'center', justifyContent: 'flex-end', gap: 8, flexWrap: 'wrap',
233
+ padding: '10px 16px calc(10px + env(safe-area-inset-bottom, 0px))',
234
+ borderTop: '1px solid var(--border-subtle)', background: 'var(--surface-2)', boxShadow: '0 -6px 18px rgba(0,0,0,0.25)',
235
+ },
95
236
  footNote: { flex: 1, minWidth: 160, fontSize: 12.5, color: 'var(--text-tertiary)' },
237
+ taskBox: { display: 'flex', flexDirection: 'column', gap: 4, padding: '10px 12px', marginBottom: 14, border: '1px solid var(--border-subtle)', borderRadius: 'var(--radius-md)', background: 'var(--surface-2)' },
238
+ label: { fontSize: 11, fontWeight: 600, letterSpacing: '0.06em', textTransform: 'uppercase', color: 'var(--text-tertiary)', marginTop: 4 },
239
+ taskName: { fontSize: 14, fontWeight: 600 },
240
+ criteria: { margin: 0, paddingLeft: 20, fontSize: 13.5, color: 'var(--text-secondary)' },
241
+ tasks: { listStyle: 'none', margin: 0, padding: 0, display: 'flex', flexDirection: 'column', gap: 6 },
242
+ task: { border: '1px solid var(--border-subtle)', borderRadius: 'var(--radius-md)', background: 'var(--surface-1)' },
243
+ taskHead: { display: 'flex', alignItems: 'center', gap: 10, width: '100%', minHeight: 44, padding: '8px 12px', border: 0, background: 'transparent', color: 'inherit', font: 'inherit', textAlign: 'left', cursor: 'pointer' },
244
+ taskNum: { width: 22, height: 22, flexShrink: 0, display: 'inline-flex', alignItems: 'center', justifyContent: 'center', borderRadius: '50%', background: 'var(--surface-2)', fontSize: 12, fontWeight: 600, fontVariantNumeric: 'tabular-nums' },
245
+ taskMain: { flex: 1, minWidth: 0, display: 'flex', flexDirection: 'column', gap: 3 },
246
+ taskTitle: { fontSize: 14, fontWeight: 600, overflowWrap: 'anywhere' },
247
+ taskMeta: { fontSize: 12, color: 'var(--text-tertiary)', whiteSpace: 'nowrap' },
248
+ caret: (open) => ({ display: 'inline-flex', color: 'var(--text-tertiary)', transform: open ? 'rotate(90deg)' : 'none', transition: 'transform 120ms' }),
249
+ taskBody: { padding: '4px 14px 12px 44px', fontSize: 13.5, lineHeight: 1.55, overflowWrap: 'anywhere' },
250
+ files: { marginBottom: 8 },
251
+ fileList: { margin: '2px 0 0', paddingLeft: 18, fontSize: 13 },
252
+ chip: { display: 'inline-flex', alignItems: 'center', gap: 6, minWidth: 0, fontSize: 12.5, color: 'var(--text-secondary)' },
253
+ avatar: { width: 20, height: 20, flexShrink: 0, borderRadius: '50%', display: 'inline-flex', alignItems: 'center', justifyContent: 'center', fontSize: 9.5, fontWeight: 700, background: 'var(--accent-soft, var(--surface-2))', color: 'var(--accent)' },
254
+ agentName: { fontFamily: 'var(--font-mono)', fontSize: 12 },
255
+ jobTitle: { color: 'var(--text-tertiary)', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' },
256
+ code: { margin: '6px 0', border: '1px solid var(--border-subtle)', borderRadius: 'var(--radius-sm)', background: 'var(--surface-2)' },
257
+ codeSummary: { padding: '6px 10px', fontSize: 12, color: 'var(--text-tertiary)', cursor: 'pointer' },
258
+ pre: { margin: 0, padding: '8px 10px', overflowX: 'auto', fontFamily: 'var(--font-mono)', fontSize: 12, lineHeight: 1.5 },
259
+ noteLabel: { display: 'flex', flexDirection: 'column', gap: 6, fontSize: 12.5, color: 'var(--text-secondary)' },
260
+ note: { width: '100%', boxSizing: 'border-box', minHeight: 72, padding: '8px 10px', borderRadius: 'var(--radius-sm)', border: '1px solid var(--border-default)', background: 'var(--surface-1)', color: 'var(--text-primary)', font: 'inherit', fontSize: 16, resize: 'vertical' },
261
+ noteActions: { display: 'flex', justifyContent: 'flex-end', gap: 8 },
262
+ tall: { height: 40 },
96
263
  card: { border: '1px solid var(--warning)', borderRadius: 'var(--radius-md)', background: 'var(--warning-soft)', padding: 12, display: 'flex', flexDirection: 'column', gap: 10 },
97
264
  cardHead: { display: 'flex', alignItems: 'center', gap: 7, fontSize: 13, color: 'var(--text-primary)' },
98
265
  cardActions: { display: 'flex', gap: 8, flexWrap: 'wrap' },
99
266
  review: { ...btn, border: '1px solid var(--border-accent)', background: 'var(--surface-1)', color: 'var(--accent)' },
100
267
  deny: { ...btn, border: '1px solid var(--border-default)', background: 'var(--surface-1)', color: 'var(--text-secondary)' },
268
+ denySend: { ...btn, border: '1px solid var(--danger, #ef4444)', background: 'var(--surface-1)', color: 'var(--danger, #ef4444)' },
101
269
  approve: { ...btn, border: 0, background: 'var(--grad-brand)', color: 'var(--text-on-accent, #fff)' },
102
270
  };
103
271
  //# sourceMappingURL=PlanReview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlanReview.js","sourceRoot":"","sources":["../../agentChat/PlanReview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlanReview.js","sourceRoot":"","sources":["../../agentChat/PlanReview.tsx"],"names":[],"mappings":"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"}
@@ -106,6 +106,16 @@ export interface ControllerSessionState {
106
106
  * would otherwise sit under a spinner forever. Only a controller that says
107
107
  * `false` gets one. */
108
108
  loaded?: boolean;
109
+ /** Why what is on screen is not being saved, or null/absent when it is.
110
+ * `'load-failed'`: the stored chat could not be read, so the engine holds
111
+ * back every write rather than put a partial list over it. AgentChat shows a
112
+ * persistent notice with a Retry while it is set. Optional: a controller
113
+ * with no store behind it never blocks a save. */
114
+ saveBlocked?: 'load-failed' | null;
115
+ /** Bumped each time a save merged another writer's turns in (a second tab,
116
+ * the daemon). AgentChat shows a dismissible notice when it goes UP while
117
+ * the chat is on screen. Optional for the same reason as `saveBlocked`. */
118
+ mergeTick?: number;
109
119
  }
110
120
  /** Structural view of the multi-session agent engine. @corenel/tools-web's
111
121
  * AgentRuntime satisfies this WITHOUT web-ui importing it (the Phase 3
@@ -124,7 +134,8 @@ export interface AgentSurfaceController<O extends BaseSendOpts = BaseSendOpts> {
124
134
  setMode(id: string, m: string): void;
125
135
  setAttachments(id: string, fn: (a: string[]) => string[]): void;
126
136
  toggleInclude(id: string, turnId: string): void;
127
- resolvePerm(id: string, allow: boolean, always?: boolean): void;
137
+ /** `note`: the person's reason for a deny, handed to the model. */
138
+ resolvePerm(id: string, allow: boolean, always?: boolean, note?: string): void;
128
139
  resolveAsk(id: string, answers: AskAnswers | null): void;
129
140
  /** Answer a pending standing-rule suggestion (Task 10's banner). */
130
141
  respondSuggestion(id: string, choice: SuggestionChoice): void;
@@ -143,6 +154,10 @@ export interface AgentSurfaceController<O extends BaseSendOpts = BaseSendOpts> {
143
154
  send(id: string, text: string, images: string[], opts: O): Promise<void>;
144
155
  retry(id: string, turnId: string, opts: O): Promise<void>;
145
156
  restoreToolResult(id: string, turnId: string, blobId: string, content: string): boolean;
157
+ /** Read the stored chat again after a load failed, then save what this page
158
+ * added meanwhile after it. Resolves true once saved. OPTIONAL for the same
159
+ * reason `saveBlocked` is; without it the notice shows no Retry. */
160
+ retryLoad?(id: string): Promise<boolean>;
146
161
  /** Filename of the system prompt the engine will use for the next run, given
147
162
  * AgentChat's live system-parts state — the drawer's active-prompt chip falls
148
163
  * back to this when the host passes no `systemSource`.
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../agentChat/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../agentChat/controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../agentChat/controller.ts"],"names":[],"mappings":"AAAA;;;;kCAIkC;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA2I9C,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAyB,UAAqC,EAAE,EAAU;IAC5G,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9C,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,mBAAmB,CAAyB,UAAqC;IAC/F,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../agentChat/controller.ts"],"names":[],"mappings":"AAAA;;;;kCAIkC;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA0J9C,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAAyB,UAAqC,EAAE,EAAU;IAC5G,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9C,KAAK,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IACrB,OAAO,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,mBAAmB,CAAyB,UAAqC;IAC/F,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,SAAS,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { type TranscriptSkin } from './transcriptSkin';
3
+ import { type ChatWords } from './chatSkinContext';
4
+ export declare const CHAT_WORDS: Partial<Record<TranscriptSkin, ChatWords>>;
5
+ export declare function ChatSkinRoot({ skin, style, sheet, children }: {
6
+ skin: TranscriptSkin;
7
+ /** Layout only (flex, size, overflow). The skin's colours and font win. */
8
+ style?: React.CSSProperties;
9
+ /** Mount the skin's stylesheet. Off for a popover carried out of a chat
10
+ * that already mounted it (ChatSkinCarry). */
11
+ sheet?: boolean;
12
+ children: React.ReactNode;
13
+ }): React.JSX.Element;
14
+ /** For a popover that renders outside the chat (a portal into document.body):
15
+ * hands the chat's skin on when it reaches the whole chat, so a control's
16
+ * popover looks like the control. Otherwise renders the children untouched. */
17
+ export declare function ChatSkinCarry({ children }: {
18
+ children: React.ReactNode;
19
+ }): React.JSX.Element;
20
+ //# sourceMappingURL=chatSkin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatSkin.d.ts","sourceRoot":"","sources":["../chatSkin.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG/E,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMrG,eAAO,MAAM,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,CA2KjE,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAY,EAAE,QAAQ,EAAE,EAAE;IACpE,IAAI,EAAE,cAAc,CAAC;IACrB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B;kDAC8C;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qBAgCA;AAED;;+EAE+E;AAC/E,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAIxE"}