@schlessera/brain-ui-react 0.7.1 → 0.8.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 (47) hide show
  1. package/dist/components/chat/brain-markdown.d.ts.map +1 -1
  2. package/dist/components/chat/brain-markdown.js +93 -55
  3. package/dist/components/chat/brain-markdown.js.map +1 -1
  4. package/dist/components/chat/copy-button.d.ts +6 -0
  5. package/dist/components/chat/copy-button.d.ts.map +1 -0
  6. package/dist/components/chat/copy-button.js +14 -0
  7. package/dist/components/chat/copy-button.js.map +1 -0
  8. package/dist/components/chat/mermaid-block.d.ts +14 -0
  9. package/dist/components/chat/mermaid-block.d.ts.map +1 -0
  10. package/dist/components/chat/mermaid-block.js +47 -0
  11. package/dist/components/chat/mermaid-block.js.map +1 -0
  12. package/dist/components/chat/message-share.d.ts.map +1 -1
  13. package/dist/components/chat/message-share.js +7 -4
  14. package/dist/components/chat/message-share.js.map +1 -1
  15. package/dist/components/chat/share-block.d.ts.map +1 -1
  16. package/dist/components/chat/share-block.js +5 -2
  17. package/dist/components/chat/share-block.js.map +1 -1
  18. package/dist/components/files/file-viewer.d.ts.map +1 -1
  19. package/dist/components/files/file-viewer.js +15 -5
  20. package/dist/components/files/file-viewer.js.map +1 -1
  21. package/dist/components/graph/graph-canvas.d.ts.map +1 -1
  22. package/dist/components/graph/graph-canvas.js +27 -1
  23. package/dist/components/graph/graph-canvas.js.map +1 -1
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +4 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/lib/mermaid.d.ts +48 -0
  29. package/dist/lib/mermaid.d.ts.map +1 -0
  30. package/dist/lib/mermaid.js +194 -0
  31. package/dist/lib/mermaid.js.map +1 -0
  32. package/dist/stores/file-store.d.ts.map +1 -1
  33. package/dist/stores/file-store.js +9 -2
  34. package/dist/stores/file-store.js.map +1 -1
  35. package/dist/styles.css +1 -1
  36. package/package.json +3 -2
  37. package/src/components/chat/brain-markdown.tsx +109 -80
  38. package/src/components/chat/copy-button.tsx +23 -0
  39. package/src/components/chat/mermaid-block.tsx +77 -0
  40. package/src/components/chat/message-share.ts +7 -4
  41. package/src/components/chat/share-block.tsx +5 -2
  42. package/src/components/files/file-viewer.tsx +20 -5
  43. package/src/components/graph/graph-canvas.tsx +28 -1
  44. package/src/index.ts +5 -0
  45. package/src/lib/mermaid.ts +233 -0
  46. package/src/stores/file-store.ts +12 -2
  47. package/src/theme.css +10 -0
@@ -177,10 +177,36 @@ export default function GraphCanvas({ data, layout, selectedId, hoveredId, match
177
177
  return out;
178
178
  },
179
179
  });
180
+ // Camera gestures (mouse-drag pan, touch pan/pinch/rotate) sweep nodes
181
+ // under a pointer that isn't "pointing" at them, and sigma re-derives
182
+ // hover on every move — so without a gate, dragging flickers random nodes
183
+ // in and out of the hover fade. Clicks/taps are already drag-suppressed by
184
+ // sigma itself (draggedEventsTolerance / tapMoveTolerance); hover is not.
185
+ // Gate: button held or a touch in progress means the pointer is steering
186
+ // the camera, and mouse isMoving lingers for sigma's dragTimeout after
187
+ // release, absorbing the tail of the gesture.
188
+ const mouseCaptor = renderer.getMouseCaptor();
189
+ const touchCaptor = renderer.getTouchCaptor();
190
+ const isCameraGesture = () => mouseCaptor.isMouseDown ||
191
+ mouseCaptor.isMoving ||
192
+ touchCaptor.isMoving ||
193
+ touchCaptor.touchMode > 0;
180
194
  renderer.on("clickNode", ({ node }) => callbacksRef.current.onSelect(Number(node)));
181
195
  renderer.on("clickStage", () => callbacksRef.current.onSelect(null));
182
- renderer.on("enterNode", ({ node }) => callbacksRef.current.onHover(Number(node)));
196
+ renderer.on("enterNode", ({ node }) => {
197
+ if (isCameraGesture())
198
+ return;
199
+ callbacksRef.current.onHover(Number(node));
200
+ });
183
201
  renderer.on("leaveNode", () => callbacksRef.current.onHover(null));
202
+ // A gesture that starts while a node is already hovered must drop that
203
+ // hover too, or the fade chases a stale node across the whole drag.
204
+ const clearHoverDuringGesture = () => {
205
+ if (isCameraGesture())
206
+ callbacksRef.current.onHover(null);
207
+ };
208
+ mouseCaptor.on("mousemovebody", clearHoverDuringGesture);
209
+ touchCaptor.on("touchmovebody", clearHoverDuringGesture);
184
210
  sigmaRef.current = renderer;
185
211
  return () => {
186
212
  renderer.kill();
@@ -1 +1 @@
1
- {"version":3,"file":"graph-canvas.js","sourceRoot":"","sources":["../../../src/components/graph/graph-canvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-canvas.js","sourceRoot":"","sources":["../../../src/components/graph/graph-canvas.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,6 +13,8 @@ export { AppShell } from "./components/layout/app-shell.js";
13
13
  export { ChatPage } from "./components/chat/chat-page.js";
14
14
  export { GraphPage } from "./components/graph/graph-page.js";
15
15
  export { BrainMarkdown } from "./components/chat/brain-markdown.js";
16
+ export { MermaidBlock } from "./components/chat/mermaid-block.js";
17
+ export { inlineMermaidDiagrams, renderMermaidSvg } from "./lib/mermaid.js";
16
18
  export { useChatStore, activeChat, anyStreaming, type ChatKey, type ChatMessage, type SessionChat, type ToolCall, type AskUserExchange, type MessageAttachment, } from "./stores/chat-store.js";
17
19
  export { useFileStore } from "./stores/file-store.js";
18
20
  export { useUIStore, type ActiveView } from "./stores/ui-store.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAG7E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAGpE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG/F,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAG7E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG/F,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -16,6 +16,10 @@ export { ChatPage } from "./components/chat/chat-page.js";
16
16
  export { GraphPage } from "./components/graph/graph-page.js";
17
17
  // Markdown renderer (also useful standalone, e.g. for a dev kitchen sink).
18
18
  export { BrainMarkdown } from "./components/chat/brain-markdown.js";
19
+ // Mermaid: standalone diagram block (streaming-safe) + the fence-to-SVG
20
+ // inliner the share pipeline uses before handing markdown to the no-JS renderer.
21
+ export { MermaidBlock } from "./components/chat/mermaid-block.js";
22
+ export { inlineMermaidDiagrams, renderMermaidSvg } from "./lib/mermaid.js";
19
23
  // Stores + selectors the shell reads (service-worker busy check, deep links).
20
24
  export { useChatStore, activeChat, anyStreaming, } from "./stores/chat-store.js";
21
25
  export { useFileStore } from "./stores/file-store.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,sEAAsE;AACtE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAE7E,yCAAyC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,2EAA2E;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,8EAA8E;AAC9E,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,GAOb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAmB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAkB,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,uBAAuB;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE/F,yDAAyD;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,sEAAsE;AACtE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAE7E,yCAAyC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D,2EAA2E;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,wEAAwE;AACxE,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,8EAA8E;AAC9E,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,GAOb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAmB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAkB,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,uBAAuB;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE/F,yDAAyD;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Mermaid runtime + fence helpers.
3
+ *
4
+ * Mermaid is ~2MB, so it loads on first use via dynamic import; nothing here
5
+ * pulls it in at module scope. Rendering is tolerant of partial sources
6
+ * (streaming deltas): parse is gated and every failure resolves to null
7
+ * instead of throwing, so callers keep the previous good SVG. Results are
8
+ * cached per (theme, source), which makes the per-token re-render of a
9
+ * streaming message a cache hit.
10
+ */
11
+ export type MermaidTheme = "dark" | "neutral";
12
+ /** Synchronous cache lookup, so a remounted block can show its SVG without a flash. */
13
+ export declare function peekMermaidSvg(source: string, theme?: MermaidTheme): string | null;
14
+ /**
15
+ * Render a mermaid source to SVG markup. Resolves null when the source does
16
+ * not parse (e.g. an incomplete streaming fence) or rendering fails — never
17
+ * throws and never mutates the document beyond mermaid's temp container.
18
+ */
19
+ export declare function renderMermaidSvg(source: string, theme?: MermaidTheme): Promise<string | null>;
20
+ export interface MermaidFence {
21
+ /** Offset of the opening fence line start. */
22
+ start: number;
23
+ /** Offset just past the closing fence line (and its newline, if present). */
24
+ end: number;
25
+ /** Diagram source between the fences, without the trailing newline. */
26
+ source: string;
27
+ /** Leading spaces of the opening fence line (a list-indented fence). */
28
+ indent: string;
29
+ }
30
+ /**
31
+ * Find every *closed* ```mermaid fence in a markdown string. A line scanner
32
+ * (not a regex over the whole text) so mermaid fences nested inside other
33
+ * code blocks are not matched, and an unterminated streaming fence is simply
34
+ * not returned.
35
+ */
36
+ export declare function findMermaidFences(md: string): MermaidFence[];
37
+ /**
38
+ * Replace each closed mermaid fence via `replacement`; returning null keeps
39
+ * the fence verbatim. Pure — rendering is injected, so this is unit-testable
40
+ * without a DOM.
41
+ */
42
+ export declare function replaceMermaidFences(md: string, replacement: (fence: MermaidFence, index: number) => string | null): string;
43
+ /** Pure inlining step: substitute pre-rendered SVGs (by fence index) under the budget. */
44
+ export declare function inlineRenderedFences(md: string, rendered: (string | null)[], budget?: number): string;
45
+ export declare function inlineMermaidDiagrams(md: string, theme?: MermaidTheme): Promise<string>;
46
+ /** Whether a repo path is a standalone mermaid source file (previewable as a diagram). */
47
+ export declare function isMermaidPath(path: string): boolean;
48
+ //# sourceMappingURL=mermaid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../../src/lib/mermaid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;AAgD9C,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,YAAqB,GAAG,MAAM,GAAG,IAAI,CAE1F;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,YAAqB,GAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBxB;AAED,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;CAChB;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,EAAE,CA8C5D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACjE,MAAM,CASR;AAkBD,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAC3B,MAAM,GAAE,MAA4B,GACnC,MAAM,CAeR;AAED,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,YAAwB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD"}
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Mermaid runtime + fence helpers.
3
+ *
4
+ * Mermaid is ~2MB, so it loads on first use via dynamic import; nothing here
5
+ * pulls it in at module scope. Rendering is tolerant of partial sources
6
+ * (streaming deltas): parse is gated and every failure resolves to null
7
+ * instead of throwing, so callers keep the previous good SVG. Results are
8
+ * cached per (theme, source), which makes the per-token re-render of a
9
+ * streaming message a cache hit.
10
+ */
11
+ let mermaidPromise = null;
12
+ function loadMermaid() {
13
+ if (!mermaidPromise) {
14
+ mermaidPromise = import("mermaid").then((mod) => {
15
+ const mermaid = mod.default;
16
+ mermaid.initialize({
17
+ startOnLoad: false,
18
+ // "strict" sanitizes label HTML and blocks script/click payloads —
19
+ // diagram sources arrive from the model and from repo files.
20
+ securityLevel: "strict",
21
+ // Never inject mermaid's own error SVG into the document; failures
22
+ // surface as a null render result and the caller shows the source.
23
+ suppressErrorRendering: true,
24
+ theme: "dark",
25
+ fontFamily: "ui-sans-serif, system-ui, sans-serif",
26
+ });
27
+ return mermaid;
28
+ });
29
+ }
30
+ return mermaidPromise;
31
+ }
32
+ const INIT_DIRECTIVE_RE = /%%\{\s*init/;
33
+ /**
34
+ * Theme is applied per-diagram via an init directive rather than re-calling
35
+ * mermaid.initialize(), so concurrent renders for different targets (dark
36
+ * in-app, neutral for the light share template) can't race on global config.
37
+ * A source that carries its own init directive is left alone.
38
+ */
39
+ function withThemeDirective(source, theme) {
40
+ if (INIT_DIRECTIVE_RE.test(source))
41
+ return source;
42
+ return `%%{init: {"theme": "${theme}"}}%%\n${source}`;
43
+ }
44
+ const svgCache = new Map();
45
+ const CACHE_MAX = 100;
46
+ let renderSeq = 0;
47
+ function cacheKey(source, theme) {
48
+ return `${theme}\u0000${source}`;
49
+ }
50
+ /** Synchronous cache lookup, so a remounted block can show its SVG without a flash. */
51
+ export function peekMermaidSvg(source, theme = "dark") {
52
+ return svgCache.get(cacheKey(source.trim(), theme)) ?? null;
53
+ }
54
+ /**
55
+ * Render a mermaid source to SVG markup. Resolves null when the source does
56
+ * not parse (e.g. an incomplete streaming fence) or rendering fails — never
57
+ * throws and never mutates the document beyond mermaid's temp container.
58
+ */
59
+ export async function renderMermaidSvg(source, theme = "dark") {
60
+ const trimmed = source.trim();
61
+ if (!trimmed)
62
+ return null;
63
+ const key = cacheKey(trimmed, theme);
64
+ const hit = svgCache.get(key);
65
+ if (hit !== undefined)
66
+ return hit;
67
+ try {
68
+ const mermaid = await loadMermaid();
69
+ const text = withThemeDirective(trimmed, theme);
70
+ const ok = await mermaid.parse(text, { suppressErrors: true });
71
+ if (!ok)
72
+ return null;
73
+ const { svg } = await mermaid.render(`brain-mermaid-${++renderSeq}`, text);
74
+ if (svgCache.size >= CACHE_MAX) {
75
+ const oldest = svgCache.keys().next().value;
76
+ if (oldest !== undefined)
77
+ svgCache.delete(oldest);
78
+ }
79
+ svgCache.set(key, svg);
80
+ return svg;
81
+ }
82
+ catch {
83
+ return null;
84
+ }
85
+ }
86
+ const FENCE_LINE_RE = /^( {0,3})(`{3,}|~{3,})(.*)$/;
87
+ /**
88
+ * Find every *closed* ```mermaid fence in a markdown string. A line scanner
89
+ * (not a regex over the whole text) so mermaid fences nested inside other
90
+ * code blocks are not matched, and an unterminated streaming fence is simply
91
+ * not returned.
92
+ */
93
+ export function findMermaidFences(md) {
94
+ const out = [];
95
+ const lines = md.split("\n");
96
+ let offset = 0;
97
+ let open = null;
98
+ for (const line of lines) {
99
+ const lineEnd = Math.min(offset + line.length + 1, md.length);
100
+ const m = FENCE_LINE_RE.exec(line);
101
+ if (open) {
102
+ if (m && m[2][0] === open.char && m[2].length >= open.len && m[3].trim() === "") {
103
+ if (open.mermaid) {
104
+ out.push({
105
+ start: open.start,
106
+ end: lineEnd,
107
+ source: md.slice(open.contentStart, offset).replace(/\n$/, ""),
108
+ indent: open.indent,
109
+ });
110
+ }
111
+ open = null;
112
+ }
113
+ }
114
+ else if (m) {
115
+ const info = m[3].trim();
116
+ // A backtick fence's info string may not contain backticks (CommonMark).
117
+ if (!(m[2][0] === "`" && info.includes("`"))) {
118
+ const lang = info.split(/\s+/)[0]?.toLowerCase() ?? "";
119
+ open = {
120
+ char: m[2][0],
121
+ len: m[2].length,
122
+ mermaid: lang === "mermaid" || lang === "mmd",
123
+ start: offset,
124
+ contentStart: lineEnd,
125
+ indent: m[1],
126
+ };
127
+ }
128
+ }
129
+ offset += line.length + 1;
130
+ }
131
+ return out;
132
+ }
133
+ /**
134
+ * Replace each closed mermaid fence via `replacement`; returning null keeps
135
+ * the fence verbatim. Pure — rendering is injected, so this is unit-testable
136
+ * without a DOM.
137
+ */
138
+ export function replaceMermaidFences(md, replacement) {
139
+ const fences = findMermaidFences(md);
140
+ let out = md;
141
+ for (let i = fences.length - 1; i >= 0; i--) {
142
+ const r = replacement(fences[i], i);
143
+ if (r == null)
144
+ continue;
145
+ out = out.slice(0, fences[i].start) + r + out.slice(fences[i].end);
146
+ }
147
+ return out;
148
+ }
149
+ /**
150
+ * Inline every closed mermaid fence as a pre-rendered `<div class="mermaid-figure"><svg…>`
151
+ * block. Used by the share pipeline: the PNG/PDF renderer runs the page with
152
+ * JavaScript disabled and all network denied, so the diagram must already be
153
+ * SVG by the time the markdown reaches the server. Defaults to the light
154
+ * "neutral" theme to match the share template. Fences that fail to render are
155
+ * left as code fences — the pre-feature behavior.
156
+ */
157
+ /**
158
+ * The server's render route caps `content` at 512 KiB. Inlining can expand a
159
+ * few-hundred-byte fence into a multi-kilobyte SVG, so stay safely below the
160
+ * cap and leave any fence that would cross it as source — a shared code block
161
+ * beats a rejected request.
162
+ */
163
+ const INLINE_BUDGET_CHARS = 480_000;
164
+ /** Pure inlining step: substitute pre-rendered SVGs (by fence index) under the budget. */
165
+ export function inlineRenderedFences(md, rendered, budget = INLINE_BUDGET_CHARS) {
166
+ let total = md.length;
167
+ return replaceMermaidFences(md, (fence, i) => {
168
+ const svg = rendered[i];
169
+ if (!svg)
170
+ return null;
171
+ // Kept to a single line: marked treats <div> as an HTML block that a
172
+ // blank line would terminate, so newlines inside the SVG must go. The
173
+ // fence's own indentation is preserved so a list-nested fence doesn't
174
+ // break out of its list in the shared document.
175
+ const html = `\n${fence.indent}<div class="mermaid-figure">${svg.replace(/[\r\n]+/g, " ")}</div>\n`;
176
+ const expanded = total + html.length - (fence.end - fence.start);
177
+ if (expanded > budget)
178
+ return null;
179
+ total = expanded;
180
+ return html;
181
+ });
182
+ }
183
+ export async function inlineMermaidDiagrams(md, theme = "neutral") {
184
+ const fences = findMermaidFences(md);
185
+ if (fences.length === 0)
186
+ return md;
187
+ const rendered = await Promise.all(fences.map((f) => renderMermaidSvg(f.source, theme)));
188
+ return inlineRenderedFences(md, rendered);
189
+ }
190
+ /** Whether a repo path is a standalone mermaid source file (previewable as a diagram). */
191
+ export function isMermaidPath(path) {
192
+ return /\.(mmd|mermaid)$/i.test(path);
193
+ }
194
+ //# sourceMappingURL=mermaid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../../src/lib/mermaid.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-store.d.ts","sourceRoot":"","sources":["../../src/stores/file-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EAGpB,MAAM,mCAAmC,CAAC;AAI3C,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;AASzC,UAAU,SAAS;IAEjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACtC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAG1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IAGzB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,eAAe,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AA2CD,eAAO,MAAM,YAAY,wEA6LtB,CAAC;AAqBJ,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,IAAI,MAAM,CAI3E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,IAAI,MAAM,CAI1E;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1C,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,YAAY,GAAG,IAAI,CAIrB;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD"}
1
+ {"version":3,"file":"file-store.d.ts","sourceRoot":"","sources":["../../src/stores/file-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EAGpB,MAAM,mCAAmC,CAAC;AAK3C,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;AAkBzC,UAAU,SAAS;IAEjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACtC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAG1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IAGzB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,eAAe,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AA2CD,eAAO,MAAM,YAAY,wEA6LtB,CAAC;AAqBJ,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,IAAI,MAAM,CAI3E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,IAAI,MAAM,CAI1E;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1C,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,YAAY,GAAG,IAAI,CAIrB;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD"}
@@ -1,6 +1,13 @@
1
1
  import { create } from "zustand";
2
2
  import { FILE_SIZE_CAP_BYTES } from "@schlessera/brain-ui-sdk/protocol";
3
3
  import { API_BASE } from "../lib/backend.js";
4
+ import { isMermaidPath } from "../lib/mermaid.js";
5
+ /** Kinds/paths the viewer can render as a preview (vs raw text only). */
6
+ function hasPreview(content) {
7
+ return (content.kind === "markdown" ||
8
+ content.kind === "html" ||
9
+ (content.kind === "text" && isMermaidPath(content.path)));
10
+ }
4
11
  const FRONTMATTER_COLLAPSED_KEY = "brain-ui:frontmatter-collapsed";
5
12
  function readFrontmatterCollapsed() {
6
13
  if (typeof localStorage === "undefined")
@@ -143,10 +150,10 @@ export const useFileStore = create((set, get) => ({
143
150
  set({ currentContent: content, contentLoading: false });
144
151
  // Default mode: prefer preview when available; persist otherwise
145
152
  const { viewMode } = get();
146
- if (content.kind !== "markdown" && content.kind !== "html" && viewMode === "preview") {
153
+ if (!hasPreview(content) && viewMode === "preview") {
147
154
  set({ viewMode: "raw" });
148
155
  }
149
- else if ((content.kind === "markdown" || content.kind === "html") && viewMode === "raw") {
156
+ else if (hasPreview(content) && viewMode === "raw") {
150
157
  // Keep raw if user toggled — but on a fresh open default back to preview
151
158
  set({ viewMode: "preview" });
152
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-store.js","sourceRoot":"","sources":["../../src/stores/file-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-store.js","sourceRoot":"","sources":["../../src/stores/file-store.ts"],"names":[],"mappings":"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"}