@schlessera/brain-ui-react 0.33.1 → 0.34.1

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 (157) hide show
  1. package/README.md +5 -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/use-markdown-highlight.d.ts +12 -0
  41. package/dist/components/chat/use-markdown-highlight.d.ts.map +1 -0
  42. package/dist/components/chat/use-markdown-highlight.js +56 -0
  43. package/dist/components/chat/use-markdown-highlight.js.map +1 -0
  44. package/dist/components/connectivity/connection-gate.d.ts.map +1 -1
  45. package/dist/components/connectivity/connection-gate.js +41 -7
  46. package/dist/components/connectivity/connection-gate.js.map +1 -1
  47. package/dist/components/connectivity/connection-state.d.ts +12 -0
  48. package/dist/components/connectivity/connection-state.d.ts.map +1 -0
  49. package/dist/components/connectivity/connection-state.js +23 -0
  50. package/dist/components/connectivity/connection-state.js.map +1 -0
  51. package/dist/components/graph/graph-canvas-lazy.d.ts +2 -0
  52. package/dist/components/graph/graph-canvas-lazy.d.ts.map +1 -0
  53. package/dist/components/graph/graph-canvas-lazy.js +4 -0
  54. package/dist/components/graph/graph-canvas-lazy.js.map +1 -0
  55. package/dist/components/graph/graph-controls.js +4 -1
  56. package/dist/components/graph/graph-controls.js.map +1 -1
  57. package/dist/components/graph/graph-maintenance.d.ts +8 -0
  58. package/dist/components/graph/graph-maintenance.d.ts.map +1 -0
  59. package/dist/components/graph/graph-maintenance.js +115 -0
  60. package/dist/components/graph/graph-maintenance.js.map +1 -0
  61. package/dist/components/graph/graph-page.d.ts.map +1 -1
  62. package/dist/components/graph/graph-page.js +11 -306
  63. package/dist/components/graph/graph-page.js.map +1 -1
  64. package/dist/components/graph/graph-scene.d.ts +8 -0
  65. package/dist/components/graph/graph-scene.d.ts.map +1 -0
  66. package/dist/components/graph/graph-scene.js +208 -0
  67. package/dist/components/graph/graph-scene.js.map +1 -0
  68. package/dist/components/graph/graph-spinner.d.ts +2 -0
  69. package/dist/components/graph/graph-spinner.d.ts.map +1 -0
  70. package/dist/components/graph/graph-spinner.js +6 -0
  71. package/dist/components/graph/graph-spinner.js.map +1 -0
  72. package/dist/hooks/use-vpn-status.d.ts +5 -0
  73. package/dist/hooks/use-vpn-status.d.ts.map +1 -1
  74. package/dist/hooks/use-vpn-status.js +61 -29
  75. package/dist/hooks/use-vpn-status.js.map +1 -1
  76. package/dist/hooks/use-websocket.d.ts +3 -2
  77. package/dist/hooks/use-websocket.d.ts.map +1 -1
  78. package/dist/hooks/use-websocket.js +61 -252
  79. package/dist/hooks/use-websocket.js.map +1 -1
  80. package/dist/hooks/websocket-handlers/activity.d.ts +5 -0
  81. package/dist/hooks/websocket-handlers/activity.d.ts.map +1 -0
  82. package/dist/hooks/websocket-handlers/activity.js +10 -0
  83. package/dist/hooks/websocket-handlers/activity.js.map +1 -0
  84. package/dist/hooks/websocket-handlers/chat.d.ts +17 -0
  85. package/dist/hooks/websocket-handlers/chat.d.ts.map +1 -0
  86. package/dist/hooks/websocket-handlers/chat.js +175 -0
  87. package/dist/hooks/websocket-handlers/chat.js.map +1 -0
  88. package/dist/hooks/websocket-handlers/connection.d.ts +6 -0
  89. package/dist/hooks/websocket-handlers/connection.d.ts.map +1 -0
  90. package/dist/hooks/websocket-handlers/connection.js +27 -0
  91. package/dist/hooks/websocket-handlers/connection.js.map +1 -0
  92. package/dist/hooks/websocket-handlers/index.d.ts +4 -0
  93. package/dist/hooks/websocket-handlers/index.d.ts.map +1 -0
  94. package/dist/hooks/websocket-handlers/index.js +19 -0
  95. package/dist/hooks/websocket-handlers/index.js.map +1 -0
  96. package/dist/hooks/websocket-handlers/mask.d.ts +4 -0
  97. package/dist/hooks/websocket-handlers/mask.d.ts.map +1 -0
  98. package/dist/hooks/websocket-handlers/mask.js +14 -0
  99. package/dist/hooks/websocket-handlers/mask.js.map +1 -0
  100. package/dist/hooks/websocket-handlers/provider.d.ts +4 -0
  101. package/dist/hooks/websocket-handlers/provider.d.ts.map +1 -0
  102. package/dist/hooks/websocket-handlers/provider.js +31 -0
  103. package/dist/hooks/websocket-handlers/provider.js.map +1 -0
  104. package/dist/hooks/websocket-handlers/types.d.ts +24 -0
  105. package/dist/hooks/websocket-handlers/types.d.ts.map +1 -0
  106. package/dist/hooks/websocket-handlers/types.js +2 -0
  107. package/dist/hooks/websocket-handlers/types.js.map +1 -0
  108. package/dist/stores/activity-store-helpers.d.ts +50 -0
  109. package/dist/stores/activity-store-helpers.d.ts.map +1 -0
  110. package/dist/stores/activity-store-helpers.js +143 -0
  111. package/dist/stores/activity-store-helpers.js.map +1 -0
  112. package/dist/stores/activity-store-types.d.ts +48 -0
  113. package/dist/stores/activity-store-types.d.ts.map +1 -0
  114. package/dist/stores/activity-store-types.js +2 -0
  115. package/dist/stores/activity-store-types.js.map +1 -0
  116. package/dist/stores/activity-store.d.ts +2 -78
  117. package/dist/stores/activity-store.d.ts.map +1 -1
  118. package/dist/stores/activity-store.js +22 -142
  119. package/dist/stores/activity-store.js.map +1 -1
  120. package/dist/stores/connection-store.d.ts +14 -2
  121. package/dist/stores/connection-store.d.ts.map +1 -1
  122. package/dist/stores/connection-store.js +17 -0
  123. package/dist/stores/connection-store.js.map +1 -1
  124. package/dist/styles.css +1 -1
  125. package/package.json +2 -2
  126. package/src/components/activity/activity-page.tsx +6 -477
  127. package/src/components/activity/activity-rollups.tsx +94 -0
  128. package/src/components/activity/activity-run-detail.tsx +301 -0
  129. package/src/components/activity/activity-run-list.tsx +97 -0
  130. package/src/components/chat/brain-markdown-code.tsx +60 -0
  131. package/src/components/chat/brain-markdown-entities.tsx +116 -0
  132. package/src/components/chat/brain-markdown-links.tsx +247 -0
  133. package/src/components/chat/brain-markdown-share.ts +47 -0
  134. package/src/components/chat/brain-markdown.tsx +27 -535
  135. package/src/components/chat/composer.tsx +14 -1
  136. package/src/components/chat/use-markdown-highlight.ts +63 -0
  137. package/src/components/connectivity/connection-gate.tsx +64 -13
  138. package/src/components/connectivity/connection-state.ts +37 -0
  139. package/src/components/graph/graph-canvas-lazy.tsx +4 -0
  140. package/src/components/graph/graph-controls.tsx +4 -1
  141. package/src/components/graph/graph-maintenance.tsx +304 -0
  142. package/src/components/graph/graph-page.tsx +11 -840
  143. package/src/components/graph/graph-scene.tsx +548 -0
  144. package/src/components/graph/graph-spinner.tsx +9 -0
  145. package/src/hooks/use-vpn-status.ts +64 -31
  146. package/src/hooks/use-websocket.ts +70 -273
  147. package/src/hooks/websocket-handlers/activity.ts +13 -0
  148. package/src/hooks/websocket-handlers/chat.ts +210 -0
  149. package/src/hooks/websocket-handlers/connection.ts +30 -0
  150. package/src/hooks/websocket-handlers/index.ts +59 -0
  151. package/src/hooks/websocket-handlers/mask.ts +17 -0
  152. package/src/hooks/websocket-handlers/provider.ts +35 -0
  153. package/src/hooks/websocket-handlers/types.ts +27 -0
  154. package/src/stores/activity-store-helpers.ts +164 -0
  155. package/src/stores/activity-store-types.ts +55 -0
  156. package/src/stores/activity-store.ts +21 -217
  157. package/src/stores/connection-store.ts +33 -2
@@ -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;AASpE,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAgHnE"}
@@ -2,14 +2,24 @@ 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";
8
10
  export function ConnectionGate({ children }) {
9
11
  // The gate owns its connectivity probe — composing <ConnectionGate> is all
10
12
  // an embedder needs; the store would otherwise sit on "checking" forever.
11
13
  useVpnStatus();
12
14
  const vpnStatus = useConnectionStore((s) => s.vpnStatus);
15
+ const handshakeFailures = useConnectionStore((s) => s.handshakeFailures);
16
+ const lastCloseCode = useConnectionStore((s) => s.lastCloseCode);
17
+ const reportError = useConnectionStore((s) => s.reportError);
18
+ const issue = deriveConnectionIssue({
19
+ vpnStatus,
20
+ handshakeFailures,
21
+ lastCloseCode,
22
+ });
13
23
  // Once the app has connected, never unmount the UI again — an intermittent
14
24
  // drop must not destroy rendered chat state. Show a banner instead.
15
25
  const [everConnected, setEverConnected] = useState(false);
@@ -17,13 +27,30 @@ export function ConnectionGate({ children }) {
17
27
  if (vpnStatus === "connected")
18
28
  setEverConnected(true);
19
29
  }, [vpnStatus]);
30
+ const refused = issue === "refused" || issue === "capacity";
31
+ const wasRefused = useRef(false);
32
+ useEffect(() => {
33
+ if (!refused) {
34
+ wasRefused.current = false;
35
+ return;
36
+ }
37
+ if (wasRefused.current)
38
+ return;
39
+ wasRefused.current = true;
40
+ if (issue === "capacity") {
41
+ reportError("WEBSOCKET_CAPACITY", "The server refused the WebSocket because its connection limit was reached (close code 4008).");
42
+ }
43
+ else {
44
+ reportError("WEBSOCKET_REFUSED", `The server is reachable and the session is valid, but it refused the WebSocket connection (close code ${lastCloseCode ?? 1006}).`);
45
+ }
46
+ }, [issue, refused, lastCloseCode, reportError]);
20
47
  // Auth required (password mode) and no valid session: show the login screen,
21
48
  // even if we were connected before (an expired session must re-prompt).
22
- if (vpnStatus === "unauthorized") {
49
+ if (issue === "unauthorized") {
23
50
  return _jsx(LoginScreen, {});
24
51
  }
25
52
  if (vpnStatus === "connected" || everConnected) {
26
- return (_jsxs(_Fragment, { children: [_jsx(OfflineBanner, { show: everConnected && vpnStatus !== "connected", forbidden: vpnStatus === "forbidden" }), children] }));
53
+ return (_jsxs(_Fragment, { children: [_jsx(OfflineBanner, { show: refused || (everConnected && vpnStatus !== "connected"), issue: issue }), children] }));
27
54
  }
28
55
  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
56
  ? { animation: "breathe 3s ease-in-out infinite" }
@@ -34,9 +61,16 @@ export function ConnectionGate({ children }) {
34
61
  * stays mounted and interactive; reconnection is automatic (VPN poll + WS
35
62
  * backoff both tighten while offline).
36
63
  */
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" } })] }) })) }));
64
+ function OfflineBanner({ show, issue, }) {
65
+ const message = issue === "forbidden"
66
+ ? "VPN required — reconnect Tailscale"
67
+ : issue === "unreachable"
68
+ ? "Connection lost — reconnecting…"
69
+ : issue === "capacity"
70
+ ? "Server connection limit reached"
71
+ : issue === "refused"
72
+ ? "Server refused the live connection"
73
+ : "Connection lost — reconnecting…";
74
+ 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
75
  }
42
76
  //# 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);
@@ -1 +1 @@
1
- {"version":3,"file":"graph-controls.js","sourceRoot":"","sources":["../../../src/components/graph/graph-controls.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-controls.js","sourceRoot":"","sources":["../../../src/components/graph/graph-controls.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,GAAG,EAAuB,MAAM,yBAAyB,CAAC;AACnE,OAAO,EACL,aAAa,GAId,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC;;;;;GAKG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,OAAO,CACL,8BAEE,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAClC,SAAS,EAAC,iKAAiK,EAC3K,KAAK,EAAC,eAAe,YAErB,KAAC,iBAAiB,IAAC,SAAS,EAAC,aAAa,GAAG,GACtC,EAGT,cAAK,SAAS,EAAC,oIAAoI,YACjJ,KAAC,YAAY,KAAG,GACZ,EAGL,UAAU,IAAI,CACb,eAAK,SAAS,EAAC,8BAA8B,aAC3C,cACE,SAAS,EAAC,mCAAmC,EAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GACnC,EACF,eAAK,SAAS,EAAC,8JAA8J,aAC3K,eAAK,SAAS,EAAC,wCAAwC,aACrD,aAAI,SAAS,EAAC,qCAAqC,8BAAmB,EACtE,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,SAAS,EAAC,iGAAiG,EAC3G,KAAK,EAAC,OAAO,YAEb,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GAClB,IACL,EACN,KAAC,YAAY,KAAG,IACZ,IACF,CACP,IACA,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,CACL,eAAK,SAAS,EAAC,qBAAqB,aAClC,KAAC,WAAW,KAAG,EACd,IAAI,KAAK,OAAO,IAAI,KAAC,aAAa,KAAG,EACrC,IAAI,KAAK,WAAW,IAAI,KAAC,iBAAiB,KAAG,EAC7C,IAAI,KAAK,UAAU,IAAI,KAAC,gBAAgB,KAAG,EAC3C,IAAI,KAAK,aAAa,IAAI,KAAC,mBAAmB,KAAG,IAC9C,CACP,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IAC5D,OAAO,CACL,iBAAO,SAAS,EAAC,sHAAsH,aACrI,KAAC,MAAM,IAAC,SAAS,EAAC,4CAA4C,GAAG,EACjE,gBACE,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC9C,WAAW,EAAC,0BAAqB,EACjC,SAAS,EAAC,sGAAsG,EAChH,YAAY,EAAC,KAAK,EAClB,UAAU,EAAE,KAAK,GACjB,EACD,UAAU,IAAI,CACb,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAChC,SAAS,EAAC,sDAAsD,EAChE,KAAK,EAAC,OAAO,YAEb,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GAClB,CACV,IACK,CACT,CAAC;AACJ,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAE9D,OAAO,CACL,8BACE,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,YACxB,KAAC,UAAU,IACT,KAAK,EAAE,KAAK,CAAC,MAAM,EACnB,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAClD,GACI,EACR,KAAC,KAAK,IAAC,KAAK,EAAC,OAAO,YAClB,KAAC,SAAS,IACR,OAAO,EAAE;wBACP,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;wBAC1B,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;wBAC1B,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;qBAC3B,EACD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAC1B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAc,EAAE,CAAC,GAClE,GACI,EACR,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,YACtB,KAAC,SAAS,IACR,OAAO,EAAE;wBACP,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;wBAC5B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;wBAC9B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;qBACjC,EACD,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,CAAmB,EAAE,CAAC,GACnE,GACI,IACP,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,IAAI,IAAI,CAAC,CAAC;IAEtE,OAAO,CACL,8BACE,MAAC,KAAK,IAAC,KAAK,EAAC,MAAM,aACjB,KAAC,UAAU,IACT,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,WAAW,EAAE,IAAI,IAAI,IAAI,EAClD,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,EACjE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GACpD,EACD,SAAS,CAAC,IAAI,IAAI,WAAW,IAAI,CAChC,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EACjD,SAAS,EAAC,iGAAiG,sCAGpG,CACV,IACK,EACR,KAAC,KAAK,IAAC,KAAK,EAAE,cAAc,SAAS,CAAC,QAAQ,EAAE,YAC9C,gBACE,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,SAAS,CAAC,QAAQ,EACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EACzE,SAAS,EAAC,iCAAiC,GAC3C,GACI,EACR,KAAC,KAAK,IAAC,KAAK,EAAC,UAAU,YACrB,KAAC,SAAS,IACR,OAAO,EAAE;wBACP,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;wBACxC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;qBACrC,EACD,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAqB,CAAC,GAClD,GACI,IAGP,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB;IACvB,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC5D,OAAO,CACL,8BACE,KAAC,KAAK,IAAC,KAAK,EAAC,WAAW,YACtB,KAAC,SAAS,IACR,OAAO,EAAE;wBACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;wBACnC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;qBACzC,EACD,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAW,CAAC,GACvC,GACI,EACR,KAAC,KAAK,IAAC,KAAK,EAAC,gBAAgB,YAC3B,KAAC,MAAM,IACL,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAC1B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EACnD,KAAK,EAAC,6BAA6B,GACnC,GACI,IACP,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACjE,OAAO,CACL,8BACE,KAAC,KAAK,IAAC,KAAK,EAAC,UAAU,YACrB,eAAK,SAAS,EAAC,eAAe,aAC5B,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAC3C,KAAK,EAAC,SAAS,GACf,EACF,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,CAAC,WAAW,EAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAC/C,KAAK,EAAC,aAAa,GACnB,EACF,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,CAAC,MAAM,EACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAC1C,KAAK,EAAC,cAAc,GACpB,EACF,KAAC,MAAM,IACL,OAAO,EAAE,OAAO,CAAC,KAAK,EACtB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EACzC,KAAK,EAAC,aAAa,GACnB,IACE,GACA,EACR,KAAC,KAAK,IAAC,KAAK,EAAE,eAAe,WAAW,CAAC,SAAS,OAAO,YACvD,gBACE,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,EAAE,EACP,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,EAAE,EACR,KAAK,EAAE,WAAW,CAAC,SAAS,EAC5B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAC5E,SAAS,EAAC,iCAAiC,GAC3C,GACI,IACP,CACJ,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,SAAS,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAgD;IAC9E,OAAO,CACL,0BACE,cAAK,SAAS,EAAC,8EAA8E,YAC1F,KAAK,GACF,EACL,QAAQ,IACL,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,OAAO,EACP,KAAK,EACL,QAAQ,GAKT;IACC,OAAO,CACL,cAAK,SAAS,EAAC,8DAA8D,YAC1E,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,iBAEE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAClC,SAAS,EAAE,EAAE,CACX,6EAA6E,EAC7E,KAAK,KAAK,GAAG,CAAC,KAAK;gBACjB,CAAC,CAAC,oCAAoC;gBACtC,CAAC,CAAC,6CAA6C,CAClD,YAEA,GAAG,CAAC,KAAK,IATL,GAAG,CAAC,KAAK,CAUP,CACV,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,EACd,OAAO,EACP,QAAQ,EACR,KAAK,GAKN;IACC,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,kBACC,OAAO,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EACjC,SAAS,EAAC,0FAA0F,aAEnG,KAAK,EACN,eACE,SAAS,EAAE,EAAE,CACX,0DAA0D,EAC1D,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,wCAAwC,CAClE,YAED,eACE,SAAS,EAAE,EAAE,CACX,0EAA0E,EAC1E,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAC9C,GACD,GACG,IACA,CACV,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,EAClB,KAAK,EACL,WAAW,GAAG,eAAe,EAC7B,MAAM,GAKP;IACC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAE3D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAE7B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC/B,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAC9B,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE;oBACzC,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,kDAAkD;YACpD,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;oBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvB,OAAO,CACL,eAAK,SAAS,EAAC,UAAU,aACvB,iBAAO,SAAS,EAAC,sHAAsH,aACrI,KAAC,MAAM,IAAC,SAAS,EAAC,4CAA4C,GAAG,EACjE,gBACE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EACtC,OAAO,EAAE,GAAG,EAAE;4BACZ,UAAU,CAAC,IAAI,CAAC,CAAC;4BACjB,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACf,CAAC,EACD,MAAM,EAAE,GAAG,EAAE;4BACX,+DAA+D;4BAC/D,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC3C,CAAC,EACD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAC,8JAA8J,EACxK,YAAY,EAAC,KAAK,EAClB,UAAU,EAAE,KAAK,GACjB,EACD,OAAO,IAAI,KAAC,OAAO,IAAC,SAAS,EAAC,gDAAgD,GAAG,IAC5E,EACP,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAChC,cAAK,SAAS,EAAC,8HAA8H,YAC1I,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,kBAEE,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,EACtC,OAAO,EAAE,GAAG,EAAE;wBACZ,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBACjB,UAAU,CAAC,KAAK,CAAC,CAAC;oBACpB,CAAC,EACD,SAAS,EAAC,oFAAoF,aAE9F,eAAM,SAAS,EAAC,kCAAkC,YAC/C,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,GACjB,EACP,eAAM,SAAS,EAAC,yDAAyD,YACtE,GAAG,CAAC,IAAI,GACJ,KAbF,GAAG,CAAC,IAAI,CAcN,CACV,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Maintenance: findings list ⇄ canvas, linked both ways. The canvas is a
3
+ * type-grouped radial scene (one ring per finding kind — these nodes have no
4
+ * edges between them by definition); broken links are list-only, since their
5
+ * defining feature is a target that does not exist.
6
+ */
7
+ export declare function MaintenanceBody(): import("react").JSX.Element;
8
+ //# sourceMappingURL=graph-maintenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-maintenance.d.ts","sourceRoot":"","sources":["../../../src/components/graph/graph-maintenance.tsx"],"names":[],"mappings":"AAkCA;;;;;GAKG;AACH,wBAAgB,eAAe,gCA6J9B"}
@@ -0,0 +1,115 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Suspense, useEffect, useMemo, useRef } from "react";
3
+ import { useGraphStore } from "../../stores/graph-store.js";
4
+ import { useUIStore } from "../../stores/ui-store.js";
5
+ import { useFileStore } from "../../stores/file-store.js";
6
+ import { GraphControls } from "./graph-controls.js";
7
+ import { NodePopover } from "./node-popover.js";
8
+ import { GraphEmptyState } from "./graph-empty-state.js";
9
+ import { GraphCanvas } from "./graph-canvas-lazy.js";
10
+ import { CenteredSpinner } from "./graph-spinner.js";
11
+ import { matchScene } from "./lib/graph-helpers.js";
12
+ import { cn } from "../../lib/utils.js";
13
+ /** Finding-type colors: dataviz status palette (warning/serious/critical) plus
14
+ * the light end of the distance ramp for "stale" — checked against #0c0e12. */
15
+ const FINDING_COLORS = {
16
+ orphan: "#fab219",
17
+ unreachable: "#ec835a",
18
+ broken: "#d03b3b",
19
+ stale: "#86b6ef",
20
+ };
21
+ /**
22
+ * Maintenance: findings list ⇄ canvas, linked both ways. The canvas is a
23
+ * type-grouped radial scene (one ring per finding kind — these nodes have no
24
+ * edges between them by definition); broken links are list-only, since their
25
+ * defining feature is a target that does not exist.
26
+ */
27
+ export function MaintenanceBody() {
28
+ const findings = useGraphStore((s) => s.findings);
29
+ const dataState = useGraphStore((s) => s.dataState);
30
+ const error = useGraphStore((s) => s.error);
31
+ const filters = useGraphStore((s) => s.maintenanceFilters);
32
+ const selectedId = useGraphStore((s) => s.selectedId);
33
+ const select = useGraphStore((s) => s.select);
34
+ const hoveredId = useGraphStore((s) => s.hoveredId);
35
+ const hover = useGraphStore((s) => s.hover);
36
+ const sceneQuery = useGraphStore((s) => s.sceneQuery);
37
+ const openFile = useFileStore((s) => s.openFile);
38
+ const setFilePanelOpen = useUIStore((s) => s.setFilePanelOpen);
39
+ const listRef = useRef(null);
40
+ // One node per document, first matching section wins (a stale orphan is an
41
+ // orphan); ring index encodes the finding kind.
42
+ const scene = useMemo(() => {
43
+ if (!findings)
44
+ return null;
45
+ const seen = new Set();
46
+ const nodes = [];
47
+ const push = (list, finding, ring) => {
48
+ for (const node of list) {
49
+ if (seen.has(node.id))
50
+ continue;
51
+ seen.add(node.id);
52
+ nodes.push({ ...node, finding, distance: ring });
53
+ }
54
+ };
55
+ if (filters.orphans)
56
+ push(findings.orphans, "orphan", 1);
57
+ if (filters.unreachable)
58
+ push(findings.unreachable, "unreachable", 2);
59
+ if (filters.stale)
60
+ push(findings.stale, "stale", 3);
61
+ const subgraph = { nodes, edges: [], truncated: false };
62
+ return { subgraph, nodes };
63
+ }, [findings, filters]);
64
+ // Canvas → list: keep the selected row in view.
65
+ useEffect(() => {
66
+ if (selectedId === null)
67
+ return;
68
+ listRef.current
69
+ ?.querySelector(`[data-node-id="${selectedId}"]`)
70
+ ?.scrollIntoView({ block: "nearest" });
71
+ }, [selectedId]);
72
+ if (dataState === "error") {
73
+ return (_jsx(GraphEmptyState, { icon: "warn", title: "Could not load findings", children: error?.message ?? "Request failed" }));
74
+ }
75
+ if (dataState !== "done" || !findings || !scene)
76
+ return _jsx(CenteredSpinner, {});
77
+ const matchIds = matchScene(scene.nodes, sceneQuery);
78
+ const selectedNode = selectedId === null
79
+ ? null
80
+ : (scene.nodes.find((n) => n.id === selectedId) ?? null);
81
+ function openNote(path) {
82
+ setFilePanelOpen(true);
83
+ void openFile(path);
84
+ }
85
+ const totalShown = scene.nodes.length + (filters.broken ? findings.brokenLinks.length : 0);
86
+ return (_jsxs("div", { className: "flex h-full flex-col md:flex-row", children: [_jsxs("div", { className: "relative h-56 shrink-0 border-b border-border md:h-auto md:flex-1 md:border-b-0 md:border-r", children: [scene.nodes.length === 0 ? (_jsx("div", { className: "flex h-full items-center justify-center px-6 text-center text-xs text-muted-foreground", children: totalShown === 0
87
+ ? "Nothing to show — this brain is clean."
88
+ : "Only broken links match — they live in the list." })) : (_jsx(Suspense, { fallback: _jsx(CenteredSpinner, {}), children: _jsx(GraphCanvas, { data: scene.subgraph, layout: "radial", selectedId: selectedId, hoveredId: hoveredId, matchIds: matchIds, nodeColor: (node) => FINDING_COLORS[node.finding ?? "stale"], onSelect: select, onHover: hover }) })), _jsx(GraphControls, {}), selectedNode && _jsx(NodePopover, { node: selectedNode })] }), _jsx("div", { ref: listRef, className: "flex-1 overflow-y-auto px-4 py-4 md:w-96 md:flex-none md:px-5", children: _jsxs("div", { className: "flex flex-col gap-5 pb-16", children: [filters.orphans && (_jsx(FindingSection, { title: `Orphans (${findings.orphans.length})`, hint: "No links in or out.", color: FINDING_COLORS.orphan, nodes: findings.orphans, selectedId: selectedId, onSelect: select, onOpen: openNote })), filters.unreachable && (_jsx(FindingSection, { title: `Unreachable from root (${findings.unreachable.length})`, hint: "No link path from the graph root reaches these.", color: FINDING_COLORS.unreachable, nodes: findings.unreachable, selectedId: selectedId, onSelect: select, onOpen: openNote })), filters.broken && (_jsxs("section", { children: [_jsx(SectionHeading, { title: `Broken links (${findings.brokenLinks.length})`, hint: "Wiki links whose target resolves to nothing.", color: FINDING_COLORS.broken }), _jsx(FindingRows, { empty: findings.brokenLinks.length === 0, rows: findings.brokenLinks.map((b, i) => ({
89
+ key: `b${i}`,
90
+ title: `[[${b.target}]]`,
91
+ sub: `in ${b.sourcePath}`,
92
+ onClick: () => openNote(b.sourcePath),
93
+ })) })] })), filters.stale && (_jsx(FindingSection, { title: `Stale notes (${findings.stale.length})`, hint: `Untouched for over ${findings.staleDays} days.`, color: FINDING_COLORS.stale, nodes: findings.stale, subOf: (n) => `${n.updated} · ${n.path}`, selectedId: selectedId, onSelect: select, onOpen: openNote }))] }) })] }));
94
+ }
95
+ function SectionHeading({ title, hint, color, }) {
96
+ return (_jsxs(_Fragment, { children: [_jsxs("h2", { className: "flex items-center gap-2 text-sm font-medium text-foreground", children: [_jsx("span", { className: "h-2.5 w-2.5 rounded-full", style: { backgroundColor: color } }), title] }), _jsx("p", { className: "mb-2 text-[11px] text-muted-foreground", children: hint })] }));
97
+ }
98
+ function FindingSection({ title, hint, color, nodes, subOf, selectedId, onSelect, onOpen, }) {
99
+ return (_jsxs("section", { children: [_jsx(SectionHeading, { title: title, hint: hint, color: color }), _jsx(FindingRows, { empty: nodes.length === 0, rows: nodes.map((node) => ({
100
+ key: String(node.id),
101
+ nodeId: node.id,
102
+ title: node.title || node.path,
103
+ sub: subOf ? subOf(node) : node.path,
104
+ active: node.id === selectedId,
105
+ onClick: () => onSelect(node.id),
106
+ onDoubleClick: () => onOpen(node.path),
107
+ })) })] }));
108
+ }
109
+ function FindingRows({ rows, empty, }) {
110
+ if (empty) {
111
+ return (_jsx("p", { className: "rounded-lg border border-border-subtle bg-surface px-3 py-2 text-xs text-muted-foreground", children: "Nothing found \u2014 clean." }));
112
+ }
113
+ return (_jsx("div", { className: "divide-y divide-border/40 overflow-hidden rounded-lg border border-border bg-surface", children: rows.map((row) => (_jsxs("button", { "data-node-id": row.nodeId, onClick: row.onClick, onDoubleClick: row.onDoubleClick, className: cn("flex min-h-11 w-full flex-col justify-center px-3 py-2 text-left transition-colors", row.active ? "bg-surface-raised" : "hover:bg-surface-raised/60"), children: [_jsx("span", { className: "truncate text-xs text-foreground", children: row.title }), _jsx("span", { className: "truncate font-mono text-[10px] text-muted-foreground/60", children: row.sub })] }, row.key))) }));
114
+ }
115
+ //# sourceMappingURL=graph-maintenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph-maintenance.js","sourceRoot":"","sources":["../../../src/components/graph/graph-maintenance.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"graph-page.d.ts","sourceRoot":"","sources":["../../../src/components/graph/graph-page.tsx"],"names":[],"mappings":"AA2DA;;;;GAIG;AACH,wBAAgB,SAAS,gCAsFxB"}
1
+ {"version":3,"file":"graph-page.d.ts","sourceRoot":"","sources":["../../../src/components/graph/graph-page.tsx"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,wBAAgB,SAAS,gCA2FxB"}