@schlessera/brain-ui-react 0.15.0 → 0.17.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/chat-page.d.ts.map +1 -1
  2. package/dist/components/chat/chat-page.js +4 -0
  3. package/dist/components/chat/chat-page.js.map +1 -1
  4. package/dist/components/chat/risk-hints.js +1 -1
  5. package/dist/components/chat/risk-hints.js.map +1 -1
  6. package/dist/components/chat/tool-views.d.ts +2 -19
  7. package/dist/components/chat/tool-views.d.ts.map +1 -1
  8. package/dist/components/chat/tool-views.js +3 -125
  9. package/dist/components/chat/tool-views.js.map +1 -1
  10. package/dist/hooks/use-websocket.d.ts +2 -2
  11. package/dist/hooks/use-websocket.d.ts.map +1 -1
  12. package/dist/hooks/use-websocket.js +49 -5
  13. package/dist/hooks/use-websocket.js.map +1 -1
  14. package/dist/lib/diff.d.ts +19 -0
  15. package/dist/lib/diff.d.ts.map +1 -0
  16. package/dist/lib/diff.js +129 -0
  17. package/dist/lib/diff.js.map +1 -0
  18. package/dist/stores/chat-store.d.ts +13 -0
  19. package/dist/stores/chat-store.d.ts.map +1 -1
  20. package/dist/stores/chat-store.js +28 -4
  21. package/dist/stores/chat-store.js.map +1 -1
  22. package/dist/stores/connection-store.d.ts +18 -0
  23. package/dist/stores/connection-store.d.ts.map +1 -1
  24. package/dist/stores/connection-store.js +3 -0
  25. package/dist/stores/connection-store.js.map +1 -1
  26. package/dist/stores/file-store.d.ts.map +1 -1
  27. package/dist/stores/file-store.js +10 -0
  28. package/dist/stores/file-store.js.map +1 -1
  29. package/dist/stores/graph-store.d.ts.map +1 -1
  30. package/dist/stores/graph-store.js +14 -1
  31. package/dist/stores/graph-store.js.map +1 -1
  32. package/dist/theme.css +435 -0
  33. package/package.json +14 -8
  34. package/src/components/chat/chat-page.tsx +4 -0
  35. package/src/components/chat/risk-hints.ts +1 -1
  36. package/src/components/chat/tool-views.tsx +4 -137
  37. package/src/hooks/use-websocket.ts +55 -6
  38. package/src/lib/diff.ts +140 -0
  39. package/src/stores/chat-store.ts +43 -4
  40. package/src/stores/connection-store.ts +22 -0
  41. package/src/stores/file-store.ts +8 -0
  42. package/src/stores/graph-store.ts +14 -1
  43. package/dist/lib/ws-client.d.ts +0 -26
  44. package/dist/lib/ws-client.d.ts.map +0 -1
  45. package/dist/lib/ws-client.js +0 -93
  46. package/dist/lib/ws-client.js.map +0 -1
  47. package/src/lib/ws-client.ts +0 -109
@@ -1 +1 @@
1
- {"version":3,"file":"graph-store.js","sourceRoot":"","sources":["../../src/stores/graph-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-store.js","sourceRoot":"","sources":["../../src/stores/graph-store.ts"],"names":[],"mappings":"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"}
package/dist/theme.css ADDED
@@ -0,0 +1,435 @@
1
+ /*
2
+ * brain-ui-react theme + component styles.
3
+ *
4
+ * Import this from a Tailwind v4 entry (the @theme block feeds the utility
5
+ * classes the components use), together with
6
+ * @source "../node_modules/@schlessera/brain-ui-react/src";
7
+ * so the consumer build scans the component sources. Consumers without a
8
+ * Tailwind build use the precompiled ./styles.css export instead.
9
+ */
10
+ @theme {
11
+ /* Backgrounds - warm-tinted darks */
12
+ --color-background: #0c0e12;
13
+ --color-surface: #141619;
14
+ --color-surface-raised: #1a1d22;
15
+ --color-surface-overlay: #1e2128;
16
+
17
+ /* Borders */
18
+ --color-border: #2a2d35;
19
+ --color-border-subtle: #1f2229;
20
+
21
+ /* Text hierarchy */
22
+ --color-foreground: #e8e4df;
23
+ --color-muted: #141619;
24
+ --color-muted-foreground: #8a8691;
25
+ --color-card: #141619;
26
+ --color-card-foreground: #e8e4df;
27
+
28
+ /* Primary: Amber */
29
+ --color-primary: #e09f3e;
30
+ --color-primary-foreground: #0c0e12;
31
+
32
+ /* Secondary */
33
+ --color-secondary: #1a1d22;
34
+ --color-secondary-foreground: #e8e4df;
35
+ --color-accent: #5bb5a2;
36
+ --color-accent-foreground: #0c0e12;
37
+
38
+ /* Semantic */
39
+ --color-destructive: #f87171;
40
+ --color-input: #2a2d35;
41
+ --color-ring: #e09f3e80;
42
+
43
+ /* Radius */
44
+ --radius: 0.5rem;
45
+
46
+ /* Fonts */
47
+ --font-display: "DM Serif Text", Georgia, serif;
48
+ --font-body: "Plus Jakarta Sans", system-ui, sans-serif;
49
+ --font-mono: "JetBrains Mono", ui-monospace, monospace;
50
+ }
51
+
52
+ /* Amber filament line */
53
+ .filament {
54
+ height: 1px;
55
+ background: linear-gradient(
56
+ to right,
57
+ transparent 0%,
58
+ #e09f3e 30%,
59
+ #eab354 50%,
60
+ #e09f3e 70%,
61
+ transparent 100%
62
+ );
63
+ opacity: 0.7;
64
+ transition: opacity 0.3s ease;
65
+ }
66
+
67
+ .filament--active {
68
+ opacity: 1;
69
+ height: 2px;
70
+ background:
71
+ radial-gradient(circle at center, #eab354 0%, transparent 40%) no-repeat,
72
+ linear-gradient(
73
+ to right,
74
+ transparent 0%,
75
+ #e09f3e 30%,
76
+ #eab354 50%,
77
+ #e09f3e 70%,
78
+ transparent 100%
79
+ );
80
+ background-size:
81
+ 80px 2px,
82
+ 100% 1px;
83
+ animation: filament-scan 3s linear infinite;
84
+ }
85
+
86
+ @keyframes filament-scan {
87
+ 0% {
88
+ background-position:
89
+ -200% center,
90
+ 0% center;
91
+ }
92
+ 100% {
93
+ background-position:
94
+ 200% center,
95
+ 0% center;
96
+ }
97
+ }
98
+
99
+ /* Breathing animation for streaming indicators */
100
+ @keyframes breathe {
101
+ 0%,
102
+ 100% {
103
+ box-shadow: 0 0 0 0 rgba(224, 159, 62, 0.15);
104
+ opacity: 1;
105
+ }
106
+ 50% {
107
+ box-shadow: 0 0 8px 2px rgba(224, 159, 62, 0.15);
108
+ opacity: 0.6;
109
+ }
110
+ }
111
+
112
+ /* Whatsup briefing styling */
113
+ .whatsup-briefing {
114
+ font-family: var(--font-body);
115
+ font-size: 0.875rem;
116
+ line-height: 1.7;
117
+ color: #e8e4df;
118
+ }
119
+ .whatsup-briefing h2 {
120
+ color: #5bb5a2;
121
+ font-family: var(--font-display);
122
+ font-size: 0.9rem;
123
+ font-weight: 400;
124
+ letter-spacing: 0.02em;
125
+ padding-bottom: 0.375rem;
126
+ margin-bottom: 0.5rem;
127
+ margin-top: 1.5rem;
128
+ border-bottom: 1px solid #2a2d35;
129
+ }
130
+ .whatsup-briefing h2:first-child {
131
+ margin-top: 0;
132
+ }
133
+
134
+ /* Entity color-coding */
135
+ .whatsup-briefing .entity-co {
136
+ color: #67b8e3;
137
+ font-weight: 600;
138
+ }
139
+ .whatsup-briefing .entity-p {
140
+ color: #5bb5a2;
141
+ font-weight: 600;
142
+ }
143
+ .whatsup-briefing .entity-proj {
144
+ color: #b197d4;
145
+ font-weight: 600;
146
+ }
147
+ .whatsup-briefing .entity-ev {
148
+ color: #e09f3e;
149
+ font-weight: 600;
150
+ }
151
+ .whatsup-briefing .entity-d {
152
+ color: #67b8e3;
153
+ }
154
+ .whatsup-briefing .entity-st {
155
+ color: #eab354;
156
+ }
157
+ .whatsup-briefing .entity-f {
158
+ color: #8a8691;
159
+ font-family: var(--font-mono);
160
+ font-size: 0.85em;
161
+ }
162
+
163
+ /* ── Brain prose: unified markdown styles ── */
164
+ .brain-prose {
165
+ font-family: var(--font-body);
166
+ font-size: 0.875rem;
167
+ line-height: 1.7;
168
+ color: #e8e4df;
169
+ }
170
+
171
+ /* Headings */
172
+ .brain-prose h1 {
173
+ font-family: var(--font-display);
174
+ font-size: 1.5rem;
175
+ font-weight: 400;
176
+ color: #e8e4df;
177
+ margin-top: 2rem;
178
+ margin-bottom: 0.75rem;
179
+ }
180
+ .brain-prose h2 {
181
+ font-family: var(--font-display);
182
+ font-size: 1.15rem;
183
+ font-weight: 400;
184
+ color: #e09f3e;
185
+ margin-top: 1.75rem;
186
+ margin-bottom: 0.5rem;
187
+ padding-bottom: 0.375rem;
188
+ border-bottom: 1px solid #2a2d35;
189
+ }
190
+ .brain-prose h3 {
191
+ font-family: var(--font-body);
192
+ font-size: 0.95rem;
193
+ font-weight: 600;
194
+ color: #e8e4df;
195
+ margin-top: 1.5rem;
196
+ margin-bottom: 0.375rem;
197
+ }
198
+ .brain-prose h4 {
199
+ font-family: var(--font-body);
200
+ font-size: 0.875rem;
201
+ font-weight: 600;
202
+ color: #8a8691;
203
+ text-transform: uppercase;
204
+ letter-spacing: 0.04em;
205
+ margin-top: 1.25rem;
206
+ margin-bottom: 0.375rem;
207
+ }
208
+ .brain-prose :is(h1, h2, h3, h4):first-child {
209
+ margin-top: 0;
210
+ }
211
+
212
+ /* Paragraphs */
213
+ .brain-prose p {
214
+ margin-top: 0.5rem;
215
+ margin-bottom: 0.5rem;
216
+ }
217
+
218
+ /* Bold / italic */
219
+ .brain-prose strong {
220
+ font-weight: 600;
221
+ color: #e8e4df;
222
+ }
223
+ .brain-prose em {
224
+ font-style: italic;
225
+ color: #c0bcb5;
226
+ }
227
+
228
+ /* Links */
229
+ .brain-prose a {
230
+ color: #e09f3e;
231
+ text-decoration: underline;
232
+ text-decoration-color: rgba(224, 159, 62, 0.3);
233
+ text-underline-offset: 2px;
234
+ transition: color 0.15s;
235
+ }
236
+ .brain-prose a:hover {
237
+ color: rgba(224, 159, 62, 0.8);
238
+ }
239
+
240
+ /* Lists */
241
+ .brain-prose ul {
242
+ list-style-type: disc;
243
+ padding-left: 1.5rem;
244
+ margin-top: 0.5rem;
245
+ margin-bottom: 0.5rem;
246
+ }
247
+ .brain-prose ol {
248
+ list-style-type: decimal;
249
+ padding-left: 1.5rem;
250
+ margin-top: 0.5rem;
251
+ margin-bottom: 0.5rem;
252
+ }
253
+ .brain-prose li {
254
+ margin-top: 0.25rem;
255
+ margin-bottom: 0.25rem;
256
+ padding-left: 0.25rem;
257
+ }
258
+ .brain-prose li::marker {
259
+ color: #5bb5a2;
260
+ }
261
+
262
+ /* Tables */
263
+ .brain-prose table {
264
+ width: 100%;
265
+ font-size: 0.8125rem;
266
+ border-collapse: collapse;
267
+ margin-top: 0.75rem;
268
+ margin-bottom: 0.75rem;
269
+ }
270
+ .brain-prose thead th {
271
+ text-align: left;
272
+ font-weight: 600;
273
+ font-size: 0.75rem;
274
+ text-transform: uppercase;
275
+ letter-spacing: 0.04em;
276
+ color: #8a8691;
277
+ padding: 0.5rem 0.75rem;
278
+ border-bottom: 2px solid #2a2d35;
279
+ background: #141619;
280
+ }
281
+ .brain-prose tbody td {
282
+ padding: 0.5rem 0.75rem;
283
+ border-bottom: 1px solid #1f2229;
284
+ vertical-align: top;
285
+ }
286
+ .brain-prose tbody tr:hover {
287
+ background: rgba(224, 159, 62, 0.03);
288
+ }
289
+
290
+ /* Code - inline */
291
+ .brain-prose :not(pre) > code {
292
+ font-family: var(--font-mono);
293
+ font-size: 0.8em;
294
+ background: #1a1d22;
295
+ padding: 0.125rem 0.375rem;
296
+ border-radius: 0.25rem;
297
+ color: #e8e4df;
298
+ }
299
+
300
+ /* Code - blocks */
301
+ .brain-prose pre {
302
+ font-family: var(--font-mono);
303
+ font-size: 0.8125rem;
304
+ line-height: 1.6;
305
+ background: #141619;
306
+ border: 1px solid #2a2d35;
307
+ border-radius: 0.5rem;
308
+ padding: 1rem;
309
+ overflow-x: auto;
310
+ margin-top: 0.75rem;
311
+ margin-bottom: 0.75rem;
312
+ }
313
+ .brain-prose pre code {
314
+ background: none;
315
+ padding: 0;
316
+ font-size: inherit;
317
+ }
318
+
319
+ /* Mermaid diagrams (rendered from ```mermaid fences) */
320
+ .brain-prose .mermaid-figure {
321
+ margin: 0.75rem 0;
322
+ text-align: center;
323
+ }
324
+ .brain-prose .mermaid-figure svg {
325
+ max-width: 100%;
326
+ height: auto;
327
+ }
328
+
329
+ /* Blockquotes */
330
+ .brain-prose blockquote {
331
+ border-left: 3px solid #e09f3e;
332
+ background: rgba(224, 159, 62, 0.04);
333
+ padding: 0.75rem 1rem;
334
+ margin: 0.75rem 0;
335
+ border-radius: 0 0.375rem 0.375rem 0;
336
+ }
337
+ .brain-prose blockquote p {
338
+ color: #c0bcb5;
339
+ font-style: italic;
340
+ }
341
+
342
+ /* Horizontal rules */
343
+ .brain-prose hr {
344
+ border: none;
345
+ height: 1px;
346
+ background: linear-gradient(to right, transparent, #2a2d35 20%, #2a2d35 80%, transparent);
347
+ margin: 1.5rem 0;
348
+ }
349
+
350
+ /* Images */
351
+ .brain-prose img {
352
+ border-radius: 0.5rem;
353
+ margin-top: 0.75rem;
354
+ margin-bottom: 0.75rem;
355
+ }
356
+
357
+ /* File reference links — distinct from external links */
358
+ .brain-file-link {
359
+ color: var(--color-accent);
360
+ text-decoration: underline;
361
+ text-decoration-style: dotted;
362
+ text-decoration-color: rgba(91, 181, 162, 0.4);
363
+ text-underline-offset: 3px;
364
+ font-family: var(--font-mono);
365
+ font-size: 0.95em;
366
+ cursor: pointer;
367
+ transition: color 0.15s, background-color 0.15s;
368
+ padding: 0 2px;
369
+ border-radius: 3px;
370
+ }
371
+ .brain-file-link:hover {
372
+ color: var(--color-foreground);
373
+ background-color: rgba(91, 181, 162, 0.1);
374
+ text-decoration-color: rgba(91, 181, 162, 0.8);
375
+ }
376
+ /* Override .brain-prose a styling when it's a file link */
377
+ .brain-prose a.brain-file-link {
378
+ color: var(--color-accent);
379
+ text-decoration-color: rgba(91, 181, 162, 0.4);
380
+ }
381
+ .brain-prose a.brain-file-link:hover {
382
+ color: var(--color-foreground);
383
+ text-decoration-color: rgba(91, 181, 162, 0.8);
384
+ }
385
+
386
+ /* Directory links read slightly differently — italic + folder-cue color */
387
+ .brain-file-link--dir,
388
+ .brain-prose a.brain-file-link--dir {
389
+ color: var(--color-primary);
390
+ text-decoration-color: rgba(224, 159, 62, 0.4);
391
+ }
392
+ .brain-file-link--dir:hover,
393
+ .brain-prose a.brain-file-link--dir:hover {
394
+ color: var(--color-foreground);
395
+ background-color: rgba(224, 159, 62, 0.1);
396
+ text-decoration-color: rgba(224, 159, 62, 0.8);
397
+ }
398
+
399
+ /* Wikilinks — match file-link styling but use a subtle bracket cue */
400
+ .brain-wiki-link::before,
401
+ .brain-prose a.brain-wiki-link::before {
402
+ content: "↗";
403
+ margin-right: 0.15em;
404
+ font-size: 0.85em;
405
+ opacity: 0.55;
406
+ }
407
+ .brain-wiki-link--unresolved {
408
+ color: var(--color-muted-foreground);
409
+ text-decoration: underline;
410
+ text-decoration-style: dotted;
411
+ text-decoration-color: rgba(138, 134, 145, 0.5);
412
+ text-underline-offset: 3px;
413
+ cursor: help;
414
+ }
415
+ .brain-wiki-link--unresolved::before {
416
+ content: "✗";
417
+ margin-right: 0.15em;
418
+ font-size: 0.8em;
419
+ opacity: 0.6;
420
+ }
421
+
422
+ /* Tree node highlight flash for openDir() navigation */
423
+ @keyframes brain-tree-flash {
424
+ 0% {
425
+ background-color: rgba(91, 181, 162, 0.35);
426
+ box-shadow: inset 0 0 0 1px rgba(91, 181, 162, 0.6);
427
+ }
428
+ 100% {
429
+ background-color: transparent;
430
+ box-shadow: inset 0 0 0 1px transparent;
431
+ }
432
+ }
433
+ .brain-tree-highlight {
434
+ animation: brain-tree-flash 1.6s ease-out;
435
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schlessera/brain-ui-react",
3
- "version": "0.15.0",
3
+ "version": "0.17.0",
4
4
  "description": "brain-kit chat-UI React components: chat surface, tool-call timeline, file browser, voice dictation, stores, and WebSocket transport",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -22,7 +22,9 @@
22
22
  "publishConfig": {
23
23
  "access": "public"
24
24
  },
25
- "sideEffects": false,
25
+ "sideEffects": [
26
+ "**/*.css"
27
+ ],
26
28
  "type": "module",
27
29
  "exports": {
28
30
  ".": {
@@ -31,7 +33,8 @@
31
33
  "default": "./dist/index.js"
32
34
  },
33
35
  "./styles.css": "./dist/styles.css",
34
- "./theme.css": "./src/theme.css"
36
+ "./theme.css": "./dist/theme.css",
37
+ "./package.json": "./package.json"
35
38
  },
36
39
  "files": [
37
40
  "src",
@@ -39,11 +42,11 @@
39
42
  "README.md"
40
43
  ],
41
44
  "scripts": {
42
- "test": "bun test tests",
45
+ "test": "bun test tests --timeout 30000",
43
46
  "prepublishOnly": "bun ../../scripts/check-dist.ts"
44
47
  },
45
48
  "dependencies": {
46
- "@schlessera/brain-ui-sdk": "0.15.0",
49
+ "@schlessera/brain-ui-sdk": "0.17.0",
47
50
  "@simplewebauthn/browser": "^13.2.2",
48
51
  "clsx": "^2",
49
52
  "framer-motion": "^12.38.0",
@@ -63,13 +66,16 @@
63
66
  "react-dom": ">=18"
64
67
  },
65
68
  "devDependencies": {
69
+ "@happy-dom/global-registrator": "^20.11.6",
66
70
  "@tailwindcss/cli": "^4",
71
+ "@testing-library/dom": "^10.4.1",
72
+ "@testing-library/react": "^16.3.2",
67
73
  "@types/bun": "^1.3.14",
68
74
  "@types/react": "^19",
69
75
  "@types/react-dom": "^19",
70
- "tailwindcss": "^4",
71
- "typescript": "^6.0.3",
72
76
  "react": "^19",
73
- "react-dom": "^19"
77
+ "react-dom": "^19",
78
+ "tailwindcss": "^4",
79
+ "typescript": "^6.0.3"
74
80
  }
75
81
  }
@@ -297,10 +297,14 @@ export function ChatPage() {
297
297
  // queues it or delivers it live; don't pre-start a second assistant bubble
298
298
  // (the backend's next frames start it).
299
299
  if (!isStreaming) startAssistantMessage();
300
+ // Correlate this turn when it is starting a NEW conversation, so its
301
+ // session_info can be told apart from a background turn's.
302
+ const draftId = sessionId ? undefined : useChatStore.getState().startDraftTurn();
300
303
  send({
301
304
  type: "chat_message",
302
305
  text,
303
306
  sessionId: sessionId ?? undefined,
307
+ ...(draftId ? { draftId } : {}),
304
308
  // Provider only applies to new conversations; resumed sessions are
305
309
  // pinned server-side to their original combo.
306
310
  // Only send a provider the server actually offers — a stale persisted
@@ -19,7 +19,7 @@ import type { ToolCall } from "../../stores/chat-store.js";
19
19
  * (`~/brain`).
20
20
  */
21
21
  export function isInsideBrainRepo(path: string): boolean {
22
- if (/^\/data\/brain\//.test(path) || /^\/home\/[^/]+\/brain\//.test(path)) {
22
+ if (path.startsWith("/data/brain/") || /^\/home\/[^/]+\/brain\//.test(path)) {
23
23
  return true;
24
24
  }
25
25
  // Repo-relative: not absolute and not escaping upward.