total-recall-brain 3.41.5 → 3.41.6
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.
- package/bin/total-recall.mjs +7 -4
- package/frontend/dist/assets/index-4tGQfTa2.js +5605 -0
- package/frontend/dist/assets/index-DtwsDyFM.css +1 -0
- package/frontend/dist/index.html +2 -2
- package/frontend/package.json +11 -0
- package/frontend/src/App.tsx +47 -122
- package/frontend/src/components/plugins/plugin-frame.ts +1 -0
- package/frontend/src/index.css +152 -86
- package/frontend/src/pages/HelpPage.tsx +13 -10
- package/frontend/src/pages/MemoryPage.tsx +28 -30
- package/frontend/src/pages/NetworkPage.tsx +3 -3
- package/frontend/src/pages/PluginsPage.tsx +6 -5
- package/frontend/src/pages/RulesPage.tsx +16 -12
- package/package.json +3 -2
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/package-lock.json +8 -8
- package/scaffold/.agent/skills/total-recall/plugins/code-quality/package.json +3 -0
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/package-lock.json +8 -8
- package/scaffold/.agent/skills/total-recall/plugins/composable-cli/package.json +3 -0
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/package-lock.json +8 -8
- package/scaffold/.agent/skills/total-recall/plugins/embeddings/package.json +3 -0
- package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/package-lock.json +8 -8
- package/scaffold/.agent/skills/total-recall/plugins/git-sentinel/package.json +3 -0
- package/scaffold/.agent/skills/total-recall/plugins/mesh/package-lock.json +8 -8
- package/scaffold/.agent/skills/total-recall/plugins/mesh/package.json +4 -1
- package/scaffold/.agent/skills/total-recall/plugins/mesh/src/core/mesh.mjs +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/capability/index.mjs +136 -7
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/cli.mjs +135 -26
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/package-lock.json +8 -8
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/package.json +4 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/plugin.json +228 -9
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/skills/meta-harness/SKILL.md +24 -30
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/alerts.mjs +29 -16
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/cascade.mjs +73 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/coordinator.mjs +182 -365
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/dispatch.mjs +33 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/documentation.mjs +9 -3
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/executor.mjs +4 -4
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/agy.mjs +187 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/claude.mjs +275 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/cline.mjs +132 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/codex.mjs +187 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/cursor.mjs +158 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/devin.mjs +157 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/dsh.mjs +183 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/grok.mjs +132 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/hermes.mjs +173 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/index.mjs +87 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/openclaw.mjs +173 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate-adapters/pi.mjs +129 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/gate.mjs +12 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/json-reply.mjs +22 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/learner.mjs +72 -70
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/model-catalog.mjs +195 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/paths.mjs +11 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/pool.mjs +36 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/review.mjs +169 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/router.mjs +136 -346
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/runtime.mjs +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/ssss-store.mjs +20 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/telemetry.mjs +43 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/threads.mjs +156 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/worker.mjs +117 -35
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/src/worktree.mjs +51 -0
- package/scaffold/.agent/skills/total-recall/plugins/meta-harness/ui/card.js +398 -57
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/cli.mjs +10 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/package-lock.json +3 -3
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/package.json +3 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/plugin.json +42 -190
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/vendor/openwiki.mjs +1 -1
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/vendor/skills/mermaid-diagrams/SKILL.md +44 -0
- package/scaffold/.agent/skills/total-recall/plugins/openwiki/vendor/skills/write-connector/SKILL.md +56 -0
- package/scaffold/.agent/skills/total-recall/plugins/security/package-lock.json +8 -8
- package/scaffold/.agent/skills/total-recall/plugins/security/package.json +3 -0
- package/src/cli/agent.mjs +12 -1
- package/src/cli/compact.mjs +2 -2
- package/src/cli/connect.mjs +56 -1
- package/src/cli/context.mjs +10 -7
- package/src/cli/doctor.mjs +5 -2
- package/src/cli/harness.mjs +62 -50
- package/src/cli/memory-entry.mjs +2 -2
- package/src/cli/preflight.mjs +152 -16
- package/src/cli/remember.mjs +19 -1
- package/src/cli/rules.mjs +54 -12
- package/src/cli/startup.mjs +1 -1
- package/src/cli/status.mjs +12 -2
- package/src/core/claude-hooks.mjs +41 -3
- package/src/core/cli-semantic-index.mjs +3 -2
- package/src/core/conflict-detector.mjs +23 -12
- package/src/core/context-compactor.mjs +2 -0
- package/src/core/context-policy.mjs +20 -0
- package/src/core/duplicate-guard.mjs +350 -0
- package/src/core/meta-harness.mjs +31 -11
- package/src/core/preflight-gate.mjs +2 -2
- package/src/core/preflight-receipt.mjs +28 -0
- package/src/core/scaffold-plugins.mjs +7 -0
- package/src/core/stdio-flush.mjs +23 -0
- package/src/core/surface.mjs +33 -10
- package/src/server/routes/plugins.mjs +2 -2
- package/frontend/dist/assets/index-BIQmqDKP.css +0 -1
- package/frontend/dist/assets/index-WT3gs-x6.js +0 -5631
- package/frontend/src/components/DaemonLogsTab.tsx +0 -54
- package/frontend/src/components/ResearchAgendaTab.tsx +0 -712
- package/frontend/src/components/TaskQueueTab.tsx +0 -193
- package/frontend/src/components/VoiceInput.tsx +0 -112
- package/frontend/src/pages/ChatPage.tsx +0 -1059
- package/frontend/src/pages/CollabPage.tsx +0 -470
- package/frontend/src/pages/DesignDocsPage.tsx +0 -621
- package/frontend/src/pages/FilesPage.tsx +0 -393
- package/frontend/src/pages/HealthPage.tsx +0 -359
- package/frontend/src/pages/InboxPage.tsx +0 -83
- package/frontend/src/pages/InstructionsPage.tsx +0 -583
- package/frontend/src/pages/IntegrationsPage.tsx +0 -761
- package/frontend/src/pages/MeshPage.css +0 -58
- package/frontend/src/pages/MeshPage.tsx +0 -1219
- package/frontend/src/pages/OkfPage.tsx +0 -535
- package/frontend/src/pages/SandboxPage.tsx +0 -113
- package/frontend/src/pages/SkillsPage.tsx +0 -1994
- package/frontend/src/pages/TasksPage.tsx +0 -427
- package/frontend/src/pages/UsagePage.tsx +0 -702
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/README.md +0 -65
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/cli.mjs +0 -76
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/package.json +0 -19
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/plugin.json +0 -266
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/src/adapters/dsh.mjs +0 -446
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/src/documentation.mjs +0 -152
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/src/executor.mjs +0 -71
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/src/runtime.mjs +0 -36
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/src/setup.mjs +0 -35
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/src/worker.mjs +0 -175
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/ui/DESIGN.md +0 -32
- package/scaffold/.agent/skills/total-recall/plugins/cli-agents/ui/card.js +0 -575
package/frontend/src/index.css
CHANGED
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
--mesh-3: rgba(15, 23, 42, 0.9);
|
|
48
48
|
|
|
49
49
|
/* Typography */
|
|
50
|
+
--font-heading: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
50
51
|
--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
51
52
|
--font-mono: 'JetBrains Mono', 'SF Mono', ui-monospace, monospace;
|
|
52
53
|
|
|
@@ -94,6 +95,13 @@ body {
|
|
|
94
95
|
a { color: var(--accent); text-decoration: none; }
|
|
95
96
|
a:hover { color: var(--accent-hover); }
|
|
96
97
|
|
|
98
|
+
h1, h2, h3, h4, h5, h6 {
|
|
99
|
+
font-family: var(--font-heading);
|
|
100
|
+
letter-spacing: -0.025em;
|
|
101
|
+
font-weight: 700;
|
|
102
|
+
color: var(--text-primary);
|
|
103
|
+
}
|
|
104
|
+
|
|
97
105
|
button {
|
|
98
106
|
font-family: var(--font-sans);
|
|
99
107
|
cursor: pointer;
|
|
@@ -296,17 +304,21 @@ code, pre { font-family: var(--font-mono); }
|
|
|
296
304
|
/* ─── Cards ──────────────────────────────────────────────────────────────────── */
|
|
297
305
|
|
|
298
306
|
.card {
|
|
299
|
-
background:
|
|
300
|
-
|
|
307
|
+
background: rgba(18, 26, 43, 0.65);
|
|
308
|
+
backdrop-filter: blur(16px);
|
|
309
|
+
-webkit-backdrop-filter: blur(16px);
|
|
310
|
+
border: 1px solid rgba(148, 163, 184, 0.12);
|
|
301
311
|
border-radius: var(--radius-md);
|
|
302
|
-
padding:
|
|
303
|
-
transition:
|
|
304
|
-
box-shadow:
|
|
312
|
+
padding: 22px;
|
|
313
|
+
transition: all var(--transition-normal);
|
|
314
|
+
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
|
|
305
315
|
}
|
|
306
316
|
|
|
307
317
|
.card:hover {
|
|
308
|
-
border-color:
|
|
309
|
-
|
|
318
|
+
border-color: rgba(96, 165, 250, 0.35);
|
|
319
|
+
background: rgba(28, 39, 64, 0.75);
|
|
320
|
+
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
|
|
321
|
+
transform: translateY(-1px);
|
|
310
322
|
}
|
|
311
323
|
|
|
312
324
|
.card-grid {
|
|
@@ -320,40 +332,50 @@ code, pre { font-family: var(--font-mono); }
|
|
|
320
332
|
.btn {
|
|
321
333
|
display: inline-flex;
|
|
322
334
|
align-items: center;
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
335
|
+
justify-content: center;
|
|
336
|
+
gap: 8px;
|
|
337
|
+
min-height: 44px;
|
|
338
|
+
padding: 0 18px;
|
|
339
|
+
border-radius: var(--radius-md);
|
|
340
|
+
font-size: 13.5px;
|
|
327
341
|
font-weight: 600;
|
|
328
342
|
transition: all var(--transition-fast);
|
|
329
343
|
letter-spacing: -0.01em;
|
|
344
|
+
cursor: pointer;
|
|
345
|
+
border: 1px solid transparent;
|
|
330
346
|
}
|
|
331
347
|
|
|
332
348
|
.btn-primary {
|
|
333
349
|
background: linear-gradient(135deg, #3b82f6 0%, #2563eb 55%, #1d4ed8 100%);
|
|
334
350
|
color: #fff;
|
|
335
|
-
|
|
351
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
352
|
+
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 4px 14px rgba(37, 99, 235, 0.35);
|
|
336
353
|
}
|
|
337
354
|
|
|
338
355
|
.btn-primary:hover {
|
|
339
356
|
background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 50%, #2563eb 100%);
|
|
340
|
-
box-shadow: 0 0
|
|
357
|
+
box-shadow: 0 0 24px var(--accent-glow), 0 6px 20px rgba(37, 99, 235, 0.45);
|
|
341
358
|
transform: translateY(-1px);
|
|
342
359
|
}
|
|
343
360
|
|
|
344
361
|
.btn-ghost {
|
|
345
|
-
background: rgba(148, 163, 184, 0.
|
|
362
|
+
background: rgba(148, 163, 184, 0.08);
|
|
346
363
|
color: var(--text-secondary);
|
|
347
|
-
border: 1px solid
|
|
364
|
+
border: 1px solid rgba(148, 163, 184, 0.14);
|
|
348
365
|
}
|
|
349
366
|
|
|
350
367
|
.btn-ghost:hover {
|
|
351
|
-
background: rgba(148, 163, 184, 0.
|
|
368
|
+
background: rgba(148, 163, 184, 0.16);
|
|
352
369
|
color: var(--text-primary);
|
|
353
|
-
border-color:
|
|
370
|
+
border-color: rgba(148, 163, 184, 0.28);
|
|
354
371
|
}
|
|
355
372
|
|
|
356
|
-
.btn-sm {
|
|
373
|
+
.btn-sm {
|
|
374
|
+
min-height: 36px;
|
|
375
|
+
padding: 0 12px;
|
|
376
|
+
font-size: 12px;
|
|
377
|
+
border-radius: var(--radius-sm);
|
|
378
|
+
}
|
|
357
379
|
|
|
358
380
|
/* ─── Alerts ─────────────────────────────────────────────────────────────────── */
|
|
359
381
|
|
|
@@ -651,14 +673,15 @@ code, pre { font-family: var(--font-mono); }
|
|
|
651
673
|
.chat-empty p { font-size: 13px; }
|
|
652
674
|
|
|
653
675
|
.message {
|
|
654
|
-
max-width:
|
|
655
|
-
padding:
|
|
676
|
+
max-width: 760px;
|
|
677
|
+
padding: 16px 20px;
|
|
656
678
|
border-radius: var(--radius-md);
|
|
657
679
|
font-size: 14px;
|
|
658
|
-
line-height: 1.
|
|
659
|
-
animation: msgIn 0.
|
|
680
|
+
line-height: 1.65;
|
|
681
|
+
animation: msgIn 0.18s cubic-bezier(0.16, 1, 0.3, 1);
|
|
660
682
|
white-space: pre-wrap;
|
|
661
683
|
word-break: break-word;
|
|
684
|
+
position: relative;
|
|
662
685
|
}
|
|
663
686
|
|
|
664
687
|
@keyframes msgIn {
|
|
@@ -668,46 +691,55 @@ code, pre { font-family: var(--font-mono); }
|
|
|
668
691
|
|
|
669
692
|
.message-user {
|
|
670
693
|
align-self: flex-end;
|
|
671
|
-
background:
|
|
672
|
-
|
|
694
|
+
background: rgba(30, 58, 138, 0.28);
|
|
695
|
+
border: 1px solid rgba(59, 130, 246, 0.35);
|
|
696
|
+
color: #f8fafc;
|
|
673
697
|
border-bottom-right-radius: 4px;
|
|
674
|
-
box-shadow: 0
|
|
698
|
+
box-shadow: 0 4px 18px rgba(0, 0, 0, 0.25);
|
|
699
|
+
backdrop-filter: blur(12px);
|
|
700
|
+
-webkit-backdrop-filter: blur(12px);
|
|
675
701
|
}
|
|
676
702
|
|
|
677
703
|
.message-assistant {
|
|
678
704
|
align-self: flex-start;
|
|
679
|
-
background:
|
|
680
|
-
border: 1px solid
|
|
705
|
+
background: rgba(18, 26, 43, 0.72);
|
|
706
|
+
border: 1px solid rgba(148, 163, 184, 0.12);
|
|
681
707
|
border-bottom-left-radius: 4px;
|
|
682
|
-
box-shadow:
|
|
708
|
+
box-shadow: 0 6px 24px rgba(0, 0, 0, 0.3);
|
|
709
|
+
backdrop-filter: blur(12px);
|
|
710
|
+
-webkit-backdrop-filter: blur(12px);
|
|
711
|
+
color: var(--text-primary);
|
|
683
712
|
}
|
|
684
713
|
|
|
685
714
|
.message-assistant code {
|
|
686
|
-
background:
|
|
687
|
-
padding:
|
|
715
|
+
background: rgba(7, 11, 20, 0.75);
|
|
716
|
+
padding: 2px 6px;
|
|
688
717
|
border-radius: 4px;
|
|
689
718
|
font-size: 12.5px;
|
|
719
|
+
border: 1px solid rgba(148, 163, 184, 0.1);
|
|
690
720
|
}
|
|
691
721
|
|
|
692
722
|
.chat-input-bar {
|
|
693
723
|
padding: 16px 32px 20px;
|
|
694
|
-
border-top: 1px solid
|
|
695
|
-
background:
|
|
724
|
+
border-top: 1px solid rgba(148, 163, 184, 0.1);
|
|
725
|
+
background: rgba(12, 18, 32, 0.85);
|
|
726
|
+
backdrop-filter: blur(20px);
|
|
727
|
+
-webkit-backdrop-filter: blur(20px);
|
|
696
728
|
}
|
|
697
729
|
|
|
698
730
|
.chat-input-wrapper {
|
|
699
731
|
display: flex;
|
|
700
|
-
gap:
|
|
732
|
+
gap: 10px;
|
|
701
733
|
align-items: flex-end;
|
|
702
|
-
max-width:
|
|
734
|
+
max-width: 820px;
|
|
703
735
|
margin: 0 auto;
|
|
704
736
|
}
|
|
705
737
|
|
|
706
738
|
.chat-input-wrapper textarea {
|
|
707
739
|
flex: 1;
|
|
708
740
|
resize: none;
|
|
709
|
-
background:
|
|
710
|
-
border: 1px solid
|
|
741
|
+
background: rgba(18, 26, 43, 0.65);
|
|
742
|
+
border: 1px solid rgba(148, 163, 184, 0.14);
|
|
711
743
|
border-radius: var(--radius-md);
|
|
712
744
|
padding: 12px 16px;
|
|
713
745
|
color: var(--text-primary);
|
|
@@ -716,13 +748,14 @@ code, pre { font-family: var(--font-mono); }
|
|
|
716
748
|
line-height: 1.5;
|
|
717
749
|
min-height: 44px;
|
|
718
750
|
max-height: 160px;
|
|
719
|
-
transition:
|
|
751
|
+
transition: all var(--transition-fast);
|
|
720
752
|
}
|
|
721
753
|
|
|
722
754
|
.chat-input-wrapper textarea:focus {
|
|
723
|
-
border-color:
|
|
755
|
+
border-color: rgba(59, 130, 246, 0.5);
|
|
756
|
+
background: rgba(18, 26, 43, 0.9);
|
|
724
757
|
outline: none;
|
|
725
|
-
box-shadow: 0 0 0
|
|
758
|
+
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
|
|
726
759
|
}
|
|
727
760
|
|
|
728
761
|
.chat-input-wrapper textarea::placeholder { color: var(--text-tertiary); }
|
|
@@ -748,9 +781,10 @@ code, pre { font-family: var(--font-mono); }
|
|
|
748
781
|
}
|
|
749
782
|
|
|
750
783
|
.chat-send-btn:disabled {
|
|
751
|
-
opacity: 0.
|
|
784
|
+
opacity: 0.35;
|
|
752
785
|
cursor: not-allowed;
|
|
753
786
|
box-shadow: none;
|
|
787
|
+
transform: none;
|
|
754
788
|
}
|
|
755
789
|
|
|
756
790
|
.chat-send-btn svg { width: 18px; height: 18px; }
|
|
@@ -759,25 +793,29 @@ code, pre { font-family: var(--font-mono); }
|
|
|
759
793
|
|
|
760
794
|
.memory-layout {
|
|
761
795
|
display: grid;
|
|
762
|
-
grid-template-columns:
|
|
796
|
+
grid-template-columns: 240px 1fr;
|
|
763
797
|
gap: 20px;
|
|
764
798
|
height: calc(100vh - 120px);
|
|
765
799
|
}
|
|
766
800
|
|
|
767
801
|
.memory-sidebar {
|
|
768
|
-
background:
|
|
769
|
-
|
|
802
|
+
background: rgba(12, 18, 32, 0.72);
|
|
803
|
+
backdrop-filter: blur(16px);
|
|
804
|
+
-webkit-backdrop-filter: blur(16px);
|
|
805
|
+
border: 1px solid rgba(148, 163, 184, 0.12);
|
|
770
806
|
border-radius: var(--radius-md);
|
|
771
|
-
padding:
|
|
807
|
+
padding: 14px;
|
|
772
808
|
overflow-y: auto;
|
|
809
|
+
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
|
|
773
810
|
}
|
|
774
811
|
|
|
775
812
|
.memory-sidebar h3 {
|
|
776
813
|
font-size: 11px;
|
|
814
|
+
font-weight: 600;
|
|
777
815
|
text-transform: uppercase;
|
|
778
|
-
letter-spacing: 0.
|
|
816
|
+
letter-spacing: 0.08em;
|
|
779
817
|
color: var(--text-tertiary);
|
|
780
|
-
padding:
|
|
818
|
+
padding: 6px 8px 10px;
|
|
781
819
|
}
|
|
782
820
|
|
|
783
821
|
.category-btn {
|
|
@@ -785,54 +823,69 @@ code, pre { font-family: var(--font-mono); }
|
|
|
785
823
|
align-items: center;
|
|
786
824
|
justify-content: space-between;
|
|
787
825
|
width: 100%;
|
|
788
|
-
padding:
|
|
826
|
+
padding: 9px 12px;
|
|
789
827
|
border-radius: var(--radius-sm);
|
|
790
828
|
background: transparent;
|
|
791
829
|
color: var(--text-secondary);
|
|
792
830
|
font-size: 13px;
|
|
831
|
+
font-weight: 500;
|
|
793
832
|
text-align: left;
|
|
794
833
|
transition: all var(--transition-fast);
|
|
834
|
+
border: 1px solid transparent;
|
|
835
|
+
}
|
|
836
|
+
|
|
837
|
+
.category-btn:hover {
|
|
838
|
+
background: rgba(148, 163, 184, 0.08);
|
|
839
|
+
color: var(--text-primary);
|
|
795
840
|
}
|
|
796
841
|
|
|
797
|
-
.category-btn
|
|
798
|
-
|
|
842
|
+
.category-btn.active {
|
|
843
|
+
background: linear-gradient(135deg, rgba(59, 130, 246, 0.2), rgba(30, 58, 138, 0.25));
|
|
844
|
+
border-color: rgba(59, 130, 246, 0.35);
|
|
845
|
+
color: #93c5fd;
|
|
846
|
+
font-weight: 600;
|
|
847
|
+
}
|
|
799
848
|
|
|
800
849
|
.category-count {
|
|
801
850
|
font-size: 11px;
|
|
802
|
-
|
|
803
|
-
|
|
851
|
+
font-weight: 600;
|
|
852
|
+
background: rgba(148, 163, 184, 0.12);
|
|
853
|
+
padding: 2px 7px;
|
|
804
854
|
border-radius: 99px;
|
|
805
|
-
color: var(--text-
|
|
855
|
+
color: var(--text-secondary);
|
|
806
856
|
}
|
|
807
857
|
|
|
808
858
|
.memory-main {
|
|
809
859
|
display: flex;
|
|
810
860
|
flex-direction: column;
|
|
811
|
-
gap:
|
|
861
|
+
gap: 14px;
|
|
812
862
|
overflow: hidden;
|
|
813
863
|
}
|
|
814
864
|
|
|
815
865
|
.memory-search {
|
|
816
866
|
display: flex;
|
|
817
|
-
gap:
|
|
867
|
+
gap: 10px;
|
|
818
868
|
}
|
|
819
869
|
|
|
820
870
|
.memory-search input {
|
|
821
871
|
flex: 1;
|
|
822
|
-
background:
|
|
823
|
-
|
|
872
|
+
background: rgba(12, 18, 32, 0.72);
|
|
873
|
+
backdrop-filter: blur(16px);
|
|
874
|
+
-webkit-backdrop-filter: blur(16px);
|
|
875
|
+
border: 1px solid rgba(148, 163, 184, 0.14);
|
|
824
876
|
border-radius: var(--radius-md);
|
|
825
|
-
padding:
|
|
877
|
+
padding: 12px 16px;
|
|
826
878
|
color: var(--text-primary);
|
|
827
|
-
font-size:
|
|
879
|
+
font-size: 13.5px;
|
|
828
880
|
font-family: var(--font-sans);
|
|
829
|
-
transition:
|
|
881
|
+
transition: all var(--transition-fast);
|
|
830
882
|
}
|
|
831
883
|
|
|
832
884
|
.memory-search input:focus {
|
|
833
|
-
border-color:
|
|
885
|
+
border-color: rgba(59, 130, 246, 0.5);
|
|
886
|
+
background: rgba(18, 26, 43, 0.9);
|
|
834
887
|
outline: none;
|
|
835
|
-
box-shadow: 0 0 0
|
|
888
|
+
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
|
|
836
889
|
}
|
|
837
890
|
|
|
838
891
|
.memory-search input::placeholder { color: var(--text-tertiary); }
|
|
@@ -842,47 +895,56 @@ code, pre { font-family: var(--font-mono); }
|
|
|
842
895
|
overflow-y: auto;
|
|
843
896
|
display: flex;
|
|
844
897
|
flex-direction: column;
|
|
845
|
-
gap:
|
|
898
|
+
gap: 10px;
|
|
846
899
|
}
|
|
847
900
|
|
|
848
901
|
.memory-node-card {
|
|
849
|
-
background:
|
|
850
|
-
border: 1px solid
|
|
902
|
+
background: rgba(18, 26, 43, 0.6);
|
|
903
|
+
border: 1px solid rgba(148, 163, 184, 0.12);
|
|
851
904
|
border-radius: var(--radius-md);
|
|
852
|
-
padding:
|
|
905
|
+
padding: 16px 18px;
|
|
853
906
|
cursor: pointer;
|
|
854
907
|
transition: all var(--transition-fast);
|
|
908
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
|
|
855
909
|
}
|
|
856
910
|
|
|
857
911
|
.memory-node-card:hover {
|
|
858
|
-
border-color:
|
|
859
|
-
background:
|
|
912
|
+
border-color: rgba(96, 165, 250, 0.4);
|
|
913
|
+
background: rgba(28, 39, 64, 0.7);
|
|
914
|
+
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
|
|
915
|
+
transform: translateY(-1px);
|
|
860
916
|
}
|
|
861
917
|
|
|
862
918
|
.memory-node-card.selected {
|
|
863
|
-
border-color:
|
|
864
|
-
|
|
919
|
+
border-color: rgba(59, 130, 246, 0.55);
|
|
920
|
+
background: rgba(30, 58, 138, 0.25);
|
|
921
|
+
box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.3), 0 4px 20px rgba(0, 0, 0, 0.35);
|
|
865
922
|
}
|
|
866
923
|
|
|
867
924
|
.memory-node-card h4 {
|
|
868
925
|
font-size: 14px;
|
|
869
926
|
font-weight: 600;
|
|
870
|
-
margin-bottom:
|
|
927
|
+
margin-bottom: 6px;
|
|
928
|
+
color: #f8fafc;
|
|
871
929
|
}
|
|
872
930
|
|
|
873
931
|
.memory-node-card .meta {
|
|
874
932
|
font-size: 12px;
|
|
875
933
|
color: var(--text-tertiary);
|
|
876
934
|
display: flex;
|
|
877
|
-
|
|
935
|
+
align-items: center;
|
|
936
|
+
gap: 14px;
|
|
878
937
|
}
|
|
879
938
|
|
|
880
939
|
.memory-detail {
|
|
881
|
-
background:
|
|
882
|
-
|
|
883
|
-
|
|
940
|
+
background: rgba(12, 18, 32, 0.8);
|
|
941
|
+
backdrop-filter: blur(20px);
|
|
942
|
+
-webkit-backdrop-filter: blur(20px);
|
|
943
|
+
border: 1px solid rgba(148, 163, 184, 0.14);
|
|
944
|
+
border-radius: var(--radius-lg);
|
|
884
945
|
padding: 24px;
|
|
885
946
|
overflow-y: auto;
|
|
947
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
|
|
886
948
|
}
|
|
887
949
|
|
|
888
950
|
.memory-detail h2 {
|
|
@@ -1098,8 +1160,10 @@ code, pre { font-family: var(--font-mono); }
|
|
|
1098
1160
|
|
|
1099
1161
|
.chat-threads-sidebar {
|
|
1100
1162
|
width: 260px;
|
|
1101
|
-
background:
|
|
1102
|
-
|
|
1163
|
+
background: rgba(12, 18, 32, 0.7);
|
|
1164
|
+
backdrop-filter: blur(16px);
|
|
1165
|
+
-webkit-backdrop-filter: blur(16px);
|
|
1166
|
+
border-right: 1px solid rgba(148, 163, 184, 0.1);
|
|
1103
1167
|
display: flex;
|
|
1104
1168
|
flex-direction: column;
|
|
1105
1169
|
height: 100%;
|
|
@@ -1108,8 +1172,8 @@ code, pre { font-family: var(--font-mono); }
|
|
|
1108
1172
|
}
|
|
1109
1173
|
|
|
1110
1174
|
.sidebar-header {
|
|
1111
|
-
padding: 16px;
|
|
1112
|
-
border-bottom: 1px solid
|
|
1175
|
+
padding: 14px 16px;
|
|
1176
|
+
border-bottom: 1px solid rgba(148, 163, 184, 0.1);
|
|
1113
1177
|
}
|
|
1114
1178
|
|
|
1115
1179
|
.new-chat-btn {
|
|
@@ -1119,18 +1183,20 @@ code, pre { font-family: var(--font-mono); }
|
|
|
1119
1183
|
justify-content: center;
|
|
1120
1184
|
gap: 8px;
|
|
1121
1185
|
padding: 10px 16px;
|
|
1122
|
-
background:
|
|
1123
|
-
|
|
1186
|
+
background: linear-gradient(135deg, rgba(59, 130, 246, 0.22), rgba(30, 58, 138, 0.28));
|
|
1187
|
+
border: 1px solid rgba(59, 130, 246, 0.35);
|
|
1188
|
+
color: #93c5fd;
|
|
1124
1189
|
border-radius: var(--radius-sm);
|
|
1125
|
-
font-weight:
|
|
1190
|
+
font-weight: 600;
|
|
1126
1191
|
font-size: 13px;
|
|
1127
1192
|
transition: all var(--transition-fast);
|
|
1128
|
-
border: none;
|
|
1129
1193
|
cursor: pointer;
|
|
1130
1194
|
}
|
|
1131
1195
|
|
|
1132
1196
|
.new-chat-btn:hover {
|
|
1133
|
-
background:
|
|
1197
|
+
background: linear-gradient(135deg, rgba(59, 130, 246, 0.35), rgba(30, 58, 138, 0.45));
|
|
1198
|
+
border-color: rgba(96, 165, 250, 0.5);
|
|
1199
|
+
color: #fff;
|
|
1134
1200
|
box-shadow: 0 0 16px var(--accent-glow);
|
|
1135
1201
|
}
|
|
1136
1202
|
|
|
@@ -1156,12 +1222,12 @@ code, pre { font-family: var(--font-mono); }
|
|
|
1156
1222
|
}
|
|
1157
1223
|
|
|
1158
1224
|
.thread-item:hover {
|
|
1159
|
-
background:
|
|
1225
|
+
background: rgba(148, 163, 184, 0.08);
|
|
1160
1226
|
}
|
|
1161
1227
|
|
|
1162
1228
|
.thread-item.active {
|
|
1163
|
-
background: rgba(
|
|
1164
|
-
border-color:
|
|
1229
|
+
background: rgba(59, 130, 246, 0.12);
|
|
1230
|
+
border-color: rgba(59, 130, 246, 0.3);
|
|
1165
1231
|
}
|
|
1166
1232
|
|
|
1167
1233
|
.thread-info {
|
|
@@ -88,7 +88,7 @@ export default function HelpPage() {
|
|
|
88
88
|
<p>Offline docs for portable memory: CLI commands, vault layout, dream, tasks, and IDE connect.</p>
|
|
89
89
|
</div>
|
|
90
90
|
|
|
91
|
-
{error && <div className="badge badge-error" style={{ marginBottom: '16px' }}
|
|
91
|
+
{error && <div className="badge badge-error" style={{ marginBottom: '16px' }}>{error}</div>}
|
|
92
92
|
|
|
93
93
|
<div style={{ display: 'grid', gridTemplateColumns: '260px 1fr', gap: '30px', minHeight: '500px' }}>
|
|
94
94
|
{/* Sidebar */}
|
|
@@ -99,17 +99,19 @@ export default function HelpPage() {
|
|
|
99
99
|
onClick={() => setSelectedTopic(t.id)}
|
|
100
100
|
style={{
|
|
101
101
|
textAlign: 'left',
|
|
102
|
+
minHeight: '44px',
|
|
102
103
|
padding: '12px 16px',
|
|
103
|
-
borderRadius: '
|
|
104
|
-
background: selectedTopic === t.id ? 'var(--
|
|
104
|
+
borderRadius: 'var(--radius-md, 10px)',
|
|
105
|
+
background: selectedTopic === t.id ? 'var(--color-primary, #8b5cf6)' : 'rgba(12, 18, 32, 0.72)',
|
|
105
106
|
color: '#fff',
|
|
106
|
-
border: selectedTopic === t.id ? '1px solid var(--purple-border)' : '1px solid
|
|
107
|
+
border: selectedTopic === t.id ? '1px solid var(--purple-border, #a78bfa)' : '1px solid rgba(148, 163, 184, 0.12)',
|
|
108
|
+
backdropFilter: 'blur(16px)',
|
|
107
109
|
cursor: 'pointer',
|
|
108
110
|
transition: 'all 0.2s',
|
|
109
111
|
}}
|
|
110
112
|
>
|
|
111
|
-
<div style={{ fontWeight:
|
|
112
|
-
<div style={{ fontSize: '
|
|
113
|
+
<div style={{ fontWeight: 600, fontSize: '14px' }}>{t.title}</div>
|
|
114
|
+
<div style={{ fontSize: '12px', color: selectedTopic === t.id ? 'rgba(255, 255, 255, 0.9)' : 'var(--text-secondary)', marginTop: '4px' }}>
|
|
113
115
|
{t.description}
|
|
114
116
|
</div>
|
|
115
117
|
</button>
|
|
@@ -119,10 +121,11 @@ export default function HelpPage() {
|
|
|
119
121
|
{/* Content Pane */}
|
|
120
122
|
<div
|
|
121
123
|
style={{
|
|
122
|
-
background: '
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
124
|
+
background: 'rgba(12, 18, 32, 0.72)',
|
|
125
|
+
backdropFilter: 'blur(16px)',
|
|
126
|
+
border: '1px solid rgba(148, 163, 184, 0.12)',
|
|
127
|
+
borderRadius: 'var(--radius-lg, 16px)',
|
|
128
|
+
padding: '32px',
|
|
126
129
|
overflowY: 'auto',
|
|
127
130
|
maxHeight: '75vh',
|
|
128
131
|
}}
|