@schlessera/brain-ui-react 0.34.0 → 0.35.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 (223) hide show
  1. package/README.md +12 -0
  2. package/dist/components/activity/activity-page.d.ts.map +1 -1
  3. package/dist/components/activity/activity-page.js +8 -149
  4. package/dist/components/activity/activity-page.js.map +1 -1
  5. package/dist/components/activity/activity-rollups.d.ts +5 -0
  6. package/dist/components/activity/activity-rollups.d.ts.map +1 -0
  7. package/dist/components/activity/activity-rollups.js +39 -0
  8. package/dist/components/activity/activity-rollups.js.map +1 -0
  9. package/dist/components/activity/activity-run-detail.d.ts +11 -0
  10. package/dist/components/activity/activity-run-detail.d.ts.map +1 -0
  11. package/dist/components/activity/activity-run-detail.js +111 -0
  12. package/dist/components/activity/activity-run-detail.js.map +1 -0
  13. package/dist/components/activity/activity-run-list.d.ts +15 -0
  14. package/dist/components/activity/activity-run-list.d.ts.map +1 -0
  15. package/dist/components/activity/activity-run-list.js +25 -0
  16. package/dist/components/activity/activity-run-list.js.map +1 -0
  17. package/dist/components/chat/brain-markdown-code.d.ts +4 -0
  18. package/dist/components/chat/brain-markdown-code.d.ts.map +1 -0
  19. package/dist/components/chat/brain-markdown-code.js +47 -0
  20. package/dist/components/chat/brain-markdown-code.js.map +1 -0
  21. package/dist/components/chat/brain-markdown-entities.d.ts +14 -0
  22. package/dist/components/chat/brain-markdown-entities.d.ts.map +1 -0
  23. package/dist/components/chat/brain-markdown-entities.js +93 -0
  24. package/dist/components/chat/brain-markdown-entities.js.map +1 -0
  25. package/dist/components/chat/brain-markdown-links.d.ts +36 -0
  26. package/dist/components/chat/brain-markdown-links.d.ts.map +1 -0
  27. package/dist/components/chat/brain-markdown-links.js +176 -0
  28. package/dist/components/chat/brain-markdown-links.js.map +1 -0
  29. package/dist/components/chat/brain-markdown-share.d.ts +15 -0
  30. package/dist/components/chat/brain-markdown-share.d.ts.map +1 -0
  31. package/dist/components/chat/brain-markdown-share.js +40 -0
  32. package/dist/components/chat/brain-markdown-share.js.map +1 -0
  33. package/dist/components/chat/brain-markdown.d.ts +1 -34
  34. package/dist/components/chat/brain-markdown.d.ts.map +1 -1
  35. package/dist/components/chat/brain-markdown.js +9 -402
  36. package/dist/components/chat/brain-markdown.js.map +1 -1
  37. package/dist/components/chat/composer.d.ts.map +1 -1
  38. package/dist/components/chat/composer.js +14 -1
  39. package/dist/components/chat/composer.js.map +1 -1
  40. package/dist/components/chat/session-drawer.d.ts.map +1 -1
  41. package/dist/components/chat/session-drawer.js +25 -10
  42. package/dist/components/chat/session-drawer.js.map +1 -1
  43. package/dist/components/chat/tool-views.d.ts +2 -2
  44. package/dist/components/chat/tool-views.d.ts.map +1 -1
  45. package/dist/components/chat/tool-views.js +2 -16
  46. package/dist/components/chat/tool-views.js.map +1 -1
  47. package/dist/components/chat/use-markdown-highlight.d.ts +12 -0
  48. package/dist/components/chat/use-markdown-highlight.d.ts.map +1 -0
  49. package/dist/components/chat/use-markdown-highlight.js +56 -0
  50. package/dist/components/chat/use-markdown-highlight.js.map +1 -0
  51. package/dist/components/connectivity/connection-gate.d.ts.map +1 -1
  52. package/dist/components/connectivity/connection-gate.js +94 -8
  53. package/dist/components/connectivity/connection-gate.js.map +1 -1
  54. package/dist/components/connectivity/connection-state.d.ts +12 -0
  55. package/dist/components/connectivity/connection-state.d.ts.map +1 -0
  56. package/dist/components/connectivity/connection-state.js +23 -0
  57. package/dist/components/connectivity/connection-state.js.map +1 -0
  58. package/dist/components/graph/graph-canvas-lazy.d.ts +2 -0
  59. package/dist/components/graph/graph-canvas-lazy.d.ts.map +1 -0
  60. package/dist/components/graph/graph-canvas-lazy.js +4 -0
  61. package/dist/components/graph/graph-canvas-lazy.js.map +1 -0
  62. package/dist/components/graph/graph-controls.js +4 -1
  63. package/dist/components/graph/graph-controls.js.map +1 -1
  64. package/dist/components/graph/graph-maintenance.d.ts +8 -0
  65. package/dist/components/graph/graph-maintenance.d.ts.map +1 -0
  66. package/dist/components/graph/graph-maintenance.js +115 -0
  67. package/dist/components/graph/graph-maintenance.js.map +1 -0
  68. package/dist/components/graph/graph-page.d.ts.map +1 -1
  69. package/dist/components/graph/graph-page.js +11 -306
  70. package/dist/components/graph/graph-page.js.map +1 -1
  71. package/dist/components/graph/graph-scene.d.ts +8 -0
  72. package/dist/components/graph/graph-scene.d.ts.map +1 -0
  73. package/dist/components/graph/graph-scene.js +208 -0
  74. package/dist/components/graph/graph-scene.js.map +1 -0
  75. package/dist/components/graph/graph-spinner.d.ts +2 -0
  76. package/dist/components/graph/graph-spinner.d.ts.map +1 -0
  77. package/dist/components/graph/graph-spinner.js +6 -0
  78. package/dist/components/graph/graph-spinner.js.map +1 -0
  79. package/dist/components/layout/app-shell.d.ts.map +1 -1
  80. package/dist/components/layout/app-shell.js +2 -1
  81. package/dist/components/layout/app-shell.js.map +1 -1
  82. package/dist/components/quick-actions/add-modal.d.ts.map +1 -1
  83. package/dist/components/quick-actions/add-modal.js +47 -4
  84. package/dist/components/quick-actions/add-modal.js.map +1 -1
  85. package/dist/components/quick-actions/search-modal.d.ts.map +1 -1
  86. package/dist/components/quick-actions/search-modal.js +46 -18
  87. package/dist/components/quick-actions/search-modal.js.map +1 -1
  88. package/dist/components/quick-actions/streaming-modal.d.ts.map +1 -1
  89. package/dist/components/quick-actions/streaming-modal.js +4 -1
  90. package/dist/components/quick-actions/streaming-modal.js.map +1 -1
  91. package/dist/components/settings/devices-agents-tab.d.ts +5 -0
  92. package/dist/components/settings/devices-agents-tab.d.ts.map +1 -0
  93. package/dist/components/settings/devices-agents-tab.js +96 -0
  94. package/dist/components/settings/devices-agents-tab.js.map +1 -0
  95. package/dist/components/settings/one-time-agent-credential.d.ts +3 -0
  96. package/dist/components/settings/one-time-agent-credential.d.ts.map +1 -0
  97. package/dist/components/settings/one-time-agent-credential.js +55 -0
  98. package/dist/components/settings/one-time-agent-credential.js.map +1 -0
  99. package/dist/components/settings/settings-panel.d.ts.map +1 -1
  100. package/dist/components/settings/settings-panel.js +16 -3
  101. package/dist/components/settings/settings-panel.js.map +1 -1
  102. package/dist/hooks/use-vpn-status.d.ts +6 -1
  103. package/dist/hooks/use-vpn-status.d.ts.map +1 -1
  104. package/dist/hooks/use-vpn-status.js +67 -30
  105. package/dist/hooks/use-vpn-status.js.map +1 -1
  106. package/dist/hooks/use-websocket.d.ts +3 -2
  107. package/dist/hooks/use-websocket.d.ts.map +1 -1
  108. package/dist/hooks/use-websocket.js +65 -254
  109. package/dist/hooks/use-websocket.js.map +1 -1
  110. package/dist/hooks/websocket-handlers/activity.d.ts +5 -0
  111. package/dist/hooks/websocket-handlers/activity.d.ts.map +1 -0
  112. package/dist/hooks/websocket-handlers/activity.js +10 -0
  113. package/dist/hooks/websocket-handlers/activity.js.map +1 -0
  114. package/dist/hooks/websocket-handlers/chat.d.ts +17 -0
  115. package/dist/hooks/websocket-handlers/chat.d.ts.map +1 -0
  116. package/dist/hooks/websocket-handlers/chat.js +175 -0
  117. package/dist/hooks/websocket-handlers/chat.js.map +1 -0
  118. package/dist/hooks/websocket-handlers/connection.d.ts +6 -0
  119. package/dist/hooks/websocket-handlers/connection.d.ts.map +1 -0
  120. package/dist/hooks/websocket-handlers/connection.js +27 -0
  121. package/dist/hooks/websocket-handlers/connection.js.map +1 -0
  122. package/dist/hooks/websocket-handlers/index.d.ts +4 -0
  123. package/dist/hooks/websocket-handlers/index.d.ts.map +1 -0
  124. package/dist/hooks/websocket-handlers/index.js +19 -0
  125. package/dist/hooks/websocket-handlers/index.js.map +1 -0
  126. package/dist/hooks/websocket-handlers/mask.d.ts +4 -0
  127. package/dist/hooks/websocket-handlers/mask.d.ts.map +1 -0
  128. package/dist/hooks/websocket-handlers/mask.js +14 -0
  129. package/dist/hooks/websocket-handlers/mask.js.map +1 -0
  130. package/dist/hooks/websocket-handlers/provider.d.ts +4 -0
  131. package/dist/hooks/websocket-handlers/provider.d.ts.map +1 -0
  132. package/dist/hooks/websocket-handlers/provider.js +31 -0
  133. package/dist/hooks/websocket-handlers/provider.js.map +1 -0
  134. package/dist/hooks/websocket-handlers/types.d.ts +24 -0
  135. package/dist/hooks/websocket-handlers/types.d.ts.map +1 -0
  136. package/dist/hooks/websocket-handlers/types.js +2 -0
  137. package/dist/hooks/websocket-handlers/types.js.map +1 -0
  138. package/dist/lib/api-client.d.ts +32 -0
  139. package/dist/lib/api-client.d.ts.map +1 -1
  140. package/dist/lib/api-client.js +11 -0
  141. package/dist/lib/api-client.js.map +1 -1
  142. package/dist/lib/format-time.d.ts +3 -0
  143. package/dist/lib/format-time.d.ts.map +1 -0
  144. package/dist/lib/format-time.js +25 -0
  145. package/dist/lib/format-time.js.map +1 -0
  146. package/dist/lib/push-registration.d.ts +7 -0
  147. package/dist/lib/push-registration.d.ts.map +1 -0
  148. package/dist/lib/push-registration.js +26 -0
  149. package/dist/lib/push-registration.js.map +1 -0
  150. package/dist/stores/activity-store-helpers.d.ts +50 -0
  151. package/dist/stores/activity-store-helpers.d.ts.map +1 -0
  152. package/dist/stores/activity-store-helpers.js +143 -0
  153. package/dist/stores/activity-store-helpers.js.map +1 -0
  154. package/dist/stores/activity-store-types.d.ts +48 -0
  155. package/dist/stores/activity-store-types.d.ts.map +1 -0
  156. package/dist/stores/activity-store-types.js +2 -0
  157. package/dist/stores/activity-store-types.js.map +1 -0
  158. package/dist/stores/activity-store.d.ts +2 -78
  159. package/dist/stores/activity-store.d.ts.map +1 -1
  160. package/dist/stores/activity-store.js +22 -142
  161. package/dist/stores/activity-store.js.map +1 -1
  162. package/dist/stores/connection-store.d.ts +14 -2
  163. package/dist/stores/connection-store.d.ts.map +1 -1
  164. package/dist/stores/connection-store.js +17 -0
  165. package/dist/stores/connection-store.js.map +1 -1
  166. package/dist/stores/file-store.d.ts.map +1 -1
  167. package/dist/stores/file-store.js +54 -18
  168. package/dist/stores/file-store.js.map +1 -1
  169. package/dist/stores/principal-store.d.ts +16 -0
  170. package/dist/stores/principal-store.d.ts.map +1 -0
  171. package/dist/stores/principal-store.js +29 -0
  172. package/dist/stores/principal-store.js.map +1 -0
  173. package/dist/stores/ui-store.d.ts +1 -1
  174. package/dist/stores/ui-store.d.ts.map +1 -1
  175. package/dist/styles.css +1 -1
  176. package/package.json +2 -2
  177. package/src/components/activity/activity-page.tsx +6 -477
  178. package/src/components/activity/activity-rollups.tsx +94 -0
  179. package/src/components/activity/activity-run-detail.tsx +301 -0
  180. package/src/components/activity/activity-run-list.tsx +97 -0
  181. package/src/components/chat/brain-markdown-code.tsx +60 -0
  182. package/src/components/chat/brain-markdown-entities.tsx +116 -0
  183. package/src/components/chat/brain-markdown-links.tsx +247 -0
  184. package/src/components/chat/brain-markdown-share.ts +47 -0
  185. package/src/components/chat/brain-markdown.tsx +27 -535
  186. package/src/components/chat/composer.tsx +14 -1
  187. package/src/components/chat/session-drawer.tsx +29 -10
  188. package/src/components/chat/tool-views.tsx +2 -13
  189. package/src/components/chat/use-markdown-highlight.ts +63 -0
  190. package/src/components/connectivity/connection-gate.tsx +128 -14
  191. package/src/components/connectivity/connection-state.ts +37 -0
  192. package/src/components/graph/graph-canvas-lazy.tsx +4 -0
  193. package/src/components/graph/graph-controls.tsx +4 -1
  194. package/src/components/graph/graph-maintenance.tsx +304 -0
  195. package/src/components/graph/graph-page.tsx +11 -840
  196. package/src/components/graph/graph-scene.tsx +548 -0
  197. package/src/components/graph/graph-spinner.tsx +9 -0
  198. package/src/components/layout/app-shell.tsx +2 -0
  199. package/src/components/quick-actions/add-modal.tsx +49 -4
  200. package/src/components/quick-actions/search-modal.tsx +46 -18
  201. package/src/components/quick-actions/streaming-modal.tsx +3 -1
  202. package/src/components/settings/devices-agents-tab.tsx +231 -0
  203. package/src/components/settings/one-time-agent-credential.tsx +131 -0
  204. package/src/components/settings/settings-panel.tsx +20 -5
  205. package/src/hooks/use-vpn-status.ts +71 -31
  206. package/src/hooks/use-websocket.ts +74 -275
  207. package/src/hooks/websocket-handlers/activity.ts +13 -0
  208. package/src/hooks/websocket-handlers/chat.ts +210 -0
  209. package/src/hooks/websocket-handlers/connection.ts +30 -0
  210. package/src/hooks/websocket-handlers/index.ts +59 -0
  211. package/src/hooks/websocket-handlers/mask.ts +17 -0
  212. package/src/hooks/websocket-handlers/provider.ts +35 -0
  213. package/src/hooks/websocket-handlers/types.ts +27 -0
  214. package/src/lib/api-client.ts +40 -1
  215. package/src/lib/format-time.ts +20 -0
  216. package/src/lib/push-registration.ts +29 -0
  217. package/src/stores/activity-store-helpers.ts +164 -0
  218. package/src/stores/activity-store-types.ts +55 -0
  219. package/src/stores/activity-store.ts +21 -217
  220. package/src/stores/connection-store.ts +33 -2
  221. package/src/stores/file-store.ts +42 -12
  222. package/src/stores/principal-store.ts +38 -0
  223. package/src/stores/ui-store.ts +1 -1
@@ -9,6 +9,8 @@ import { formatRelativeTime } from "./tool-views.js";
9
9
  export function SessionDrawer({ open, onClose, onResume, }) {
10
10
  const [sessions, setSessions] = useState([]);
11
11
  const [loading, setLoading] = useState(false);
12
+ const [warning, setWarning] = useState(null);
13
+ const [retry, setRetry] = useState(0);
12
14
  const clearMessages = useChatStore((s) => s.clearMessages);
13
15
  const currentSessionId = useChatStore((s) => s.activeSessionId);
14
16
  const runStates = useChatStore((s) => s.runStates);
@@ -19,15 +21,28 @@ export function SessionDrawer({ open, onClose, onResume, }) {
19
21
  // servers no longer send.
20
22
  const backgroundSessionId = Object.keys(runStates).find((id) => id !== currentSessionId) ?? null;
21
23
  useEffect(() => {
22
- if (open) {
23
- setLoading(true);
24
- api
25
- .sessions()
26
- .then((data) => setSessions(data.sessions))
27
- .catch(() => setSessions([]))
28
- .finally(() => setLoading(false));
29
- }
30
- }, [open]);
24
+ if (!open)
25
+ return;
26
+ let active = true;
27
+ setLoading(true);
28
+ setWarning(null);
29
+ api.sessions()
30
+ .then((data) => {
31
+ if (!active)
32
+ return;
33
+ setSessions(data.sessions);
34
+ setWarning(data.unavailableBackends?.length
35
+ ? "Some session histories are unavailable. Showing available sessions."
36
+ : null);
37
+ })
38
+ .catch(() => {
39
+ if (active)
40
+ setWarning("Could not refresh sessions. Please retry.");
41
+ })
42
+ .finally(() => { if (active)
43
+ setLoading(false); });
44
+ return () => { active = false; };
45
+ }, [open, retry]);
31
46
  const groups = groupSessionsByDate(sessions);
32
47
  return (_jsx(SlidePanel, { open: open, onClose: onClose, title: "Sessions", wide: true, children: _jsxs("div", { className: "flex h-full flex-col", children: [_jsx("div", { className: "p-4", children: _jsxs("button", { onClick: () => {
33
48
  clearMessages();
@@ -35,7 +50,7 @@ export function SessionDrawer({ open, onClose, onResume, }) {
35
50
  }, className: "flex w-full items-center justify-center gap-2 rounded-xl border-2 border-dashed border-primary/30 py-3 text-[13px] font-medium text-primary transition-all hover:border-primary/50 hover:bg-primary/5", children: [_jsx(Plus, { className: "h-4 w-4" }), "New conversation"] }) }), _jsxs("div", { className: "flex-1 overflow-y-auto px-2 pb-4", children: [backgroundSessionId && (_jsx("div", { className: "px-2 pb-2", children: _jsxs("button", { onClick: () => {
36
51
  onResume(backgroundSessionId);
37
52
  onClose();
38
- }, className: "flex w-full items-center gap-3 rounded-lg border border-primary/30 bg-primary/5 px-3 py-2.5 text-left transition-colors hover:bg-primary/10", children: [_jsx("span", { className: "h-2 w-2 shrink-0 rounded-full bg-primary", style: { animation: "breathe 2s ease-in-out infinite" } }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "truncate text-[13px] font-medium text-foreground", children: "Session running..." }), _jsx("div", { className: "text-[11px] text-primary", children: "Tap to reattach" })] })] }) })), loading ? (_jsx("div", { className: "flex items-center justify-center py-12 text-muted-foreground", children: _jsx(Loader2, { className: "h-4 w-4 animate-spin" }) })) : sessions.length === 0 && !backgroundSessionId ? (_jsx("p", { className: "py-12 text-center text-xs text-muted-foreground", children: "No sessions yet" })) : (groups.map((group) => (_jsxs("div", { children: [_jsx("div", { className: "px-3 py-2 font-[family-name:var(--font-mono)] text-[10px] font-medium uppercase tracking-widest text-muted-foreground/40", children: group.label }), group.sessions.map((session) => (_jsxs("button", { onClick: () => {
53
+ }, className: "flex w-full items-center gap-3 rounded-lg border border-primary/30 bg-primary/5 px-3 py-2.5 text-left transition-colors hover:bg-primary/10", children: [_jsx("span", { className: "h-2 w-2 shrink-0 rounded-full bg-primary", style: { animation: "breathe 2s ease-in-out infinite" } }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "truncate text-[13px] font-medium text-foreground", children: "Session running..." }), _jsx("div", { className: "text-[11px] text-primary", children: "Tap to reattach" })] })] }) })), warning && (_jsxs("div", { role: "status", className: "px-3 py-2 text-xs text-muted-foreground", children: [_jsx("p", { children: warning }), _jsx("button", { className: "mt-2 text-primary underline", onClick: () => setRetry((value) => value + 1), children: "Retry" })] })), loading ? (_jsx("div", { className: "flex items-center justify-center py-12 text-muted-foreground", children: _jsx(Loader2, { className: "h-4 w-4 animate-spin" }) })) : sessions.length === 0 && !backgroundSessionId ? (_jsx("p", { className: "py-12 text-center text-xs text-muted-foreground", children: warning ? "No sessions available" : "No sessions yet" })) : (groups.map((group) => (_jsxs("div", { children: [_jsx("div", { className: "px-3 py-2 font-[family-name:var(--font-mono)] text-[10px] font-medium uppercase tracking-widest text-muted-foreground/40", children: group.label }), group.sessions.map((session) => (_jsxs("button", { onClick: () => {
39
54
  onResume(session.id);
40
55
  onClose();
41
56
  }, className: cn("w-full rounded-lg px-3 py-2.5 text-left transition-colors hover:bg-surface-raised", session.id === currentSessionId &&
@@ -1 +1 @@
1
- {"version":3,"file":"session-drawer.js","sourceRoot":"","sources":["../../../src/components/chat/session-drawer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-drawer.js","sourceRoot":"","sources":["../../../src/components/chat/session-drawer.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { Terminal } from "lucide-react";
2
2
  import type { ToolCall } from "../../stores/chat-store.js";
3
3
  import { computeDiffRows } from "../../lib/diff.js";
4
+ import { formatRelativeTime } from "../../lib/format-time.js";
4
5
  export { computeDiffRows };
6
+ export { formatRelativeTime };
5
7
  /**
6
8
  * Tool inputs carry absolute paths (`/data/brain/notes/foo.md`); the file
7
9
  * panel wants repo-relative ones. Strip everything up to the brain repo root
@@ -11,8 +13,6 @@ export declare function toRepoRelative(path: string): string | null;
11
13
  export declare function formatDuration(ms: number): string;
12
14
  /** Compact token count: 1234 → "1k", 2_345_678 → "2.3M". */
13
15
  export declare function formatTokenCount(n: number): string;
14
- /** Relative timestamp for list rows ("3m ago"); dates beyond a week. */
15
- export declare function formatRelativeTime(ms: number): string;
16
16
  export declare function countLines(text: string): number;
17
17
  export declare function getToolIcon(name: string): typeof Terminal;
18
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tool-views.d.ts","sourceRoot":"","sources":["../../../src/components/chat/tool-views.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-views.d.ts","sourceRoot":"","sources":["../../../src/components/chat/tool-views.tsx"],"names":[],"mappings":"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"}
@@ -7,8 +7,10 @@ import { MarkdownContent } from "./markdown-content.js";
7
7
  import { isInternalRepoPath } from "../../stores/file-store.js";
8
8
  import { GET_LOCATION_TOOL_NAME, normalizeToolName } from "../../lib/tool-names.js";
9
9
  import { computeDiffRows } from "../../lib/diff.js";
10
+ import { formatRelativeTime } from "../../lib/format-time.js";
10
11
  // Re-exported so existing imports of the diff engine from this module keep working.
11
12
  export { computeDiffRows };
13
+ export { formatRelativeTime };
12
14
  // ============================================================
13
15
  // Shared helpers
14
16
  // ============================================================
@@ -66,22 +68,6 @@ export function formatTokenCount(n) {
66
68
  return `${Math.round(n / 1_000)}k`;
67
69
  return String(n);
68
70
  }
69
- /** Relative timestamp for list rows ("3m ago"); dates beyond a week. */
70
- export function formatRelativeTime(ms) {
71
- const diff = Date.now() - ms;
72
- const minutes = Math.floor(diff / 60000);
73
- if (minutes < 1)
74
- return "just now";
75
- if (minutes < 60)
76
- return `${minutes}m ago`;
77
- const hours = Math.floor(minutes / 60);
78
- if (hours < 24)
79
- return `${hours}h ago`;
80
- const days = Math.floor(hours / 24);
81
- if (days < 7)
82
- return `${days}d ago`;
83
- return new Date(ms).toLocaleDateString();
84
- }
85
71
  export function countLines(text) {
86
72
  let n = 1;
87
73
  for (let i = 0; i < text.length; i++)
@@ -1 +1 @@
1
- {"version":3,"file":"tool-views.js","sourceRoot":"","sources":["../../../src/components/chat/tool-views.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-views.js","sourceRoot":"","sources":["../../../src/components/chat/tool-views.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import remarkGfm from "remark-gfm";
2
+ /**
3
+ * Plugin lists, hoisted out of render.
4
+ *
5
+ * react-markdown builds a fresh unified processor on every render and reruns
6
+ * the whole parse — there is no internal memoization to lean on. Fresh array
7
+ * literals in the JSX made that unavoidable; module constants let the memo
8
+ * below actually hold.
9
+ */
10
+ export declare const REMARK_PLUGINS: (typeof remarkGfm)[];
11
+ export declare function useRehypePlugins(enabled: boolean): import("unified").PluggableList;
12
+ //# sourceMappingURL=use-markdown-highlight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-markdown-highlight.d.ts","sourceRoot":"","sources":["../../../src/components/chat/use-markdown-highlight.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,sBAAc,CAAC;AA+B1C,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,mCAmBhD"}
@@ -0,0 +1,56 @@
1
+ import { useEffect, useSyncExternalStore } from "react";
2
+ import remarkGfm from "remark-gfm";
3
+ /**
4
+ * Plugin lists, hoisted out of render.
5
+ *
6
+ * react-markdown builds a fresh unified processor on every render and reruns
7
+ * the whole parse — there is no internal memoization to lean on. Fresh array
8
+ * literals in the JSX made that unavoidable; module constants let the memo
9
+ * below actually hold.
10
+ */
11
+ export const REMARK_PLUGINS = [remarkGfm];
12
+ const NO_REHYPE_PLUGINS = [];
13
+ /**
14
+ * Syntax highlighting arrives after first paint.
15
+ *
16
+ * rehype-highlight pulls in highlight.js, 166 KB of the entry bundle — more
17
+ * than every markdown parser here put together — and nothing on the first paint
18
+ * needs it. It is fetched once, on the first mount of a highlighting renderer;
19
+ * until it lands, code blocks render as plain text and then gain their colours.
20
+ * In practice it is loaded long before the first assistant message arrives.
21
+ *
22
+ * The module-level cache means the fetch happens once per page, not once per
23
+ * message, and useSyncExternalStore is what lets every mounted renderer pick up
24
+ * the plugin the moment it does.
25
+ */
26
+ let highlightPlugins = null;
27
+ let highlightRequested = false;
28
+ const highlightListeners = new Set();
29
+ function subscribeHighlight(onChange) {
30
+ highlightListeners.add(onChange);
31
+ return () => {
32
+ highlightListeners.delete(onChange);
33
+ };
34
+ }
35
+ function readHighlightPlugins() {
36
+ return highlightPlugins ?? NO_REHYPE_PLUGINS;
37
+ }
38
+ export function useRehypePlugins(enabled) {
39
+ const plugins = useSyncExternalStore(subscribeHighlight, readHighlightPlugins, readHighlightPlugins);
40
+ useEffect(() => {
41
+ if (!enabled || highlightRequested)
42
+ return;
43
+ highlightRequested = true;
44
+ import("rehype-highlight")
45
+ .then((mod) => {
46
+ highlightPlugins = [mod.default];
47
+ for (const listener of highlightListeners)
48
+ listener();
49
+ })
50
+ .catch(() => {
51
+ // Soft-fail: code blocks stay readable, just uncoloured.
52
+ });
53
+ }, [enabled]);
54
+ return enabled ? plugins : NO_REHYPE_PLUGINS;
55
+ }
56
+ //# sourceMappingURL=use-markdown-highlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-markdown-highlight.js","sourceRoot":"","sources":["../../../src/components/chat/use-markdown-highlight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAExD,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAS,CAAC,CAAC;AAC1C,MAAM,iBAAiB,GAAkD,EAAE,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,IAAI,gBAAgB,GAAyD,IAAI,CAAC;AAClF,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAC/B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAc,CAAC;AAEjD,SAAS,kBAAkB,CAAC,QAAoB;IAC9C,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,GAAG,EAAE;QACV,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,gBAAgB,IAAI,iBAAiB,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,OAAO,GAAG,oBAAoB,CAClC,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,CACrB,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,kBAAkB;YAAE,OAAO;QAC3C,kBAAkB,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,kBAAkB,CAAC;aACvB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,gBAAgB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACjC,KAAK,MAAM,QAAQ,IAAI,kBAAkB;gBAAE,QAAQ,EAAE,CAAC;QACxD,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,yDAAyD;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACd,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"connection-gate.d.ts","sourceRoot":"","sources":["../../../src/components/connectivity/connection-gate.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI5D,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAkFnE"}
1
+ {"version":3,"file":"connection-gate.d.ts","sourceRoot":"","sources":["../../../src/components/connectivity/connection-gate.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAapE,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,+BA2KnE"}
@@ -2,14 +2,27 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
2
2
  import { Brain, WifiOff, ShieldAlert } from "lucide-react";
3
3
  import { motion, AnimatePresence } from "framer-motion";
4
4
  import { useConnectionStore } from "../../stores/connection-store.js";
5
- import { useEffect, useState } from "react";
5
+ import { useEffect, useRef, useState } from "react";
6
6
  import { LoginScreen } from "./login-screen.js";
7
7
  import { useVpnStatus } from "../../hooks/use-vpn-status.js";
8
+ import { reconnectWebSocketNow } from "../../hooks/use-websocket.js";
9
+ import { deriveConnectionIssue, } from "./connection-state.js";
10
+ import { rebindPushSubscriptionAfterLogin } from "../../lib/push-registration.js";
11
+ const INITIAL_PUSH_REBIND_BACKOFF_MS = 1_000;
12
+ const MAX_PUSH_REBIND_BACKOFF_MS = 60_000;
8
13
  export function ConnectionGate({ children }) {
9
14
  // The gate owns its connectivity probe — composing <ConnectionGate> is all
10
15
  // an embedder needs; the store would otherwise sit on "checking" forever.
11
- useVpnStatus();
16
+ const successfulProbeCount = useVpnStatus();
12
17
  const vpnStatus = useConnectionStore((s) => s.vpnStatus);
18
+ const handshakeFailures = useConnectionStore((s) => s.handshakeFailures);
19
+ const lastCloseCode = useConnectionStore((s) => s.lastCloseCode);
20
+ const reportError = useConnectionStore((s) => s.reportError);
21
+ const issue = deriveConnectionIssue({
22
+ vpnStatus,
23
+ handshakeFailures,
24
+ lastCloseCode,
25
+ });
13
26
  // Once the app has connected, never unmount the UI again — an intermittent
14
27
  // drop must not destroy rendered chat state. Show a banner instead.
15
28
  const [everConnected, setEverConnected] = useState(false);
@@ -17,13 +30,79 @@ export function ConnectionGate({ children }) {
17
30
  if (vpnStatus === "connected")
18
31
  setEverConnected(true);
19
32
  }, [vpnStatus]);
33
+ const pushRebind = useRef({
34
+ pending: true,
35
+ inFlight: false,
36
+ retryReady: true,
37
+ backoffMs: INITIAL_PUSH_REBIND_BACKOFF_MS,
38
+ retryTimer: undefined,
39
+ disposed: false,
40
+ });
41
+ useEffect(() => {
42
+ const state = pushRebind.current;
43
+ state.disposed = false;
44
+ return () => {
45
+ state.disposed = true;
46
+ clearTimeout(state.retryTimer);
47
+ };
48
+ }, []);
49
+ // A successful authenticated probe follows a login reload (and is also the
50
+ // boot path for ambient auth modes). Re-assert any browser-held subscription
51
+ // so legacy/unbound rows acquire the current principal. A failed request
52
+ // stays pending: later successful probes, including foreground-triggered
53
+ // probes, retry it once the exponential backoff has elapsed.
54
+ useEffect(() => {
55
+ const state = pushRebind.current;
56
+ if (successfulProbeCount === 0 ||
57
+ vpnStatus !== "connected" ||
58
+ !state.pending ||
59
+ state.inFlight ||
60
+ !state.retryReady) {
61
+ return;
62
+ }
63
+ state.inFlight = true;
64
+ void rebindPushSubscriptionAfterLogin().then(() => {
65
+ if (state.disposed)
66
+ return;
67
+ state.inFlight = false;
68
+ state.pending = false;
69
+ }, () => {
70
+ if (state.disposed)
71
+ return;
72
+ state.inFlight = false;
73
+ state.retryReady = false;
74
+ const delay = state.backoffMs;
75
+ state.backoffMs = Math.min(state.backoffMs * 2, MAX_PUSH_REBIND_BACKOFF_MS);
76
+ state.retryTimer = setTimeout(() => {
77
+ state.retryReady = true;
78
+ state.retryTimer = undefined;
79
+ }, delay);
80
+ });
81
+ }, [successfulProbeCount, vpnStatus]);
82
+ const refused = issue === "refused" || issue === "capacity";
83
+ const wasRefused = useRef(false);
84
+ useEffect(() => {
85
+ if (!refused) {
86
+ wasRefused.current = false;
87
+ return;
88
+ }
89
+ if (wasRefused.current)
90
+ return;
91
+ wasRefused.current = true;
92
+ if (issue === "capacity") {
93
+ reportError("WEBSOCKET_CAPACITY", "The server refused the WebSocket because its connection limit was reached (close code 4008).");
94
+ }
95
+ else {
96
+ reportError("WEBSOCKET_REFUSED", `The server is reachable and the session is valid, but it refused the WebSocket connection (close code ${lastCloseCode ?? 1006}).`);
97
+ }
98
+ }, [issue, refused, lastCloseCode, reportError]);
20
99
  // Auth required (password mode) and no valid session: show the login screen,
21
100
  // even if we were connected before (an expired session must re-prompt).
22
- if (vpnStatus === "unauthorized") {
101
+ if (issue === "unauthorized") {
23
102
  return _jsx(LoginScreen, {});
24
103
  }
25
104
  if (vpnStatus === "connected" || everConnected) {
26
- return (_jsxs(_Fragment, { children: [_jsx(OfflineBanner, { show: everConnected && vpnStatus !== "connected", forbidden: vpnStatus === "forbidden" }), children] }));
105
+ return (_jsxs(_Fragment, { children: [_jsx(OfflineBanner, { show: refused || (everConnected && vpnStatus !== "connected"), issue: issue }), children] }));
27
106
  }
28
107
  return (_jsx("div", { className: "flex h-[100dvh] items-center justify-center bg-background", children: _jsx(AnimatePresence, { mode: "wait", children: _jsxs(motion.div, { initial: { opacity: 0, y: 8 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -8 }, transition: { duration: 0.3 }, className: "flex flex-col items-center gap-6 text-center px-6", children: [_jsx("div", { className: "flex h-16 w-16 items-center justify-center rounded-2xl bg-surface", children: _jsx(Brain, { className: "h-8 w-8 text-primary", style: vpnStatus === "checking"
29
108
  ? { animation: "breathe 3s ease-in-out infinite" }
@@ -34,9 +113,16 @@ export function ConnectionGate({ children }) {
34
113
  * stays mounted and interactive; reconnection is automatic (VPN poll + WS
35
114
  * backoff both tighten while offline).
36
115
  */
37
- function OfflineBanner({ show, forbidden, }) {
38
- return (_jsx(AnimatePresence, { children: show && (_jsx(motion.div, { initial: { opacity: 0, y: -24 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -24 }, transition: { duration: 0.2 }, className: "pointer-events-none fixed inset-x-0 top-0 z-[60] flex justify-center px-4 pt-3", children: _jsxs("div", { role: "status", className: "flex items-center gap-2 rounded-full border border-amber-500/30 bg-amber-950/90 px-4 py-1.5 text-xs text-amber-200 shadow-lg backdrop-blur", children: [forbidden ? (_jsx(ShieldAlert, { className: "h-3.5 w-3.5" })) : (_jsx(WifiOff, { className: "h-3.5 w-3.5" })), _jsx("span", { children: forbidden
39
- ? "VPN required — reconnect Tailscale"
40
- : "Connection lost — reconnecting…" }), _jsx("span", { className: "inline-block h-1.5 w-1.5 rounded-full bg-amber-400", style: { animation: "breathe 2s ease-in-out infinite" } })] }) })) }));
116
+ function OfflineBanner({ show, issue, }) {
117
+ const message = issue === "forbidden"
118
+ ? "VPN required — reconnect Tailscale"
119
+ : issue === "unreachable"
120
+ ? "Connection lost — reconnecting…"
121
+ : issue === "capacity"
122
+ ? "Server connection limit reached"
123
+ : issue === "refused"
124
+ ? "Server refused the live connection"
125
+ : "Connection lost — reconnecting…";
126
+ return (_jsx(AnimatePresence, { children: show && (_jsx(motion.div, { initial: { opacity: 0, y: -24 }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: -24 }, transition: { duration: 0.2 }, className: "pointer-events-none fixed inset-x-0 top-0 z-[60] flex justify-center px-4 pt-3", children: _jsxs("div", { role: "status", className: "pointer-events-auto flex items-center gap-2 rounded-full border border-amber-500/30 bg-amber-950/90 px-4 py-1.5 text-xs text-amber-200 shadow-lg backdrop-blur", children: [issue === "forbidden" ? (_jsx(ShieldAlert, { className: "h-3.5 w-3.5" })) : (_jsx(WifiOff, { className: "h-3.5 w-3.5" })), _jsx("span", { children: message }), (issue === "refused" || issue === "capacity") && (_jsx("button", { type: "button", onClick: reconnectWebSocketNow, className: "font-medium underline underline-offset-2 hover:text-amber-100", children: "Retry now" })), _jsx("span", { className: "inline-block h-1.5 w-1.5 rounded-full bg-amber-400", style: { animation: "breathe 2s ease-in-out infinite" } })] }) })) }));
41
127
  }
42
128
  //# sourceMappingURL=connection-gate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection-gate.js","sourceRoot":"","sources":["../../../src/components/connectivity/connection-gate.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection-gate.js","sourceRoot":"","sources":["../../../src/components/connectivity/connection-gate.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { VpnStatus } from "../../stores/connection-store.js";
2
+ export declare const REFUSAL_ATTEMPTS = 3;
3
+ /** ws/connection.ts closes with this when ClientSet.add refuses the socket. */
4
+ export declare const CONNECTION_LIMIT_CLOSE_CODE = 4008;
5
+ export type ConnectionIssue = "unauthorized" | "forbidden" | "unreachable" | "refused" | "capacity" | null;
6
+ /** Derive current connectivity copy from live facts; no conclusion is cached. */
7
+ export declare function deriveConnectionIssue({ vpnStatus, handshakeFailures, lastCloseCode, }: {
8
+ vpnStatus: VpnStatus;
9
+ handshakeFailures: number;
10
+ lastCloseCode: number | null;
11
+ }): ConnectionIssue;
12
+ //# sourceMappingURL=connection-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-state.d.ts","sourceRoot":"","sources":["../../../src/components/connectivity/connection-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAIlE,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,+EAA+E;AAC/E,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,WAAW,GACX,aAAa,GACb,SAAS,GACT,UAAU,GACV,IAAI,CAAC;AAET,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EACT,iBAAiB,EACjB,aAAa,GACd,EAAE;IACD,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GAAG,eAAe,CAUlB"}
@@ -0,0 +1,23 @@
1
+ // Three failed handshakes classify after the existing 1s + 2s backoffs: soon
2
+ // enough to diagnose a refusal, without flashing on one ordinary reconnect.
3
+ export const REFUSAL_ATTEMPTS = 3;
4
+ /** ws/connection.ts closes with this when ClientSet.add refuses the socket. */
5
+ export const CONNECTION_LIMIT_CLOSE_CODE = 4008;
6
+ /** Derive current connectivity copy from live facts; no conclusion is cached. */
7
+ export function deriveConnectionIssue({ vpnStatus, handshakeFailures, lastCloseCode, }) {
8
+ if (vpnStatus === "unauthorized")
9
+ return "unauthorized";
10
+ if (vpnStatus === "forbidden")
11
+ return "forbidden";
12
+ if (vpnStatus === "unreachable")
13
+ return "unreachable";
14
+ if (vpnStatus !== "connected")
15
+ return null;
16
+ // The cap refusal is explicit, so it does not wait for the inferred
17
+ // threshold: the server accepts the upgrade and closes with 4008, which
18
+ // resets the never-opened counter that "refused" is inferred from.
19
+ if (lastCloseCode === CONNECTION_LIMIT_CLOSE_CODE)
20
+ return "capacity";
21
+ return handshakeFailures >= REFUSAL_ATTEMPTS ? "refused" : null;
22
+ }
23
+ //# sourceMappingURL=connection-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-state.js","sourceRoot":"","sources":["../../../src/components/connectivity/connection-state.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAUhD,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CAAC,EACpC,SAAS,EACT,iBAAiB,EACjB,aAAa,GAKd;IACC,IAAI,SAAS,KAAK,cAAc;QAAE,OAAO,cAAc,CAAC;IACxD,IAAI,SAAS,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAClD,IAAI,SAAS,KAAK,aAAa;QAAE,OAAO,aAAa,CAAC;IACtD,IAAI,SAAS,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC3C,oEAAoE;IACpE,wEAAwE;IACxE,mEAAmE;IACnE,IAAI,aAAa,KAAK,2BAA2B;QAAE,OAAO,UAAU,CAAC;IACrE,OAAO,iBAAiB,IAAI,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const GraphCanvas: import("react").LazyExoticComponent<typeof import("./graph-canvas.js").default>;
2
+ //# sourceMappingURL=graph-canvas-lazy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-canvas-lazy.d.ts","sourceRoot":"","sources":["../../../src/components/graph/graph-canvas-lazy.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,iFAA0C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { lazy } from "react";
2
+ // The one code-split boundary: sigma + graphology load only when a scene renders.
3
+ export const GraphCanvas = lazy(() => import("./graph-canvas.js"));
4
+ //# sourceMappingURL=graph-canvas-lazy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-canvas-lazy.js","sourceRoot":"","sources":["../../../src/components/graph/graph-canvas-lazy.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,kFAAkF;AAClF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC"}
@@ -116,7 +116,10 @@ function NotePicker({ value, placeholder = "Search notes…", onPick, }) {
116
116
  setLoading(false);
117
117
  }
118
118
  }, 250);
119
- return () => clearTimeout(t);
119
+ return () => {
120
+ clearTimeout(t);
121
+ controllerRef.current?.abort();
122
+ };
120
123
  }, [editing, trimmed]);
121
124
  return (_jsxs("div", { className: "relative", children: [_jsxs("label", { className: "flex items-center gap-2 rounded-lg border border-border bg-surface-raised px-2.5 py-2 focus-within:border-primary/40", children: [_jsx(Search, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" }), _jsx("input", { value: editing ? query : (value ?? ""), onFocus: () => {
122
125
  setEditing(true);