fuli-context 0.5.0 → 0.7.3

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 (206) hide show
  1. package/README.md +370 -202
  2. package/README.zh-CN.md +448 -0
  3. package/compose.graphiti.yml +6 -6
  4. package/dist/web/assets/AboutPage-DXh7Fwxt.css +1 -0
  5. package/dist/web/assets/AboutPage-qeO_vm0T.js +1 -0
  6. package/dist/web/assets/ConnectionsPage-CBHAdZXT.css +1 -0
  7. package/dist/web/assets/ConnectionsPage-DO0GR9Xg.js +1 -0
  8. package/dist/web/assets/KnowledgeInspector-Bjhdu2mf.css +1 -0
  9. package/dist/web/assets/KnowledgeInspector-DEW5lA1m.js +1 -0
  10. package/dist/web/assets/KnowledgeOrganizerPage-BkM568Ld.js +1 -0
  11. package/dist/web/assets/KnowledgeOrganizerPage-Cx1w1jb2.css +1 -0
  12. package/dist/web/assets/KnowledgePage-BAT4aZIm.js +1 -0
  13. package/dist/web/assets/KnowledgeWorkspace-DyGtBz--.js +4 -0
  14. package/dist/web/assets/OverviewPage-CmCcDCAs.js +1 -0
  15. package/dist/web/assets/PersonalProfilePage-C42mwKN8.js +1 -0
  16. package/dist/web/assets/{PersonalProfilePage-S8ZcG2LU.css → PersonalProfilePage-CdmEzyvZ.css} +1 -1
  17. package/dist/web/assets/PersonalProjectsPage-BwaXR62K.js +1 -0
  18. package/dist/web/assets/PublicProjectsPage-egKBulOq.js +1 -0
  19. package/dist/web/assets/ReviewPage-B3vnZ6gn.js +1 -0
  20. package/dist/web/assets/SearchableSelect-ih69qbcS.js +1 -0
  21. package/dist/web/assets/SettingsPage-C6ouU0sR.css +1 -0
  22. package/dist/web/assets/SettingsPage-oLE8mNs5.js +1 -0
  23. package/dist/web/assets/_plugin-vue_export-helper-BDNMzG2s.js +1 -0
  24. package/dist/web/assets/console-DE40hXGC.js +1 -0
  25. package/dist/web/assets/fuli-logo-Bu9WBuQe.js +1 -0
  26. package/dist/web/assets/fuli-logo-ER1wQ8Kk.png +0 -0
  27. package/dist/web/assets/i18n-CDxBs1sz.js +5 -0
  28. package/dist/web/assets/identity-BCxb1mcy.js +1 -0
  29. package/dist/web/assets/index-BzhNfzU_.js +2 -0
  30. package/dist/web/assets/index-CCOGfZzE.css +1 -0
  31. package/dist/web/assets/model-CCMdt10Q.js +1 -0
  32. package/dist/web/assets/paths-DwHeiGMT.js +1 -0
  33. package/dist/web/assets/useMinimumLoadingDisplay-BpCyBeko.css +1 -0
  34. package/dist/web/assets/useMinimumLoadingDisplay-HdI7XAmu.js +1 -0
  35. package/dist/web/assets/vue-router-Drfl1F8i.js +1 -0
  36. package/dist/web/index.html +9 -6
  37. package/docs/external-knowledge-architecture.md +279 -0
  38. package/examples/external-knowledge/markdown-folder.mjs +235 -0
  39. package/graph-provider/fuli_graph/app.py +57 -1
  40. package/graph-provider/fuli_graph/graph_models.py +3 -0
  41. package/graph-provider/fuli_graph/graph_query.py +62 -16
  42. package/graph-provider/fuli_graph/knowledge_review.py +657 -0
  43. package/graph-provider/fuli_graph/knowledge_review_models.py +133 -0
  44. package/graph-provider/fuli_graph/knowledge_search.py +51 -4
  45. package/graph-provider/fuli_graph/models.py +19 -0
  46. package/graph-provider/fuli_graph/runtime.py +15 -0
  47. package/graph-provider/fuli_graph/store_knowledge.py +2 -1
  48. package/graph-provider/pyproject.toml +1 -1
  49. package/npm-shrinkwrap.json +5 -407
  50. package/package.json +7 -5
  51. package/skills/capturing-session-knowledge/SKILL.md +24 -4
  52. package/skills/flreview/SKILL.md +100 -0
  53. package/skills/flreview/agents/openai.yaml +6 -0
  54. package/src/agent-tools/graph-definitions.js +81 -6
  55. package/src/agent-tools/graph-handlers.js +12 -0
  56. package/src/cli/command-registry.js +3 -3
  57. package/src/cli/local-runtime-command.js +51 -28
  58. package/src/cli/local-runtime-options.js +14 -8
  59. package/src/cli/setup-agent-selection.js +12 -12
  60. package/src/cli/setup-command.js +41 -18
  61. package/src/cli/shell-argument.js +10 -0
  62. package/src/cli/uninstall-command.js +17 -15
  63. package/src/cli/update-command.js +38 -30
  64. package/src/external-knowledge/catalog.js +61 -0
  65. package/src/external-knowledge/conflict-policy.js +58 -0
  66. package/src/external-knowledge/connected-search.js +166 -0
  67. package/src/external-knowledge/connectors/custom.js +133 -0
  68. package/src/external-knowledge/connectors/feishu.js +461 -0
  69. package/src/external-knowledge/connectors/mcp.js +438 -0
  70. package/src/external-knowledge/connectors/notion.js +307 -0
  71. package/src/external-knowledge/connectors/retrieval-api.js +222 -0
  72. package/src/external-knowledge/document-mapping.js +151 -0
  73. package/src/external-knowledge/graph-projection.js +17 -0
  74. package/src/external-knowledge/index.js +8 -0
  75. package/src/external-knowledge/registry.js +91 -0
  76. package/src/external-knowledge/runtime.js +68 -0
  77. package/src/external-knowledge/safe-diagnostic.js +14 -0
  78. package/src/external-knowledge/service.js +811 -0
  79. package/src/graphiti/agent-knowledge-workflows.js +7 -2
  80. package/src/graphiti/federated-application.js +68 -42
  81. package/src/graphiti/knowledge-item-role.js +21 -0
  82. package/src/graphiti/knowledge-review.js +43 -0
  83. package/src/graphiti/project-profile-mapping.js +32 -0
  84. package/src/graphiti/provider-client.js +22 -1
  85. package/src/graphiti/source-marker.js +54 -3
  86. package/src/graphiti/task-knowledge-recall.js +250 -0
  87. package/src/http/api-router.js +23 -108
  88. package/src/http/external-knowledge-api-router.js +104 -0
  89. package/src/http/graph-api-router.js +12 -1
  90. package/src/http/request-policy.js +1 -1
  91. package/src/local-runtime/lifecycle.js +26 -15
  92. package/src/mcp/create-mcp-server.js +4 -1
  93. package/src/mcp/instructions.js +7 -7
  94. package/src/mcp/tool-annotations.js +6 -0
  95. package/src/mcp/tool-result.js +1 -0
  96. package/src/server/application-lifecycle.js +2 -11
  97. package/src/server/blocked-ports.js +11 -0
  98. package/src/server.js +36 -17
  99. package/src/setup/agent-installation-status.js +2 -1
  100. package/src/setup/agents.js +2 -1
  101. package/src/setup/claude-code-config.js +2 -1
  102. package/src/setup/codex-bootstrap.js +12 -7
  103. package/src/setup/container-runtime.js +25 -21
  104. package/src/setup/graph-runtime.js +148 -56
  105. package/src/setup/node-runtime.js +3 -3
  106. package/src/setup/options.js +2 -4
  107. package/src/setup/paths.js +18 -3
  108. package/src/setup/review-skill-adapters.js +49 -0
  109. package/src/setup/setup.js +26 -2
  110. package/src/setup/uninstall.js +4 -2
  111. package/src/system/resource-monitor.js +317 -0
  112. package/src/system/runtime-settings.js +131 -0
  113. package/src/system/system-service.js +119 -0
  114. package/README.en.md +0 -336
  115. package/dist/web/assets/ConnectionsPage-CCKWm-6p.js +0 -1
  116. package/dist/web/assets/KnowledgeInspector-BZkB2wJn.js +0 -1
  117. package/dist/web/assets/KnowledgeInspector-CrGYxEob.css +0 -1
  118. package/dist/web/assets/KnowledgeOrganizerPage-CZAF_OlN.css +0 -1
  119. package/dist/web/assets/KnowledgeOrganizerPage-DlvcLwlL.js +0 -1
  120. package/dist/web/assets/KnowledgePage-CNQXd15y.js +0 -1
  121. package/dist/web/assets/KnowledgeWorkspace-CXPE4GCD.js +0 -4
  122. package/dist/web/assets/OverviewPage-ul7g7HXh.js +0 -1
  123. package/dist/web/assets/PersonalProfilePage-CC40Pw2L.js +0 -1
  124. package/dist/web/assets/PersonalProjectsPage-CPIEcShD.js +0 -1
  125. package/dist/web/assets/PublicProjectsPage-C700sR7z.js +0 -1
  126. package/dist/web/assets/ReviewPage-7MDDUDgA.js +0 -1
  127. package/dist/web/assets/console-B_Ena2DS.js +0 -5
  128. package/dist/web/assets/fuli-logo-DGuyqchQ.png +0 -0
  129. package/dist/web/assets/identity-CjBwYSMX.js +0 -1
  130. package/dist/web/assets/index-CpLDx3of.css +0 -1
  131. package/dist/web/assets/index-DAzeFJSc.js +0 -2
  132. package/dist/web/assets/model-C-5RVIJ2.js +0 -1
  133. package/dist/web/assets/paths-BkULqmGI.js +0 -1
  134. package/dist/web/assets/vue-router-DnD3hUm7.js +0 -1
  135. package/src/agent/candidate-read-service.js +0 -53
  136. package/src/agent/context-pack-service.js +0 -83
  137. package/src/agent/public-read-policy.js +0 -39
  138. package/src/agent/public-read-service.js +0 -69
  139. package/src/agent/read-projection.js +0 -107
  140. package/src/agent/search-service.js +0 -61
  141. package/src/agent/space-boundary.js +0 -33
  142. package/src/app/bootstrap.js +0 -8
  143. package/src/app/create-application.js +0 -143
  144. package/src/app/state-service.js +0 -38
  145. package/src/candidates.js +0 -78
  146. package/src/classifier.js +0 -63
  147. package/src/cli/command-arguments.js +0 -14
  148. package/src/context-pack.js +0 -206
  149. package/src/extractor.js +0 -77
  150. package/src/fact-history.js +0 -39
  151. package/src/facts/fact-service.js +0 -89
  152. package/src/http/bounded-json-array.js +0 -19
  153. package/src/http/lens-route.js +0 -50
  154. package/src/ingestion.js +0 -161
  155. package/src/lens/lens-correction-service.js +0 -81
  156. package/src/lens/lens-fact-writer.js +0 -85
  157. package/src/lens/lens-input.js +0 -62
  158. package/src/lens/lens-query-projection.js +0 -87
  159. package/src/lens/lens-query-ranking.js +0 -62
  160. package/src/lens/lens-query.js +0 -143
  161. package/src/lens/lens-resource-projection.js +0 -93
  162. package/src/lens/lens-resource-selection.js +0 -45
  163. package/src/lens/lens-resource-service.js +0 -103
  164. package/src/lens/lens-search-query.js +0 -122
  165. package/src/lens/lens-service.js +0 -183
  166. package/src/models.js +0 -44
  167. package/src/observer.js +0 -83
  168. package/src/project-rules.js +0 -33
  169. package/src/publication/outbox-service.js +0 -46
  170. package/src/publication/publication-envelope-schema.js +0 -75
  171. package/src/publication/publication-envelope.js +0 -37
  172. package/src/publication/publication-policy.js +0 -82
  173. package/src/publication/publication-service.js +0 -48
  174. package/src/router.js +0 -58
  175. package/src/runtime-options.js +0 -138
  176. package/src/security/episode-visibility.js +0 -14
  177. package/src/security/fact-visibility.js +0 -15
  178. package/src/security/source-metadata-policy.js +0 -8
  179. package/src/storage/episode-evidence-preview.js +0 -100
  180. package/src/storage/fact-search-order.js +0 -18
  181. package/src/storage/file/episode-evidence.js +0 -37
  182. package/src/storage/file/episode-index.js +0 -59
  183. package/src/storage/file/fact-search.js +0 -60
  184. package/src/storage/file-store.js +0 -437
  185. package/src/storage/migrate.js +0 -128
  186. package/src/storage/migrations/001-initial.sql +0 -83
  187. package/src/storage/migrations/002-storage-integrity.sql +0 -113
  188. package/src/storage/record-validation.js +0 -46
  189. package/src/storage/snapshot-defaults.js +0 -54
  190. package/src/storage/sqlite/candidates-repository.js +0 -84
  191. package/src/storage/sqlite/episode-evidence-repository.js +0 -154
  192. package/src/storage/sqlite/episode-privacy-sql.js +0 -33
  193. package/src/storage/sqlite/episodes-repository.js +0 -52
  194. package/src/storage/sqlite/fact-search-repository.js +0 -162
  195. package/src/storage/sqlite/facts-repository.js +0 -146
  196. package/src/storage/sqlite/imports-repository.js +0 -39
  197. package/src/storage/sqlite/mapper.js +0 -84
  198. package/src/storage/sqlite/open-database.js +0 -15
  199. package/src/storage/sqlite/outbox-repository.js +0 -103
  200. package/src/storage/sqlite/snapshot-repository.js +0 -69
  201. package/src/storage/sqlite/spaces-repository.js +0 -52
  202. package/src/storage/sqlite/subscriptions-repository.js +0 -54
  203. package/src/storage/sqlite-store.js +0 -159
  204. package/src/storage/stable-json.js +0 -24
  205. package/src/storage/store-port.js +0 -20
  206. package/src/store.js +0 -2
@@ -1,17 +1,16 @@
1
1
  {
2
2
  "name": "fuli-context",
3
- "version": "0.5.0",
3
+ "version": "0.7.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "fuli-context",
9
- "version": "0.5.0",
9
+ "version": "0.7.3",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@hono/node-server": "2.0.12",
13
13
  "@modelcontextprotocol/sdk": "^1.29.0",
14
- "better-sqlite3": "^12.11.1",
15
14
  "zod": "^4.4.3"
16
15
  },
17
16
  "bin": {
@@ -1804,40 +1803,6 @@
1804
1803
  "node": "18 || 20 || >=22"
1805
1804
  }
1806
1805
  },
1807
- "node_modules/base64-js": {
1808
- "version": "1.5.1",
1809
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
1810
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
1811
- "funding": [
1812
- {
1813
- "type": "github",
1814
- "url": "https://github.com/sponsors/feross"
1815
- },
1816
- {
1817
- "type": "patreon",
1818
- "url": "https://www.patreon.com/feross"
1819
- },
1820
- {
1821
- "type": "consulting",
1822
- "url": "https://feross.org/support"
1823
- }
1824
- ],
1825
- "license": "MIT"
1826
- },
1827
- "node_modules/better-sqlite3": {
1828
- "version": "12.11.1",
1829
- "resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-12.11.1.tgz",
1830
- "integrity": "sha512-dq9AtApgg5PGFtBzPFSBl3HZQjHok5gaQCM6zh2Yk0aSmDCs1CbnVI8/HgASQkNKsWFpseIO9beg5xxpYhbIfA==",
1831
- "hasInstallScript": true,
1832
- "license": "MIT",
1833
- "dependencies": {
1834
- "bindings": "^1.5.0",
1835
- "prebuild-install": "^7.1.1"
1836
- },
1837
- "engines": {
1838
- "node": "20.x || 22.x || 23.x || 24.x || 25.x || 26.x"
1839
- }
1840
- },
1841
1806
  "node_modules/bidi-js": {
1842
1807
  "version": "1.0.3",
1843
1808
  "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz",
@@ -1848,15 +1813,6 @@
1848
1813
  "require-from-string": "^2.0.2"
1849
1814
  }
1850
1815
  },
1851
- "node_modules/bindings": {
1852
- "version": "1.5.0",
1853
- "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
1854
- "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
1855
- "license": "MIT",
1856
- "dependencies": {
1857
- "file-uri-to-path": "1.0.0"
1858
- }
1859
- },
1860
1816
  "node_modules/birpc": {
1861
1817
  "version": "2.9.0",
1862
1818
  "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz",
@@ -1867,17 +1823,6 @@
1867
1823
  "url": "https://github.com/sponsors/antfu"
1868
1824
  }
1869
1825
  },
1870
- "node_modules/bl": {
1871
- "version": "4.1.0",
1872
- "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
1873
- "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
1874
- "license": "MIT",
1875
- "dependencies": {
1876
- "buffer": "^5.5.0",
1877
- "inherits": "^2.0.4",
1878
- "readable-stream": "^3.4.0"
1879
- }
1880
- },
1881
1826
  "node_modules/body-parser": {
1882
1827
  "version": "2.3.0",
1883
1828
  "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz",
@@ -1935,30 +1880,6 @@
1935
1880
  "node": "20 || >=22"
1936
1881
  }
1937
1882
  },
1938
- "node_modules/buffer": {
1939
- "version": "5.7.1",
1940
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
1941
- "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
1942
- "funding": [
1943
- {
1944
- "type": "github",
1945
- "url": "https://github.com/sponsors/feross"
1946
- },
1947
- {
1948
- "type": "patreon",
1949
- "url": "https://www.patreon.com/feross"
1950
- },
1951
- {
1952
- "type": "consulting",
1953
- "url": "https://feross.org/support"
1954
- }
1955
- ],
1956
- "license": "MIT",
1957
- "dependencies": {
1958
- "base64-js": "^1.3.1",
1959
- "ieee754": "^1.1.13"
1960
- }
1961
- },
1962
1883
  "node_modules/bytes": {
1963
1884
  "version": "3.1.2",
1964
1885
  "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
@@ -2023,12 +1944,6 @@
2023
1944
  "url": "https://paulmillr.com/funding/"
2024
1945
  }
2025
1946
  },
2026
- "node_modules/chownr": {
2027
- "version": "1.1.4",
2028
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
2029
- "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
2030
- "license": "ISC"
2031
- },
2032
1947
  "node_modules/color-convert": {
2033
1948
  "version": "2.0.1",
2034
1949
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -2696,30 +2611,6 @@
2696
2611
  "dev": true,
2697
2612
  "license": "MIT"
2698
2613
  },
2699
- "node_modules/decompress-response": {
2700
- "version": "6.0.0",
2701
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
2702
- "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
2703
- "license": "MIT",
2704
- "dependencies": {
2705
- "mimic-response": "^3.1.0"
2706
- },
2707
- "engines": {
2708
- "node": ">=10"
2709
- },
2710
- "funding": {
2711
- "url": "https://github.com/sponsors/sindresorhus"
2712
- }
2713
- },
2714
- "node_modules/deep-extend": {
2715
- "version": "0.6.0",
2716
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
2717
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
2718
- "license": "MIT",
2719
- "engines": {
2720
- "node": ">=4.0.0"
2721
- }
2722
- },
2723
2614
  "node_modules/delaunator": {
2724
2615
  "version": "5.1.0",
2725
2616
  "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.1.0.tgz",
@@ -2743,6 +2634,7 @@
2743
2634
  "version": "2.1.2",
2744
2635
  "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
2745
2636
  "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
2637
+ "dev": true,
2746
2638
  "license": "Apache-2.0",
2747
2639
  "engines": {
2748
2640
  "node": ">=8"
@@ -2879,15 +2771,6 @@
2879
2771
  "node": ">= 0.8"
2880
2772
  }
2881
2773
  },
2882
- "node_modules/end-of-stream": {
2883
- "version": "1.4.5",
2884
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
2885
- "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
2886
- "license": "MIT",
2887
- "dependencies": {
2888
- "once": "^1.4.0"
2889
- }
2890
- },
2891
2774
  "node_modules/entities": {
2892
2775
  "version": "4.5.0",
2893
2776
  "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
@@ -2981,15 +2864,6 @@
2981
2864
  "node": ">=18.0.0"
2982
2865
  }
2983
2866
  },
2984
- "node_modules/expand-template": {
2985
- "version": "2.0.3",
2986
- "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
2987
- "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
2988
- "license": "(MIT OR WTFPL)",
2989
- "engines": {
2990
- "node": ">=6"
2991
- }
2992
- },
2993
2867
  "node_modules/expect-type": {
2994
2868
  "version": "1.4.0",
2995
2869
  "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.4.0.tgz",
@@ -3109,12 +2983,6 @@
3109
2983
  }
3110
2984
  }
3111
2985
  },
3112
- "node_modules/file-uri-to-path": {
3113
- "version": "1.0.0",
3114
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
3115
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
3116
- "license": "MIT"
3117
- },
3118
2986
  "node_modules/finalhandler": {
3119
2987
  "version": "2.1.1",
3120
2988
  "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz",
@@ -3171,12 +3039,6 @@
3171
3039
  "node": ">= 0.8"
3172
3040
  }
3173
3041
  },
3174
- "node_modules/fs-constants": {
3175
- "version": "1.0.0",
3176
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
3177
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
3178
- "license": "MIT"
3179
- },
3180
3042
  "node_modules/fsevents": {
3181
3043
  "version": "2.3.3",
3182
3044
  "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
@@ -3238,12 +3100,6 @@
3238
3100
  "node": ">= 0.4"
3239
3101
  }
3240
3102
  },
3241
- "node_modules/github-from-package": {
3242
- "version": "0.0.0",
3243
- "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
3244
- "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
3245
- "license": "MIT"
3246
- },
3247
3103
  "node_modules/glob": {
3248
3104
  "version": "10.5.0",
3249
3105
  "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
@@ -3413,26 +3269,6 @@
3413
3269
  "url": "https://opencollective.com/express"
3414
3270
  }
3415
3271
  },
3416
- "node_modules/ieee754": {
3417
- "version": "1.2.1",
3418
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
3419
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
3420
- "funding": [
3421
- {
3422
- "type": "github",
3423
- "url": "https://github.com/sponsors/feross"
3424
- },
3425
- {
3426
- "type": "patreon",
3427
- "url": "https://www.patreon.com/feross"
3428
- },
3429
- {
3430
- "type": "consulting",
3431
- "url": "https://feross.org/support"
3432
- }
3433
- ],
3434
- "license": "BSD-3-Clause"
3435
- },
3436
3272
  "node_modules/inherits": {
3437
3273
  "version": "2.0.4",
3438
3274
  "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
@@ -3443,6 +3279,7 @@
3443
3279
  "version": "1.3.8",
3444
3280
  "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
3445
3281
  "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
3282
+ "dev": true,
3446
3283
  "license": "ISC"
3447
3284
  },
3448
3285
  "node_modules/internmap": {
@@ -4060,18 +3897,6 @@
4060
3897
  "url": "https://opencollective.com/express"
4061
3898
  }
4062
3899
  },
4063
- "node_modules/mimic-response": {
4064
- "version": "3.1.0",
4065
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
4066
- "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
4067
- "license": "MIT",
4068
- "engines": {
4069
- "node": ">=10"
4070
- },
4071
- "funding": {
4072
- "url": "https://github.com/sponsors/sindresorhus"
4073
- }
4074
- },
4075
3900
  "node_modules/minimatch": {
4076
3901
  "version": "9.0.9",
4077
3902
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
@@ -4088,15 +3913,6 @@
4088
3913
  "url": "https://github.com/sponsors/isaacs"
4089
3914
  }
4090
3915
  },
4091
- "node_modules/minimist": {
4092
- "version": "1.2.8",
4093
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
4094
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
4095
- "license": "MIT",
4096
- "funding": {
4097
- "url": "https://github.com/sponsors/ljharb"
4098
- }
4099
- },
4100
3916
  "node_modules/minipass": {
4101
3917
  "version": "7.1.3",
4102
3918
  "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
@@ -4107,12 +3923,6 @@
4107
3923
  "node": ">=16 || 14 >=14.17"
4108
3924
  }
4109
3925
  },
4110
- "node_modules/mkdirp-classic": {
4111
- "version": "0.5.3",
4112
- "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
4113
- "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
4114
- "license": "MIT"
4115
- },
4116
3926
  "node_modules/mlly": {
4117
3927
  "version": "1.8.2",
4118
3928
  "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.2.tgz",
@@ -4177,12 +3987,6 @@
4177
3987
  "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
4178
3988
  }
4179
3989
  },
4180
- "node_modules/napi-build-utils": {
4181
- "version": "2.0.0",
4182
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz",
4183
- "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==",
4184
- "license": "MIT"
4185
- },
4186
3990
  "node_modules/negotiator": {
4187
3991
  "version": "1.0.0",
4188
3992
  "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
@@ -4192,18 +3996,6 @@
4192
3996
  "node": ">= 0.6"
4193
3997
  }
4194
3998
  },
4195
- "node_modules/node-abi": {
4196
- "version": "3.94.0",
4197
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.94.0.tgz",
4198
- "integrity": "sha512-W5ZNO5KRPB5TkYmGVD9F6YqhsglXJzE6etpbmT+f6EQElhiX/UTG551cnsRGvLG3fyZEg9HwaDmNmj5nwJ4z9g==",
4199
- "license": "MIT",
4200
- "dependencies": {
4201
- "semver": "^7.3.5"
4202
- },
4203
- "engines": {
4204
- "node": ">=10"
4205
- }
4206
- },
4207
3999
  "node_modules/nopt": {
4208
4000
  "version": "7.2.1",
4209
4001
  "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz",
@@ -4574,33 +4366,6 @@
4574
4366
  "node": "^10 || ^12 || >=14"
4575
4367
  }
4576
4368
  },
4577
- "node_modules/prebuild-install": {
4578
- "version": "7.1.3",
4579
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz",
4580
- "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==",
4581
- "deprecated": "No longer maintained. Please contact the author of the relevant native addon; alternatives are available.",
4582
- "license": "MIT",
4583
- "dependencies": {
4584
- "detect-libc": "^2.0.0",
4585
- "expand-template": "^2.0.3",
4586
- "github-from-package": "0.0.0",
4587
- "minimist": "^1.2.3",
4588
- "mkdirp-classic": "^0.5.3",
4589
- "napi-build-utils": "^2.0.0",
4590
- "node-abi": "^3.3.0",
4591
- "pump": "^3.0.0",
4592
- "rc": "^1.2.7",
4593
- "simple-get": "^4.0.0",
4594
- "tar-fs": "^2.0.0",
4595
- "tunnel-agent": "^0.6.0"
4596
- },
4597
- "bin": {
4598
- "prebuild-install": "bin.js"
4599
- },
4600
- "engines": {
4601
- "node": ">=10"
4602
- }
4603
- },
4604
4369
  "node_modules/proto-list": {
4605
4370
  "version": "1.2.4",
4606
4371
  "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
@@ -4621,16 +4386,6 @@
4621
4386
  "node": ">= 0.10"
4622
4387
  }
4623
4388
  },
4624
- "node_modules/pump": {
4625
- "version": "3.0.4",
4626
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.4.tgz",
4627
- "integrity": "sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==",
4628
- "license": "MIT",
4629
- "dependencies": {
4630
- "end-of-stream": "^1.1.0",
4631
- "once": "^1.3.1"
4632
- }
4633
- },
4634
4389
  "node_modules/punycode": {
4635
4390
  "version": "2.3.1",
4636
4391
  "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -4702,21 +4457,6 @@
4702
4457
  "node": ">= 0.10"
4703
4458
  }
4704
4459
  },
4705
- "node_modules/rc": {
4706
- "version": "1.2.8",
4707
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
4708
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
4709
- "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
4710
- "dependencies": {
4711
- "deep-extend": "^0.6.0",
4712
- "ini": "~1.3.0",
4713
- "minimist": "^1.2.0",
4714
- "strip-json-comments": "~2.0.1"
4715
- },
4716
- "bin": {
4717
- "rc": "cli.js"
4718
- }
4719
- },
4720
4460
  "node_modules/read-package-json-fast": {
4721
4461
  "version": "6.0.0",
4722
4462
  "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-6.0.0.tgz",
@@ -4731,20 +4471,6 @@
4731
4471
  "node": "^22.22.2 || ^24.15.0 || >=26.0.0"
4732
4472
  }
4733
4473
  },
4734
- "node_modules/readable-stream": {
4735
- "version": "3.6.2",
4736
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
4737
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
4738
- "license": "MIT",
4739
- "dependencies": {
4740
- "inherits": "^2.0.3",
4741
- "string_decoder": "^1.1.1",
4742
- "util-deprecate": "^1.0.1"
4743
- },
4744
- "engines": {
4745
- "node": ">= 6"
4746
- }
4747
- },
4748
4474
  "node_modules/readdirp": {
4749
4475
  "version": "5.0.0",
4750
4476
  "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz",
@@ -4832,26 +4558,6 @@
4832
4558
  "dev": true,
4833
4559
  "license": "BSD-3-Clause"
4834
4560
  },
4835
- "node_modules/safe-buffer": {
4836
- "version": "5.2.1",
4837
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
4838
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
4839
- "funding": [
4840
- {
4841
- "type": "github",
4842
- "url": "https://github.com/sponsors/feross"
4843
- },
4844
- {
4845
- "type": "patreon",
4846
- "url": "https://www.patreon.com/feross"
4847
- },
4848
- {
4849
- "type": "consulting",
4850
- "url": "https://feross.org/support"
4851
- }
4852
- ],
4853
- "license": "MIT"
4854
- },
4855
4561
  "node_modules/safer-buffer": {
4856
4562
  "version": "2.1.2",
4857
4563
  "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -4882,6 +4588,7 @@
4882
4588
  "version": "7.8.5",
4883
4589
  "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz",
4884
4590
  "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==",
4591
+ "dev": true,
4885
4592
  "license": "ISC",
4886
4593
  "bin": {
4887
4594
  "semver": "bin/semver.js"
@@ -5067,51 +4774,6 @@
5067
4774
  "url": "https://github.com/sponsors/isaacs"
5068
4775
  }
5069
4776
  },
5070
- "node_modules/simple-concat": {
5071
- "version": "1.0.1",
5072
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
5073
- "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
5074
- "funding": [
5075
- {
5076
- "type": "github",
5077
- "url": "https://github.com/sponsors/feross"
5078
- },
5079
- {
5080
- "type": "patreon",
5081
- "url": "https://www.patreon.com/feross"
5082
- },
5083
- {
5084
- "type": "consulting",
5085
- "url": "https://feross.org/support"
5086
- }
5087
- ],
5088
- "license": "MIT"
5089
- },
5090
- "node_modules/simple-get": {
5091
- "version": "4.0.1",
5092
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
5093
- "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
5094
- "funding": [
5095
- {
5096
- "type": "github",
5097
- "url": "https://github.com/sponsors/feross"
5098
- },
5099
- {
5100
- "type": "patreon",
5101
- "url": "https://www.patreon.com/feross"
5102
- },
5103
- {
5104
- "type": "consulting",
5105
- "url": "https://feross.org/support"
5106
- }
5107
- ],
5108
- "license": "MIT",
5109
- "dependencies": {
5110
- "decompress-response": "^6.0.0",
5111
- "once": "^1.3.1",
5112
- "simple-concat": "^1.0.0"
5113
- }
5114
- },
5115
4777
  "node_modules/source-map-js": {
5116
4778
  "version": "1.2.1",
5117
4779
  "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
@@ -5145,15 +4807,6 @@
5145
4807
  "dev": true,
5146
4808
  "license": "MIT"
5147
4809
  },
5148
- "node_modules/string_decoder": {
5149
- "version": "1.3.0",
5150
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
5151
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
5152
- "license": "MIT",
5153
- "dependencies": {
5154
- "safe-buffer": "~5.2.0"
5155
- }
5156
- },
5157
4810
  "node_modules/string-width": {
5158
4811
  "version": "5.1.2",
5159
4812
  "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
@@ -5258,15 +4911,6 @@
5258
4911
  "node": ">=8"
5259
4912
  }
5260
4913
  },
5261
- "node_modules/strip-json-comments": {
5262
- "version": "2.0.1",
5263
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
5264
- "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
5265
- "license": "MIT",
5266
- "engines": {
5267
- "node": ">=0.10.0"
5268
- }
5269
- },
5270
4914
  "node_modules/symbol-tree": {
5271
4915
  "version": "3.2.4",
5272
4916
  "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
@@ -5274,34 +4918,6 @@
5274
4918
  "dev": true,
5275
4919
  "license": "MIT"
5276
4920
  },
5277
- "node_modules/tar-fs": {
5278
- "version": "2.1.5",
5279
- "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.5.tgz",
5280
- "integrity": "sha512-OboTd8mmMhZDNPV+UjQcK9yKAatXu2aJ+r1w4im1Otd4M4fl2hwvdoXUxIYHFTHWK/3y3FarBP70v3vwmGlOxw==",
5281
- "license": "MIT",
5282
- "dependencies": {
5283
- "chownr": "^1.1.1",
5284
- "mkdirp-classic": "^0.5.2",
5285
- "pump": "^3.0.0",
5286
- "tar-stream": "^2.1.4"
5287
- }
5288
- },
5289
- "node_modules/tar-stream": {
5290
- "version": "2.2.0",
5291
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
5292
- "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
5293
- "license": "MIT",
5294
- "dependencies": {
5295
- "bl": "^4.0.3",
5296
- "end-of-stream": "^1.4.1",
5297
- "fs-constants": "^1.0.0",
5298
- "inherits": "^2.0.3",
5299
- "readable-stream": "^3.1.1"
5300
- },
5301
- "engines": {
5302
- "node": ">=6"
5303
- }
5304
- },
5305
4921
  "node_modules/tinybench": {
5306
4922
  "version": "2.9.0",
5307
4923
  "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
@@ -5409,18 +5025,6 @@
5409
5025
  "license": "0BSD",
5410
5026
  "optional": true
5411
5027
  },
5412
- "node_modules/tunnel-agent": {
5413
- "version": "0.6.0",
5414
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
5415
- "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
5416
- "license": "Apache-2.0",
5417
- "dependencies": {
5418
- "safe-buffer": "^5.0.1"
5419
- },
5420
- "engines": {
5421
- "node": "*"
5422
- }
5423
- },
5424
5028
  "node_modules/type-is": {
5425
5029
  "version": "2.1.0",
5426
5030
  "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz",
@@ -5578,12 +5182,6 @@
5578
5182
  "url": "https://github.com/sponsors/sxzz"
5579
5183
  }
5580
5184
  },
5581
- "node_modules/util-deprecate": {
5582
- "version": "1.0.2",
5583
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
5584
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
5585
- "license": "MIT"
5586
- },
5587
5185
  "node_modules/vary": {
5588
5186
  "version": "1.1.2",
5589
5187
  "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "fuli-context",
3
- "version": "0.5.0",
3
+ "version": "0.7.3",
4
4
  "description": "Local-first context graph for AI agents.",
5
5
  "type": "module",
6
6
  "files": [
7
- "README.en.md",
7
+ "README.zh-CN.md",
8
8
  "npm-shrinkwrap.json",
9
9
  "src/",
10
10
  "dist/web/",
11
+ "docs/external-knowledge-architecture.md",
12
+ "examples/external-knowledge/markdown-folder.mjs",
11
13
  "graph-provider/Dockerfile",
12
14
  "graph-provider/pyproject.toml",
13
15
  "graph-provider/fuli_graph/*.py",
@@ -16,8 +18,8 @@
16
18
  "compose.graphiti.yml"
17
19
  ],
18
20
  "bin": {
19
- "fl": "./src/cli.js",
20
- "fuli": "./src/cli.js"
21
+ "fl": "src/cli.js",
22
+ "fuli": "src/cli.js"
21
23
  },
22
24
  "keywords": [
23
25
  "ai-agent",
@@ -40,6 +42,7 @@
40
42
  "test:web": "vitest run --config vitest.config.ts",
41
43
  "test:package": "node scripts/package-smoke.js",
42
44
  "test:knowledge:live": "node acceptance/knowledge-live.js",
45
+ "test:external-knowledge:live": "node scripts/validate-external-knowledge-live.js",
43
46
  "start": "node src/server.js",
44
47
  "graph:setup": "node src/graphiti/setup.js",
45
48
  "graph:up": "docker compose -f compose.graphiti.yml up -d --build",
@@ -68,7 +71,6 @@
68
71
  "dependencies": {
69
72
  "@hono/node-server": "2.0.12",
70
73
  "@modelcontextprotocol/sdk": "^1.29.0",
71
- "better-sqlite3": "^12.11.1",
72
74
  "zod": "^4.4.3"
73
75
  },
74
76
  "devDependencies": {