@chances-ai/client 24.0.0 → 24.2.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 (52) hide show
  1. package/dist/web-ui/code-view.js +2 -2
  2. package/dist/web-ui/code-view.js.map +1 -1
  3. package/dist/web-ui/code-viewer.js +3 -3
  4. package/dist/web-ui/code-viewer.js.map +1 -1
  5. package/dist/web-ui/control-panel.d.ts.map +1 -1
  6. package/dist/web-ui/control-panel.js +8 -3
  7. package/dist/web-ui/control-panel.js.map +1 -1
  8. package/dist/web-ui/diff-view.js +7 -5
  9. package/dist/web-ui/diff-view.js.map +1 -1
  10. package/dist/web-ui/environment-panel.d.ts.map +1 -1
  11. package/dist/web-ui/environment-panel.js +3 -3
  12. package/dist/web-ui/environment-panel.js.map +1 -1
  13. package/dist/web-ui/file-tree.d.ts.map +1 -1
  14. package/dist/web-ui/file-tree.js +3 -3
  15. package/dist/web-ui/file-tree.js.map +1 -1
  16. package/dist/web-ui/help-view.d.ts +0 -6
  17. package/dist/web-ui/help-view.d.ts.map +1 -1
  18. package/dist/web-ui/help-view.js +8 -2
  19. package/dist/web-ui/help-view.js.map +1 -1
  20. package/dist/web-ui/markdown.js +16 -9
  21. package/dist/web-ui/markdown.js.map +1 -1
  22. package/dist/web-ui/model-picker.d.ts.map +1 -1
  23. package/dist/web-ui/model-picker.js +15 -111
  24. package/dist/web-ui/model-picker.js.map +1 -1
  25. package/dist/web-ui/permission.d.ts.map +1 -1
  26. package/dist/web-ui/permission.js +2 -2
  27. package/dist/web-ui/permission.js.map +1 -1
  28. package/dist/web-ui/progress.js +2 -2
  29. package/dist/web-ui/progress.js.map +1 -1
  30. package/dist/web-ui/prompt-input.d.ts.map +1 -1
  31. package/dist/web-ui/prompt-input.js +3 -3
  32. package/dist/web-ui/prompt-input.js.map +1 -1
  33. package/dist/web-ui/question-view.d.ts.map +1 -1
  34. package/dist/web-ui/question-view.js +4 -4
  35. package/dist/web-ui/question-view.js.map +1 -1
  36. package/dist/web-ui/segments.d.ts +3 -1
  37. package/dist/web-ui/segments.d.ts.map +1 -1
  38. package/dist/web-ui/segments.js +5 -3
  39. package/dist/web-ui/segments.js.map +1 -1
  40. package/dist/web-ui/session-sidebar.d.ts +0 -7
  41. package/dist/web-ui/session-sidebar.d.ts.map +1 -1
  42. package/dist/web-ui/session-sidebar.js +9 -2
  43. package/dist/web-ui/session-sidebar.js.map +1 -1
  44. package/dist/web-ui/status-bar.js +2 -2
  45. package/dist/web-ui/status-bar.js.map +1 -1
  46. package/dist/web-ui/transcript.js +6 -6
  47. package/dist/web-ui/transcript.js.map +1 -1
  48. package/package.json +5 -4
  49. package/dist/web-ui/primitives.d.ts +0 -59
  50. package/dist/web-ui/primitives.d.ts.map +0 -1
  51. package/dist/web-ui/primitives.js +0 -38
  52. package/dist/web-ui/primitives.js.map +0 -1
@@ -1,119 +1,23 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /**
3
- * (v22 / docs/6.5b §C4) Filterable model picker — the web twin of the TUI's
4
- * `Select`-based model picker, replacing the v17 native `<select>`. A trigger
5
- * button opens a small dropdown with a filter input + a keyboard-navigable list
6
- * (↑↓ move, Enter selects, Esc closes, click selects). The filtering is the pure
7
- * `filterModels` (unit-tested); the component is the thin interactive shell
8
- * (DOM-tested). Hidden when no models are advertised (pre-`ready`).
3
+ * (7.3 / task 03 — W4 / `[11.2]`) The web model picker — now a thin wrapper over
4
+ * the design-system `FilterAutocomplete` (HeroUI v3 Autocomplete + react-aria),
5
+ * retiring the bespoke a11y-liability dropdown that hand-rolled focus, keyboard
6
+ * nav, and filtering. Same props as before, so `ControlPanel` is unchanged. The
7
+ * SAME `modelLabel` keys + labels each option; HeroUI owns filtering / keyboard /
8
+ * focus-trap. Hidden when no models are advertised (pre-`ready`).
9
9
  *
10
- * Bespoke rather than a HeroUI compound `Autocomplete` on purpose: a tinted,
11
- * inline, fully-keyboard-driven picker is small, self-contained, and reliably
12
- * testable under happy-dom. HeroUI v3 components are used where their richer
13
- * behaviour (modal focus-trap, tabs) earns the compound API.
10
+ * Theme: the picker adopts the seed palette through the panel root's
11
+ * `.chances-theme` scope (the HeroUI base-var override, design §3.3). Full
12
+ * keyboard/filter INTERACTION is covered by the Storybook browser-mode pass
13
+ * (design §4) — react-aria needs a real layout engine; the happy-dom test keeps a
14
+ * deterministic mount smoke. The pure `filterModels` helper + its test stay.
14
15
  */
15
- import { useEffect, useRef, useState } from "react";
16
- import { filterModels, MONO, modelLabel } from "./helpers.js";
17
- import { useUiTheme } from "./theme-context.js";
16
+ import { FilterAutocomplete } from "@chances-ai/design-system/widgets";
17
+ import { modelLabel } from "./helpers.js";
18
18
  export function ModelPicker({ models, selected, disabled, onSelect }) {
19
- const theme = useUiTheme();
20
- const [open, setOpen] = useState(false);
21
- const [query, setQuery] = useState("");
22
- const [cursor, setCursor] = useState(0);
23
- const inputRef = useRef(null);
24
- const filtered = filterModels(models, query);
25
- // Keep the cursor in range as the filtered list shrinks/grows.
26
- useEffect(() => {
27
- setCursor((c) => Math.max(0, Math.min(c, filtered.length - 1)));
28
- }, [filtered.length]);
29
- // Focus the filter input when the panel opens.
30
- useEffect(() => {
31
- if (open)
32
- inputRef.current?.focus();
33
- }, [open]);
34
19
  if (models.length === 0)
35
20
  return null;
36
- const close = () => {
37
- setOpen(false);
38
- setQuery("");
39
- setCursor(0);
40
- };
41
- const choose = (m) => {
42
- onSelect(m);
43
- close();
44
- };
45
- const onKeyDown = (e) => {
46
- if (e.key === "ArrowDown") {
47
- e.preventDefault();
48
- setCursor((c) => Math.min(filtered.length - 1, c + 1));
49
- }
50
- else if (e.key === "ArrowUp") {
51
- e.preventDefault();
52
- setCursor((c) => Math.max(0, c - 1));
53
- }
54
- else if (e.key === "Enter") {
55
- e.preventDefault();
56
- const m = filtered[cursor];
57
- if (m)
58
- choose(m);
59
- }
60
- else if (e.key === "Escape") {
61
- e.preventDefault();
62
- close();
63
- }
64
- };
65
- const border = theme.synComment ?? "#555";
66
- return (_jsxs("div", { style: { position: "relative" }, children: [_jsxs("button", { type: "button", disabled: disabled, "aria-haspopup": "listbox", "aria-expanded": open, onClick: () => (open ? close() : setOpen(true)), className: disabled ? "" : "transition-opacity hover:opacity-70", style: {
67
- fontFamily: MONO,
68
- fontSize: 13,
69
- padding: "4px 8px",
70
- borderRadius: 6,
71
- background: "transparent",
72
- color: "inherit",
73
- border: `1px solid ${border}`,
74
- cursor: disabled ? "default" : "pointer",
75
- opacity: disabled ? 0.5 : 1,
76
- }, children: [selected ? modelLabel(selected) : "select model", " \u25BE"] }), open ? (_jsxs("div", { role: "listbox", "aria-label": "models", style: {
77
- position: "absolute",
78
- top: "calc(100% + 4px)",
79
- right: 0,
80
- zIndex: 10,
81
- minWidth: 240,
82
- maxHeight: 320,
83
- overflowY: "auto",
84
- background: "var(--ch-bg)",
85
- border: `1px solid ${border}`,
86
- borderRadius: 8,
87
- padding: 6,
88
- display: "flex",
89
- flexDirection: "column",
90
- gap: 2,
91
- }, children: [_jsx("input", { ref: inputRef, value: query, placeholder: "filter models\u2026", "aria-label": "filter models", onChange: (e) => {
92
- setQuery(e.target.value);
93
- setCursor(0);
94
- }, onKeyDown: onKeyDown, style: {
95
- fontFamily: MONO,
96
- fontSize: 13,
97
- padding: "4px 6px",
98
- marginBottom: 4,
99
- background: "transparent",
100
- color: "inherit",
101
- border: `1px solid ${border}`,
102
- borderRadius: 6,
103
- outline: "none",
104
- } }), filtered.length === 0 ? (_jsx("span", { style: { color: theme.synComment, fontSize: 13, padding: "4px 6px" }, children: "no match" })) : (filtered.map((m, i) => {
105
- const label = modelLabel(m);
106
- const isCurrent = selected ? modelLabel(selected) === label : false;
107
- const highlighted = i === cursor;
108
- return (_jsxs("div", { role: "option", "aria-selected": highlighted, onMouseEnter: () => setCursor(i), onClick: () => choose(m), style: {
109
- fontFamily: MONO,
110
- fontSize: 13,
111
- padding: "4px 6px",
112
- borderRadius: 6,
113
- cursor: "pointer",
114
- background: highlighted ? theme.userMessageBg : "transparent",
115
- color: isCurrent ? theme.accent : "var(--ch-fg)",
116
- }, children: [isCurrent ? "● " : " ", label] }, label));
117
- }))] })) : null] }));
21
+ return (_jsx(FilterAutocomplete, { items: models, selectedKey: selected ? modelLabel(selected) : null, getKey: modelLabel, getLabel: modelLabel, onSelect: onSelect, isDisabled: disabled, "aria-label": "models", placeholder: "select model", searchPlaceholder: "filter models\u2026", emptyLabel: "no match" }));
118
22
  }
119
23
  //# sourceMappingURL=model-picker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-picker.js","sourceRoot":"","sources":["../../src/web-ui/model-picker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-picker.js","sourceRoot":"","sources":["../../src/web-ui/model-picker.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAS1C,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAoB;IACpF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,CACL,KAAC,kBAAkB,IACjB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EACnD,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,QAAQ,gBACT,QAAQ,EACnB,WAAW,EAAC,cAAc,EAC1B,iBAAiB,EAAC,qBAAgB,EAClC,UAAU,EAAC,UAAU,GACrB,CACH,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../src/web-ui/permission.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAOjE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACvD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAyB5E"}
1
+ {"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../../src/web-ui/permission.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAMjE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACvD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CA6B5E"}
@@ -8,10 +8,10 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
8
8
  * `permission_response` back over the wire and clears the pending state.
9
9
  */
10
10
  import { extractDiff, toolDisplayName } from "@chances-ai/ui-core";
11
+ import { Row, Surface, Text } from "@chances-ai/design-system";
11
12
  import { Button } from "./button.js";
12
13
  import { DiffBlock } from "./diff-view.js";
13
14
  import { buildPermissionButtons } from "./helpers.js";
14
- import { Box, Txt } from "./primitives.js";
15
15
  import { useUiTheme } from "./theme-context.js";
16
16
  export function PermissionPrompt({ pending, onAnswer }) {
17
17
  const theme = useUiTheme();
@@ -20,6 +20,6 @@ export function PermissionPrompt({ pending, onAnswer }) {
20
20
  const head = diff
21
21
  ? pending.summary.slice(0, pending.summary.indexOf(diff)).trimEnd()
22
22
  : pending.summary;
23
- return (_jsxs(Box, { borderWidth: 1, borderColor: theme.permission, borderRadius: 8, padding: 12, gap: 8, backgroundColor: "var(--ch-bg)", children: [_jsxs(Txt, { color: theme.permission, fontWeight: "700", children: ["Permission required \u00B7 ", toolDisplayName(pending.tool), " (", pending.category, ")"] }), head ? (_jsx(Txt, { color: "var(--ch-fg)", style: { whiteSpace: "pre-wrap", overflowWrap: "anywhere" }, children: head })) : null, diff ? _jsx(DiffBlock, { diff: diff, anchored: pending.tool === "write" }) : null, _jsx(Box, { flexDirection: "row", gap: 8, flexWrap: "wrap", children: buildPermissionButtons(theme, onAnswer).map((b) => (_jsx(Button, { label: b.label, color: b.color, onPress: b.onPress }, b.key))) })] }));
23
+ return (_jsxs(Surface, { gap: "sm", className: "rounded-lg border p-3", style: { borderColor: theme.permission, backgroundColor: "var(--ch-bg)" }, children: [_jsxs(Text, { weight: "bold", style: { color: theme.permission }, children: ["Permission required \u00B7 ", toolDisplayName(pending.tool), " (", pending.category, ")"] }), head ? (_jsx(Text, { className: "whitespace-pre-wrap [overflow-wrap:anywhere]", style: { color: "var(--ch-fg)" }, children: head })) : null, diff ? _jsx(DiffBlock, { diff: diff, anchored: pending.tool === "write" }) : null, _jsx(Row, { gap: "sm", className: "flex-wrap", children: buildPermissionButtons(theme, onAnswer).map((b) => (_jsx(Button, { label: b.label, color: b.color, onPress: b.onPress }, b.key))) })] }));
24
24
  }
25
25
  //# sourceMappingURL=permission.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permission.js","sourceRoot":"","sources":["../../src/web-ui/permission.tsx"],"names":[],"mappings":";AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOhD,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAyB;IAC3E,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,4EAA4E;IAC5E,MAAM,IAAI,GAAG,IAAI;QACf,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;QACnE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACpB,OAAO,CACL,MAAC,GAAG,IAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,eAAe,EAAC,cAAc,aACtH,MAAC,GAAG,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,EAAC,KAAK,4CACrB,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,QAAI,OAAO,CAAC,QAAQ,SACpE,EACL,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,GAAG,IAAC,KAAK,EAAC,cAAc,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,YAClF,IAAI,GACD,CACP,CAAC,CAAC,CAAC,IAAI,EACP,IAAI,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,EAC5E,KAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAC,MAAM,YAC7C,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAClD,KAAC,MAAM,IAAa,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAzD,CAAC,CAAC,GAAG,CAAwD,CAC3E,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"permission.js","sourceRoot":"","sources":["../../src/web-ui/permission.tsx"],"names":[],"mappings":";AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOhD,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAyB;IAC3E,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,4EAA4E;IAC5E,MAAM,IAAI,GAAG,IAAI;QACf,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;QACnE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IACpB,OAAO,CACL,MAAC,OAAO,IACN,GAAG,EAAC,IAAI,EACR,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,aAEzE,MAAC,IAAI,IAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,4CAC7B,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,QAAI,OAAO,CAAC,QAAQ,SACnE,EACN,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,IAAI,IAAC,SAAS,EAAC,8CAA8C,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,YAC5F,IAAI,GACA,CACR,CAAC,CAAC,CAAC,IAAI,EACP,IAAI,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,EAC5E,KAAC,GAAG,IAAC,GAAG,EAAC,IAAI,EAAC,SAAS,EAAC,WAAW,YAChC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAClD,KAAC,MAAM,IAAa,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAzD,CAAC,CAAC,GAAG,CAAwD,CAC3E,CAAC,GACE,IACE,CACX,CAAC;AACJ,CAAC"}
@@ -14,7 +14,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  */
15
15
  import { useEffect, useRef, useState } from "react";
16
16
  import { formatElapsed, pickVerb, SPINNER_FRAMES, SPINNER_STATIC } from "@chances-ai/ui-core";
17
- import { Box, Txt } from "./primitives.js";
17
+ import { Row, Text } from "@chances-ai/design-system";
18
18
  import { useUiTheme } from "./theme-context.js";
19
19
  const TICK_MS = 120;
20
20
  export function Progress({ active, verb, reducedMotion = false, elapsedMsOverride, frameOverride, now = Date.now }) {
@@ -40,6 +40,6 @@ export function Progress({ active, verb, reducedMotion = false, elapsedMsOverrid
40
40
  const glyphIndex = frameOverride ?? frame;
41
41
  const glyph = reducedMotion ? SPINNER_STATIC : (SPINNER_FRAMES[glyphIndex % SPINNER_FRAMES.length] ?? "✻");
42
42
  const text = `${verb ?? autoVerb}… (esc to interrupt · ${formatElapsed(elapsedMs)})`;
43
- return (_jsxs(Box, { flexDirection: "row", gap: 6, alignItems: "baseline", children: [_jsx(Txt, { color: theme.accent, children: glyph }), _jsx(Txt, { color: theme.synComment, fontSize: 13, children: text })] }));
43
+ return (_jsxs(Row, { className: "items-baseline gap-1.5", children: [_jsx(Text, { style: { color: theme.accent }, children: glyph }), _jsx(Text, { className: "text-[13px]", style: { color: theme.synComment }, children: text })] }));
44
44
  }
45
45
  //# sourceMappingURL=progress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/web-ui/progress.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,OAAO,GAAG,GAAG,CAAC;AAepB,MAAM,UAAU,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAiB;IAC/H,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAS,GAAG,EAAE,CAAC,CAAC;IAEvC,iDAAiD;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM;YAAE,QAAQ,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;IACvC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kDAAkD;IAEhE,iFAAiF;IACjF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,IAAI,aAAa,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO;QACpE,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;QACxF,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IAE3C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,SAAS,GAAG,iBAAiB,IAAI,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;IAChE,MAAM,UAAU,GAAG,aAAa,IAAI,KAAK,CAAC;IAC1C,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAC3G,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,QAAQ,0BAA0B,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC;IAEtF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,UAAU,aACpD,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,YAAG,KAAK,GAAO,EACvC,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,YACvC,IAAI,GACD,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/web-ui/progress.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,OAAO,GAAG,GAAG,CAAC;AAepB,MAAM,UAAU,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAiB;IAC/H,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAS,GAAG,EAAE,CAAC,CAAC;IAEvC,iDAAiD;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM;YAAE,QAAQ,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;IACvC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kDAAkD;IAEhE,iFAAiF;IACjF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,IAAI,aAAa,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO;QACpE,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;QACxF,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IAE3C,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,SAAS,GAAG,iBAAiB,IAAI,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;IAChE,MAAM,UAAU,GAAG,aAAa,IAAI,KAAK,CAAC;IAC1C,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAC3G,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,QAAQ,0BAA0B,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC;IAEtF,OAAO,CACL,MAAC,GAAG,IAAC,SAAS,EAAC,wBAAwB,aACrC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,YAAG,KAAK,GAAQ,EACpD,KAAC,IAAI,IAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,YAC7D,IAAI,GACA,IACH,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-input.d.ts","sourceRoot":"","sources":["../../src/web-ui/prompt-input.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAwC,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAMtF,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,IAAI,EAAE,OAAO,CAAC;IACd,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAuJvG"}
1
+ {"version":3,"file":"prompt-input.d.ts","sourceRoot":"","sources":["../../src/web-ui/prompt-input.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAwC,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAKtF,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,IAAI,EAAE,OAAO,CAAC;IACd,qDAAqD;IACrD,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAuJvG"}
@@ -11,10 +11,10 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
11
11
  * chat:cancel) — but the typeahead owns Esc first when it's open.
12
12
  */
13
13
  import { useState } from "react";
14
+ import { Row, Surface } from "@chances-ai/design-system";
14
15
  import { parseCommandName, suggestWebCommands } from "./commands.js";
15
16
  import { Button } from "./button.js";
16
17
  import { MONO, shouldSubmit } from "./helpers.js";
17
- import { Box } from "./primitives.js";
18
18
  import { useUiTheme } from "./theme-context.js";
19
19
  export function PromptInput({ busy, disabled, onSubmit, onAbort, commands, onCommand }) {
20
20
  const theme = useUiTheme();
@@ -84,7 +84,7 @@ export function PromptInput({ busy, disabled, onSubmit, onAbort, commands, onCom
84
84
  submit();
85
85
  }
86
86
  };
87
- return (_jsxs(Box, { style: { position: "relative" }, children: [typeaheadOpen ? (_jsx("div", { role: "listbox", "aria-label": "slash commands", style: {
87
+ return (_jsxs(Surface, { className: "relative", children: [typeaheadOpen ? (_jsx("div", { role: "listbox", "aria-label": "slash commands", style: {
88
88
  position: "absolute",
89
89
  bottom: "calc(100% + 4px)",
90
90
  left: 0,
@@ -110,7 +110,7 @@ export function PromptInput({ busy, disabled, onSubmit, onAbort, commands, onCom
110
110
  cursor: "pointer",
111
111
  background: i === cursor ? theme.userMessageBg : "transparent",
112
112
  color: "var(--ch-fg)",
113
- }, children: [_jsxs("span", { style: { color: theme.accent }, children: ["/", c.name] }), _jsxs("span", { style: { color: theme.synComment }, children: [" \u2014 ", c.description] })] }, c.name))) })) : null, _jsxs(Box, { flexDirection: "row", gap: 8, alignItems: "flex-end", children: [_jsx("textarea", { value: text, rows: 2, disabled: disabled, onChange: (e) => {
113
+ }, children: [_jsxs("span", { style: { color: theme.accent }, children: ["/", c.name] }), _jsxs("span", { style: { color: theme.synComment }, children: [" \u2014 ", c.description] })] }, c.name))) })) : null, _jsxs(Row, { gap: "sm", align: "end", children: [_jsx("textarea", { value: text, rows: 2, disabled: disabled, onChange: (e) => {
114
114
  setText(e.target.value);
115
115
  setCursor(0);
116
116
  }, onKeyDown: onKeyDown, placeholder: disabled ? "connecting…" : "Message the agent — Enter to send, Shift+Enter for newline, / for commands", style: {
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-input.js","sourceRoot":"","sources":["../../src/web-ui/prompt-input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-input.js","sourceRoot":"","sources":["../../src/web-ui/prompt-input.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"question-view.d.ts","sourceRoot":"","sources":["../../src/web-ui/question-view.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQ/E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5C;AAED,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAqFpE"}
1
+ {"version":3,"file":"question-view.d.ts","sourceRoot":"","sources":["../../src/web-ui/question-view.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAO/E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5C;AAED,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAqFpE"}
@@ -9,8 +9,8 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
9
9
  * (plus any typed "Other" text), matching the engine's QuestionDecision.
10
10
  */
11
11
  import { useState } from "react";
12
+ import { Row, Surface, Text } from "@chances-ai/design-system";
12
13
  import { Button } from "./button.js";
13
- import { Box, Txt } from "./primitives.js";
14
14
  import { useUiTheme } from "./theme-context.js";
15
15
  /** Sentinel label for the free-text "Other" row (never sent verbatim). */
16
16
  const OTHER = "__other__";
@@ -47,14 +47,14 @@ export function QuestionView({ pending, onAnswer }) {
47
47
  onAnswer({ answers });
48
48
  };
49
49
  const border = theme.permission ?? "#888";
50
- return (_jsxs(Box, { borderWidth: 1, borderColor: border, borderRadius: 8, padding: 12, gap: 12, backgroundColor: "var(--ch-bg)", children: [_jsxs(Txt, { color: border, fontWeight: 700, children: ["The agent is asking", pending.questions.length > 1 ? ` ${pending.questions.length} questions` : "", "\u2026"] }), pending.questions.map((q, qi) => {
50
+ return (_jsxs(Surface, { gap: "md", className: "rounded-lg border p-3", style: { borderColor: border, backgroundColor: "var(--ch-bg)" }, children: [_jsxs(Text, { weight: "bold", style: { color: border }, children: ["The agent is asking", pending.questions.length > 1 ? ` ${pending.questions.length} questions` : "", "\u2026"] }), pending.questions.map((q, qi) => {
51
51
  const multi = q.multiSelect === true;
52
52
  const chosen = selections[qi] ?? [];
53
53
  const otherChecked = chosen.includes(OTHER);
54
- return (_jsxs(Box, { gap: 4, children: [_jsx(Txt, { color: "var(--ch-fg)", fontWeight: 600, children: q.question }), q.options.map((opt) => (_jsxs("label", { style: { display: "flex", gap: 8, alignItems: "baseline", cursor: "pointer" }, children: [_jsx("input", { type: multi ? "checkbox" : "radio", name: `q-${qi}`, checked: chosen.includes(opt.label), onChange: () => toggle(qi, opt.label, multi) }), _jsxs(Txt, { color: "var(--ch-fg)", children: [opt.label, opt.description ? _jsxs(Txt, { color: theme.synComment, children: [" \u2014 ", opt.description] }) : null] })] }, opt.label))), _jsxs("label", { style: { display: "flex", gap: 8, alignItems: "baseline", cursor: "pointer" }, children: [_jsx("input", { type: multi ? "checkbox" : "radio", name: `q-${qi}`, checked: otherChecked, onChange: () => toggle(qi, OTHER, multi) }), _jsx(Txt, { color: theme.synComment, children: "Other:" }), _jsx("input", { "aria-label": `other answer for question ${qi + 1}`, value: other[qi] ?? "", onChange: (e) => setOther((o) => ({ ...o, [qi]: e.target.value })), onFocus: () => {
54
+ return (_jsxs(Surface, { gap: "xs", children: [_jsx(Text, { weight: "semibold", style: { color: "var(--ch-fg)" }, children: q.question }), q.options.map((opt) => (_jsxs("label", { style: { display: "flex", gap: 8, alignItems: "baseline", cursor: "pointer" }, children: [_jsx("input", { type: multi ? "checkbox" : "radio", name: `q-${qi}`, checked: chosen.includes(opt.label), onChange: () => toggle(qi, opt.label, multi) }), _jsxs(Text, { style: { color: "var(--ch-fg)" }, children: [opt.label, opt.description ? _jsxs(Text, { tone: "inherit", style: { color: theme.synComment }, children: [" \u2014 ", opt.description] }) : null] })] }, opt.label))), _jsxs("label", { style: { display: "flex", gap: 8, alignItems: "baseline", cursor: "pointer" }, children: [_jsx("input", { type: multi ? "checkbox" : "radio", name: `q-${qi}`, checked: otherChecked, onChange: () => toggle(qi, OTHER, multi) }), _jsx(Text, { style: { color: theme.synComment }, children: "Other:" }), _jsx("input", { "aria-label": `other answer for question ${qi + 1}`, value: other[qi] ?? "", onChange: (e) => setOther((o) => ({ ...o, [qi]: e.target.value })), onFocus: () => {
55
55
  if (!otherChecked)
56
56
  toggle(qi, OTHER, multi);
57
57
  }, style: { flex: 1, background: "transparent", color: "inherit", border: `1px solid ${theme.synComment ?? "#555"}`, borderRadius: 4, padding: "2px 6px", outline: "none" } })] })] }, qi));
58
- }), _jsxs(Box, { flexDirection: "row", gap: 8, flexWrap: "wrap", children: [_jsx(Button, { label: "Submit", color: theme.accent, onPress: submit, disabled: !allAnswered }), _jsx(Button, { label: "Cancel", color: theme.synComment, onPress: () => onAnswer({ answers: {}, declined: true }) })] })] }));
58
+ }), _jsxs(Row, { gap: "sm", className: "flex-wrap", children: [_jsx(Button, { label: "Submit", color: theme.accent, onPress: submit, disabled: !allAnswered }), _jsx(Button, { label: "Cancel", color: theme.synComment, onPress: () => onAnswer({ answers: {}, declined: true }) })] })] }));
59
59
  }
60
60
  //# sourceMappingURL=question-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"question-view.js","sourceRoot":"","sources":["../../src/web-ui/question-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"question-view.js","sourceRoot":"","sources":["../../src/web-ui/question-view.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ export interface CodeSegmentsProps {
3
3
  lang?: string;
4
4
  fontSize?: number;
5
5
  }
6
- /** A monospace run of themed syntax segments (one inline span per scope). */
6
+ /** A monospace run of themed syntax segments (one inline span per scope). The
7
+ * per-segment color is a runtime palette value (not a static role) → it stays
8
+ * on inline `style`, which is also what `render.test.tsx` asserts (`color:rgb(`). */
7
9
  export declare function CodeSegments({ code, lang, fontSize }: CodeSegmentsProps): import("react/jsx-runtime").JSX.Element;
8
10
  //# sourceMappingURL=segments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/web-ui/segments.tsx"],"names":[],"mappings":"AAYA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAa,EAAE,EAAE,iBAAiB,2CAY5E"}
1
+ {"version":3,"file":"segments.d.ts","sourceRoot":"","sources":["../../src/web-ui/segments.tsx"],"names":[],"mappings":"AAYA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;sFAEsF;AACtF,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAa,EAAE,EAAE,iBAAiB,2CAgB5E"}
@@ -7,13 +7,15 @@ import { jsx as _jsx } from "react/jsx-runtime";
7
7
  * highlights byte-identically across surfaces.
8
8
  */
9
9
  import { highlightToSegments } from "@chances-ai/ui-core";
10
+ import { Text } from "@chances-ai/design-system";
10
11
  import { MONO, segmentColor } from "./helpers.js";
11
- import { Txt } from "./primitives.js";
12
12
  import { useUiTheme } from "./theme-context.js";
13
- /** A monospace run of themed syntax segments (one inline span per scope). */
13
+ /** A monospace run of themed syntax segments (one inline span per scope). The
14
+ * per-segment color is a runtime palette value (not a static role) → it stays
15
+ * on inline `style`, which is also what `render.test.tsx` asserts (`color:rgb(`). */
14
16
  export function CodeSegments({ code, lang, fontSize = 13 }) {
15
17
  const theme = useUiTheme();
16
18
  const segments = highlightToSegments(code, lang);
17
- return (_jsx(Txt, { fontSize: fontSize, style: { fontFamily: MONO, whiteSpace: "pre-wrap", overflowWrap: "anywhere" }, children: segments.map((seg, i) => (_jsx(Txt, { color: segmentColor(seg.scope, theme), children: seg.text }, i))) }));
19
+ return (_jsx(Text, { tone: "inherit", className: "whitespace-pre-wrap [overflow-wrap:anywhere]", style: { fontFamily: MONO, fontSize }, children: segments.map((seg, i) => (_jsx(Text, { tone: "inherit", style: { color: segmentColor(seg.scope, theme) }, children: seg.text }, i))) }));
18
20
  }
19
21
  //# sourceMappingURL=segments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"segments.js","sourceRoot":"","sources":["../../src/web-ui/segments.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQhD,6EAA6E;AAC7E,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAG,EAAE,EAAqB;IAC3E,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,CACL,KAAC,GAAG,IAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,YACnG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,KAAC,GAAG,IAAS,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,YAC/C,GAAG,CAAC,IAAI,IADD,CAAC,CAEL,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"segments.js","sourceRoot":"","sources":["../../src/web-ui/segments.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQhD;;sFAEsF;AACtF,MAAM,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAG,EAAE,EAAqB;IAC3E,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,OAAO,CACL,KAAC,IAAI,IACH,IAAI,EAAC,SAAS,EACd,SAAS,EAAC,8CAA8C,EACxD,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,YAEpC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACxB,KAAC,IAAI,IAAS,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,YAC1E,GAAG,CAAC,IAAI,IADA,CAAC,CAEL,CACR,CAAC,GACG,CACR,CAAC;AACJ,CAAC"}
@@ -1,10 +1,3 @@
1
- /**
2
- * (v23 M5 / docs/6.6 §3) The left rail. The web relay holds ONE engine session
3
- * per process (no multi-session backend — that's a CLI-management concern that
4
- * stays out, see docs/STATUS), so this is an honest, lean rail: brand, a
5
- * "New chat" action (clears the transcript), the active session, and a
6
- * connection-status footer. Browser-safe, pure over the injected client/state.
7
- */
8
1
  import type { ClientState } from "../client-core/index.js";
9
2
  export interface SessionSidebarProps {
10
3
  state: ClientState;
@@ -1 +1 @@
1
- {"version":3,"file":"session-sidebar.d.ts","sourceRoot":"","sources":["../../src/web-ui/session-sidebar.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAM3D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,WAAW,CAAC;IACnB,yCAAyC;IACzC,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAoCvE"}
1
+ {"version":3,"file":"session-sidebar.d.ts","sourceRoot":"","sources":["../../src/web-ui/session-sidebar.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,WAAW,CAAC;IACnB,yCAAyC;IACzC,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAmCvE"}
@@ -1,10 +1,17 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * (v23 M5 / docs/6.6 §3) The left rail. The web relay holds ONE engine session
4
+ * per process (no multi-session backend — that's a CLI-management concern that
5
+ * stays out, see docs/STATUS), so this is an honest, lean rail: brand, a
6
+ * "New chat" action (clears the transcript), the active session, and a
7
+ * connection-status footer. Browser-safe, pure over the injected client/state.
8
+ */
9
+ import { Row, Surface, Text } from "@chances-ai/design-system";
2
10
  import { Button } from "./button.js";
3
11
  import { statusColor, statusText } from "./helpers.js";
4
- import { Box, Txt } from "./primitives.js";
5
12
  import { useUiTheme } from "./theme-context.js";
6
13
  export function SessionSidebar({ state, onNewChat }) {
7
14
  const theme = useUiTheme();
8
- return (_jsxs(Box, { style: { height: "100%" }, paddingVertical: 10, paddingHorizontal: 10, gap: 10, children: [_jsx(Txt, { color: theme.accent, fontWeight: 700, fontSize: 15, children: "chances" }), _jsx(Button, { label: "\uFF0B New chat", color: theme.accent, onPress: onNewChat }), _jsxs(Box, { marginTop: 8, gap: 4, children: [_jsx(Txt, { color: theme.synComment, fontSize: 11, style: { textTransform: "uppercase", letterSpacing: 0.5 }, children: "Session" }), _jsx(Txt, { color: state.sessionId ? "var(--ch-fg)" : theme.synComment, fontSize: 12, style: { fontFamily: "ui-monospace, monospace", whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" }, children: state.sessionId ?? "—" })] }), _jsx(Box, { flex: 1 }), _jsxs(Box, { flexDirection: "row", alignItems: "center", gap: 6, children: [_jsx(Txt, { color: statusColor(state.status, theme), fontSize: 12, children: "\u25CF" }), _jsx(Txt, { color: theme.synComment, fontSize: 12, children: statusText(state.status) })] })] }));
15
+ return (_jsxs(Surface, { className: "h-full gap-2.5 p-2.5", children: [_jsx(Text, { weight: "bold", className: "text-[15px]", style: { color: theme.accent }, children: "chances" }), _jsx(Button, { label: "\uFF0B New chat", color: theme.accent, onPress: onNewChat }), _jsxs(Surface, { gap: "xs", className: "mt-2", children: [_jsx(Text, { className: "text-[11px] uppercase tracking-wide", style: { color: theme.synComment }, children: "Session" }), _jsx(Text, { className: "truncate font-mono text-[12px]", style: { color: state.sessionId ? "var(--ch-fg)" : theme.synComment }, children: state.sessionId ?? "—" })] }), _jsx(Surface, { grow: true }), _jsxs(Row, { align: "center", className: "gap-1.5", children: [_jsx(Text, { className: "text-[12px]", style: { color: statusColor(state.status, theme) }, children: "\u25CF" }), _jsx(Text, { className: "text-[12px]", style: { color: theme.synComment }, children: statusText(state.status) })] })] }));
9
16
  }
10
17
  //# sourceMappingURL=session-sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-sidebar.js","sourceRoot":"","sources":["../../src/web-ui/session-sidebar.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQhD,MAAM,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAuB;IACtE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,OAAO,CACL,MAAC,GAAG,IAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,aACjF,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,wBAEjD,EACN,KAAC,MAAM,IAAC,KAAK,EAAC,iBAAY,EAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,GAAI,EAEtE,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,aACvB,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,wBAE/F,EACN,KAAC,GAAG,IACF,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAC1D,QAAQ,EAAE,EAAE,EACZ,KAAK,EAAE,EAAE,UAAU,EAAE,yBAAyB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,YAEnH,KAAK,CAAC,SAAS,IAAI,GAAG,GACnB,IACF,EAGN,KAAC,GAAG,IAAC,IAAI,EAAE,CAAC,GAAI,EAGhB,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,UAAU,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aACjD,KAAC,GAAG,IAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAEpD,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,YACvC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GACrB,IACF,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"session-sidebar.js","sourceRoot":"","sources":["../../src/web-ui/session-sidebar.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AACH,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQhD,MAAM,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAuB;IACtE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,OAAO,CACL,MAAC,OAAO,IAAC,SAAS,EAAC,sBAAsB,aACvC,KAAC,IAAI,IAAC,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,wBAEnE,EACP,KAAC,MAAM,IAAC,KAAK,EAAC,iBAAY,EAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,GAAI,EAEtE,MAAC,OAAO,IAAC,GAAG,EAAC,IAAI,EAAC,SAAS,EAAC,MAAM,aAChC,KAAC,IAAI,IAAC,SAAS,EAAC,qCAAqC,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,wBAEjF,EACP,KAAC,IAAI,IACH,SAAS,EAAC,gCAAgC,EAC1C,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,YAEpE,KAAK,CAAC,SAAS,IAAI,GAAG,GAClB,IACC,EAGV,KAAC,OAAO,IAAC,IAAI,SAAG,EAGhB,MAAC,GAAG,IAAC,KAAK,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,aACrC,KAAC,IAAI,IAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,uBAEzE,EACP,KAAC,IAAI,IAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,YAC7D,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GACpB,IACH,IACE,CACX,CAAC;AACJ,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Row, Text } from "@chances-ai/design-system";
2
3
  import { formatUsage, statusColor, statusText } from "./helpers.js";
3
- import { Box, Txt } from "./primitives.js";
4
4
  import { GLYPHS, useUiTheme } from "./theme-context.js";
5
5
  export function StatusBar({ state }) {
6
6
  const theme = useUiTheme();
7
7
  const sc = statusColor(state.status, theme);
8
- return (_jsxs(Box, { flexDirection: "row", gap: 12, alignItems: "center", flexWrap: "wrap", children: [_jsxs(Box, { flexDirection: "row", gap: 4, alignItems: "center", children: [_jsx(Txt, { color: sc, fontSize: 12, children: GLYPHS.dot }), _jsx(Txt, { color: sc, fontSize: 12, children: statusText(state.status) })] }), state.busy ? (_jsxs(Txt, { color: theme.accent, fontSize: 12, children: [GLYPHS.thinking, " working\u2026"] })) : null, state.lastUsage ? (_jsx(Txt, { color: theme.synComment, fontSize: 12, children: formatUsage(state.lastUsage) })) : null, state.lastError ? (_jsxs(Txt, { color: theme.error, fontSize: 12, children: ["\u26A0 ", state.lastError] })) : null] }));
8
+ return (_jsxs(Row, { gap: "md", align: "center", className: "flex-wrap", children: [_jsxs(Row, { gap: "xs", align: "center", children: [_jsx(Text, { className: "text-[12px]", style: { color: sc }, children: GLYPHS.dot }), _jsx(Text, { className: "text-[12px]", style: { color: sc }, children: statusText(state.status) })] }), state.busy ? (_jsxs(Text, { className: "text-[12px]", style: { color: theme.accent }, children: [GLYPHS.thinking, " working\u2026"] })) : null, state.lastUsage ? (_jsx(Text, { className: "text-[12px]", style: { color: theme.synComment }, children: formatUsage(state.lastUsage) })) : null, state.lastError ? (_jsxs(Text, { className: "text-[12px]", style: { color: theme.error }, children: ["\u26A0 ", state.lastError] })) : null] }));
9
9
  }
10
10
  //# sourceMappingURL=status-bar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status-bar.js","sourceRoot":"","sources":["../../src/web-ui/status-bar.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAA0B;IACzD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAC,QAAQ,EAAC,QAAQ,EAAC,MAAM,aACnE,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,aAClD,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,YACzB,MAAM,CAAC,GAAG,GACP,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,YACzB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GACrB,IACF,EACL,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CACZ,MAAC,GAAG,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,aACnC,MAAM,CAAC,QAAQ,sBACZ,CACP,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACjB,KAAC,GAAG,IAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,YACvC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,GACzB,CACP,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACjB,MAAC,GAAG,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,wBAChC,KAAK,CAAC,SAAS,IACd,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"status-bar.js","sourceRoot":"","sources":["../../src/web-ui/status-bar.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAA0B;IACzD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,CACL,MAAC,GAAG,IAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,QAAQ,EAAC,SAAS,EAAC,WAAW,aAChD,MAAC,GAAG,IAAC,GAAG,EAAC,IAAI,EAAC,KAAK,EAAC,QAAQ,aAC1B,KAAC,IAAI,IAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,YAC/C,MAAM,CAAC,GAAG,GACN,EACP,KAAC,IAAI,IAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,YAC/C,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GACpB,IACH,EACL,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CACZ,MAAC,IAAI,IAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,aACzD,MAAM,CAAC,QAAQ,sBACX,CACR,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACjB,KAAC,IAAI,IAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,YAC7D,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,GACxB,CACR,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CACjB,MAAC,IAAI,IAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,wBACtD,KAAK,CAAC,SAAS,IACb,CACR,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { toolDisplayName } from "@chances-ai/ui-core";
3
+ import { Row, Surface, Text } from "@chances-ai/design-system";
3
4
  import { DiffBlock } from "./diff-view.js";
4
5
  import { MONO, toolDotColor } from "./helpers.js";
5
6
  import { Markdown } from "./markdown.js";
6
- import { Box, Txt } from "./primitives.js";
7
7
  import { CodeSegments } from "./segments.js";
8
8
  import { GLYPHS, useUiTheme } from "./theme-context.js";
9
9
  /**
@@ -15,7 +15,7 @@ import { GLYPHS, useUiTheme } from "./theme-context.js";
15
15
  */
16
16
  export function Transcript({ lines, committedCount }) {
17
17
  const committed = committedCount ?? lines.length;
18
- return (_jsx(Box, { gap: 6, paddingVertical: 8, children: lines.map((line, i) => (_jsx(TranscriptLine, { line: line, rich: i < committed }, i))) }));
18
+ return (_jsx(Surface, { className: "gap-1.5 py-2", children: lines.map((line, i) => (_jsx(TranscriptLine, { line: line, rich: i < committed }, i))) }));
19
19
  }
20
20
  /** One line, dispatched by `kind`. `rich` ⇒ committed (assistant → Markdown);
21
21
  * otherwise the live tail (assistant → plain). Exported for focused render smokes. */
@@ -35,22 +35,22 @@ export function TranscriptLine({ line, rich = true }) {
35
35
  }
36
36
  function UserLine({ text }) {
37
37
  const theme = useUiTheme();
38
- return (_jsx(Box, { alignSelf: "flex-end", maxWidth: "85%", backgroundColor: theme.userMessageBg, borderRadius: 10, paddingHorizontal: 12, paddingVertical: 8, children: _jsx(Txt, { color: "var(--ch-fg)", style: { whiteSpace: "pre-wrap", overflowWrap: "anywhere" }, children: text }) }));
38
+ return (_jsx(Surface, { className: "self-end max-w-[85%] rounded-[10px] px-3 py-2", style: { backgroundColor: theme.userMessageBg }, children: _jsx(Text, { className: "whitespace-pre-wrap [overflow-wrap:anywhere]", style: { color: "var(--ch-fg)" }, children: text }) }));
39
39
  }
40
40
  function AssistantLine({ text, rich }) {
41
41
  // Committed → Markdown; live (still streaming) → plain text (no half-parsed
42
42
  // Markdown flicker), matching the TUI's committed/live split.
43
43
  if (rich)
44
44
  return _jsx(Markdown, { text: text });
45
- return (_jsx(Txt, { color: "var(--ch-fg)", style: { whiteSpace: "pre-wrap", overflowWrap: "anywhere" }, children: text }));
45
+ return (_jsx(Text, { className: "whitespace-pre-wrap [overflow-wrap:anywhere]", style: { color: "var(--ch-fg)" }, children: text }));
46
46
  }
47
47
  function PlainLine({ text, role }) {
48
48
  const theme = useUiTheme();
49
- return (_jsx(Txt, { color: role === "error" ? theme.error : theme.synComment, style: { whiteSpace: "pre-wrap", overflowWrap: "anywhere" }, children: text }));
49
+ return (_jsx(Text, { className: "whitespace-pre-wrap [overflow-wrap:anywhere]", style: { color: role === "error" ? theme.error : theme.synComment }, children: text }));
50
50
  }
51
51
  function ToolLine({ line }) {
52
52
  const theme = useUiTheme();
53
53
  const name = toolDisplayName(line.toolName ?? "");
54
- return (_jsxs(Box, { gap: 2, children: [_jsxs(Box, { flexDirection: "row", gap: 6, alignItems: "baseline", children: [_jsx(Txt, { color: toolDotColor(line, theme), children: GLYPHS.dot }), _jsx(Txt, { color: "var(--ch-fg)", fontWeight: "600", children: name }), line.text ? (_jsx(Txt, { color: theme.synComment, style: { fontFamily: MONO, overflowWrap: "anywhere" }, fontSize: 13, children: line.text })) : null] }), line.diff || line.result ? (_jsxs(Box, { flexDirection: "row", gap: 6, paddingLeft: 4, children: [_jsx(Txt, { color: theme.synComment, children: GLYPHS.branch }), _jsxs(Box, { flex: 1, gap: 2, children: [line.diff ? _jsx(DiffBlock, { diff: line.diff, anchored: line.anchored === true }) : null, line.result ? _jsx(CodeSegments, { code: line.result, fontSize: 12 }) : null] })] })) : null] }));
54
+ return (_jsxs(Surface, { className: "gap-0.5", children: [_jsxs(Row, { className: "items-baseline gap-1.5", children: [_jsx(Text, { style: { color: toolDotColor(line, theme) }, children: GLYPHS.dot }), _jsx(Text, { weight: "semibold", style: { color: "var(--ch-fg)" }, children: name }), line.text ? (_jsx(Text, { className: "text-[13px] [overflow-wrap:anywhere]", style: { fontFamily: MONO, color: theme.synComment }, children: line.text })) : null] }), line.diff || line.result ? (_jsxs(Row, { className: "gap-1.5 pl-1", children: [_jsx(Text, { style: { color: theme.synComment }, children: GLYPHS.branch }), _jsxs(Surface, { grow: true, className: "gap-0.5", children: [line.diff ? _jsx(DiffBlock, { diff: line.diff, anchored: line.anchored === true }) : null, line.result ? _jsx(CodeSegments, { code: line.result, fontSize: 12 }) : null] })] })) : null] }));
55
55
  }
56
56
  //# sourceMappingURL=transcript.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../src/web-ui/transcript.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../src/web-ui/transcript.tsx"],"names":[],"mappings":"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"}