fastrmemory 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/.claude-plugin/marketplace.json +14 -14
  2. package/.claude-plugin/plugin.json +18 -18
  3. package/.cursor/mcp.json +3 -1
  4. package/.cursor/skills/fastr-compress/SKILL.md +33 -33
  5. package/.cursor/skills/fastr-curate/SKILL.md +62 -62
  6. package/.cursor/skills/fastr-dag/SKILL.md +47 -47
  7. package/.cursor/skills/fastr-doctor/SKILL.md +39 -39
  8. package/.cursor/skills/fastr-memory/SKILL.md +51 -51
  9. package/.cursor/skills/fastr-plan-estimate/SKILL.md +45 -45
  10. package/.cursor/skills/fastr-session-commit/SKILL.md +49 -49
  11. package/.cursor/skills/fastr-setup/SKILL.md +45 -45
  12. package/.cursor/skills/fastr-trap-log/SKILL.md +39 -39
  13. package/.cursor/skills/fastr-vision/SKILL.md +35 -35
  14. package/.cursor/skills/skills.json +65 -65
  15. package/README.md +727 -729
  16. package/bin/fastr-guard.mjs +61 -0
  17. package/dist/bin/fastr.js +10 -9
  18. package/dist/bin/fastr.js.map +1 -1
  19. package/dist/src/bench/benchmark.js +13 -13
  20. package/dist/src/bench/harness.js +17 -17
  21. package/dist/src/bench/public-harness.js +5 -5
  22. package/dist/src/branch/manager.js +31 -31
  23. package/dist/src/ci/guardian.js +9 -9
  24. package/dist/src/db/doctor.js +25 -25
  25. package/dist/src/db/hygiene.js +23 -23
  26. package/dist/src/db/repository.js +283 -283
  27. package/dist/src/db/schema.js +268 -268
  28. package/dist/src/db/spool.js +4 -4
  29. package/dist/src/export/obsidian.js +15 -15
  30. package/dist/src/import/local.js +4 -4
  31. package/dist/src/installer/setup.d.ts +2 -0
  32. package/dist/src/installer/setup.d.ts.map +1 -1
  33. package/dist/src/installer/setup.js +24 -18
  34. package/dist/src/installer/setup.js.map +1 -1
  35. package/dist/src/mcp/server.js +25 -25
  36. package/dist/src/mirror/markdown-pages.js +22 -22
  37. package/dist/src/search/backfill.js +6 -6
  38. package/dist/src/search/hybrid-rrf.js +60 -60
  39. package/dist/src/ui/server.js +1259 -1259
  40. package/dist/src/vision/assets.js +6 -6
  41. package/dist-ui/assets/ActionsPage-B3quzFNF.js +11 -11
  42. package/dist-ui/assets/GraphPage-DetiATmC.js +1 -1
  43. package/dist-ui/assets/ObservatoryPage-QIGMwENf.js +16 -16
  44. package/dist-ui/assets/TreemapPage-C7uLZd37.js +2 -2
  45. package/dist-ui/assets/index-BJnPINTu.css +1 -1
  46. package/dist-ui/assets/index-DWAH--Fu.js +329 -329
  47. package/dist-ui/assets/maximize-2-BebkGbZA.js +6 -6
  48. package/dist-ui/build-manifest.json +95 -95
  49. package/dist-ui/index.html +26 -26
  50. package/llms-install.md +69 -69
  51. package/package.json +108 -107
  52. package/server.json +28 -28
  53. package/skills/fastr-compress/SKILL.md +33 -33
  54. package/skills/fastr-curate/SKILL.md +62 -62
  55. package/skills/fastr-dag/SKILL.md +47 -47
  56. package/skills/fastr-doctor/SKILL.md +39 -39
  57. package/skills/fastr-memory/SKILL.md +51 -51
  58. package/skills/fastr-plan-estimate/SKILL.md +45 -45
  59. package/skills/fastr-session-commit/SKILL.md +49 -49
  60. package/skills/fastr-setup/SKILL.md +45 -45
  61. package/skills/fastr-trap-log/SKILL.md +39 -39
  62. package/skills/fastr-vision/SKILL.md +35 -35
  63. package/skills/skills.json +65 -65
@@ -1,6 +1,6 @@
1
- import{c as e}from"./index-DWAH--Fu.js";/**
2
- * @license lucide-react v0.475.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const i=[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]],o=e("Maximize2",i);export{o as M};
1
+ import{c as e}from"./index-DWAH--Fu.js";/**
2
+ * @license lucide-react v0.475.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const i=[["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["polyline",{points:"9 21 3 21 3 15",key:"1avn1i"}],["line",{x1:"21",x2:"14",y1:"3",y2:"10",key:"ota7mn"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]],o=e("Maximize2",i);export{o as M};
@@ -1,95 +1,95 @@
1
- {
2
- "schemaVersion": 1,
3
- "generator": "scripts/build-dist-ui-manifest.mjs",
4
- "uiRoot": "ui",
5
- "outputRoot": "dist-ui",
6
- "sourceHash": "6c553dde3079236c68384a31897932a0795a6870e2516d263ac52a440ab2b023",
7
- "sources": {
8
- "ui/components.json": "40ae7e0306e52e38bf99373f31512e2a5ad29615c95f537677db1d339174de63",
9
- "ui/index.html": "e220c31aa5831bf41b969ab100bb09798630d8d65f24765a9090dcf1447679b2",
10
- "ui/package-lock.json": "0cfd3b68d68ff637371a387eff2bf7da281fe9035230a9630ee5f765caaf0ecd",
11
- "ui/package.json": "469ebd1449e456d69e74db587f95e4f2610b6f4b9d4f6aeeb7adb9bcc581974d",
12
- "ui/src/App.tsx": "8c94731e3fc808ca6aca2bef4abee47a97e282dd93d23b9b9f557b2ad3eec527",
13
- "ui/src/components/ActionDagCanvas.tsx": "b3ecf4cd0b8ef6b9bdca6f560b5b0189305c81ebee993c06a5d873545f179785",
14
- "ui/src/components/BrainObservatory3D.tsx": "30da357f2dffac4293e6809a25353a68432165d34b3879e45f4b9d59eaab4c29",
15
- "ui/src/components/common.tsx": "20e5f1ef92fcea0a0de53efa2449804b0d4889949ec4f78d1f752bc3ac572fdf",
16
- "ui/src/components/ConfirmDialog.tsx": "5e964edd61b080f49fc8b6dd14a72073d23a77c452f8d4d0f1bb63a0e2562398",
17
- "ui/src/components/ConflictCard.tsx": "cf64e2dc6e4fe08e396132c5cc0b32c929cfa435e0bac55027db85c36f3df9fc",
18
- "ui/src/components/CopyButton.tsx": "0b6a9650ba23cad4690e1d8817389a2fb2f62c7cbb5f50ff10dac892797ab017",
19
- "ui/src/components/CreateMemoryDialog.tsx": "2758ed78d74040d123438133c9f0e9e63c44da63e6282d03568f9a1a43b42d86",
20
- "ui/src/components/ErrorBoundary.tsx": "d8b11f61d3b1176658a13aa69bdc29765259a05c2c6abfd3d4ab903c8dde6e0c",
21
- "ui/src/components/layout/AppShell.tsx": "e720b57020f0a652bb2c5dc195c70ae551ee81176ff9b1d8cccd7641f8e30740",
22
- "ui/src/components/layout/CommandPalette.tsx": "eb0873548807f77a5438c0fc8a2177ff221630c500023fbce0975a887f514605",
23
- "ui/src/components/layout/nav.ts": "3c734d6ee56851a0179a7dd70ce1b4016ea837bf3125dffa0e7e58793dca71c6",
24
- "ui/src/components/MarkdownView.tsx": "660d477511b80333860f888654c0cea0539e43716d603a4d0a879393eb215fde",
25
- "ui/src/components/MemoryDetailSheet.tsx": "a9448d2763df77b8f7724a5463eafa4cdb49839692ce8e6361847f96c6e90021",
26
- "ui/src/components/ReplayWorkspace.tsx": "dbd5c8ff00cbabc15cfc660d942a1d5acc62a0cbf7b97e109cfdf10278e5b42e",
27
- "ui/src/components/TreemapCanvas.tsx": "947c2ddc9f383f8f1c2e4d95c014fad44f0f2b25b860c60dec6626ba5eb85b26",
28
- "ui/src/components/ui/alert-dialog.tsx": "5f3318ea6440a1759e77f4a1319a066d1a990bc14b99caad9a65712e46b6abea",
29
- "ui/src/components/ui/badge.tsx": "732a21b7d90edcddd380488b6fe47ad4a1a8ed28551db316cb863559690fe2de",
30
- "ui/src/components/ui/button.tsx": "33ae398e7b2731c556dec8688a19e9e068a109c8b758876d402300044fe27789",
31
- "ui/src/components/ui/card.tsx": "16f38ee8f48aaa5e48df6b56f146b2859aaad50ae4eeef6d52dcbfab5a0aeb36",
32
- "ui/src/components/ui/checkbox.tsx": "4018d921ecbabcf69ddcc627ce30f6ab712f08a5fd0d6cbc49e973a8931abcc6",
33
- "ui/src/components/ui/command.tsx": "a42636c435d29914674fc746eff256995b18e536127ca67dc8798f27ac504ce8",
34
- "ui/src/components/ui/dialog.tsx": "123c7b0af546b9f65167fa98641b76475df0b486a7c8dbcd00bba3f40fbed6eb",
35
- "ui/src/components/ui/dropdown-menu.tsx": "1eb4210efa0cd7dae17bae03c283abc603d12d7bbfb3a5f2b55c7645ac38b95b",
36
- "ui/src/components/ui/input.tsx": "a6df7717795e0c2f245abe19ad3bcd3b588b67c6db1d8697b81c01a82e53705d",
37
- "ui/src/components/ui/label.tsx": "aa3a91cbb30ddd4a4ade248455ecf7984e1c93b4836a14a0ba6e54c2a747cf47",
38
- "ui/src/components/ui/scroll-area.tsx": "daaf9d4ed206b40f0c4c7020f77fd3b5e79eaf0ee03abfafd47e40798936a95e",
39
- "ui/src/components/ui/select.tsx": "013b457322b2681449a21eb14ffc551fb99feae9af63c02cabefaaa364a51383",
40
- "ui/src/components/ui/separator.tsx": "f9a0757e04066ae088b74393c6056af615fae198d41cb5675c082122b2bd5caa",
41
- "ui/src/components/ui/sheet.tsx": "95e2c04d2377b9f137a70f91f899de5804dcdba927d39f1a8b008800e4f0e243",
42
- "ui/src/components/ui/skeleton.tsx": "e86887b048bb6ebca504bf82c9c055f3b46bf830e6c1f51107aa105dccb7f479",
43
- "ui/src/components/ui/sonner.tsx": "85e13bb109dd6af6d6ae7bd15daa032459c436cecf5f148a5783de43762ca13a",
44
- "ui/src/components/ui/table.tsx": "e6e2d6466af43fd31fcb4b2a309c5dd427e82d2feca9a1049bb24ae567b57b70",
45
- "ui/src/components/ui/tabs.tsx": "36acaa2fda2c961999d6cc1264638af01ce609ccb8deb8cb8c5d50396ef2bb34",
46
- "ui/src/components/ui/textarea.tsx": "c149d5badd45ded82c2f1aff2fc454f934b0a3576013ad40b96c94694e8c7c9a",
47
- "ui/src/components/ui/tooltip.tsx": "593edfbfdc51d21f92eb5720db1e62a870727af1e21c2e2511cd088f3ee40403",
48
- "ui/src/components/WordDiff.tsx": "9cb6ef75ade5e35beb667cd0fa16f2193dfd0fd155e6b112b9ee4c896f144fcd",
49
- "ui/src/hooks/queries.ts": "1de00ad8c3ed464b9c2b95acd36268f867f7b3ae2ad8c34d8ffb3f5c50bd2847",
50
- "ui/src/hooks/useDebounced.ts": "e8688f3985b61016a877e6df01254ea20ebb079bec388efbb9959d58ba1beb8a",
51
- "ui/src/hooks/useLiveSync.tsx": "8c46d83945c15d4c9423224cf95be8e54f2f30520ed4851a532bfae12711d0bd",
52
- "ui/src/hooks/useMediaQuery.ts": "ff26dc14cc521ad86fdf120392fc1c96fa95e9a902bfecbe618c015cd4c1c808",
53
- "ui/src/hooks/useMemoryActions.ts": "e04f27956592c7f3cb8e3adf8aab41e28d7b3ea21dd4745eb9221f6807c0cbb7",
54
- "ui/src/index.css": "38d745d60c2b718b6f021546515f8872dfd7987b9a76c56640aece7f03b8f433",
55
- "ui/src/lib/api.ts": "f6806505d80b82d59514b55d7f29bde67760fd931fc04d2024cec3137e28498b",
56
- "ui/src/lib/diff.ts": "1e56fd1c13ce791484f8c0c1e69fe7aa897878343363f4aa14de7987377d216e",
57
- "ui/src/lib/format.ts": "2b75729c64c1f19af51aa47a5ecf003740efe240a91eb6e4e18db5ab769527c3",
58
- "ui/src/lib/glossary.ts": "f18ea064db60e3528d41e6846b7fc604effe3d06b26e7a02dfabf142cda38767",
59
- "ui/src/lib/graph-layout.ts": "36ced9e29a4a16cfd6804d7bdd93dabb019593d5e4dee53197309e98736dc93a",
60
- "ui/src/lib/pending-ops.ts": "dd2d25fe900c2b190a0d9c6bc91d33090ee96055c987b128fe6e2a61934585ef",
61
- "ui/src/lib/query-client.ts": "beb41af5f0041444f98905d7fb00214f2e27a86f16c9a9c29d0a8d0194bd35e6",
62
- "ui/src/lib/router.ts": "1d8efac91dbe85b44a29a4a6fd90ab2b9fd44ad66f98dc99aa7147f84716bf1f",
63
- "ui/src/lib/theme.tsx": "33a3d96f7f2427bd0ed677a5397ab84a9f05fd412b5c1990081add3b16c1dfc7",
64
- "ui/src/lib/utils.ts": "c89ec69856bdd27ad73f1c5fefa4244d1df3361e76ba63f4588b970c8217f2c7",
65
- "ui/src/main.tsx": "79faf095f462c11b5dc445dac9043c06809247d25c47f6693fccd656d1a1d35a",
66
- "ui/src/routes/ActionsPage.tsx": "6cefad5a14eec98fe6a151efa8f3e0c2d177722ab669be2acc7d687b36a1fa54",
67
- "ui/src/routes/ConflictsPage.tsx": "906c01b8e1ca0bca0ec8433e7c7f0cb4e0ac1b2a4c50d94484ddda0be94b9b49",
68
- "ui/src/routes/GraphPage.tsx": "6bbb1ef0a544cb29037fc601a2efb458858393ba4e73574e899f73aae3745850",
69
- "ui/src/routes/HealthPage.tsx": "b38ae7712a994eaff90f758f239b5bb47338533e826fbfafa4a3a28a3ab3ce9a",
70
- "ui/src/routes/HomePage.tsx": "c0effef0b67e93c5b41d3af87052f3d06702d9cd11e5b4d86ace17bc54a654a1",
71
- "ui/src/routes/MemoriesPage.tsx": "8e63b382565a65b5c436a8f7ce4c574afde37a8d1b0174ebb0add93eb5ca638b",
72
- "ui/src/routes/ObservatoryPage.tsx": "f9a155f55329e639dbba86f834d943062a16afd6323300dae9a3b71e680be817",
73
- "ui/src/routes/ReplayPage.tsx": "985e6aaaf133357b612167660805c7588e01b2705bc24207b6aa14bc96ab56d1",
74
- "ui/src/routes/SearchLabPage.tsx": "72498788cc28a06e0a74470118b9b1240541211735814a361df001d70af51c04",
75
- "ui/src/routes/SettingsPage.tsx": "c3a7ecc4cd95b292fe0bcbd633f1f82642efa67fd00bf674de7bf7ae70785489",
76
- "ui/src/routes/TrapsPage.tsx": "4d7f23a025cb17c2d7ea8da5189e59451132961b0a6e5088a644ede3c70fe15e",
77
- "ui/src/routes/TreemapPage.tsx": "bc22b7cece9180805d734d66f2ca9d0e72d849ae1a54972702cfd6f8d870e1e1",
78
- "ui/src/utils/squarify.ts": "a52dd340fe73164807e04ce3ceac586f1d25ecd3c5a8cd4263f8349893cb78a3",
79
- "ui/tsconfig.json": "219388c41d5a2b05e0face518be07c2d351526e5234b5ffab76d9c6b8841f79d",
80
- "ui/vite.config.ts": "be3b5aa477fd1d2e770c6e99c4d53178b0822b4171adde32b285696047b02b19"
81
- },
82
- "files": {
83
- "assets/ActionsPage-B3quzFNF.js": "d5e4a59adcfc232a257e38fdeae8de2ab5d6d69f7495326108c43bdd166b8671",
84
- "assets/GraphPage-DetiATmC.js": "2da84c55e557d855ebe9945e7bebc2b508031bea70906402469be50c650f1a6e",
85
- "assets/index-BJnPINTu.css": "718a40e10df13b00f35e37e75a3fcc215b060fa8094188d2a24750e7f67f0056",
86
- "assets/index-DWAH--Fu.js": "bc3d865a13bcd6e9a8cce975cb7f7cad6b6818c2cf4b239517a7f10041ce33c1",
87
- "assets/maximize-2-BebkGbZA.js": "644a5aad7dbed131bdefa138e517c3abbbc8f31d5da0461e321c8c366f2c6ec4",
88
- "assets/ObservatoryPage-QIGMwENf.js": "a38fb2a1c13cc9709c30bfbfc1b8282db2e0e914e02099e185f03dbf771165cd",
89
- "assets/query-fe9kutlk.js": "44a5c6682b4595c47fe6a6b91dd1d4a4ab3e8503eed6a18abbfacbe356ae3a00",
90
- "assets/three-CjKLTR5c.js": "d83f62405579c59aac4c18d513e53ac0a9eef8c78f45b2e5999eac9f4bafaf10",
91
- "assets/TreemapPage-C7uLZd37.js": "e25c9f2b4faa823e4c178536294165fe3470dff8e18715221cc521e7dde96094",
92
- "assets/vendor-wVc5lIPn.js": "27b169519376edf90743a8d45ccf327a9d4d12d20118f91da67a23ed6bcbde3a",
93
- "index.html": "96e889d3ec816f04b0a885a0a32c76699c5ced6bf03cbc409cc7e1d636129247"
94
- }
95
- }
1
+ {
2
+ "schemaVersion": 1,
3
+ "generator": "scripts/build-dist-ui-manifest.mjs",
4
+ "uiRoot": "ui",
5
+ "outputRoot": "dist-ui",
6
+ "sourceHash": "6c553dde3079236c68384a31897932a0795a6870e2516d263ac52a440ab2b023",
7
+ "sources": {
8
+ "ui/components.json": "40ae7e0306e52e38bf99373f31512e2a5ad29615c95f537677db1d339174de63",
9
+ "ui/index.html": "e220c31aa5831bf41b969ab100bb09798630d8d65f24765a9090dcf1447679b2",
10
+ "ui/package-lock.json": "0cfd3b68d68ff637371a387eff2bf7da281fe9035230a9630ee5f765caaf0ecd",
11
+ "ui/package.json": "469ebd1449e456d69e74db587f95e4f2610b6f4b9d4f6aeeb7adb9bcc581974d",
12
+ "ui/src/App.tsx": "8c94731e3fc808ca6aca2bef4abee47a97e282dd93d23b9b9f557b2ad3eec527",
13
+ "ui/src/components/ActionDagCanvas.tsx": "b3ecf4cd0b8ef6b9bdca6f560b5b0189305c81ebee993c06a5d873545f179785",
14
+ "ui/src/components/BrainObservatory3D.tsx": "30da357f2dffac4293e6809a25353a68432165d34b3879e45f4b9d59eaab4c29",
15
+ "ui/src/components/common.tsx": "20e5f1ef92fcea0a0de53efa2449804b0d4889949ec4f78d1f752bc3ac572fdf",
16
+ "ui/src/components/ConfirmDialog.tsx": "5e964edd61b080f49fc8b6dd14a72073d23a77c452f8d4d0f1bb63a0e2562398",
17
+ "ui/src/components/ConflictCard.tsx": "cf64e2dc6e4fe08e396132c5cc0b32c929cfa435e0bac55027db85c36f3df9fc",
18
+ "ui/src/components/CopyButton.tsx": "0b6a9650ba23cad4690e1d8817389a2fb2f62c7cbb5f50ff10dac892797ab017",
19
+ "ui/src/components/CreateMemoryDialog.tsx": "2758ed78d74040d123438133c9f0e9e63c44da63e6282d03568f9a1a43b42d86",
20
+ "ui/src/components/ErrorBoundary.tsx": "d8b11f61d3b1176658a13aa69bdc29765259a05c2c6abfd3d4ab903c8dde6e0c",
21
+ "ui/src/components/layout/AppShell.tsx": "e720b57020f0a652bb2c5dc195c70ae551ee81176ff9b1d8cccd7641f8e30740",
22
+ "ui/src/components/layout/CommandPalette.tsx": "eb0873548807f77a5438c0fc8a2177ff221630c500023fbce0975a887f514605",
23
+ "ui/src/components/layout/nav.ts": "3c734d6ee56851a0179a7dd70ce1b4016ea837bf3125dffa0e7e58793dca71c6",
24
+ "ui/src/components/MarkdownView.tsx": "660d477511b80333860f888654c0cea0539e43716d603a4d0a879393eb215fde",
25
+ "ui/src/components/MemoryDetailSheet.tsx": "a9448d2763df77b8f7724a5463eafa4cdb49839692ce8e6361847f96c6e90021",
26
+ "ui/src/components/ReplayWorkspace.tsx": "dbd5c8ff00cbabc15cfc660d942a1d5acc62a0cbf7b97e109cfdf10278e5b42e",
27
+ "ui/src/components/TreemapCanvas.tsx": "947c2ddc9f383f8f1c2e4d95c014fad44f0f2b25b860c60dec6626ba5eb85b26",
28
+ "ui/src/components/ui/alert-dialog.tsx": "5f3318ea6440a1759e77f4a1319a066d1a990bc14b99caad9a65712e46b6abea",
29
+ "ui/src/components/ui/badge.tsx": "732a21b7d90edcddd380488b6fe47ad4a1a8ed28551db316cb863559690fe2de",
30
+ "ui/src/components/ui/button.tsx": "33ae398e7b2731c556dec8688a19e9e068a109c8b758876d402300044fe27789",
31
+ "ui/src/components/ui/card.tsx": "16f38ee8f48aaa5e48df6b56f146b2859aaad50ae4eeef6d52dcbfab5a0aeb36",
32
+ "ui/src/components/ui/checkbox.tsx": "4018d921ecbabcf69ddcc627ce30f6ab712f08a5fd0d6cbc49e973a8931abcc6",
33
+ "ui/src/components/ui/command.tsx": "a42636c435d29914674fc746eff256995b18e536127ca67dc8798f27ac504ce8",
34
+ "ui/src/components/ui/dialog.tsx": "123c7b0af546b9f65167fa98641b76475df0b486a7c8dbcd00bba3f40fbed6eb",
35
+ "ui/src/components/ui/dropdown-menu.tsx": "1eb4210efa0cd7dae17bae03c283abc603d12d7bbfb3a5f2b55c7645ac38b95b",
36
+ "ui/src/components/ui/input.tsx": "a6df7717795e0c2f245abe19ad3bcd3b588b67c6db1d8697b81c01a82e53705d",
37
+ "ui/src/components/ui/label.tsx": "aa3a91cbb30ddd4a4ade248455ecf7984e1c93b4836a14a0ba6e54c2a747cf47",
38
+ "ui/src/components/ui/scroll-area.tsx": "daaf9d4ed206b40f0c4c7020f77fd3b5e79eaf0ee03abfafd47e40798936a95e",
39
+ "ui/src/components/ui/select.tsx": "013b457322b2681449a21eb14ffc551fb99feae9af63c02cabefaaa364a51383",
40
+ "ui/src/components/ui/separator.tsx": "f9a0757e04066ae088b74393c6056af615fae198d41cb5675c082122b2bd5caa",
41
+ "ui/src/components/ui/sheet.tsx": "95e2c04d2377b9f137a70f91f899de5804dcdba927d39f1a8b008800e4f0e243",
42
+ "ui/src/components/ui/skeleton.tsx": "e86887b048bb6ebca504bf82c9c055f3b46bf830e6c1f51107aa105dccb7f479",
43
+ "ui/src/components/ui/sonner.tsx": "85e13bb109dd6af6d6ae7bd15daa032459c436cecf5f148a5783de43762ca13a",
44
+ "ui/src/components/ui/table.tsx": "e6e2d6466af43fd31fcb4b2a309c5dd427e82d2feca9a1049bb24ae567b57b70",
45
+ "ui/src/components/ui/tabs.tsx": "36acaa2fda2c961999d6cc1264638af01ce609ccb8deb8cb8c5d50396ef2bb34",
46
+ "ui/src/components/ui/textarea.tsx": "c149d5badd45ded82c2f1aff2fc454f934b0a3576013ad40b96c94694e8c7c9a",
47
+ "ui/src/components/ui/tooltip.tsx": "593edfbfdc51d21f92eb5720db1e62a870727af1e21c2e2511cd088f3ee40403",
48
+ "ui/src/components/WordDiff.tsx": "9cb6ef75ade5e35beb667cd0fa16f2193dfd0fd155e6b112b9ee4c896f144fcd",
49
+ "ui/src/hooks/queries.ts": "1de00ad8c3ed464b9c2b95acd36268f867f7b3ae2ad8c34d8ffb3f5c50bd2847",
50
+ "ui/src/hooks/useDebounced.ts": "e8688f3985b61016a877e6df01254ea20ebb079bec388efbb9959d58ba1beb8a",
51
+ "ui/src/hooks/useLiveSync.tsx": "8c46d83945c15d4c9423224cf95be8e54f2f30520ed4851a532bfae12711d0bd",
52
+ "ui/src/hooks/useMediaQuery.ts": "ff26dc14cc521ad86fdf120392fc1c96fa95e9a902bfecbe618c015cd4c1c808",
53
+ "ui/src/hooks/useMemoryActions.ts": "e04f27956592c7f3cb8e3adf8aab41e28d7b3ea21dd4745eb9221f6807c0cbb7",
54
+ "ui/src/index.css": "38d745d60c2b718b6f021546515f8872dfd7987b9a76c56640aece7f03b8f433",
55
+ "ui/src/lib/api.ts": "f6806505d80b82d59514b55d7f29bde67760fd931fc04d2024cec3137e28498b",
56
+ "ui/src/lib/diff.ts": "1e56fd1c13ce791484f8c0c1e69fe7aa897878343363f4aa14de7987377d216e",
57
+ "ui/src/lib/format.ts": "2b75729c64c1f19af51aa47a5ecf003740efe240a91eb6e4e18db5ab769527c3",
58
+ "ui/src/lib/glossary.ts": "f18ea064db60e3528d41e6846b7fc604effe3d06b26e7a02dfabf142cda38767",
59
+ "ui/src/lib/graph-layout.ts": "36ced9e29a4a16cfd6804d7bdd93dabb019593d5e4dee53197309e98736dc93a",
60
+ "ui/src/lib/pending-ops.ts": "dd2d25fe900c2b190a0d9c6bc91d33090ee96055c987b128fe6e2a61934585ef",
61
+ "ui/src/lib/query-client.ts": "beb41af5f0041444f98905d7fb00214f2e27a86f16c9a9c29d0a8d0194bd35e6",
62
+ "ui/src/lib/router.ts": "1d8efac91dbe85b44a29a4a6fd90ab2b9fd44ad66f98dc99aa7147f84716bf1f",
63
+ "ui/src/lib/theme.tsx": "33a3d96f7f2427bd0ed677a5397ab84a9f05fd412b5c1990081add3b16c1dfc7",
64
+ "ui/src/lib/utils.ts": "c89ec69856bdd27ad73f1c5fefa4244d1df3361e76ba63f4588b970c8217f2c7",
65
+ "ui/src/main.tsx": "79faf095f462c11b5dc445dac9043c06809247d25c47f6693fccd656d1a1d35a",
66
+ "ui/src/routes/ActionsPage.tsx": "6cefad5a14eec98fe6a151efa8f3e0c2d177722ab669be2acc7d687b36a1fa54",
67
+ "ui/src/routes/ConflictsPage.tsx": "906c01b8e1ca0bca0ec8433e7c7f0cb4e0ac1b2a4c50d94484ddda0be94b9b49",
68
+ "ui/src/routes/GraphPage.tsx": "6bbb1ef0a544cb29037fc601a2efb458858393ba4e73574e899f73aae3745850",
69
+ "ui/src/routes/HealthPage.tsx": "b38ae7712a994eaff90f758f239b5bb47338533e826fbfafa4a3a28a3ab3ce9a",
70
+ "ui/src/routes/HomePage.tsx": "c0effef0b67e93c5b41d3af87052f3d06702d9cd11e5b4d86ace17bc54a654a1",
71
+ "ui/src/routes/MemoriesPage.tsx": "8e63b382565a65b5c436a8f7ce4c574afde37a8d1b0174ebb0add93eb5ca638b",
72
+ "ui/src/routes/ObservatoryPage.tsx": "f9a155f55329e639dbba86f834d943062a16afd6323300dae9a3b71e680be817",
73
+ "ui/src/routes/ReplayPage.tsx": "985e6aaaf133357b612167660805c7588e01b2705bc24207b6aa14bc96ab56d1",
74
+ "ui/src/routes/SearchLabPage.tsx": "72498788cc28a06e0a74470118b9b1240541211735814a361df001d70af51c04",
75
+ "ui/src/routes/SettingsPage.tsx": "c3a7ecc4cd95b292fe0bcbd633f1f82642efa67fd00bf674de7bf7ae70785489",
76
+ "ui/src/routes/TrapsPage.tsx": "4d7f23a025cb17c2d7ea8da5189e59451132961b0a6e5088a644ede3c70fe15e",
77
+ "ui/src/routes/TreemapPage.tsx": "bc22b7cece9180805d734d66f2ca9d0e72d849ae1a54972702cfd6f8d870e1e1",
78
+ "ui/src/utils/squarify.ts": "a52dd340fe73164807e04ce3ceac586f1d25ecd3c5a8cd4263f8349893cb78a3",
79
+ "ui/tsconfig.json": "219388c41d5a2b05e0face518be07c2d351526e5234b5ffab76d9c6b8841f79d",
80
+ "ui/vite.config.ts": "be3b5aa477fd1d2e770c6e99c4d53178b0822b4171adde32b285696047b02b19"
81
+ },
82
+ "files": {
83
+ "assets/ActionsPage-B3quzFNF.js": "d5e4a59adcfc232a257e38fdeae8de2ab5d6d69f7495326108c43bdd166b8671",
84
+ "assets/GraphPage-DetiATmC.js": "2da84c55e557d855ebe9945e7bebc2b508031bea70906402469be50c650f1a6e",
85
+ "assets/index-BJnPINTu.css": "718a40e10df13b00f35e37e75a3fcc215b060fa8094188d2a24750e7f67f0056",
86
+ "assets/index-DWAH--Fu.js": "bc3d865a13bcd6e9a8cce975cb7f7cad6b6818c2cf4b239517a7f10041ce33c1",
87
+ "assets/maximize-2-BebkGbZA.js": "644a5aad7dbed131bdefa138e517c3abbbc8f31d5da0461e321c8c366f2c6ec4",
88
+ "assets/ObservatoryPage-QIGMwENf.js": "a38fb2a1c13cc9709c30bfbfc1b8282db2e0e914e02099e185f03dbf771165cd",
89
+ "assets/query-fe9kutlk.js": "44a5c6682b4595c47fe6a6b91dd1d4a4ab3e8503eed6a18abbfacbe356ae3a00",
90
+ "assets/three-CjKLTR5c.js": "d83f62405579c59aac4c18d513e53ac0a9eef8c78f45b2e5999eac9f4bafaf10",
91
+ "assets/TreemapPage-C7uLZd37.js": "e25c9f2b4faa823e4c178536294165fe3470dff8e18715221cc521e7dde96094",
92
+ "assets/vendor-wVc5lIPn.js": "27b169519376edf90743a8d45ccf327a9d4d12d20118f91da67a23ed6bcbde3a",
93
+ "index.html": "96e889d3ec816f04b0a885a0a32c76699c5ced6bf03cbc409cc7e1d636129247"
94
+ }
95
+ }
@@ -1,26 +1,26 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
6
- <meta name="color-scheme" content="light dark" />
7
- <title>FastrMemory Hub</title>
8
- <link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2338bdf8'><path d='M13 2L3 14h9l-1 8 10-12h-9l1-8z'/></svg>" />
9
- <script>
10
- // Apply the persisted theme before first paint to avoid a light/dark flash.
11
- (function () {
12
- var mode = 'system';
13
- try { mode = localStorage.getItem('fastr-theme') || 'system'; } catch (e) {}
14
- var dark = mode === 'dark' || (mode !== 'light' && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches);
15
- document.documentElement.classList.toggle('dark', dark);
16
- })();
17
- </script>
18
- <script type="module" crossorigin src="/assets/index-DWAH--Fu.js"></script>
19
- <link rel="modulepreload" crossorigin href="/assets/vendor-wVc5lIPn.js">
20
- <link rel="modulepreload" crossorigin href="/assets/query-fe9kutlk.js">
21
- <link rel="stylesheet" crossorigin href="/assets/index-BJnPINTu.css">
22
- </head>
23
- <body>
24
- <div id="root"></div>
25
- </body>
26
- </html>
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
6
+ <meta name="color-scheme" content="light dark" />
7
+ <title>FastrMemory Hub</title>
8
+ <link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2338bdf8'><path d='M13 2L3 14h9l-1 8 10-12h-9l1-8z'/></svg>" />
9
+ <script>
10
+ // Apply the persisted theme before first paint to avoid a light/dark flash.
11
+ (function () {
12
+ var mode = 'system';
13
+ try { mode = localStorage.getItem('fastr-theme') || 'system'; } catch (e) {}
14
+ var dark = mode === 'dark' || (mode !== 'light' && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches);
15
+ document.documentElement.classList.toggle('dark', dark);
16
+ })();
17
+ </script>
18
+ <script type="module" crossorigin src="/assets/index-DWAH--Fu.js"></script>
19
+ <link rel="modulepreload" crossorigin href="/assets/vendor-wVc5lIPn.js">
20
+ <link rel="modulepreload" crossorigin href="/assets/query-fe9kutlk.js">
21
+ <link rel="stylesheet" crossorigin href="/assets/index-BJnPINTu.css">
22
+ </head>
23
+ <body>
24
+ <div id="root"></div>
25
+ </body>
26
+ </html>
package/llms-install.md CHANGED
@@ -1,69 +1,69 @@
1
- # Installing FastrMemory (for AI agents)
2
-
3
- You are an AI agent asked to install FastrMemory for a developer or team. Follow these steps in order, run every command yourself, and finish with the verification in step 5. Stop and report the exact error if a step fails.
4
-
5
- ## 1. Check the prerequisite
6
-
7
- ```bash
8
- node --version # must be 22.16.0 or newer
9
- ```
10
-
11
- FastrMemory uses the built-in `node:sqlite` module, so there is no database service to install.
12
-
13
- ## 2. Install the CLI
14
-
15
- ```bash
16
- npm install -g fastrmemory@0.3.0
17
- fastr --version
18
- ```
19
-
20
- If global installs are not allowed, replace `fastr <command>` with `npx -y fastrmemory@0.3.0 <command>` in the remaining steps. Pin the version so an unrelated future release cannot change the installed behavior.
21
-
22
- ## 3. Wire the agent clients
23
-
24
- From the project the developer works in:
25
-
26
- ```bash
27
- fastr setup
28
- ```
29
-
30
- `fastr setup` initializes `.fastr/` and writes MCP entries for the clients it finds. It also adds the AGENTS.md discipline block and installs the Agent Skills. Existing JSON configs are merged, not replaced, and changed files are backed up. It never creates a database outside the project and never uploads memory content.
31
-
32
- For Claude Code lifecycle hooks only:
33
-
34
- ```bash
35
- fastr hook install
36
- ```
37
-
38
- ## 4. Manual MCP configuration
39
-
40
- Any MCP client can launch the stdio server directly:
41
-
42
- ```json
43
- {
44
- "mcpServers": {
45
- "fastrmemory": {
46
- "command": "npx",
47
- "args": ["-y", "fastrmemory@0.3.0", "mcp"]
48
- }
49
- }
50
- }
51
- ```
52
-
53
- On native Windows, use `cmd /c npx -y fastrmemory@0.3.0 mcp` if the client cannot launch `npx` directly. The full 41-tool surface is the default; add `--profile core` to expose the 12-tool daily loop.
54
-
55
- ## 5. Verify
56
-
57
- ```bash
58
- fastr status
59
- fastr trap list
60
- ```
61
-
62
- `fastr status` prints the project ID, memory counts, embedding coverage, and database path. Inside an MCP session, call `fastr_status` with an empty object and confirm it returns the same project.
63
-
64
- ## Rules while using FastrMemory
65
-
66
- - Never store API keys, tokens, passwords, private keys, or personal data in a memory. The secret scrubber is a safety net, not a guarantee.
67
- - Remember decisions, rules, file-scoped traps, and known dead ends, not full transcripts.
68
- - Call `fastr_trap_recall` before editing files and log diagnosed failures with `fastr_trap_log`.
69
- - Use `fastr recall` or `fastr_recall` to retrieve context instead of loading the whole database.
1
+ # Installing FastrMemory (for AI agents)
2
+
3
+ You are an AI agent asked to install FastrMemory for a developer or team. Follow these steps in order, run every command yourself, and finish with the verification in step 5. Stop and report the exact error if a step fails.
4
+
5
+ ## 1. Check the prerequisite
6
+
7
+ ```bash
8
+ node --version # must be 22.16.0 or newer
9
+ ```
10
+
11
+ FastrMemory uses the built-in `node:sqlite` module, so there is no database service to install.
12
+
13
+ ## 2. Install the CLI
14
+
15
+ ```bash
16
+ npm install -g fastrmemory@0.3.1
17
+ fastr --version
18
+ ```
19
+
20
+ If global installs are not allowed, replace `fastr <command>` with `npx -y fastrmemory@0.3.1 <command>` in the remaining steps. Pin the version so an unrelated future release cannot change the installed behavior.
21
+
22
+ ## 3. Wire the agent clients
23
+
24
+ From the project the developer works in:
25
+
26
+ ```bash
27
+ fastr setup
28
+ ```
29
+
30
+ `fastr setup` initializes `.fastr/` and writes MCP entries for the clients it finds. It also adds the AGENTS.md discipline block and installs the Agent Skills. Existing JSON configs are merged, not replaced, and changed files are backed up. It never creates a database outside the project and never uploads memory content.
31
+
32
+ For Claude Code lifecycle hooks only:
33
+
34
+ ```bash
35
+ fastr hook install
36
+ ```
37
+
38
+ ## 4. Manual MCP configuration
39
+
40
+ Any MCP client can launch the stdio server directly:
41
+
42
+ ```json
43
+ {
44
+ "mcpServers": {
45
+ "fastrmemory": {
46
+ "command": "npx",
47
+ "args": ["-y", "fastrmemory@0.3.1", "mcp"]
48
+ }
49
+ }
50
+ }
51
+ ```
52
+
53
+ For user-scoped clients (Claude Desktop, Antigravity, Windsurf, and the Claude Code entry in `~/.claude.json`), append `--project /absolute/path/to/project` so the client's launch directory cannot select the wrong database. On native Windows, use `cmd /c npx -y fastrmemory@0.3.1 mcp` if the client cannot launch `npx` directly; `fastr setup` writes the absolute `node` path automatically. The full 41-tool surface is the default; add `--profile core` to expose the 12-tool daily loop.
54
+
55
+ ## 5. Verify
56
+
57
+ ```bash
58
+ fastr status
59
+ fastr trap list
60
+ ```
61
+
62
+ `fastr status` prints the project ID, memory counts, embedding coverage, and database path. Inside an MCP session, call `fastr_status` with an empty object and confirm it returns the same project.
63
+
64
+ ## Rules while using FastrMemory
65
+
66
+ - Never store API keys, tokens, passwords, private keys, or personal data in a memory. The secret scrubber is a safety net, not a guarantee.
67
+ - Remember decisions, rules, file-scoped traps, and known dead ends, not full transcripts.
68
+ - Call `fastr_trap_recall` before editing files and log diagnosed failures with `fastr_trap_log`.
69
+ - Use `fastr recall` or `fastr_recall` to retrieve context instead of loading the whole database.