@corenel/web-ui 0.5.10 → 0.7.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.
@@ -1,13 +1,8 @@
1
- import { type OffloadedSource, type ConversationSource, type SystemPromptPicker } from './ContextManager';
2
- import type { SystemParts } from '@corenel/harness/systemParts';
3
- export declare function ContextBar({ contextWindow, parts, onToggle, systemSource, systemPrompt, offloaded, conversation, usageSurface, sessionId }: {
1
+ import { type OffloadedSource, type ConversationSource } from './ContextManager';
2
+ export declare function ContextBar({ contextWindow, systemSource, offloaded, conversation, usageSurface, sessionId }: {
4
3
  contextWindow: number;
5
- parts: SystemParts;
6
- onToggle: (k: keyof SystemParts) => void;
7
4
  /** Active system prompt filename, shown in the expanded panel. */
8
5
  systemSource?: string;
9
- /** The system prompt picker for this chat, forwarded to the drawer body. */
10
- systemPrompt?: SystemPromptPicker;
11
6
  /** Session-scoped offloaded-blob source, forwarded to the drawer body. */
12
7
  offloaded?: OffloadedSource;
13
8
  /** Conversation to render/act on — the runtime session backing this bar. */
@@ -1 +1 @@
1
- {"version":3,"file":"ContextBar.d.ts","sourceRoot":"","sources":["../ContextBar.tsx"],"names":[],"mappings":"AAKA,OAAO,EAA4C,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEpJ,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,wBAAgB,UAAU,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,YAAsB,EAAE,SAAS,EAAE,EAAE;IACrJ,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,WAAW,KAAK,IAAI,CAAC;IACzC,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,4EAA4E;IAC5E,YAAY,EAAE,kBAAkB,CAAC;IACjC;oDACgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;uEAEmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAwCA"}
1
+ {"version":3,"file":"ContextBar.d.ts","sourceRoot":"","sources":["../ContextBar.tsx"],"names":[],"mappings":"AAKA,OAAO,EAA4C,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAK3H,wBAAgB,UAAU,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,YAAsB,EAAE,SAAS,EAAE,EAAE;IACtH,aAAa,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,4EAA4E;IAC5E,YAAY,EAAE,kBAAkB,CAAC;IACjC;oDACgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;uEAEmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BA6CA"}
@@ -6,11 +6,18 @@ import { useState } from 'react';
6
6
  import { fmtTok } from '@corenel/ui-kit/usage';
7
7
  import { ContextManagerBody, useContextProjection } from './ContextManager';
8
8
  import { IcChevron } from '@corenel/ui-kit/icons';
9
- export function ContextBar({ contextWindow, parts, onToggle, systemSource, systemPrompt, offloaded, conversation, usageSurface = 'agent', sessionId }) {
9
+ import { getSystemParts } from '@corenel/harness/systemParts';
10
+ import { sessionSystemConfig } from '@corenel/tools-web/sessionSystemConfig';
11
+ export function ContextBar({ contextWindow, systemSource, offloaded, conversation, usageSurface = 'agent', sessionId }) {
10
12
  const [open, setOpen] = useState(false);
11
13
  // Live projection (system prompt + included warm turns), the SAME number the
12
14
  // expanded drawer shows — so the bar updates as you chat and toggle context,
13
15
  // not just after a completed run.
16
+ /* The conversation's OWN system parts, frozen when it started — the same
17
+ * source the drawer and the run read, so the three cannot disagree about what
18
+ * the system prompt costs. A chat older than the snapshot falls back to the
19
+ * global, which is what it was already using. */
20
+ const parts = sessionSystemConfig(sessionId ?? '')?.parts ?? getSystemParts();
14
21
  const { projected, pct, over } = useContextProjection(contextWindow, parts, conversation, sessionId);
15
22
  const color = over ? 'var(--danger)' : pct > 70 ? 'var(--warning)' : 'var(--accent)';
16
23
  /* A host that cannot know the window passes 0 — a PROXIED external agent owns
@@ -23,7 +30,7 @@ export function ContextBar({ contextWindow, parts, onToggle, systemSource, syste
23
30
  // Closed, the bar casts a deep shadow off its bottom edge so it reads as a lid
24
31
  // over the chat. Open, the drawer below carries its own shadow, so the bar's is
25
32
  // dropped to avoid doubling.
26
- _jsxs("div", { style: { ...S.wrap, ...(open ? null : { boxShadow: 'var(--shadow-4)' }) }, children: [_jsxs("button", { style: S.bar, onClick: () => setOpen((o) => !o), title: "Context window \u2014 click for details", "aria-expanded": open, children: [_jsx("span", { style: S.track, children: !unknownWindow && _jsx("span", { style: { ...S.fill, width: `${pct}%`, background: color } }) }), _jsx("span", { style: S.meta, children: unknownWindow ? `${fmtTok(projected)} sent · limit set by the agent` : `${fmtTok(projected)} / ${fmtTok(contextWindow)} · ${pct}%` }), _jsx("span", { style: { ...S.chev, transform: open ? 'rotate(180deg)' : 'none' }, children: _jsx(IcChevron, { size: 13 }) })] }), open && (_jsxs("div", { style: S.panel, children: [_jsx("div", { style: S.stats, children: _jsx(ContextManagerBody, { contextWindow: contextWindow, parts: parts, onToggle: onToggle, systemSource: systemSource, systemPrompt: systemPrompt, offloaded: offloaded, conversation: conversation, usageSurface: usageSurface, sessionId: sessionId }) }), _jsxs("button", { style: S.collapse, onClick: () => setOpen(false), title: "Collapse", "aria-label": "Collapse context details", children: [_jsx("span", { style: { ...S.chev, transform: 'rotate(180deg)' }, children: _jsx(IcChevron, { size: 13 }) }), "Collapse"] })] }))] }));
33
+ _jsxs("div", { style: { ...S.wrap, ...(open ? null : { boxShadow: 'var(--shadow-4)' }) }, children: [_jsxs("button", { style: S.bar, onClick: () => setOpen((o) => !o), title: "Context window \u2014 click for details", "aria-expanded": open, children: [_jsx("span", { style: S.track, children: !unknownWindow && _jsx("span", { style: { ...S.fill, width: `${pct}%`, background: color } }) }), _jsx("span", { style: S.meta, children: unknownWindow ? `${fmtTok(projected)} sent · limit set by the agent` : `${fmtTok(projected)} / ${fmtTok(contextWindow)} · ${pct}%` }), _jsx("span", { style: { ...S.chev, transform: open ? 'rotate(180deg)' : 'none' }, children: _jsx(IcChevron, { size: 13 }) })] }), open && (_jsxs("div", { style: S.panel, children: [_jsx("div", { style: S.stats, children: _jsx(ContextManagerBody, { contextWindow: contextWindow, systemSource: systemSource, offloaded: offloaded, conversation: conversation, usageSurface: usageSurface, sessionId: sessionId }) }), _jsxs("button", { style: S.collapse, onClick: () => setOpen(false), title: "Collapse", "aria-label": "Collapse context details", children: [_jsx("span", { style: { ...S.chev, transform: 'rotate(180deg)' }, children: _jsx(IcChevron, { size: 13 }) }), "Collapse"] })] }))] }));
27
34
  }
28
35
  const S = {
29
36
  wrap: { position: 'relative', zIndex: 6, display: 'flex', flexDirection: 'column', flexShrink: 0, borderBottom: '1px solid var(--border-subtle)', background: 'var(--surface-1)' },
@@ -1 +1 @@
1
- {"version":3,"file":"ContextBar.js","sourceRoot":"","sources":["../ContextBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextBar.js","sourceRoot":"","sources":["../ContextBar.tsx"],"names":[],"mappings":"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"}
@@ -1,18 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { ConversationTurn } from './Transcript';
3
3
  import { type SystemParts } from '@corenel/harness/systemParts';
4
- import { type SystemPromptEntry } from '@corenel/harness/prompts/systemPromptSelection';
5
- /** The drawer's system prompt picker for one chat, supplied by the host. */
6
- export interface SystemPromptPicker {
7
- /** Every prompt this surface can run under (project first, then host). */
8
- list: () => Promise<SystemPromptEntry[]>;
9
- /** Chosen in this chat, or null when it follows the default. */
10
- choice: string | null;
11
- /** What the next run asks for: `choice`, else the Settings default. */
12
- selection: string | null;
13
- /** Choose for this chat; null returns it to the default. */
14
- onSelect: (selection: string | null) => void;
15
- }
16
4
  /** What the drawer needs of an offloaded record — structurally satisfied by
17
5
  * @corenel/harness/sessions' BlobRecord; kept local so web-ui stays decoupled
18
6
  * (no dependency on @corenel/harness or @corenel/tools-web for this feature).
@@ -65,14 +53,6 @@ export declare function OffloadRow({ record, fromLabel, sourceDropped, onRestore
65
53
  /** Inline failure note ("stub not found…"), shown after a failed restore. */
66
54
  note?: string;
67
55
  }): React.JSX.Element;
68
- /** A turn under SENT TO THE MODEL: clean card + an optional dimmed chip when
69
- * this turn's large outputs were offloaded (pointer to Not sent, not a container). */
70
- export declare function SentTurnCard({ turn, tok, frozenBytes, onDrop }: {
71
- turn: ConversationTurn;
72
- tok: number;
73
- frozenBytes: number;
74
- onDrop: () => void;
75
- }): React.JSX.Element;
76
56
  /** A dropped turn under NOT SENT. */
77
57
  export declare function DroppedTurnRow({ turn, tok, onRestore }: {
78
58
  turn: ConversationTurn;
@@ -105,15 +85,11 @@ sessionId?: string): {
105
85
  over: boolean;
106
86
  includedCount: number;
107
87
  };
108
- export declare function ContextManagerBody({ contextWindow, parts: partsProp, onToggle, systemSource, systemPrompt, offloaded: offloadedSource, conversation, usageSurface, sessionId }: {
88
+ export declare function ContextManagerBody({ contextWindow, systemSource, offloaded: offloadedSource, conversation, usageSurface, sessionId }: {
109
89
  contextWindow: number;
110
- parts?: SystemParts;
111
- onToggle?: (k: keyof SystemParts) => void;
112
90
  /** Filename of the system prompt active for the next run (e.g. system-prmd-md.md),
113
91
  * shown so the user can see which prompt the assistant is using. */
114
92
  systemSource?: string;
115
- /** Choose the system prompt for this chat. Omitted = the chip is read-only. */
116
- systemPrompt?: SystemPromptPicker;
117
93
  /** Session-scoped offloaded-blob source. Without it (e.g. the standalone dock
118
94
  * panel, which has no session in scope) the offloaded section renders empty. */
119
95
  offloaded?: OffloadedSource;
@@ -1 +1 @@
1
- {"version":3,"file":"ContextManager.d.ts","sourceRoot":"","sources":["../ContextManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextManager.d.ts","sourceRoot":"","sources":["../ContextManager.tsx"],"names":[],"mappings":"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"}
@@ -1,24 +1,31 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useEffect, useMemo, useState } from 'react';
3
3
  import { effectiveThreshold } from '@corenel/harness/compression';
4
- import { getCompression, setCompression } from '@corenel/ui-kit/theme';
5
- import { getSystemParts, setSystemParts } from '@corenel/harness/systemParts';
4
+ import { getCompression } from '@corenel/ui-kit/theme';
5
+ import { getSystemParts } from '@corenel/harness/systemParts';
6
6
  import { allTools } from '@corenel/harness/tools/builtins';
7
7
  import { useUsage, fmtTok } from '@corenel/ui-kit/usage';
8
8
  import { estimateTokens, tokenCountsVersion, enableAccurateTokenCounts, onTokenCountsChange } from '@corenel/ui-kit/ui-helpers';
9
9
  import { sessionSentTools } from '@corenel/tools-web/sessionTools';
10
+ import { sessionSystemConfig, subscribeSessionSystemConfig } from '@corenel/tools-web/sessionSystemConfig';
10
11
  import { subscribeSessionCapabilities } from '@corenel/tools-web/sessionCapabilities';
11
12
  import { subscribeLoadedTools } from '@corenel/tools-web/sessionLoadedTools';
12
- import { resolveSystemPrompt, selectionFile, BASE_SYSTEM_FILE } from '@corenel/harness/prompts/systemPromptSelection';
13
+ import { selectionFile, BASE_SYSTEM_FILE } from '@corenel/harness/prompts/systemPromptSelection';
13
14
  import { IcTrash, IcZap, IcChevron } from '@corenel/ui-kit/icons';
15
+ import { ContextStrip } from './ContextStrip';
16
+ import { ExclusionsModal } from './ExclusionsModal';
17
+ import { COMPACT_AT_FILL } from '@corenel/harness/core/compactHistory';
18
+ import { isCheckpointTurn } from '@corenel/harness/conversation';
19
+ /** The strip key for the system-prompt block. Not a turn id, and cannot collide
20
+ * with one: turn ids are `t<base36>` / `n<base36>`. */
21
+ const SYSTEM_BLOCK = '__system__';
14
22
  const PARTS = [
15
23
  { key: 'persona', label: 'Persona', est: 300 },
16
24
  { key: 'mode', label: 'Mode', est: 200 },
17
25
  { key: 'toolGuidance', label: 'Guidance', est: 450 },
18
- { key: 'tools', label: 'Tools', est: 0 }, // measured from the live tool schemas
26
+ { key: 'tools', label: 'Tool schemas', est: 0 }, // measured from the live schemas
19
27
  ];
20
28
  const SYS_BASE_EST = 600; // systems/system-base.md baseline (always included)
21
- const PRESETS = ['off', 'conservative', 'balanced', 'aggressive'];
22
29
  /* With BPE enabled, a turn count is a full encode of the turn's text (including
23
30
  * inline tool outputs — MBs on long sessions), and useContextProjection runs in
24
31
  * BOTH the collapsed ContextBar and the drawer body, whose memos don't share.
@@ -110,11 +117,6 @@ export function OffloadRow({ record, fromLabel, sourceDropped, onRestore, note }
110
117
  ? 'Restore the full content into its turn (replaces the stub; removes this frozen copy). That turn is currently dropped — restore the turn too for the model to see it.'
111
118
  : 'Restore the full content into its turn in the window (replaces the stub; removes this frozen copy)', children: "Restore" }))] }), note && _jsx("div", { style: S.offNote, children: note }), open && _jsxs("pre", { style: S.preview, children: [record.content.slice(0, 600), record.content.length > 600 ? '…' : ''] })] }));
112
119
  }
113
- /** A turn under SENT TO THE MODEL: clean card + an optional dimmed chip when
114
- * this turn's large outputs were offloaded (pointer to Not sent, not a container). */
115
- export function SentTurnCard({ turn, tok, frozenBytes, onDrop }) {
116
- return (_jsxs("div", { style: S.turnCardHead, children: [_jsx("span", { style: S.turnText, children: turnLabel(turn) }), frozenBytes > 0 && (_jsxs("span", { style: S.frozenChip, title: "This turn's large outputs were offloaded \u2014 a stub is in the window; see Not sent.", children: [_jsx(IcZap, { size: 10 }), " ", kb(frozenBytes)] })), _jsx("span", { style: S.turnMeta, children: fmtTok(tok) }), _jsx("button", { style: S.turnAction, onClick: onDrop, title: "Drop this turn \u2014 it moves to Not sent and is not sent to the model", children: "Drop" })] }));
117
- }
118
120
  /** A dropped turn under NOT SENT. */
119
121
  export function DroppedTurnRow({ turn, tok, onRestore }) {
120
122
  return (_jsxs("div", { style: S.turnCardHead, children: [_jsx("span", { style: { ...S.turnText, color: 'var(--text-tertiary)' }, children: turnLabel(turn) }), _jsx("span", { style: S.turnMeta, children: fmtTok(tok) }), _jsx("button", { style: S.turnAction, onClick: onRestore, title: "Include this turn \u2014 it moves back into the window and is sent to the model", children: "Restore" })] }));
@@ -190,7 +192,7 @@ sessionId) {
190
192
  includedCount: perTurn.filter((x) => x.t.included).length,
191
193
  };
192
194
  }
193
- export function ContextManagerBody({ contextWindow, parts: partsProp, onToggle, systemSource, systemPrompt, offloaded: offloadedSource, conversation, usageSurface = 'agent', sessionId }) {
195
+ export function ContextManagerBody({ contextWindow, systemSource, offloaded: offloadedSource, conversation, usageSurface = 'agent', sessionId }) {
194
196
  /* THE DRAWER NEEDS EXACT COUNTS, SO THE DRAWER PAYS FOR THEM.
195
197
  *
196
198
  * This used to be fetched at boot, on every route, behind an idle callback
@@ -210,31 +212,25 @@ export function ContextManagerBody({ contextWindow, parts: partsProp, onToggle,
210
212
  const { toggleInclude, restoreToolResult } = conversation;
211
213
  const [offloaded, setOffloaded] = useState([]);
212
214
  const [restoreNotes, setRestoreNotes] = useState({});
213
- const [sysOpen, setSysOpen] = useState(false);
214
- /* SYSTEM PROMPT PICKER. Listed on mount and again whenever the disclosure is
215
- * opened: the project half comes from a sidecar that is often still dialling
216
- * on first render, so a list read once would stay host-only for the life of
217
- * the drawer. */
218
- const [prompts, setPrompts] = useState(null);
219
- const listPrompts = systemPrompt?.list;
220
- useEffect(() => {
221
- if (!listPrompts)
222
- return;
223
- let live = true;
224
- listPrompts().then((e) => { if (live)
225
- setPrompts(e); }).catch(() => { if (live)
226
- setPrompts([]); });
227
- return () => { live = false; };
228
- }, [listPrompts, sysOpen]);
229
- const [preset, setPresetState] = useState(getCompression);
230
- const [localParts, setLocalParts] = useState(getSystemParts);
231
- const parts = partsProp ?? localParts;
232
- const togglePart = (k) => {
233
- if (onToggle)
234
- onToggle(k);
235
- else
236
- setLocalParts((p) => { const next = { ...p, [k]: !p[k] }; setSystemParts(next); return next; });
237
- };
215
+ const [notSentOpen, setNotSentOpen] = useState(false);
216
+ const [manageOpen, setManageOpen] = useState(false);
217
+ const [, setCfgTick] = useState(0);
218
+ /** The block the detail pane is about, or null to follow the largest. */
219
+ const [sel, setSel] = useState(null);
220
+ /* READ, NOT MIRRORED. Settings owns this preference; the drawer used to keep
221
+ * its own useState copy beside a second control over the same store, which is
222
+ * how two controls over one preference drift apart. A plain read on every
223
+ * render cannot go stale. */
224
+ const preset = getCompression();
225
+ /* THE CONVERSATION'S OWN CONFIG, frozen when it started (sessionSystemConfig).
226
+ * It used to be a prop fed from the global parts store, so a toggle made
227
+ * anywhere changed what every open chat reported — and, since the run read the
228
+ * same global, what every open chat SENT. A session that predates the snapshot
229
+ * falls back to the global, which is what it was already using. */
230
+ useEffect(() => subscribeSessionSystemConfig(() => setCfgTick((t) => t + 1)), []);
231
+ const frozen = sessionSystemConfig(sessionId ?? '');
232
+ const parts = frozen?.parts ?? getSystemParts();
233
+ const frozenPrompt = frozen?.prompt ?? null;
238
234
  const refresh = () => {
239
235
  setRestoreNotes({}); // a fresh list supersedes any stale failed-restore note
240
236
  (offloadedSource?.list() ?? Promise.resolve([])).then(setOffloaded).catch(() => setOffloaded([]));
@@ -242,15 +238,21 @@ export function ContextManagerBody({ contextWindow, parts: partsProp, onToggle,
242
238
  useEffect(refresh, [offloadedSource]);
243
239
  const lastAgent = records.find((r) => r.surface === usageSurface);
244
240
  // ---- projected composition (estimate) — shared with the collapsed ContextBar ----
245
- const { turns, partTok, systemTok, perTurn, turnsTok, projected, pct, over, includedCount } = useContextProjection(contextWindow, parts, conversation, sessionId);
241
+ const { turns, partTok, systemTok, perTurn, turnsTok, projected, pct, over } = useContextProjection(contextWindow, parts, conversation, sessionId);
246
242
  const w = Math.max(1, contextWindow);
247
- const sysPct = Math.min(100, (systemTok / w) * 100);
248
- const turnPct = Math.min(100 - sysPct, (turnsTok / w) * 100);
249
243
  const reclaimedBytes = offloaded.reduce((n, o) => n + o.bytes, 0);
250
244
  const thr = effectiveThreshold(preset, projected / w);
251
245
  const { byTurn, unattached } = useMemo(() => bucketOffloads(offloaded, turns), [offloaded, turns]);
252
- const warmTurns = perTurn.filter((x) => x.t.included);
253
- const coldTurns = perTurn.filter((x) => !x.t.included);
246
+ /* A SEAM IS NOT A TURN, and every piece of this panel that reasons about
247
+ * "excluded" has to know it. A compaction seam is `included: false` like a
248
+ * dropped turn, so before this it was counted among the turns you had
249
+ * dropped, listed under Not sent with a Restore, and swept up by "All" --
250
+ * which would have put a description of the model's own forgetting into its
251
+ * window, the one thing the seam design forbids. Found by opening the panel
252
+ * on a conversation that had actually compacted. */
253
+ const conversational = perTurn.filter((x) => !isCheckpointTurn(x.t));
254
+ const warmTurns = conversational.filter((x) => x.t.included);
255
+ const coldTurns = conversational.filter((x) => !x.t.included);
254
256
  const offParts = PARTS.filter((p) => !parts[p.key]);
255
257
  const attributed = [...byTurn.entries()].flatMap(([turnId, recs]) => {
256
258
  const t = turns.find((x) => x.id === turnId);
@@ -262,6 +264,38 @@ export function ContextManagerBody({ contextWindow, parts: partsProp, onToggle,
262
264
  const droppedTok = coldTurns.reduce((n, x) => n + x.tok, 0);
263
265
  const frozenBytesFor = (id) => (byTurn.get(id) ?? []).reduce((n, r) => n + r.bytes, 0);
264
266
  const notSentEmpty = offParts.length === 0 && coldTurns.length === 0 && offloaded.length === 0;
267
+ /* ---- the strip, and the one block the detail pane is about ----
268
+ *
269
+ * Blocks are what is IN the window: the system prompt, then each included
270
+ * turn. A compaction SEAM is not in it — the seam is an unsent note in the
271
+ * transcript — so seams are filtered out rather than drawn as slivers of
272
+ * nothing. (They are already out of the token totals, being unincluded; this
273
+ * keeps them off the strip as well.) */
274
+ const blocks = [
275
+ ...(systemTok > 0 ? [{ key: SYSTEM_BLOCK, kind: 'system', label: 'System prompt', tok: systemTok }] : []),
276
+ ...warmTurns.map(({ t, tok }) => ({ key: t.id, kind: 'turn', label: turnLabel(t), tok })),
277
+ ];
278
+ /* OPENS ON THE LARGEST BLOCK, because that is the question this panel is here
279
+ * to answer. Selecting nothing would leave the detail area empty on arrival
280
+ * and put the answer behind a click; selecting the FIRST block would point at
281
+ * whatever happens to be oldest. A selection that no longer exists — its turn
282
+ * was just dropped — falls back the same way. */
283
+ const largest = blocks.reduce((best, b) => (!best || b.tok > best.tok ? b : best), null);
284
+ const selected = blocks.find((b) => b.key === sel) ?? largest;
285
+ const selectedKey = selected?.key ?? null;
286
+ const shareOfWindow = (tok) => `${Math.max(1, Math.round((tok / w) * 100))}% of the window`;
287
+ /** Compactions this conversation has already had, counted from the seams in
288
+ * the transcript — the same turns the transcript draws, so the two cannot
289
+ * disagree about how many there were. */
290
+ const seamCount = turns.filter(isCheckpointTurn).length;
291
+ /** Projected tokens at which the next run compacts before its first request. */
292
+ const compactAt = Math.round(COMPACT_AT_FILL * w);
293
+ /** What the folded Not sent button says, so you can tell whether to open it. */
294
+ const notSentSummary = [
295
+ offParts.length > 0 ? `${offParts.length} part${offParts.length === 1 ? '' : 's'}` : '',
296
+ coldTurns.length > 0 ? `${coldTurns.length} turn${coldTurns.length === 1 ? '' : 's'}` : '',
297
+ reclaimedBytes > 0 ? `${kb(reclaimedBytes)} frozen` : '',
298
+ ].filter(Boolean).join(' · ');
265
299
  const restore = async (turnId, r) => {
266
300
  if (!offloadedSource)
267
301
  return;
@@ -277,29 +311,22 @@ export function ContextManagerBody({ contextWindow, parts: partsProp, onToggle,
277
311
  setRestoreNotes((n) => ({ ...n, [r.id]: 'stub not found in the turn — content kept here' }));
278
312
  }
279
313
  };
280
- const setAll = (inc) => perTurn.forEach((x) => { if (x.t.included !== inc)
281
- toggleInclude(x.t.id); });
282
- /* What the chip names, resolved by the SAME rule the run uses
283
- * (resolveSystemPrompt), in the run's precedence: "Use base prompt", then a
284
- * host's own prompt (the editor's per-filetype one), then the selection. */
285
- const selection = systemPrompt?.selection ?? null;
286
- const chosenPrompt = prompts ? resolveSystemPrompt(selection, prompts) : null;
314
+ /* WHAT THE ROW NAMES. Same precedence the run uses: "use base prompt", then a
315
+ * host's own prompt (the editor's per-filetype one), then this conversation's
316
+ * frozen selection. It no longer resolves the selection against a LIVE list —
317
+ * nothing here can change it, so a list fetched to populate a picker had no
318
+ * remaining purpose, and the run's own fallback is reported by the source the
319
+ * host passes. */
287
320
  const hostPrompt = !parts.baseSystem && systemSource && systemSource !== BASE_SYSTEM_FILE ? systemSource : null;
288
- /* A selection that resolves to nothing: the run falls back to the base prompt,
289
- * and this is where that is said -- never a silent substitution. */
290
- const missingPrompt = !!(systemPrompt && selection && prompts && !chosenPrompt && !parts.baseSystem && !hostPrompt);
291
- const shownSource = parts.baseSystem ? (systemSource ?? BASE_SYSTEM_FILE)
292
- : hostPrompt ?? (chosenPrompt?.file ?? (selection && !prompts ? selectionFile(selection) : (systemSource ?? (systemPrompt ? BASE_SYSTEM_FILE : undefined))));
293
- const choice = systemPrompt?.choice ?? null;
294
- const promptGroups = prompts
295
- ? [
296
- { label: 'Project', entries: prompts.filter((e) => e.origin === 'project') },
297
- { label: 'Host', entries: prompts.filter((e) => e.origin === 'host') },
298
- ].filter((g) => g.entries.length > 0)
299
- : [];
300
- return (_jsx("div", { style: S.panel, children: _jsxs("div", { style: S.body, children: [_jsxs("div", { style: S.section, children: [_jsxs("div", { style: S.budgetHead, children: [_jsxs("span", { style: S.bigNum, title: "Estimated tokens if you run now", children: [fmtTok(projected), _jsxs("span", { style: S.bigDim, children: [" / ", fmtTok(contextWindow)] })] }), _jsxs("span", { style: { ...S.pctChip, ...(over ? S.pctOver : null) }, children: [pct, "%"] })] }), _jsxs("div", { style: S.barStack, children: [_jsx("div", { style: { ...S.seg, width: `${sysPct}%`, background: 'var(--accent)' }, title: `System ${fmtTok(systemTok)}` }), _jsx("div", { style: { ...S.seg, width: `${turnPct}%`, background: 'var(--brand-cyan, #3fb6d4)' }, title: `Warm turns ${fmtTok(turnsTok)}` })] }), _jsxs("div", { style: S.legend, children: [_jsx(Legend, { c: "var(--accent)", k: "System", v: fmtTok(systemTok) }), _jsx(Legend, { c: "var(--brand-cyan, #3fb6d4)", k: "Warm turns", v: fmtTok(turnsTok) }), _jsx(Legend, { c: "var(--surface-3)", k: "Free", v: fmtTok(Math.max(0, contextWindow - projected)) }), reclaimedBytes > 0 && (_jsxs("span", { style: S.savedChip, title: "Offloaded tool outputs \u2014 frozen out of the window, recoverable on demand", children: [_jsx("span", { style: S.zap, children: _jsx(IcZap, { size: 11 }) }), _jsx("b", { style: S.savedNum, children: kb(reclaimedBytes) }), "\u00A0\u00B7\u00A0", _jsx("b", { style: S.savedNum, children: tokOf(reclaimedBytes) }), "\u00A0offloaded", offloadedSource && (_jsx("button", { style: S.savedClear, onClick: () => { offloadedSource.clear().then(refresh); }, title: "Clear offloaded results", "aria-label": "Clear offloaded results", children: _jsx(IcTrash, { size: 11 }) }))] }))] }), _jsxs("div", { style: S.compRow, children: [_jsx("select", { style: S.select, value: preset, onChange: (e) => { const m = e.target.value; setCompression(m); setPresetState(m); }, children: PRESETS.map((m) => _jsx("option", { value: m, children: m }, m)) }), _jsx("span", { style: S.secMeta, children: preset === 'off' ? 'never offloads' : `offloads results > ${(thr / 1000).toFixed(1)} KB (${tokOf(thr)}) at this fill` })] }), _jsxs("div", { style: S.estNote, children: ["Projected estimate \u2014 system-prompt size is approximate.", lastAgent ? ` Last run ${fmtTok(lastAgent.inTok)}.` : ''] })] }), _jsxs("div", { style: S.section, children: [_jsxs("button", { style: S.sysRow, onClick: () => setSysOpen((o) => !o), title: "Show the system-prompt parts", children: [_jsx("span", { style: { ...S.chev, transform: sysOpen ? 'rotate(90deg)' : 'none' }, children: _jsx(IcChevron, { size: 12 }) }), _jsx("span", { style: S.sysLabel, children: "System prompt" }), shownSource && _jsx("code", { style: S.sourceCode, title: "The system prompt file used for the next run", children: shownSource }), _jsxs("span", { style: S.secMeta, children: ["~", fmtTok(systemTok)] })] }), sysOpen && (_jsxs(_Fragment, { children: [systemPrompt && (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 6, marginBottom: 8 }, children: [_jsxs("select", { style: { ...S.select, width: '100%' }, "aria-label": "System prompt for this chat", value: choice ?? '', disabled: parts.baseSystem || !!hostPrompt, title: parts.baseSystem ? 'Turn off "Use base prompt" to choose a system prompt' : 'The system prompt this chat runs under', onChange: (e) => systemPrompt.onSelect(e.target.value || null), children: [_jsxs("option", { value: "", children: ["Default (", choice ? 'Settings' : selection ? selectionFile(selection) : BASE_SYSTEM_FILE, ")"] }), choice && prompts && !prompts.some((e) => e.id === choice) && (_jsxs("option", { value: choice, children: [selectionFile(choice), " (not available)"] })), promptGroups.map((g) => (_jsx("optgroup", { label: g.label, children: g.entries.map((e) => (_jsx("option", { value: e.id, title: e.description, children: e.label === e.file ? e.file : `${e.label} (${e.file})` }, e.id))) }, g.label)))] }), missingPrompt && selection && (_jsxs("div", { role: "status", style: { ...S.estNote, color: 'var(--warning, #b45309)' }, children: [selectionFile(selection), " isn't available here, so the next run uses ", BASE_SYSTEM_FILE, "."] })), hostPrompt && (_jsxs("div", { style: S.estNote, children: ["This surface uses ", hostPrompt, " for the open file, so the chat's choice doesn't apply here."] }))] })), _jsxs("div", { style: S.chips, children: [PARTS.map(({ key, label }) => (_jsxs("button", { style: S.chip(parts[key]), onClick: () => togglePart(key), title: parts[key] ? `Including ${label.toLowerCase()} (~${fmtTok(partTok(key))})` : `Excluded — ${label.toLowerCase()} dropped`, children: [_jsx("span", { style: S.chipDot(parts[key]) }), label] }, key))), _jsxs("button", { style: S.chip(parts.baseSystem), onClick: () => togglePart('baseSystem'), title: parts.baseSystem
301
- ? 'Using the base system prompt — the file-type prompt (.prmd / .pdflow format docs) is ignored'
302
- : 'Using the file-type system prompt when one matches the open file. Turn on to force the base prompt instead.', children: [_jsx("span", { style: S.chipDot(parts.baseSystem) }), "Use base prompt"] })] }), parts.baseSystem && _jsx("div", { style: S.estNote, children: "File-type prompt overridden \u2014 running on the base system prompt only." })] }))] }), _jsxs("div", { style: S.section, children: [_jsxs("div", { style: S.rowHead, children: [_jsxs("span", { style: S.secLabel, title: "Exactly what the model receives on the next request: the system prompt plus these turns. A zap chip means a turn's large outputs were frozen \u2014 only a short stub of them is sent.", children: [_jsx("span", { style: { ...S.tempDot, background: 'var(--brand-cyan, #3fb6d4)' } }), "Sent to the model \u00B7 ", includedCount, "/", turns.length] }), _jsxs("span", { style: S.actions, children: [_jsx("span", { style: S.secMeta, children: fmtTok(turnsTok) }), turns.length > 0 && _jsxs(_Fragment, { children: [_jsx("button", { style: S.miniBtn, onClick: () => setAll(true), children: "All" }), _jsx("button", { style: S.miniBtn, onClick: () => setAll(false), children: "None" })] })] })] }), _jsxs("div", { style: S.list, children: [turns.length === 0 && _jsx("div", { style: S.empty, children: "No turns yet. As you chat, each exchange shows here; drop old ones to free the window." }), warmTurns.length === 0 && turns.length > 0 && _jsx("div", { style: S.empty, children: "Nothing in the window \u2014 every turn is dropped. The model only receives the system prompt." }), warmTurns.map(({ t, tok }) => (_jsx(SentTurnCard, { turn: t, tok: tok, frozenBytes: frozenBytesFor(t.id), onDrop: () => toggleInclude(t.id) }, t.id)))] })] }), !notSentEmpty && (_jsxs("div", { style: S.section, children: [_jsxs("div", { style: S.rowHead, children: [_jsxs("span", { style: S.secLabel, title: "Everything excluded from the next request \u2014 parts you disabled, turns you dropped, and large outputs compression froze.", children: [_jsx("span", { style: { ...S.tempDot, background: 'var(--surface-3)' } }), "Not sent"] }), _jsxs("span", { style: S.secMeta, children: [partsTok + droppedTok > 0 ? `~${fmtTok(partsTok + droppedTok)}` : '', reclaimedBytes > 0 ? `${partsTok + droppedTok > 0 ? ' · ' : ''}${kb(reclaimedBytes)} frozen` : ''] })] }), _jsxs("div", { style: S.list, children: [offParts.length > 0 && (_jsxs(_Fragment, { children: [_jsxs("span", { style: S.subLabel, title: "System-prompt parts you turned off \u2014 the next request's system prompt omits them.", children: ["System parts \u00B7 ", offParts.length, " \u00B7 ~", fmtTok(partsTok)] }), offParts.map((p) => (_jsxs("div", { style: S.turnCardHead, children: [_jsx("span", { style: { ...S.turnText, color: 'var(--text-tertiary)' }, children: p.label }), _jsxs("span", { style: S.turnMeta, children: ["~", fmtTok(partTok(p.key))] }), _jsx("button", { style: S.turnAction, onClick: () => togglePart(p.key), title: "Include this system-prompt part again", children: "Enable" })] }, p.key)))] })), coldTurns.length > 0 && (_jsxs(_Fragment, { children: [_jsxs("span", { style: S.subLabel, title: "Whole exchanges you excluded \u2014 the model does not see them. Restore puts one back in the window.", children: ["Dropped turns \u00B7 ", coldTurns.length, " \u00B7 ", fmtTok(droppedTok)] }), coldTurns.map(({ t, tok }) => (_jsx(DroppedTurnRow, { turn: t, tok: tok, onRestore: () => toggleInclude(t.id) }, t.id)))] })), offloaded.length > 0 && (_jsxs(_Fragment, { children: [_jsxs("span", { style: S.subLabel, title: "Large tool outputs the compression setting froze out of the window. For each, a short stub pointing at it stays in its turn, and the assistant can pull the content back itself with recall_result.", children: ["Offloaded outputs \u00B7 ", offloaded.length, " \u00B7 ", kb(reclaimedBytes)] }), attributed.map(({ r, turnId, label, sourceDropped }) => (_jsx(OffloadRow, { record: r, fromLabel: label, sourceDropped: sourceDropped, note: restoreNotes[r.id], onRestore: offloadedSource ? () => { void restore(turnId, r); } : undefined }, r.id))), unattached.length > 0 && (_jsxs(_Fragment, { children: [_jsxs("span", { style: S.subLabel, title: "Frozen outputs whose turn is no longer in this conversation \u2014 nothing in the window points at them. Preview here, or clear them with the trash button in the header above.", children: ["Unattached \u00B7 ", unattached.length, " \u00B7 ", kb(unattached.reduce((n, r) => n + r.bytes, 0))] }), unattached.map((r) => _jsx(OffloadRow, { record: r, fromLabel: null }, r.id))] }))] }))] })] }))] }) }));
321
+ const shownSource = parts.baseSystem
322
+ ? (systemSource ?? BASE_SYSTEM_FILE)
323
+ : hostPrompt ?? (frozenPrompt ? selectionFile(frozenPrompt) : (systemSource ?? BASE_SYSTEM_FILE));
324
+ /** Which composed parts this conversation's system prompt actually carries —
325
+ * where its tokens come from, which is the panel's whole question. */
326
+ const composedIn = PARTS.filter((x) => parts[x.key]).map((x) => x.label);
327
+ return (_jsxs("div", { style: S.panel, children: [_jsxs("div", { style: S.body, children: [_jsxs("div", { style: S.section, children: [_jsxs("div", { style: S.budgetHead, children: [_jsxs("span", { style: S.bigNum, title: "Estimated tokens if you run now", children: [fmtTok(projected), _jsxs("span", { style: S.bigDim, children: [" / ", fmtTok(contextWindow)] })] }), _jsxs("span", { style: { ...S.pctChip, ...(over ? S.pctOver : null) }, children: [pct, "%"] })] }), _jsx("div", { "data-testid": "context-strip", children: _jsx(ContextStrip, { blocks: blocks, contextWindow: contextWindow, selected: selectedKey, onSelect: setSel }) }), _jsxs("div", { style: S.legend, children: [_jsx(Legend, { c: "var(--accent)", k: "System", v: fmtTok(systemTok) }), _jsx(Legend, { c: "var(--brand-cyan, #3fb6d4)", k: "Turns", v: fmtTok(turnsTok) }), _jsx(Legend, { c: "var(--surface-3)", k: "Free", v: fmtTok(Math.max(0, contextWindow - projected)) }), _jsx("span", { style: { ...S.actions, marginLeft: 'auto' }, children: _jsxs("button", { style: S.miniBtn, onClick: () => setManageOpen(true), title: "Choose which turns the model receives", children: ["Manage turns", conversational.length > 0 ? ` (${conversational.length})` : ''] }) })] }), _jsxs("div", { style: S.compactRow, children: [_jsx("span", { style: { ...S.pctChip, ...(projected >= compactAt ? S.pctWarn : null) }, children: projected >= compactAt
328
+ ? `at ${Math.round(COMPACT_AT_FILL * 100)}% — the next run compacts first`
329
+ : `compacts at ${Math.round(COMPACT_AT_FILL * 100)}% · ${fmtTok(compactAt - projected)} to go` }), seamCount > 0 && (_jsxs("span", { style: S.secMeta, title: "Compactions in this conversation. Each left a seam in the transcript you can expand to read.", children: [seamCount === 1 ? '1 checkpoint' : `${seamCount} checkpoints`, " so far"] })), reclaimedBytes > 0 && (_jsxs("span", { style: S.savedChip, title: "Offloaded tool outputs \u2014 frozen out of the window, recoverable on demand", children: [_jsx("span", { style: S.zap, children: _jsx(IcZap, { size: 11 }) }), _jsx("b", { style: S.savedNum, children: kb(reclaimedBytes) }), "\u00A0offloaded", offloadedSource && (_jsx("button", { style: S.savedClear, onClick: () => { offloadedSource.clear().then(refresh); }, title: "Clear offloaded results", "aria-label": "Clear offloaded results", children: _jsx(IcTrash, { size: 11 }) }))] }))] }), _jsxs("div", { style: S.estNote, children: [preset === 'off' ? 'Compression off — large results are never offloaded.' : `Offloads results over ${(thr / 1000).toFixed(1)} KB at this fill (${preset}).`, ' ', "Projected estimate \u2014 system-prompt size is approximate.", lastAgent ? ` Last run ${fmtTok(lastAgent.inTok)}.` : ''] })] }), selected && (_jsxs("div", { style: S.detail, "data-testid": "context-detail", children: [_jsxs("div", { style: S.rowHead, children: [_jsxs("span", { style: S.secLabel, children: [_jsx("span", { style: { ...S.tempDot, background: selected.kind === 'system' ? 'var(--accent)' : 'var(--brand-cyan, #3fb6d4)' } }), selected.kind === 'system' ? 'System prompt' : 'Selected turn'] }), _jsxs("span", { style: S.secMeta, children: [fmtTok(selected.tok), " \u00B7 ", shareOfWindow(selected.tok)] })] }), _jsx("div", { style: S.detailText, children: selected.label }), selected.kind === 'turn' && (_jsxs("div", { style: S.actions, children: [_jsx("button", { style: S.turnAction, onClick: () => toggleInclude(selected.key), title: "Drop this turn \u2014 it moves to Not sent and is not sent to the model", children: "Drop" }), frozenBytesFor(selected.key) > 0 && (_jsxs("span", { style: S.secMeta, title: "This turn's large outputs were offloaded \u2014 a stub is in the window. Restore them under Not sent.", children: [kb(frozenBytesFor(selected.key)), " frozen"] }))] })), selected.kind === 'system' && (_jsx("div", { style: S.estNote, children: "The system prompt is always sent. Its parts are below." }))] })), _jsxs("div", { style: S.section, "data-testid": "system-row", children: [_jsxs("div", { style: S.sysRowStatic, children: [_jsx("span", { style: S.sysLabel, children: "System prompt" }), shownSource && _jsx("code", { style: S.sourceCode, title: "The system prompt file this conversation runs under", children: shownSource }), _jsxs("span", { style: S.secMeta, children: ["~", fmtTok(systemTok)] })] }), _jsxs("div", { style: S.quietRow, children: [_jsxs("span", { style: S.estNote, children: [composedIn.length > 0 ? `Includes ${composedIn.join(', ')}.` : 'Base prompt only.', parts.baseSystem ? ' File-type prompt overridden.' : ''] }), _jsx("span", { style: S.estNote, children: "Fixed for this conversation \u2014 Settings sets it for new conversations." })] })] }), !notSentEmpty && (_jsxs("div", { style: S.section, children: [_jsxs("button", { style: S.foldHead, onClick: () => setNotSentOpen((o) => !o), "aria-expanded": notSentOpen, title: "Everything excluded from the next request \u2014 parts you disabled, turns you dropped, and large outputs compression froze.", children: [_jsx("span", { style: { ...S.chev, transform: notSentOpen ? 'rotate(90deg)' : 'none' }, children: _jsx(IcChevron, { size: 12 }) }), _jsxs("span", { style: S.secLabel, children: [_jsx("span", { style: { ...S.tempDot, background: 'var(--surface-3)' } }), "Not sent"] }), _jsx("span", { style: { ...S.secMeta, marginLeft: 'auto' }, children: notSentSummary })] }), notSentOpen && (_jsxs("div", { style: S.list, children: [offParts.length > 0 && (_jsxs(_Fragment, { children: [_jsxs("span", { style: S.subLabel, title: "System-prompt parts this conversation was started without \u2014 its system prompt omits them. Settings sets this for new conversations.", children: ["System parts \u00B7 ", offParts.length, " \u00B7 ~", fmtTok(partsTok)] }), offParts.map((p) => (_jsxs("div", { style: S.turnCardHead, children: [_jsx("span", { style: { ...S.turnText, color: 'var(--text-tertiary)' }, children: p.label }), _jsxs("span", { style: S.turnMeta, children: ["~", fmtTok(partTok(p.key))] })] }, p.key)))] })), coldTurns.length > 0 && (_jsxs(_Fragment, { children: [_jsxs("span", { style: S.subLabel, title: "Whole exchanges you excluded \u2014 the model does not see them. Restore puts one back in the window.", children: ["Dropped turns \u00B7 ", coldTurns.length, " \u00B7 ", fmtTok(droppedTok)] }), coldTurns.map(({ t, tok }) => (_jsx(DroppedTurnRow, { turn: t, tok: tok, onRestore: () => toggleInclude(t.id) }, t.id)))] })), offloaded.length > 0 && (_jsxs(_Fragment, { children: [_jsxs("span", { style: S.subLabel, title: "Large tool outputs the compression setting froze out of the window. For each, a short stub pointing at it stays in its turn, and the assistant can pull the content back itself with recall_result.", children: ["Offloaded outputs \u00B7 ", offloaded.length, " \u00B7 ", kb(reclaimedBytes)] }), attributed.map(({ r, turnId, label, sourceDropped }) => (_jsx(OffloadRow, { record: r, fromLabel: label, sourceDropped: sourceDropped, note: restoreNotes[r.id], onRestore: offloadedSource ? () => { void restore(turnId, r); } : undefined }, r.id))), unattached.length > 0 && (_jsxs(_Fragment, { children: [_jsxs("span", { style: S.subLabel, title: "Frozen outputs whose turn is no longer in this conversation \u2014 nothing in the window points at them. Preview here, or clear them with the trash button in the header above.", children: ["Unattached \u00B7 ", unattached.length, " \u00B7 ", kb(unattached.reduce((n, r) => n + r.bytes, 0))] }), unattached.map((r) => _jsx(OffloadRow, { record: r, fromLabel: null }, r.id))] }))] }))] }))] }))] }), manageOpen && (_jsx(ExclusionsModal, { rows: conversational, contextWindow: contextWindow, toggleInclude: toggleInclude, onClose: () => setManageOpen(false) }))] }));
303
330
  }
304
331
  function Legend({ c, k, v }) {
305
332
  return _jsxs("span", { style: S.legItem, children: [_jsx("span", { style: { ...S.legDot, background: c } }), k, " ", _jsx("span", { style: S.legVal, children: v })] });
@@ -325,8 +352,13 @@ const S = {
325
352
  bigDim: { color: 'var(--text-tertiary)', fontWeight: 500, fontSize: 15 },
326
353
  pctChip: { fontSize: 12, fontWeight: 700, fontFamily: mono, color: 'var(--text-secondary)', background: 'var(--surface-3, var(--surface-2))', borderRadius: 'var(--radius-pill, 999px)', padding: '2px 9px' },
327
354
  pctOver: { color: 'var(--danger)', background: 'var(--danger-soft)' },
328
- barStack: { display: 'flex', height: 10, borderRadius: 999, background: 'var(--surface-3)', overflow: 'hidden' },
329
- seg: { height: '100%', transition: 'width var(--motion-fast)' },
355
+ pctWarn: { color: 'var(--warning, #b45309)', background: 'color-mix(in srgb, var(--warning, #e0a84a) 18%, transparent)' },
356
+ compactRow: { display: 'flex', alignItems: 'center', gap: 10, flexWrap: 'wrap' },
357
+ // The selected block, given a surface of its own: it is the only thing here
358
+ // that changes as you click around, so it should not read as another section.
359
+ detail: { display: 'flex', flexDirection: 'column', gap: 7, flexShrink: 0, padding: '11px 12px', border: '1px solid var(--border-subtle)', borderRadius: 'var(--radius-sm)', background: 'var(--surface-2)' },
360
+ detailText: { fontSize: 12.5, color: 'var(--text-primary)', lineHeight: 1.45, overflowWrap: 'anywhere' },
361
+ foldHead: { display: 'flex', alignItems: 'center', gap: 8, width: '100%', padding: '6px 2px', border: 0, background: 'transparent', cursor: 'pointer', font: 'inherit', textAlign: 'left' },
330
362
  legend: { display: 'flex', flexWrap: 'wrap', alignItems: 'center', gap: 12 },
331
363
  legItem: { display: 'inline-flex', alignItems: 'center', gap: 5, fontSize: 11.5, color: 'var(--text-secondary)' },
332
364
  legDot: { width: 8, height: 8, borderRadius: 2, flexShrink: 0 },
@@ -339,7 +371,9 @@ const S = {
339
371
  compRow: { display: 'flex', alignItems: 'center', gap: 10 },
340
372
  select: { height: 26, padding: '0 8px', border: '1px solid var(--border-subtle)', borderRadius: 'var(--radius-sm)', background: 'var(--surface-2)', color: 'var(--text-primary)', fontSize: 11.5, fontFamily: 'inherit', fontWeight: 600, cursor: 'pointer', textTransform: 'capitalize' },
341
373
  // system row
342
- sysRow: { display: 'flex', alignItems: 'center', gap: 8, padding: '8px 10px', border: '1px solid var(--border-subtle)', borderRadius: 'var(--radius-sm)', background: 'var(--surface-2)', color: 'var(--text-secondary)', cursor: 'pointer', width: '100%', textAlign: 'left' },
374
+ // Not a button any more: nothing here opens, because nothing here changes.
375
+ sysRowStatic: { display: 'flex', alignItems: 'center', gap: 8, padding: '8px 10px', border: '1px solid var(--border-subtle)', borderRadius: 'var(--radius-sm)', background: 'var(--surface-2)', color: 'var(--text-secondary)', width: '100%' },
376
+ quietRow: { display: 'flex', flexDirection: 'column', gap: 3, padding: '0 2px' },
343
377
  sysLabel: { fontSize: 12.5, fontWeight: 600, color: 'var(--text-primary)' },
344
378
  sourceCode: { fontFamily: mono, fontSize: 11, color: 'var(--text-primary)', background: 'var(--surface-3, var(--surface-2))', borderRadius: 'var(--radius-xs, 3px)', padding: '1px 5px', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', minWidth: 0, flex: 1, marginLeft: 2 },
345
379
  chips: { display: 'flex', flexWrap: 'wrap', gap: 7 },
@@ -1 +1 @@
1
- {"version":3,"file":"ContextManager.js","sourceRoot":"","sources":["../ContextManager.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextManager.js","sourceRoot":"","sources":["../ContextManager.tsx"],"names":[],"mappings":"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"}