claude-cortex 1.10.0 → 1.11.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.
- package/dashboard/package-lock.json +273 -4
- package/dashboard/package.json +1 -0
- package/dashboard/src/app/page.tsx +65 -32
- package/dashboard/src/components/graph/KnowledgeGraph.tsx +230 -0
- package/dashboard/src/components/insights/ActivityHeatmap.tsx +131 -0
- package/dashboard/src/components/insights/InsightsView.tsx +46 -0
- package/dashboard/src/components/insights/KnowledgeMapPanel.tsx +80 -0
- package/dashboard/src/components/insights/QualityPanel.tsx +116 -0
- package/dashboard/src/components/memories/MemoriesView.tsx +150 -0
- package/dashboard/src/components/memories/MemoryCard.tsx +103 -0
- package/dashboard/src/components/nav/NavRail.tsx +53 -0
- package/dashboard/src/hooks/useMemories.ts +73 -0
- package/dashboard/src/lib/store.ts +3 -3
- package/dist/api/visualization-server.d.ts.map +1 -1
- package/dist/api/visualization-server.js +65 -0
- package/dist/api/visualization-server.js.map +1 -1
- package/package.json +1 -1
- package/scripts/pre-compact-hook.mjs +0 -17
- package/dashboard/README.md +0 -36
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"next": "16.1.4",
|
|
22
22
|
"react": "19.2.3",
|
|
23
23
|
"react-dom": "19.2.3",
|
|
24
|
+
"react-force-graph-2d": "^1.29.0",
|
|
24
25
|
"react-resizable-panels": "^4.4.1",
|
|
25
26
|
"recharts": "^3.7.0",
|
|
26
27
|
"tailwind-merge": "^3.4.0",
|
|
@@ -2534,6 +2535,15 @@
|
|
|
2534
2535
|
"integrity": "sha512-RPmm6kgRbI8e98zSD3RVACvnuktIja5+yLgDAkTmxLr90BEwdTXRQWNLF3ETTTyH/8mKhznZuN5AveXYFEsMGQ==",
|
|
2535
2536
|
"license": "BSD-3-Clause"
|
|
2536
2537
|
},
|
|
2538
|
+
"node_modules/accessor-fn": {
|
|
2539
|
+
"version": "1.5.3",
|
|
2540
|
+
"resolved": "https://registry.npmjs.org/accessor-fn/-/accessor-fn-1.5.3.tgz",
|
|
2541
|
+
"integrity": "sha512-rkAofCwe/FvYFUlMB0v0gWmhqtfAtV1IUkdPbfhTUyYniu5LrC0A0UJkTH0Jv3S8SvwkmfuAlY+mQIJATdocMA==",
|
|
2542
|
+
"license": "MIT",
|
|
2543
|
+
"engines": {
|
|
2544
|
+
"node": ">=12"
|
|
2545
|
+
}
|
|
2546
|
+
},
|
|
2537
2547
|
"node_modules/acorn": {
|
|
2538
2548
|
"version": "8.15.0",
|
|
2539
2549
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
|
@@ -2857,6 +2867,16 @@
|
|
|
2857
2867
|
"baseline-browser-mapping": "dist/cli.js"
|
|
2858
2868
|
}
|
|
2859
2869
|
},
|
|
2870
|
+
"node_modules/bezier-js": {
|
|
2871
|
+
"version": "6.1.4",
|
|
2872
|
+
"resolved": "https://registry.npmjs.org/bezier-js/-/bezier-js-6.1.4.tgz",
|
|
2873
|
+
"integrity": "sha512-PA0FW9ZpcHbojUCMu28z9Vg/fNkwTj5YhusSAjHHDfHDGLxJ6YUKrAN2vk1fP2MMOxVw4Oko16FMlRGVBGqLKg==",
|
|
2874
|
+
"license": "MIT",
|
|
2875
|
+
"funding": {
|
|
2876
|
+
"type": "individual",
|
|
2877
|
+
"url": "https://github.com/Pomax/bezierjs/blob/master/FUNDING.md"
|
|
2878
|
+
}
|
|
2879
|
+
},
|
|
2860
2880
|
"node_modules/bidi-js": {
|
|
2861
2881
|
"version": "1.0.3",
|
|
2862
2882
|
"resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz",
|
|
@@ -3042,6 +3062,18 @@
|
|
|
3042
3062
|
],
|
|
3043
3063
|
"license": "CC-BY-4.0"
|
|
3044
3064
|
},
|
|
3065
|
+
"node_modules/canvas-color-tracker": {
|
|
3066
|
+
"version": "1.3.2",
|
|
3067
|
+
"resolved": "https://registry.npmjs.org/canvas-color-tracker/-/canvas-color-tracker-1.3.2.tgz",
|
|
3068
|
+
"integrity": "sha512-ryQkDX26yJ3CXzb3hxUVNlg1NKE4REc5crLBq661Nxzr8TNd236SaEf2ffYLXyI5tSABSeguHLqcVq4vf9L3Zg==",
|
|
3069
|
+
"license": "MIT",
|
|
3070
|
+
"dependencies": {
|
|
3071
|
+
"tinycolor2": "^1.6.0"
|
|
3072
|
+
},
|
|
3073
|
+
"engines": {
|
|
3074
|
+
"node": ">=12"
|
|
3075
|
+
}
|
|
3076
|
+
},
|
|
3045
3077
|
"node_modules/chalk": {
|
|
3046
3078
|
"version": "4.1.2",
|
|
3047
3079
|
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
|
|
@@ -3170,6 +3202,12 @@
|
|
|
3170
3202
|
"node": ">=12"
|
|
3171
3203
|
}
|
|
3172
3204
|
},
|
|
3205
|
+
"node_modules/d3-binarytree": {
|
|
3206
|
+
"version": "1.0.2",
|
|
3207
|
+
"resolved": "https://registry.npmjs.org/d3-binarytree/-/d3-binarytree-1.0.2.tgz",
|
|
3208
|
+
"integrity": "sha512-cElUNH+sHu95L04m92pG73t2MEJXKu+GeKUN1TJkFsu93E5W8E9Sc3kHEGJKgenGvj19m6upSn2EunvMgMD2Yw==",
|
|
3209
|
+
"license": "MIT"
|
|
3210
|
+
},
|
|
3173
3211
|
"node_modules/d3-color": {
|
|
3174
3212
|
"version": "3.1.0",
|
|
3175
3213
|
"resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
|
|
@@ -3179,6 +3217,28 @@
|
|
|
3179
3217
|
"node": ">=12"
|
|
3180
3218
|
}
|
|
3181
3219
|
},
|
|
3220
|
+
"node_modules/d3-dispatch": {
|
|
3221
|
+
"version": "3.0.1",
|
|
3222
|
+
"resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
|
|
3223
|
+
"integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
|
|
3224
|
+
"license": "ISC",
|
|
3225
|
+
"engines": {
|
|
3226
|
+
"node": ">=12"
|
|
3227
|
+
}
|
|
3228
|
+
},
|
|
3229
|
+
"node_modules/d3-drag": {
|
|
3230
|
+
"version": "3.0.0",
|
|
3231
|
+
"resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
|
|
3232
|
+
"integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
|
|
3233
|
+
"license": "ISC",
|
|
3234
|
+
"dependencies": {
|
|
3235
|
+
"d3-dispatch": "1 - 3",
|
|
3236
|
+
"d3-selection": "3"
|
|
3237
|
+
},
|
|
3238
|
+
"engines": {
|
|
3239
|
+
"node": ">=12"
|
|
3240
|
+
}
|
|
3241
|
+
},
|
|
3182
3242
|
"node_modules/d3-ease": {
|
|
3183
3243
|
"version": "3.0.1",
|
|
3184
3244
|
"resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
|
|
@@ -3188,6 +3248,22 @@
|
|
|
3188
3248
|
"node": ">=12"
|
|
3189
3249
|
}
|
|
3190
3250
|
},
|
|
3251
|
+
"node_modules/d3-force-3d": {
|
|
3252
|
+
"version": "3.0.6",
|
|
3253
|
+
"resolved": "https://registry.npmjs.org/d3-force-3d/-/d3-force-3d-3.0.6.tgz",
|
|
3254
|
+
"integrity": "sha512-4tsKHUPLOVkyfEffZo1v6sFHvGFwAIIjt/W8IThbp08DYAsXZck+2pSHEG5W1+gQgEvFLdZkYvmJAbRM2EzMnA==",
|
|
3255
|
+
"license": "MIT",
|
|
3256
|
+
"dependencies": {
|
|
3257
|
+
"d3-binarytree": "1",
|
|
3258
|
+
"d3-dispatch": "1 - 3",
|
|
3259
|
+
"d3-octree": "1",
|
|
3260
|
+
"d3-quadtree": "1 - 3",
|
|
3261
|
+
"d3-timer": "1 - 3"
|
|
3262
|
+
},
|
|
3263
|
+
"engines": {
|
|
3264
|
+
"node": ">=12"
|
|
3265
|
+
}
|
|
3266
|
+
},
|
|
3191
3267
|
"node_modules/d3-format": {
|
|
3192
3268
|
"version": "3.1.2",
|
|
3193
3269
|
"resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz",
|
|
@@ -3209,6 +3285,12 @@
|
|
|
3209
3285
|
"node": ">=12"
|
|
3210
3286
|
}
|
|
3211
3287
|
},
|
|
3288
|
+
"node_modules/d3-octree": {
|
|
3289
|
+
"version": "1.1.0",
|
|
3290
|
+
"resolved": "https://registry.npmjs.org/d3-octree/-/d3-octree-1.1.0.tgz",
|
|
3291
|
+
"integrity": "sha512-F8gPlqpP+HwRPMO/8uOu5wjH110+6q4cgJvgJT6vlpy3BEaDIKlTZrgHKZSp/i1InRpVfh4puY/kvL6MxK930A==",
|
|
3292
|
+
"license": "MIT"
|
|
3293
|
+
},
|
|
3212
3294
|
"node_modules/d3-path": {
|
|
3213
3295
|
"version": "3.1.0",
|
|
3214
3296
|
"resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
|
|
@@ -3218,6 +3300,15 @@
|
|
|
3218
3300
|
"node": ">=12"
|
|
3219
3301
|
}
|
|
3220
3302
|
},
|
|
3303
|
+
"node_modules/d3-quadtree": {
|
|
3304
|
+
"version": "3.0.1",
|
|
3305
|
+
"resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
|
|
3306
|
+
"integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
|
|
3307
|
+
"license": "ISC",
|
|
3308
|
+
"engines": {
|
|
3309
|
+
"node": ">=12"
|
|
3310
|
+
}
|
|
3311
|
+
},
|
|
3221
3312
|
"node_modules/d3-scale": {
|
|
3222
3313
|
"version": "4.0.2",
|
|
3223
3314
|
"resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
|
|
@@ -3234,6 +3325,29 @@
|
|
|
3234
3325
|
"node": ">=12"
|
|
3235
3326
|
}
|
|
3236
3327
|
},
|
|
3328
|
+
"node_modules/d3-scale-chromatic": {
|
|
3329
|
+
"version": "3.1.0",
|
|
3330
|
+
"resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
|
|
3331
|
+
"integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
|
|
3332
|
+
"license": "ISC",
|
|
3333
|
+
"dependencies": {
|
|
3334
|
+
"d3-color": "1 - 3",
|
|
3335
|
+
"d3-interpolate": "1 - 3"
|
|
3336
|
+
},
|
|
3337
|
+
"engines": {
|
|
3338
|
+
"node": ">=12"
|
|
3339
|
+
}
|
|
3340
|
+
},
|
|
3341
|
+
"node_modules/d3-selection": {
|
|
3342
|
+
"version": "3.0.0",
|
|
3343
|
+
"resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
|
|
3344
|
+
"integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
|
|
3345
|
+
"license": "ISC",
|
|
3346
|
+
"peer": true,
|
|
3347
|
+
"engines": {
|
|
3348
|
+
"node": ">=12"
|
|
3349
|
+
}
|
|
3350
|
+
},
|
|
3237
3351
|
"node_modules/d3-shape": {
|
|
3238
3352
|
"version": "3.2.0",
|
|
3239
3353
|
"resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
|
|
@@ -3279,6 +3393,41 @@
|
|
|
3279
3393
|
"node": ">=12"
|
|
3280
3394
|
}
|
|
3281
3395
|
},
|
|
3396
|
+
"node_modules/d3-transition": {
|
|
3397
|
+
"version": "3.0.1",
|
|
3398
|
+
"resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
|
|
3399
|
+
"integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
|
|
3400
|
+
"license": "ISC",
|
|
3401
|
+
"dependencies": {
|
|
3402
|
+
"d3-color": "1 - 3",
|
|
3403
|
+
"d3-dispatch": "1 - 3",
|
|
3404
|
+
"d3-ease": "1 - 3",
|
|
3405
|
+
"d3-interpolate": "1 - 3",
|
|
3406
|
+
"d3-timer": "1 - 3"
|
|
3407
|
+
},
|
|
3408
|
+
"engines": {
|
|
3409
|
+
"node": ">=12"
|
|
3410
|
+
},
|
|
3411
|
+
"peerDependencies": {
|
|
3412
|
+
"d3-selection": "2 - 3"
|
|
3413
|
+
}
|
|
3414
|
+
},
|
|
3415
|
+
"node_modules/d3-zoom": {
|
|
3416
|
+
"version": "3.0.0",
|
|
3417
|
+
"resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
|
|
3418
|
+
"integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
|
|
3419
|
+
"license": "ISC",
|
|
3420
|
+
"dependencies": {
|
|
3421
|
+
"d3-dispatch": "1 - 3",
|
|
3422
|
+
"d3-drag": "2 - 3",
|
|
3423
|
+
"d3-interpolate": "1 - 3",
|
|
3424
|
+
"d3-selection": "2 - 3",
|
|
3425
|
+
"d3-transition": "2 - 3"
|
|
3426
|
+
},
|
|
3427
|
+
"engines": {
|
|
3428
|
+
"node": ">=12"
|
|
3429
|
+
}
|
|
3430
|
+
},
|
|
3282
3431
|
"node_modules/damerau-levenshtein": {
|
|
3283
3432
|
"version": "1.0.8",
|
|
3284
3433
|
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
|
|
@@ -4261,6 +4410,20 @@
|
|
|
4261
4410
|
"dev": true,
|
|
4262
4411
|
"license": "ISC"
|
|
4263
4412
|
},
|
|
4413
|
+
"node_modules/float-tooltip": {
|
|
4414
|
+
"version": "1.7.5",
|
|
4415
|
+
"resolved": "https://registry.npmjs.org/float-tooltip/-/float-tooltip-1.7.5.tgz",
|
|
4416
|
+
"integrity": "sha512-/kXzuDnnBqyyWyhDMH7+PfP8J/oXiAavGzcRxASOMRHFuReDtofizLLJsf7nnDLAfEaMW4pVWaXrAjtnglpEkg==",
|
|
4417
|
+
"license": "MIT",
|
|
4418
|
+
"dependencies": {
|
|
4419
|
+
"d3-selection": "2 - 3",
|
|
4420
|
+
"kapsule": "^1.16",
|
|
4421
|
+
"preact": "10"
|
|
4422
|
+
},
|
|
4423
|
+
"engines": {
|
|
4424
|
+
"node": ">=12"
|
|
4425
|
+
}
|
|
4426
|
+
},
|
|
4264
4427
|
"node_modules/for-each": {
|
|
4265
4428
|
"version": "0.3.5",
|
|
4266
4429
|
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
|
|
@@ -4277,6 +4440,32 @@
|
|
|
4277
4440
|
"url": "https://github.com/sponsors/ljharb"
|
|
4278
4441
|
}
|
|
4279
4442
|
},
|
|
4443
|
+
"node_modules/force-graph": {
|
|
4444
|
+
"version": "1.51.0",
|
|
4445
|
+
"resolved": "https://registry.npmjs.org/force-graph/-/force-graph-1.51.0.tgz",
|
|
4446
|
+
"integrity": "sha512-aTnihCmiMA0ItLJLCbrQYS9mzriopW24goFPgUnKAAmAlPogTSmFWqoBPMXzIfPb7bs04Hur5zEI4WYgLW3Sig==",
|
|
4447
|
+
"license": "MIT",
|
|
4448
|
+
"dependencies": {
|
|
4449
|
+
"@tweenjs/tween.js": "18 - 25",
|
|
4450
|
+
"accessor-fn": "1",
|
|
4451
|
+
"bezier-js": "3 - 6",
|
|
4452
|
+
"canvas-color-tracker": "^1.3",
|
|
4453
|
+
"d3-array": "1 - 3",
|
|
4454
|
+
"d3-drag": "2 - 3",
|
|
4455
|
+
"d3-force-3d": "2 - 3",
|
|
4456
|
+
"d3-scale": "1 - 4",
|
|
4457
|
+
"d3-scale-chromatic": "1 - 3",
|
|
4458
|
+
"d3-selection": "2 - 3",
|
|
4459
|
+
"d3-zoom": "2 - 3",
|
|
4460
|
+
"float-tooltip": "^1.7",
|
|
4461
|
+
"index-array-by": "1",
|
|
4462
|
+
"kapsule": "^1.16",
|
|
4463
|
+
"lodash-es": "4"
|
|
4464
|
+
},
|
|
4465
|
+
"engines": {
|
|
4466
|
+
"node": ">=12"
|
|
4467
|
+
}
|
|
4468
|
+
},
|
|
4280
4469
|
"node_modules/framer-motion": {
|
|
4281
4470
|
"version": "12.29.0",
|
|
4282
4471
|
"resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.29.0.tgz",
|
|
@@ -4695,6 +4884,15 @@
|
|
|
4695
4884
|
"node": ">=0.8.19"
|
|
4696
4885
|
}
|
|
4697
4886
|
},
|
|
4887
|
+
"node_modules/index-array-by": {
|
|
4888
|
+
"version": "1.4.2",
|
|
4889
|
+
"resolved": "https://registry.npmjs.org/index-array-by/-/index-array-by-1.4.2.tgz",
|
|
4890
|
+
"integrity": "sha512-SP23P27OUKzXWEC/TOyWlwLviofQkCSCKONnc62eItjp69yCZZPqDQtr3Pw5gJDnPeUMqExmKydNZaJO0FU9pw==",
|
|
4891
|
+
"license": "MIT",
|
|
4892
|
+
"engines": {
|
|
4893
|
+
"node": ">=12"
|
|
4894
|
+
}
|
|
4895
|
+
},
|
|
4698
4896
|
"node_modules/internal-slot": {
|
|
4699
4897
|
"version": "1.1.0",
|
|
4700
4898
|
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
|
|
@@ -5183,6 +5381,15 @@
|
|
|
5183
5381
|
"react": "^19.0.0"
|
|
5184
5382
|
}
|
|
5185
5383
|
},
|
|
5384
|
+
"node_modules/jerrypick": {
|
|
5385
|
+
"version": "1.1.2",
|
|
5386
|
+
"resolved": "https://registry.npmjs.org/jerrypick/-/jerrypick-1.1.2.tgz",
|
|
5387
|
+
"integrity": "sha512-YKnxXEekXKzhpf7CLYA0A+oDP8V0OhICNCr5lv96FvSsDEmrb0GKM776JgQvHTMjr7DTTPEVv/1Ciaw0uEWzBA==",
|
|
5388
|
+
"license": "MIT",
|
|
5389
|
+
"engines": {
|
|
5390
|
+
"node": ">=12"
|
|
5391
|
+
}
|
|
5392
|
+
},
|
|
5186
5393
|
"node_modules/jiti": {
|
|
5187
5394
|
"version": "2.6.1",
|
|
5188
5395
|
"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
|
|
@@ -5197,7 +5404,6 @@
|
|
|
5197
5404
|
"version": "4.0.0",
|
|
5198
5405
|
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
|
5199
5406
|
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
|
|
5200
|
-
"dev": true,
|
|
5201
5407
|
"license": "MIT"
|
|
5202
5408
|
},
|
|
5203
5409
|
"node_modules/js-yaml": {
|
|
@@ -5276,6 +5482,18 @@
|
|
|
5276
5482
|
"node": ">=4.0"
|
|
5277
5483
|
}
|
|
5278
5484
|
},
|
|
5485
|
+
"node_modules/kapsule": {
|
|
5486
|
+
"version": "1.16.3",
|
|
5487
|
+
"resolved": "https://registry.npmjs.org/kapsule/-/kapsule-1.16.3.tgz",
|
|
5488
|
+
"integrity": "sha512-4+5mNNf4vZDSwPhKprKwz3330iisPrb08JyMgbsdFrimBCKNHecua/WBwvVg3n7vwx0C1ARjfhwIpbrbd9n5wg==",
|
|
5489
|
+
"license": "MIT",
|
|
5490
|
+
"dependencies": {
|
|
5491
|
+
"lodash-es": "4"
|
|
5492
|
+
},
|
|
5493
|
+
"engines": {
|
|
5494
|
+
"node": ">=12"
|
|
5495
|
+
}
|
|
5496
|
+
},
|
|
5279
5497
|
"node_modules/keyv": {
|
|
5280
5498
|
"version": "4.5.4",
|
|
5281
5499
|
"resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
|
|
@@ -5606,6 +5824,12 @@
|
|
|
5606
5824
|
"url": "https://github.com/sponsors/sindresorhus"
|
|
5607
5825
|
}
|
|
5608
5826
|
},
|
|
5827
|
+
"node_modules/lodash-es": {
|
|
5828
|
+
"version": "4.17.23",
|
|
5829
|
+
"resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz",
|
|
5830
|
+
"integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==",
|
|
5831
|
+
"license": "MIT"
|
|
5832
|
+
},
|
|
5609
5833
|
"node_modules/lodash.merge": {
|
|
5610
5834
|
"version": "4.6.2",
|
|
5611
5835
|
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
|
@@ -5617,7 +5841,6 @@
|
|
|
5617
5841
|
"version": "1.4.0",
|
|
5618
5842
|
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
|
5619
5843
|
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
|
|
5620
|
-
"dev": true,
|
|
5621
5844
|
"license": "MIT",
|
|
5622
5845
|
"dependencies": {
|
|
5623
5846
|
"js-tokens": "^3.0.0 || ^4.0.0"
|
|
@@ -5902,7 +6125,6 @@
|
|
|
5902
6125
|
"version": "4.1.1",
|
|
5903
6126
|
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
|
5904
6127
|
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
|
|
5905
|
-
"dev": true,
|
|
5906
6128
|
"license": "MIT",
|
|
5907
6129
|
"engines": {
|
|
5908
6130
|
"node": ">=0.10.0"
|
|
@@ -6202,6 +6424,16 @@
|
|
|
6202
6424
|
"integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==",
|
|
6203
6425
|
"license": "ISC"
|
|
6204
6426
|
},
|
|
6427
|
+
"node_modules/preact": {
|
|
6428
|
+
"version": "10.28.2",
|
|
6429
|
+
"resolved": "https://registry.npmjs.org/preact/-/preact-10.28.2.tgz",
|
|
6430
|
+
"integrity": "sha512-lbteaWGzGHdlIuiJ0l2Jq454m6kcpI1zNje6d8MlGAFlYvP2GO4ibnat7P74Esfz4sPTdM6UxtTwh/d3pwM9JA==",
|
|
6431
|
+
"license": "MIT",
|
|
6432
|
+
"funding": {
|
|
6433
|
+
"type": "opencollective",
|
|
6434
|
+
"url": "https://opencollective.com/preact"
|
|
6435
|
+
}
|
|
6436
|
+
},
|
|
6205
6437
|
"node_modules/prelude-ls": {
|
|
6206
6438
|
"version": "1.2.1",
|
|
6207
6439
|
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
|
|
@@ -6226,7 +6458,6 @@
|
|
|
6226
6458
|
"version": "15.8.1",
|
|
6227
6459
|
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
|
|
6228
6460
|
"integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
|
|
6229
|
-
"dev": true,
|
|
6230
6461
|
"license": "MIT",
|
|
6231
6462
|
"dependencies": {
|
|
6232
6463
|
"loose-envify": "^1.4.0",
|
|
@@ -6288,6 +6519,23 @@
|
|
|
6288
6519
|
"react": "^19.2.3"
|
|
6289
6520
|
}
|
|
6290
6521
|
},
|
|
6522
|
+
"node_modules/react-force-graph-2d": {
|
|
6523
|
+
"version": "1.29.0",
|
|
6524
|
+
"resolved": "https://registry.npmjs.org/react-force-graph-2d/-/react-force-graph-2d-1.29.0.tgz",
|
|
6525
|
+
"integrity": "sha512-Xv5IIk+hsZmB3F2ibja/t6j/b0/1T9dtFOQacTUoLpgzRHrO6wPu1GtQ2LfRqI/imgtaapnXUgQaE8g8enPo5w==",
|
|
6526
|
+
"license": "MIT",
|
|
6527
|
+
"dependencies": {
|
|
6528
|
+
"force-graph": "^1.51",
|
|
6529
|
+
"prop-types": "15",
|
|
6530
|
+
"react-kapsule": "^2.5"
|
|
6531
|
+
},
|
|
6532
|
+
"engines": {
|
|
6533
|
+
"node": ">=12"
|
|
6534
|
+
},
|
|
6535
|
+
"peerDependencies": {
|
|
6536
|
+
"react": "*"
|
|
6537
|
+
}
|
|
6538
|
+
},
|
|
6291
6539
|
"node_modules/react-is": {
|
|
6292
6540
|
"version": "16.13.1",
|
|
6293
6541
|
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
|
|
@@ -6295,6 +6543,21 @@
|
|
|
6295
6543
|
"license": "MIT",
|
|
6296
6544
|
"peer": true
|
|
6297
6545
|
},
|
|
6546
|
+
"node_modules/react-kapsule": {
|
|
6547
|
+
"version": "2.5.7",
|
|
6548
|
+
"resolved": "https://registry.npmjs.org/react-kapsule/-/react-kapsule-2.5.7.tgz",
|
|
6549
|
+
"integrity": "sha512-kifAF4ZPD77qZKc4CKLmozq6GY1sBzPEJTIJb0wWFK6HsePJatK3jXplZn2eeAt3x67CDozgi7/rO8fNQ/AL7A==",
|
|
6550
|
+
"license": "MIT",
|
|
6551
|
+
"dependencies": {
|
|
6552
|
+
"jerrypick": "^1.1.1"
|
|
6553
|
+
},
|
|
6554
|
+
"engines": {
|
|
6555
|
+
"node": ">=12"
|
|
6556
|
+
},
|
|
6557
|
+
"peerDependencies": {
|
|
6558
|
+
"react": ">=16.13.1"
|
|
6559
|
+
}
|
|
6560
|
+
},
|
|
6298
6561
|
"node_modules/react-redux": {
|
|
6299
6562
|
"version": "9.2.0",
|
|
6300
6563
|
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz",
|
|
@@ -7126,6 +7389,12 @@
|
|
|
7126
7389
|
"integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
|
|
7127
7390
|
"license": "MIT"
|
|
7128
7391
|
},
|
|
7392
|
+
"node_modules/tinycolor2": {
|
|
7393
|
+
"version": "1.6.0",
|
|
7394
|
+
"resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz",
|
|
7395
|
+
"integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==",
|
|
7396
|
+
"license": "MIT"
|
|
7397
|
+
},
|
|
7129
7398
|
"node_modules/tinyglobby": {
|
|
7130
7399
|
"version": "0.2.15",
|
|
7131
7400
|
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
|
package/dashboard/package.json
CHANGED
|
@@ -2,24 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Main Dashboard Page
|
|
5
|
-
*
|
|
5
|
+
* Multi-view dashboard for the Claude Cortex memory system
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { useState, useRef, useEffect } from 'react';
|
|
9
|
+
import { AnimatePresence, motion } from 'framer-motion';
|
|
9
10
|
import dynamic from 'next/dynamic';
|
|
10
11
|
import { useMemoriesWithRealtime, useStats, useAccessMemory, useConsolidate, useProjects, useMemoryLinks, useControlStatus, usePauseMemory, useResumeMemory } from '@/hooks/useMemories';
|
|
11
12
|
import { useDashboardStore } from '@/lib/store';
|
|
12
13
|
import { useDebouncedValue } from '@/hooks/useDebouncedValue';
|
|
13
14
|
import { useSuggestions } from '@/hooks/useSuggestions';
|
|
14
|
-
import { StatsPanel } from '@/components/dashboard/StatsPanel';
|
|
15
15
|
import { MemoryDetail } from '@/components/memory/MemoryDetail';
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
16
|
+
import { MemoriesView } from '@/components/memories/MemoriesView';
|
|
17
|
+
import { NavRail } from '@/components/nav/NavRail';
|
|
18
18
|
import { Button } from '@/components/ui/button';
|
|
19
19
|
import { Input } from '@/components/ui/input';
|
|
20
|
+
import { InsightsView } from '@/components/insights/InsightsView';
|
|
20
21
|
import { Memory } from '@/types/memory';
|
|
21
22
|
|
|
22
|
-
// Dynamic
|
|
23
|
+
// Dynamic imports (avoid SSR issues with canvas/WebGL)
|
|
24
|
+
const KnowledgeGraph = dynamic(
|
|
25
|
+
() => import('@/components/graph/KnowledgeGraph'),
|
|
26
|
+
{
|
|
27
|
+
ssr: false,
|
|
28
|
+
loading: () => (
|
|
29
|
+
<div className="w-full h-full flex items-center justify-center bg-slate-950">
|
|
30
|
+
<div className="text-slate-400 animate-pulse">Loading Graph...</div>
|
|
31
|
+
</div>
|
|
32
|
+
),
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
|
|
23
36
|
const BrainScene = dynamic(
|
|
24
37
|
() => import('@/components/brain/BrainScene').then((mod) => mod.BrainScene),
|
|
25
38
|
{
|
|
@@ -46,7 +59,7 @@ export default function DashboardPage() {
|
|
|
46
59
|
const debouncedSearch = useDebouncedValue(searchQuery, 300);
|
|
47
60
|
|
|
48
61
|
// Zustand store
|
|
49
|
-
const { selectedMemory, setSelectedMemory } = useDashboardStore();
|
|
62
|
+
const { viewMode, selectedMemory, setSelectedMemory } = useDashboardStore();
|
|
50
63
|
|
|
51
64
|
// Search suggestions
|
|
52
65
|
const { data: suggestions = [] } = useSuggestions(searchQuery);
|
|
@@ -122,8 +135,6 @@ export default function DashboardPage() {
|
|
|
122
135
|
consolidateMutation.mutate();
|
|
123
136
|
};
|
|
124
137
|
|
|
125
|
-
const [showDebugPanel, setShowDebugPanel] = useState(true);
|
|
126
|
-
|
|
127
138
|
return (
|
|
128
139
|
<div className="h-screen w-screen bg-slate-950 text-white overflow-hidden flex flex-col">
|
|
129
140
|
{/* Top Bar */}
|
|
@@ -272,29 +283,54 @@ export default function DashboardPage() {
|
|
|
272
283
|
|
|
273
284
|
{/* Main Content */}
|
|
274
285
|
<div className="flex-1 flex overflow-hidden">
|
|
275
|
-
|
|
276
|
-
<div className="w-64 border-r border-slate-800 overflow-y-auto p-4 bg-slate-900/30 shrink-0 space-y-4">
|
|
277
|
-
<StatsPanel stats={stats} isLoading={statsLoading} />
|
|
278
|
-
<ControlPanel />
|
|
279
|
-
</div>
|
|
286
|
+
<NavRail />
|
|
280
287
|
|
|
281
|
-
{/*
|
|
282
|
-
<
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
288
|
+
{/* Active View */}
|
|
289
|
+
<AnimatePresence mode="wait">
|
|
290
|
+
<motion.div
|
|
291
|
+
key={viewMode}
|
|
292
|
+
initial={{ opacity: 0 }}
|
|
293
|
+
animate={{ opacity: 1 }}
|
|
294
|
+
exit={{ opacity: 0 }}
|
|
295
|
+
transition={{ duration: 0.15 }}
|
|
296
|
+
className="flex-1 relative overflow-hidden"
|
|
297
|
+
>
|
|
298
|
+
{viewMode === 'brain' && (
|
|
299
|
+
memoriesLoading ? (
|
|
300
|
+
<div className="w-full h-full flex items-center justify-center">
|
|
301
|
+
<div className="text-slate-400 animate-pulse">Loading memories...</div>
|
|
302
|
+
</div>
|
|
303
|
+
) : (
|
|
304
|
+
<BrainScene
|
|
305
|
+
memories={memories}
|
|
306
|
+
links={links}
|
|
307
|
+
selectedMemory={selectedMemory}
|
|
308
|
+
onSelectMemory={handleSelectMemory}
|
|
309
|
+
/>
|
|
310
|
+
)
|
|
311
|
+
)}
|
|
312
|
+
{viewMode === 'graph' && (
|
|
313
|
+
<KnowledgeGraph
|
|
314
|
+
memories={memories}
|
|
315
|
+
links={links}
|
|
316
|
+
selectedMemory={selectedMemory}
|
|
317
|
+
onSelectMemory={handleSelectMemory}
|
|
318
|
+
/>
|
|
319
|
+
)}
|
|
320
|
+
{viewMode === 'memories' && (
|
|
321
|
+
<MemoriesView
|
|
322
|
+
memories={memories}
|
|
323
|
+
selectedMemory={selectedMemory}
|
|
324
|
+
onSelectMemory={handleSelectMemory}
|
|
325
|
+
/>
|
|
326
|
+
)}
|
|
327
|
+
{viewMode === 'insights' && (
|
|
328
|
+
<InsightsView selectedProject={selectedProject} stats={stats} />
|
|
329
|
+
)}
|
|
330
|
+
</motion.div>
|
|
331
|
+
</AnimatePresence>
|
|
296
332
|
|
|
297
|
-
{/* Right
|
|
333
|
+
{/* Right Detail Panel */}
|
|
298
334
|
{selectedMemory && (
|
|
299
335
|
<div className="w-80 border-l border-slate-800 overflow-y-auto shrink-0">
|
|
300
336
|
<MemoryDetail
|
|
@@ -308,9 +344,6 @@ export default function DashboardPage() {
|
|
|
308
344
|
</div>
|
|
309
345
|
)}
|
|
310
346
|
</div>
|
|
311
|
-
|
|
312
|
-
{/* Debug Panel (bottom) */}
|
|
313
|
-
{showDebugPanel && <DebugPanel />}
|
|
314
347
|
</div>
|
|
315
348
|
);
|
|
316
349
|
}
|