@rbalchii/anchor-engine 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/LICENSE +609 -0
  2. package/README.md +317 -0
  3. package/anchor.bat +5 -0
  4. package/docs/API.md +314 -0
  5. package/docs/DEPLOYMENT.md +448 -0
  6. package/docs/INDEX.md +226 -0
  7. package/docs/STAR_Whitepaper_Executive.md +216 -0
  8. package/docs/TROUBLESHOOTING.md +535 -0
  9. package/docs/archive/GIT_BACKUP_VERIFICATION.md +297 -0
  10. package/docs/archive/adoption-guide.md +264 -0
  11. package/docs/archive/adoption-preparation.md +179 -0
  12. package/docs/archive/agent-harness-integration.md +227 -0
  13. package/docs/archive/api-reference.md +106 -0
  14. package/docs/archive/api_flows_diagram.md +118 -0
  15. package/docs/archive/architecture.md +410 -0
  16. package/docs/archive/architecture_diagram.md +174 -0
  17. package/docs/archive/broader-adoption-preparation.md +175 -0
  18. package/docs/archive/browser-paradigm-architecture.md +163 -0
  19. package/docs/archive/chat-integration.md +124 -0
  20. package/docs/archive/community-adoption-materials.md +103 -0
  21. package/docs/archive/community-adoption.md +147 -0
  22. package/docs/archive/comparison-with-siloed-solutions.md +192 -0
  23. package/docs/archive/comprehensive-docs.md +156 -0
  24. package/docs/archive/data_flow_diagram.md +251 -0
  25. package/docs/archive/enhancement-implementation-summary.md +146 -0
  26. package/docs/archive/evolution-summary.md +141 -0
  27. package/docs/archive/ingestion_pipeline_diagram.md +198 -0
  28. package/docs/archive/native-module-profiling-results.md +135 -0
  29. package/docs/archive/positioning-document.md +158 -0
  30. package/docs/archive/positioning.md +175 -0
  31. package/docs/archive/query-builder-documentation.md +218 -0
  32. package/docs/archive/quick-reference.md +40 -0
  33. package/docs/archive/quickstart.md +63 -0
  34. package/docs/archive/relationship-narrative-discovery.md +141 -0
  35. package/docs/archive/search-logic-improvement-plan.md +336 -0
  36. package/docs/archive/search_architecture_diagram.md +212 -0
  37. package/docs/archive/semantic-architecture-guide.md +97 -0
  38. package/docs/archive/sequence-diagrams.md +128 -0
  39. package/docs/archive/system_components_diagram.md +296 -0
  40. package/docs/archive/test-framework-integration.md +109 -0
  41. package/docs/archive/testing-framework-documentation.md +397 -0
  42. package/docs/archive/testing-framework-summary.md +121 -0
  43. package/docs/archive/testing-framework.md +377 -0
  44. package/docs/archive/ui-architecture.md +75 -0
  45. package/docs/arxiv/BIBLIOGRAPHY.bib +145 -0
  46. package/docs/arxiv/RELATED_WORK.tex +39 -0
  47. package/docs/arxiv/compile.bat +48 -0
  48. package/docs/arxiv/joss_response.md +33 -0
  49. package/docs/arxiv/prepare-submission.bat +46 -0
  50. package/docs/arxiv/review.md +128 -0
  51. package/docs/arxiv/star-whitepaper.tex +657 -0
  52. package/docs/code-patterns.md +289 -0
  53. package/docs/whitepaper.md +445 -0
  54. package/engine/dist/agent/runtime.d.ts +41 -0
  55. package/engine/dist/agent/runtime.d.ts.map +1 -0
  56. package/engine/dist/agent/runtime.js +73 -0
  57. package/engine/dist/agent/runtime.js.map +1 -0
  58. package/engine/dist/commands/audit-tags.d.ts +14 -0
  59. package/engine/dist/commands/audit-tags.d.ts.map +1 -0
  60. package/engine/dist/commands/audit-tags.js +180 -0
  61. package/engine/dist/commands/audit-tags.js.map +1 -0
  62. package/engine/dist/commands/distill.d.ts +19 -0
  63. package/engine/dist/commands/distill.d.ts.map +1 -0
  64. package/engine/dist/commands/distill.js +114 -0
  65. package/engine/dist/commands/distill.js.map +1 -0
  66. package/engine/dist/commands/generate-synonyms.d.ts +14 -0
  67. package/engine/dist/commands/generate-synonyms.d.ts.map +1 -0
  68. package/engine/dist/commands/generate-synonyms.js +91 -0
  69. package/engine/dist/commands/generate-synonyms.js.map +1 -0
  70. package/engine/dist/config/index.d.ts +115 -0
  71. package/engine/dist/config/index.d.ts.map +1 -0
  72. package/engine/dist/config/index.js +326 -0
  73. package/engine/dist/config/index.js.map +1 -0
  74. package/engine/dist/config/max-recall-config.d.ts +102 -0
  75. package/engine/dist/config/max-recall-config.d.ts.map +1 -0
  76. package/engine/dist/config/max-recall-config.js +102 -0
  77. package/engine/dist/config/max-recall-config.js.map +1 -0
  78. package/engine/dist/config/paths.d.ts +40 -0
  79. package/engine/dist/config/paths.d.ts.map +1 -0
  80. package/engine/dist/config/paths.js +49 -0
  81. package/engine/dist/config/paths.js.map +1 -0
  82. package/engine/dist/core/batch.d.ts +19 -0
  83. package/engine/dist/core/batch.d.ts.map +1 -0
  84. package/engine/dist/core/batch.js +37 -0
  85. package/engine/dist/core/batch.js.map +1 -0
  86. package/engine/dist/core/db.d.ts +58 -0
  87. package/engine/dist/core/db.d.ts.map +1 -0
  88. package/engine/dist/core/db.js +563 -0
  89. package/engine/dist/core/db.js.map +1 -0
  90. package/engine/dist/core/inference/ChatWorker.d.ts +2 -0
  91. package/engine/dist/core/inference/ChatWorker.d.ts.map +1 -0
  92. package/engine/dist/core/inference/ChatWorker.js +28 -0
  93. package/engine/dist/core/inference/ChatWorker.js.map +1 -0
  94. package/engine/dist/core/inference/context_manager.d.ts +49 -0
  95. package/engine/dist/core/inference/context_manager.d.ts.map +1 -0
  96. package/engine/dist/core/inference/context_manager.js +199 -0
  97. package/engine/dist/core/inference/context_manager.js.map +1 -0
  98. package/engine/dist/core/inference/llamaLoaderWorker.d.ts +2 -0
  99. package/engine/dist/core/inference/llamaLoaderWorker.d.ts.map +1 -0
  100. package/engine/dist/core/inference/llamaLoaderWorker.js +23 -0
  101. package/engine/dist/core/inference/llamaLoaderWorker.js.map +1 -0
  102. package/engine/dist/core/vector.d.ts +40 -0
  103. package/engine/dist/core/vector.d.ts.map +1 -0
  104. package/engine/dist/core/vector.js +167 -0
  105. package/engine/dist/core/vector.js.map +1 -0
  106. package/engine/dist/index.d.ts +4 -0
  107. package/engine/dist/index.d.ts.map +1 -0
  108. package/engine/dist/index.js +400 -0
  109. package/engine/dist/index.js.map +1 -0
  110. package/engine/dist/middleware/auth.d.ts +14 -0
  111. package/engine/dist/middleware/auth.d.ts.map +1 -0
  112. package/engine/dist/middleware/auth.js +44 -0
  113. package/engine/dist/middleware/auth.js.map +1 -0
  114. package/engine/dist/middleware/request-tracing.d.ts +29 -0
  115. package/engine/dist/middleware/request-tracing.d.ts.map +1 -0
  116. package/engine/dist/middleware/request-tracing.js +115 -0
  117. package/engine/dist/middleware/request-tracing.js.map +1 -0
  118. package/engine/dist/middleware/validate.d.ts +30 -0
  119. package/engine/dist/middleware/validate.d.ts.map +1 -0
  120. package/engine/dist/middleware/validate.js +117 -0
  121. package/engine/dist/middleware/validate.js.map +1 -0
  122. package/engine/dist/native/index.d.ts +106 -0
  123. package/engine/dist/native/index.d.ts.map +1 -0
  124. package/engine/dist/native/index.js +230 -0
  125. package/engine/dist/native/index.js.map +1 -0
  126. package/engine/dist/native/types.d.ts +45 -0
  127. package/engine/dist/native/types.d.ts.map +1 -0
  128. package/engine/dist/native/types.js +6 -0
  129. package/engine/dist/native/types.js.map +1 -0
  130. package/engine/dist/profiling/atomization-profiling.d.ts +8 -0
  131. package/engine/dist/profiling/atomization-profiling.d.ts.map +1 -0
  132. package/engine/dist/profiling/atomization-profiling.js +108 -0
  133. package/engine/dist/profiling/atomization-profiling.js.map +1 -0
  134. package/engine/dist/profiling/bottleneck-identification.d.ts +8 -0
  135. package/engine/dist/profiling/bottleneck-identification.d.ts.map +1 -0
  136. package/engine/dist/profiling/bottleneck-identification.js +249 -0
  137. package/engine/dist/profiling/bottleneck-identification.js.map +1 -0
  138. package/engine/dist/profiling/content-sanitization-profiling.d.ts +12 -0
  139. package/engine/dist/profiling/content-sanitization-profiling.d.ts.map +1 -0
  140. package/engine/dist/profiling/content-sanitization-profiling.js +266 -0
  141. package/engine/dist/profiling/content-sanitization-profiling.js.map +1 -0
  142. package/engine/dist/profiling/simhash-profiling.d.ts +11 -0
  143. package/engine/dist/profiling/simhash-profiling.d.ts.map +1 -0
  144. package/engine/dist/profiling/simhash-profiling.js +168 -0
  145. package/engine/dist/profiling/simhash-profiling.js.map +1 -0
  146. package/engine/dist/routes/api.d.ts +9 -0
  147. package/engine/dist/routes/api.d.ts.map +1 -0
  148. package/engine/dist/routes/api.js +37 -0
  149. package/engine/dist/routes/api.js.map +1 -0
  150. package/engine/dist/routes/enhanced-api.d.ts +9 -0
  151. package/engine/dist/routes/enhanced-api.d.ts.map +1 -0
  152. package/engine/dist/routes/enhanced-api.js +139 -0
  153. package/engine/dist/routes/enhanced-api.js.map +1 -0
  154. package/engine/dist/routes/health.d.ts +8 -0
  155. package/engine/dist/routes/health.d.ts.map +1 -0
  156. package/engine/dist/routes/health.js +89 -0
  157. package/engine/dist/routes/health.js.map +1 -0
  158. package/engine/dist/routes/monitoring.d.ts +8 -0
  159. package/engine/dist/routes/monitoring.d.ts.map +1 -0
  160. package/engine/dist/routes/monitoring.js +509 -0
  161. package/engine/dist/routes/monitoring.js.map +1 -0
  162. package/engine/dist/routes/v1/admin.d.ts +3 -0
  163. package/engine/dist/routes/v1/admin.d.ts.map +1 -0
  164. package/engine/dist/routes/v1/admin.js +261 -0
  165. package/engine/dist/routes/v1/admin.js.map +1 -0
  166. package/engine/dist/routes/v1/atoms.d.ts +3 -0
  167. package/engine/dist/routes/v1/atoms.d.ts.map +1 -0
  168. package/engine/dist/routes/v1/atoms.js +172 -0
  169. package/engine/dist/routes/v1/atoms.js.map +1 -0
  170. package/engine/dist/routes/v1/backup.d.ts +3 -0
  171. package/engine/dist/routes/v1/backup.d.ts.map +1 -0
  172. package/engine/dist/routes/v1/backup.js +100 -0
  173. package/engine/dist/routes/v1/backup.js.map +1 -0
  174. package/engine/dist/routes/v1/git.d.ts +3 -0
  175. package/engine/dist/routes/v1/git.d.ts.map +1 -0
  176. package/engine/dist/routes/v1/git.js +316 -0
  177. package/engine/dist/routes/v1/git.js.map +1 -0
  178. package/engine/dist/routes/v1/ingest.d.ts +3 -0
  179. package/engine/dist/routes/v1/ingest.d.ts.map +1 -0
  180. package/engine/dist/routes/v1/ingest.js +66 -0
  181. package/engine/dist/routes/v1/ingest.js.map +1 -0
  182. package/engine/dist/routes/v1/memory.d.ts +14 -0
  183. package/engine/dist/routes/v1/memory.d.ts.map +1 -0
  184. package/engine/dist/routes/v1/memory.js +87 -0
  185. package/engine/dist/routes/v1/memory.js.map +1 -0
  186. package/engine/dist/routes/v1/research.d.ts +3 -0
  187. package/engine/dist/routes/v1/research.d.ts.map +1 -0
  188. package/engine/dist/routes/v1/research.js +109 -0
  189. package/engine/dist/routes/v1/research.js.map +1 -0
  190. package/engine/dist/routes/v1/search.d.ts +3 -0
  191. package/engine/dist/routes/v1/search.d.ts.map +1 -0
  192. package/engine/dist/routes/v1/search.js +180 -0
  193. package/engine/dist/routes/v1/search.js.map +1 -0
  194. package/engine/dist/routes/v1/settings.d.ts +8 -0
  195. package/engine/dist/routes/v1/settings.d.ts.map +1 -0
  196. package/engine/dist/routes/v1/settings.js +211 -0
  197. package/engine/dist/routes/v1/settings.js.map +1 -0
  198. package/engine/dist/routes/v1/system.d.ts +3 -0
  199. package/engine/dist/routes/v1/system.d.ts.map +1 -0
  200. package/engine/dist/routes/v1/system.js +326 -0
  201. package/engine/dist/routes/v1/system.js.map +1 -0
  202. package/engine/dist/routes/v1/tags.d.ts +3 -0
  203. package/engine/dist/routes/v1/tags.d.ts.map +1 -0
  204. package/engine/dist/routes/v1/tags.js +102 -0
  205. package/engine/dist/routes/v1/tags.js.map +1 -0
  206. package/engine/dist/server-8080.d.ts +2 -0
  207. package/engine/dist/server-8080.d.ts.map +1 -0
  208. package/engine/dist/server-8080.js +74 -0
  209. package/engine/dist/server-8080.js.map +1 -0
  210. package/engine/dist/services/backup/backup-restore.d.ts +37 -0
  211. package/engine/dist/services/backup/backup-restore.d.ts.map +1 -0
  212. package/engine/dist/services/backup/backup-restore.js +385 -0
  213. package/engine/dist/services/backup/backup-restore.js.map +1 -0
  214. package/engine/dist/services/backup/backup.d.ts +14 -0
  215. package/engine/dist/services/backup/backup.d.ts.map +1 -0
  216. package/engine/dist/services/backup/backup.js +442 -0
  217. package/engine/dist/services/backup/backup.js.map +1 -0
  218. package/engine/dist/services/distillation/radial-distiller-v2.d.ts +127 -0
  219. package/engine/dist/services/distillation/radial-distiller-v2.d.ts.map +1 -0
  220. package/engine/dist/services/distillation/radial-distiller-v2.js +503 -0
  221. package/engine/dist/services/distillation/radial-distiller-v2.js.map +1 -0
  222. package/engine/dist/services/distillation/radial-distiller.d.ts +63 -0
  223. package/engine/dist/services/distillation/radial-distiller.d.ts.map +1 -0
  224. package/engine/dist/services/distillation/radial-distiller.js +394 -0
  225. package/engine/dist/services/distillation/radial-distiller.js.map +1 -0
  226. package/engine/dist/services/health-check-enhanced.d.ts +89 -0
  227. package/engine/dist/services/health-check-enhanced.d.ts.map +1 -0
  228. package/engine/dist/services/health-check-enhanced.js +417 -0
  229. package/engine/dist/services/health-check-enhanced.js.map +1 -0
  230. package/engine/dist/services/idle-manager.d.ts +56 -0
  231. package/engine/dist/services/idle-manager.d.ts.map +1 -0
  232. package/engine/dist/services/idle-manager.js +210 -0
  233. package/engine/dist/services/idle-manager.js.map +1 -0
  234. package/engine/dist/services/inference/inference-service.d.ts +27 -0
  235. package/engine/dist/services/inference/inference-service.d.ts.map +1 -0
  236. package/engine/dist/services/inference/inference-service.js +89 -0
  237. package/engine/dist/services/inference/inference-service.js.map +1 -0
  238. package/engine/dist/services/inference/inference.d.ts +59 -0
  239. package/engine/dist/services/inference/inference.d.ts.map +1 -0
  240. package/engine/dist/services/inference/inference.js +131 -0
  241. package/engine/dist/services/inference/inference.js.map +1 -0
  242. package/engine/dist/services/ingest/atomizer-service.d.ts +74 -0
  243. package/engine/dist/services/ingest/atomizer-service.d.ts.map +1 -0
  244. package/engine/dist/services/ingest/atomizer-service.js +982 -0
  245. package/engine/dist/services/ingest/atomizer-service.js.map +1 -0
  246. package/engine/dist/services/ingest/content-cleaner.d.ts +43 -0
  247. package/engine/dist/services/ingest/content-cleaner.d.ts.map +1 -0
  248. package/engine/dist/services/ingest/content-cleaner.js +166 -0
  249. package/engine/dist/services/ingest/content-cleaner.js.map +1 -0
  250. package/engine/dist/services/ingest/github-ingest-service.d.ts +103 -0
  251. package/engine/dist/services/ingest/github-ingest-service.d.ts.map +1 -0
  252. package/engine/dist/services/ingest/github-ingest-service.js +537 -0
  253. package/engine/dist/services/ingest/github-ingest-service.js.map +1 -0
  254. package/engine/dist/services/ingest/ingest-atomic.d.ts +16 -0
  255. package/engine/dist/services/ingest/ingest-atomic.d.ts.map +1 -0
  256. package/engine/dist/services/ingest/ingest-atomic.js +437 -0
  257. package/engine/dist/services/ingest/ingest-atomic.js.map +1 -0
  258. package/engine/dist/services/ingest/ingest.d.ts +50 -0
  259. package/engine/dist/services/ingest/ingest.d.ts.map +1 -0
  260. package/engine/dist/services/ingest/ingest.js +230 -0
  261. package/engine/dist/services/ingest/ingest.js.map +1 -0
  262. package/engine/dist/services/ingest/watchdog.d.ts +31 -0
  263. package/engine/dist/services/ingest/watchdog.d.ts.map +1 -0
  264. package/engine/dist/services/ingest/watchdog.js +400 -0
  265. package/engine/dist/services/ingest/watchdog.js.map +1 -0
  266. package/engine/dist/services/llm/context.d.ts +6 -0
  267. package/engine/dist/services/llm/context.d.ts.map +1 -0
  268. package/engine/dist/services/llm/context.js +80 -0
  269. package/engine/dist/services/llm/context.js.map +1 -0
  270. package/engine/dist/services/llm/provider.d.ts +23 -0
  271. package/engine/dist/services/llm/provider.d.ts.map +1 -0
  272. package/engine/dist/services/llm/provider.js +338 -0
  273. package/engine/dist/services/llm/provider.js.map +1 -0
  274. package/engine/dist/services/llm/reader.d.ts +12 -0
  275. package/engine/dist/services/llm/reader.d.ts.map +1 -0
  276. package/engine/dist/services/llm/reader.js +40 -0
  277. package/engine/dist/services/llm/reader.js.map +1 -0
  278. package/engine/dist/services/mirror/mirror.d.ts +28 -0
  279. package/engine/dist/services/mirror/mirror.d.ts.map +1 -0
  280. package/engine/dist/services/mirror/mirror.js +208 -0
  281. package/engine/dist/services/mirror/mirror.js.map +1 -0
  282. package/engine/dist/services/nlp/nlp-service.d.ts +70 -0
  283. package/engine/dist/services/nlp/nlp-service.d.ts.map +1 -0
  284. package/engine/dist/services/nlp/nlp-service.js +151 -0
  285. package/engine/dist/services/nlp/nlp-service.js.map +1 -0
  286. package/engine/dist/services/nlp/query-parser.d.ts +9 -0
  287. package/engine/dist/services/nlp/query-parser.d.ts.map +1 -0
  288. package/engine/dist/services/nlp/query-parser.js +29 -0
  289. package/engine/dist/services/nlp/query-parser.js.map +1 -0
  290. package/engine/dist/services/query-builder/DataFrame.d.ts +95 -0
  291. package/engine/dist/services/query-builder/DataFrame.d.ts.map +1 -0
  292. package/engine/dist/services/query-builder/DataFrame.js +263 -0
  293. package/engine/dist/services/query-builder/DataFrame.js.map +1 -0
  294. package/engine/dist/services/query-builder/QueryBuilder.d.ts +106 -0
  295. package/engine/dist/services/query-builder/QueryBuilder.d.ts.map +1 -0
  296. package/engine/dist/services/query-builder/QueryBuilder.js +235 -0
  297. package/engine/dist/services/query-builder/QueryBuilder.js.map +1 -0
  298. package/engine/dist/services/query-builder/utils/export.d.ts +11 -0
  299. package/engine/dist/services/query-builder/utils/export.d.ts.map +1 -0
  300. package/engine/dist/services/query-builder/utils/export.js +130 -0
  301. package/engine/dist/services/query-builder/utils/export.js.map +1 -0
  302. package/engine/dist/services/research/researcher.d.ts +15 -0
  303. package/engine/dist/services/research/researcher.d.ts.map +1 -0
  304. package/engine/dist/services/research/researcher.js +123 -0
  305. package/engine/dist/services/research/researcher.js.map +1 -0
  306. package/engine/dist/services/scribe/scribe.d.ts +43 -0
  307. package/engine/dist/services/scribe/scribe.d.ts.map +1 -0
  308. package/engine/dist/services/scribe/scribe.js +135 -0
  309. package/engine/dist/services/scribe/scribe.js.map +1 -0
  310. package/engine/dist/services/search/bright-nodes.d.ts +41 -0
  311. package/engine/dist/services/search/bright-nodes.d.ts.map +1 -0
  312. package/engine/dist/services/search/bright-nodes.js +117 -0
  313. package/engine/dist/services/search/bright-nodes.js.map +1 -0
  314. package/engine/dist/services/search/context-inflator.d.ts +63 -0
  315. package/engine/dist/services/search/context-inflator.d.ts.map +1 -0
  316. package/engine/dist/services/search/context-inflator.js +649 -0
  317. package/engine/dist/services/search/context-inflator.js.map +1 -0
  318. package/engine/dist/services/search/context-manager.d.ts +34 -0
  319. package/engine/dist/services/search/context-manager.d.ts.map +1 -0
  320. package/engine/dist/services/search/context-manager.js +124 -0
  321. package/engine/dist/services/search/context-manager.js.map +1 -0
  322. package/engine/dist/services/search/distributed-query.d.ts +38 -0
  323. package/engine/dist/services/search/distributed-query.d.ts.map +1 -0
  324. package/engine/dist/services/search/distributed-query.js +105 -0
  325. package/engine/dist/services/search/distributed-query.js.map +1 -0
  326. package/engine/dist/services/search/explore.d.ts +73 -0
  327. package/engine/dist/services/search/explore.d.ts.map +1 -0
  328. package/engine/dist/services/search/explore.js +388 -0
  329. package/engine/dist/services/search/explore.js.map +1 -0
  330. package/engine/dist/services/search/graph-context-serializer.d.ts +76 -0
  331. package/engine/dist/services/search/graph-context-serializer.d.ts.map +1 -0
  332. package/engine/dist/services/search/graph-context-serializer.js +435 -0
  333. package/engine/dist/services/search/graph-context-serializer.js.map +1 -0
  334. package/engine/dist/services/search/llm-context-formatter.d.ts +122 -0
  335. package/engine/dist/services/search/llm-context-formatter.d.ts.map +1 -0
  336. package/engine/dist/services/search/llm-context-formatter.js +394 -0
  337. package/engine/dist/services/search/llm-context-formatter.js.map +1 -0
  338. package/engine/dist/services/search/physics-tag-walker.d.ts +115 -0
  339. package/engine/dist/services/search/physics-tag-walker.d.ts.map +1 -0
  340. package/engine/dist/services/search/physics-tag-walker.js +611 -0
  341. package/engine/dist/services/search/physics-tag-walker.js.map +1 -0
  342. package/engine/dist/services/search/query-parser.d.ts +66 -0
  343. package/engine/dist/services/search/query-parser.d.ts.map +1 -0
  344. package/engine/dist/services/search/query-parser.js +346 -0
  345. package/engine/dist/services/search/query-parser.js.map +1 -0
  346. package/engine/dist/services/search/search-utils.d.ts +100 -0
  347. package/engine/dist/services/search/search-utils.d.ts.map +1 -0
  348. package/engine/dist/services/search/search-utils.js +473 -0
  349. package/engine/dist/services/search/search-utils.js.map +1 -0
  350. package/engine/dist/services/search/search.d.ts +116 -0
  351. package/engine/dist/services/search/search.d.ts.map +1 -0
  352. package/engine/dist/services/search/search.js +1286 -0
  353. package/engine/dist/services/search/search.js.map +1 -0
  354. package/engine/dist/services/search/sovereign-system-prompt.d.ts +48 -0
  355. package/engine/dist/services/search/sovereign-system-prompt.d.ts.map +1 -0
  356. package/engine/dist/services/search/sovereign-system-prompt.js +101 -0
  357. package/engine/dist/services/search/sovereign-system-prompt.js.map +1 -0
  358. package/engine/dist/services/search/streaming-search.d.ts +51 -0
  359. package/engine/dist/services/search/streaming-search.d.ts.map +1 -0
  360. package/engine/dist/services/search/streaming-search.js +94 -0
  361. package/engine/dist/services/search/streaming-search.js.map +1 -0
  362. package/engine/dist/services/semantic/semantic-ingestion-service.d.ts +53 -0
  363. package/engine/dist/services/semantic/semantic-ingestion-service.d.ts.map +1 -0
  364. package/engine/dist/services/semantic/semantic-ingestion-service.js +625 -0
  365. package/engine/dist/services/semantic/semantic-ingestion-service.js.map +1 -0
  366. package/engine/dist/services/semantic/semantic-molecule-processor.d.ts +68 -0
  367. package/engine/dist/services/semantic/semantic-molecule-processor.d.ts.map +1 -0
  368. package/engine/dist/services/semantic/semantic-molecule-processor.js +176 -0
  369. package/engine/dist/services/semantic/semantic-molecule-processor.js.map +1 -0
  370. package/engine/dist/services/semantic/semantic-search.d.ts +52 -0
  371. package/engine/dist/services/semantic/semantic-search.d.ts.map +1 -0
  372. package/engine/dist/services/semantic/semantic-search.js +649 -0
  373. package/engine/dist/services/semantic/semantic-search.js.map +1 -0
  374. package/engine/dist/services/semantic/semantic-tag-deriver.d.ts +64 -0
  375. package/engine/dist/services/semantic/semantic-tag-deriver.d.ts.map +1 -0
  376. package/engine/dist/services/semantic/semantic-tag-deriver.js +191 -0
  377. package/engine/dist/services/semantic/semantic-tag-deriver.js.map +1 -0
  378. package/engine/dist/services/semantic/types/semantic.d.ts +26 -0
  379. package/engine/dist/services/semantic/types/semantic.d.ts.map +1 -0
  380. package/engine/dist/services/semantic/types/semantic.js +7 -0
  381. package/engine/dist/services/semantic/types/semantic.js.map +1 -0
  382. package/engine/dist/services/synonyms/auto-synonym-generator.d.ts +79 -0
  383. package/engine/dist/services/synonyms/auto-synonym-generator.d.ts.map +1 -0
  384. package/engine/dist/services/synonyms/auto-synonym-generator.js +415 -0
  385. package/engine/dist/services/synonyms/auto-synonym-generator.js.map +1 -0
  386. package/engine/dist/services/system-status.d.ts +68 -0
  387. package/engine/dist/services/system-status.d.ts.map +1 -0
  388. package/engine/dist/services/system-status.js +107 -0
  389. package/engine/dist/services/system-status.js.map +1 -0
  390. package/engine/dist/services/tags/discovery.d.ts +16 -0
  391. package/engine/dist/services/tags/discovery.d.ts.map +1 -0
  392. package/engine/dist/services/tags/discovery.js +206 -0
  393. package/engine/dist/services/tags/discovery.js.map +1 -0
  394. package/engine/dist/services/tags/gliner.d.ts +18 -0
  395. package/engine/dist/services/tags/gliner.d.ts.map +1 -0
  396. package/engine/dist/services/tags/gliner.js +119 -0
  397. package/engine/dist/services/tags/gliner.js.map +1 -0
  398. package/engine/dist/services/tags/infector.d.ts +21 -0
  399. package/engine/dist/services/tags/infector.d.ts.map +1 -0
  400. package/engine/dist/services/tags/infector.js +168 -0
  401. package/engine/dist/services/tags/infector.js.map +1 -0
  402. package/engine/dist/services/tags/tag-auditor.d.ts +77 -0
  403. package/engine/dist/services/tags/tag-auditor.d.ts.map +1 -0
  404. package/engine/dist/services/tags/tag-auditor.js +283 -0
  405. package/engine/dist/services/tags/tag-auditor.js.map +1 -0
  406. package/engine/dist/services/taxonomy/taxonomy-manager.d.ts +50 -0
  407. package/engine/dist/services/taxonomy/taxonomy-manager.d.ts.map +1 -0
  408. package/engine/dist/services/taxonomy/taxonomy-manager.js +291 -0
  409. package/engine/dist/services/taxonomy/taxonomy-manager.js.map +1 -0
  410. package/engine/dist/services/vision/vision_service.d.ts +4 -0
  411. package/engine/dist/services/vision/vision_service.d.ts.map +1 -0
  412. package/engine/dist/services/vision/vision_service.js +197 -0
  413. package/engine/dist/services/vision/vision_service.js.map +1 -0
  414. package/engine/dist/test-framework/core.d.ts +133 -0
  415. package/engine/dist/test-framework/core.d.ts.map +1 -0
  416. package/engine/dist/test-framework/core.js +313 -0
  417. package/engine/dist/test-framework/core.js.map +1 -0
  418. package/engine/dist/test-framework/dataset-runner.d.ts +78 -0
  419. package/engine/dist/test-framework/dataset-runner.d.ts.map +1 -0
  420. package/engine/dist/test-framework/dataset-runner.js +223 -0
  421. package/engine/dist/test-framework/dataset-runner.js.map +1 -0
  422. package/engine/dist/test-framework/diagnostic-tests.d.ts +38 -0
  423. package/engine/dist/test-framework/diagnostic-tests.d.ts.map +1 -0
  424. package/engine/dist/test-framework/diagnostic-tests.js +283 -0
  425. package/engine/dist/test-framework/diagnostic-tests.js.map +1 -0
  426. package/engine/dist/test-framework/performance-regression-tests.d.ts +30 -0
  427. package/engine/dist/test-framework/performance-regression-tests.d.ts.map +1 -0
  428. package/engine/dist/test-framework/performance-regression-tests.js +331 -0
  429. package/engine/dist/test-framework/performance-regression-tests.js.map +1 -0
  430. package/engine/dist/types/api.d.ts +53 -0
  431. package/engine/dist/types/api.d.ts.map +1 -0
  432. package/engine/dist/types/api.js +2 -0
  433. package/engine/dist/types/api.js.map +1 -0
  434. package/engine/dist/types/atomic.d.ts +42 -0
  435. package/engine/dist/types/atomic.d.ts.map +1 -0
  436. package/engine/dist/types/atomic.js +10 -0
  437. package/engine/dist/types/atomic.js.map +1 -0
  438. package/engine/dist/types/context-protocol.d.ts +137 -0
  439. package/engine/dist/types/context-protocol.d.ts.map +1 -0
  440. package/engine/dist/types/context-protocol.js +28 -0
  441. package/engine/dist/types/context-protocol.js.map +1 -0
  442. package/engine/dist/types/context.d.ts +2 -0
  443. package/engine/dist/types/context.d.ts.map +1 -0
  444. package/engine/dist/types/context.js +2 -0
  445. package/engine/dist/types/context.js.map +1 -0
  446. package/engine/dist/types/index.d.ts +20 -0
  447. package/engine/dist/types/index.d.ts.map +1 -0
  448. package/engine/dist/types/index.js +18 -0
  449. package/engine/dist/types/index.js.map +1 -0
  450. package/engine/dist/types/search.d.ts +31 -0
  451. package/engine/dist/types/search.d.ts.map +1 -0
  452. package/engine/dist/types/search.js +2 -0
  453. package/engine/dist/types/search.js.map +1 -0
  454. package/engine/dist/types/taxonomy.d.ts +137 -0
  455. package/engine/dist/types/taxonomy.d.ts.map +1 -0
  456. package/engine/dist/types/taxonomy.js +138 -0
  457. package/engine/dist/types/taxonomy.js.map +1 -0
  458. package/engine/dist/types/taxonomy.simple.d.ts +131 -0
  459. package/engine/dist/types/taxonomy.simple.d.ts.map +1 -0
  460. package/engine/dist/types/taxonomy.simple.js +132 -0
  461. package/engine/dist/types/taxonomy.simple.js.map +1 -0
  462. package/engine/dist/types/tool-call.d.ts +16 -0
  463. package/engine/dist/types/tool-call.d.ts.map +1 -0
  464. package/engine/dist/types/tool-call.js +6 -0
  465. package/engine/dist/types/tool-call.js.map +1 -0
  466. package/engine/dist/types/trace.d.ts +25 -0
  467. package/engine/dist/types/trace.d.ts.map +1 -0
  468. package/engine/dist/types/trace.js +5 -0
  469. package/engine/dist/types/trace.js.map +1 -0
  470. package/engine/dist/utils/adaptive-concurrency.d.ts +81 -0
  471. package/engine/dist/utils/adaptive-concurrency.d.ts.map +1 -0
  472. package/engine/dist/utils/adaptive-concurrency.js +266 -0
  473. package/engine/dist/utils/adaptive-concurrency.js.map +1 -0
  474. package/engine/dist/utils/date_extractor.d.ts +2 -0
  475. package/engine/dist/utils/date_extractor.d.ts.map +1 -0
  476. package/engine/dist/utils/date_extractor.js +32 -0
  477. package/engine/dist/utils/date_extractor.js.map +1 -0
  478. package/engine/dist/utils/native-module-manager.d.ts +48 -0
  479. package/engine/dist/utils/native-module-manager.d.ts.map +1 -0
  480. package/engine/dist/utils/native-module-manager.js +265 -0
  481. package/engine/dist/utils/native-module-manager.js.map +1 -0
  482. package/engine/dist/utils/native-module-profiler.d.ts +66 -0
  483. package/engine/dist/utils/native-module-profiler.d.ts.map +1 -0
  484. package/engine/dist/utils/native-module-profiler.js +182 -0
  485. package/engine/dist/utils/native-module-profiler.js.map +1 -0
  486. package/engine/dist/utils/path-manager.d.ts +59 -0
  487. package/engine/dist/utils/path-manager.d.ts.map +1 -0
  488. package/engine/dist/utils/path-manager.js +154 -0
  489. package/engine/dist/utils/path-manager.js.map +1 -0
  490. package/engine/dist/utils/performance-monitor.d.ts +92 -0
  491. package/engine/dist/utils/performance-monitor.d.ts.map +1 -0
  492. package/engine/dist/utils/performance-monitor.js +221 -0
  493. package/engine/dist/utils/performance-monitor.js.map +1 -0
  494. package/engine/dist/utils/process-manager.d.ts +18 -0
  495. package/engine/dist/utils/process-manager.d.ts.map +1 -0
  496. package/engine/dist/utils/process-manager.js +100 -0
  497. package/engine/dist/utils/process-manager.js.map +1 -0
  498. package/engine/dist/utils/request-tracer.d.ts +131 -0
  499. package/engine/dist/utils/request-tracer.d.ts.map +1 -0
  500. package/engine/dist/utils/request-tracer.js +414 -0
  501. package/engine/dist/utils/request-tracer.js.map +1 -0
  502. package/engine/dist/utils/resource-manager.d.ts +108 -0
  503. package/engine/dist/utils/resource-manager.d.ts.map +1 -0
  504. package/engine/dist/utils/resource-manager.js +235 -0
  505. package/engine/dist/utils/resource-manager.js.map +1 -0
  506. package/engine/dist/utils/safe-dns.d.ts +14 -0
  507. package/engine/dist/utils/safe-dns.d.ts.map +1 -0
  508. package/engine/dist/utils/safe-dns.js +105 -0
  509. package/engine/dist/utils/safe-dns.js.map +1 -0
  510. package/engine/dist/utils/structured-logger.d.ts +124 -0
  511. package/engine/dist/utils/structured-logger.d.ts.map +1 -0
  512. package/engine/dist/utils/structured-logger.js +332 -0
  513. package/engine/dist/utils/structured-logger.js.map +1 -0
  514. package/engine/dist/utils/tag-cleanup.d.ts +11 -0
  515. package/engine/dist/utils/tag-cleanup.d.ts.map +1 -0
  516. package/engine/dist/utils/tag-cleanup.js +111 -0
  517. package/engine/dist/utils/tag-cleanup.js.map +1 -0
  518. package/engine/dist/utils/tag-filter.d.ts +19 -0
  519. package/engine/dist/utils/tag-filter.d.ts.map +1 -0
  520. package/engine/dist/utils/tag-filter.js +147 -0
  521. package/engine/dist/utils/tag-filter.js.map +1 -0
  522. package/engine/dist/utils/tag-modulation.d.ts +80 -0
  523. package/engine/dist/utils/tag-modulation.d.ts.map +1 -0
  524. package/engine/dist/utils/tag-modulation.js +284 -0
  525. package/engine/dist/utils/tag-modulation.js.map +1 -0
  526. package/engine/dist/utils/timer.d.ts +40 -0
  527. package/engine/dist/utils/timer.d.ts.map +1 -0
  528. package/engine/dist/utils/timer.js +76 -0
  529. package/engine/dist/utils/timer.js.map +1 -0
  530. package/engine/dist/utils/token-utils.d.ts +19 -0
  531. package/engine/dist/utils/token-utils.d.ts.map +1 -0
  532. package/engine/dist/utils/token-utils.js +71 -0
  533. package/engine/dist/utils/token-utils.js.map +1 -0
  534. package/engine/dist/utils/wasm-module-loader.d.ts +50 -0
  535. package/engine/dist/utils/wasm-module-loader.d.ts.map +1 -0
  536. package/engine/dist/utils/wasm-module-loader.js +136 -0
  537. package/engine/dist/utils/wasm-module-loader.js.map +1 -0
  538. package/engine/package.json +105 -0
  539. package/package.json +106 -0
package/README.md ADDED
@@ -0,0 +1,317 @@
1
+ # Anchor Engine ⚓
2
+
3
+ **Deterministic semantic memory for LLMs – local-first, graph traversal, <1GB RAM**
4
+
5
+ [![GitHub release](https://img.shields.io/github/v/release/RSBalchII/anchor-engine-node)](https://github.com/RSBalchII/anchor-engine-node/releases)
6
+ [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
7
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
8
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18841399.svg)](https://doi.org/10.5281/zenodo.18841399)
9
+
10
+ ---
11
+
12
+ ## 🌟 Why Anchor Engine?
13
+
14
+ Modern AI memory is broken.
15
+
16
+ Vector databases demand GPUs, gigabytes of RAM, and cloud infrastructure. They're opaque, expensive, and fundamentally incompatible with personal, local‑first AI.
17
+
18
+ **Anchor Engine takes a different path.**
19
+
20
+ It's a **deterministic, explainable, CPU‑only memory engine** that runs on anything—from a $200 laptop to a workstation—and retrieves context using a physics‑inspired graph algorithm instead of dense vectors.
21
+
22
+ If you want:
23
+ - **Local‑first AI** – your data stays yours
24
+ - **Explainable retrieval** – know *why* something was returned
25
+ - **Deterministic results** – same query, same answer, every time
26
+ - **Zero cloud dependency** – no API keys, no servers
27
+ - **<1GB RAM usage** – runs alongside your browser
28
+ - **High‑speed ingestion** – 100MB in minutes
29
+
30
+ …then Anchor Engine is built for you.
31
+
32
+ ---
33
+
34
+ ## ⚡ Quick Start (5 Minutes)
35
+
36
+ ```bash
37
+ # 1. Clone & Install
38
+ git clone https://github.com/RSBalchII/anchor-engine-node.git
39
+ cd anchor-engine-node
40
+ pnpm install
41
+ pnpm build
42
+
43
+ # 2. Start the engine
44
+ pnpm start
45
+
46
+ # 3. Open your browser
47
+ open http://localhost:3160
48
+ ```
49
+
50
+ That's it! You now have a sovereign memory system for your LLM.
51
+
52
+ ---
53
+
54
+ ## 📊 Anchor Engine vs. Vector RAG
55
+
56
+ | Feature | Anchor Engine | Vector RAG |
57
+ |---------|---------------|------------|
58
+ | **Hardware** | CPU‑only | GPU preferred |
59
+ | **RAM Usage** | <1GB | 4–8GB |
60
+ | **Explainability** | Native (tags, hops, decay) | None (black box) |
61
+ | **Deterministic** | ✅ Yes | ❌ No |
62
+ | **Cloud Required** | ❌ No | Often |
63
+ | **Retrieval Complexity** | O(k·d̄) linear | O(n log n) |
64
+ | **License** | AGPL-3.0 (open) | Varies (often proprietary) |
65
+
66
+ ---
67
+
68
+ ## 🧠 The STAR Algorithm
69
+
70
+ Anchor Engine uses **STAR** (Semantic Temporal Associative Retrieval)—a physics‑inspired scoring equation that combines:
71
+
72
+ ```
73
+ W(q,a) = |T(q) ∩ T(a)| · γ^d(q,a) × e^(−λΔt) × (1 − H(h_q, h_a)/64)
74
+ ↑ Semantic Gravity ↑ Temporal Decay ↑ Structural Gravity
75
+ ```
76
+
77
+ | Component | What It Does |
78
+ |-----------|--------------|
79
+ | **Semantic Gravity** | Shared tags × hop‑distance damping (γ = 0.85) |
80
+ | **Temporal Decay** | Recent memories pull harder (half-life ~115 min) |
81
+ | **Structural Gravity** | SimHash proximity (64-bit fingerprints) |
82
+
83
+ **Result:** O(k·d̄) retrieval—dramatically faster than vector ANN for personal datasets. Every atom includes **provenance**: shared tags, hop distance, recency, and byte‑range pointers.
84
+
85
+ ---
86
+
87
+ ## ⚓ Why "Anchor"?
88
+
89
+ > **Drop a query into your memory graph.**
90
+ > **The Anchor finds the semantic bottom.**
91
+ > **The chain plays out to your chosen radius.**
92
+ > **What's retrieved is what's relevant—nothing more, nothing less.**
93
+ > **Same anchor, same spot, same result. Every time.**
94
+ > **This isn't a metaphor. It's the algorithm.**
95
+
96
+ | Anchor Quality | How It Maps to STAR |
97
+ |----------------|---------------------|
98
+ | **Drops to a point** | Query finds seed atoms (anchor discovery) |
99
+ | **Defines a radius** | Chain length = token budget (hop distance) |
100
+ | **Holds against drift** | Deterministic retrieval (no semantic drift) |
101
+ | **Connects to the ship** | Retrieved context → LLM (your ship) |
102
+ | **Works in deep water** | Scales from 10MB to 10GB graphs |
103
+
104
+ The name isn't marketing. It's architecture.
105
+
106
+ ---
107
+
108
+ ## 📥 Ingest Your Data
109
+
110
+ ### Option 1: Web UI (Easiest)
111
+ 1. Open http://localhost:3160
112
+ 2. Click **"Manage Paths"** → Add folders to watch
113
+ 3. Or use **"Paste & Ingest"** tab for quick text
114
+
115
+ ### Option 2: API
116
+ ```bash
117
+ curl -X POST http://localhost:3160/v1/research/upload-raw \
118
+ -H "Content-Type: application/json" \
119
+ -d '{
120
+ "content": "Your text here...",
121
+ "filename": "notes.md",
122
+ "bucket": "inbox"
123
+ }'
124
+ ```
125
+
126
+ ### Option 3: MCP (Claude, Cursor, Qwen Code)
127
+ ```
128
+ /anchor_ingest_text content="Meeting notes..." filename="meeting.md" bucket="inbox"
129
+ ```
130
+
131
+ ---
132
+
133
+ ## 🔍 Search Your Memory
134
+
135
+ ### Web UI
136
+ - Natural language queries
137
+ - Adjustable token budget slider
138
+ - Filter by buckets/tags
139
+
140
+ ### API
141
+ ```bash
142
+ curl -X POST http://localhost:3160/v1/memory/search \
143
+ -H "Content-Type: application/json" \
144
+ -d '{
145
+ "query": "What did we discuss about OAuth?",
146
+ "token_budget": 2048
147
+ }'
148
+ ```
149
+
150
+ ### MCP Tools
151
+ ```
152
+ /anchor_query query="OAuth authentication setup"
153
+ /anchor_search_index query="career planning"
154
+ /anchor_fetch_session session_id="abc-123"
155
+ ```
156
+
157
+ ---
158
+
159
+ ## 🏛️ Our Philosophy: AI Memory Should Work Like Your Brain
160
+
161
+ Human memory is remarkably efficient. It runs on ~20 watts, forgets irrelevant details, and over time clarifies core truths rather than drowning in noise. It doesn't store raw experiences—it stores *patterns*, *relationships*, and *meaning*.
162
+
163
+ Most AI memory systems do the opposite: they hoard data, brute‑force compute similarity, and require massive infrastructure.
164
+
165
+ **Anchor Engine was built on a different premise: AI memory should work like the human mind—lightweight, connected, and self‑clarifying.**
166
+
167
+ | Principle | What It Means | How Anchor Implements It |
168
+ |-----------|---------------|--------------------------|
169
+ | **🧠 Forgetting is a feature** | The brain forgets constantly, leaving only what matters | `distill:` command removes redundancy; temporal decay |
170
+ | **🔗 Meaning lives in relationships** | We store how concepts connect, not isolated facts | Graph model with typed edges; STAR algorithm |
171
+ | **⚡ Low power, high efficiency** | The brain achieves its magic on ~20 watts | Pointer‑only database; content on disk; <1GB RAM |
172
+ | **💎 Clarity through distillation** | Memory builds higher‑level abstractions over time | Decision Records v2.0 extract the *why* |
173
+ | **🔍 Explainability builds trust** | You know *why* a memory came to mind | Provenance tracking; receipts with timestamps |
174
+
175
+ > **Why This Matters:** Most AI memory systems are built for **scale**, not for **sense**. Anchor Engine is designed for **sense‑making**—for agents that need to remember not just *what* happened, but *why*, and to get *clearer* over time.
176
+
177
+ ---
178
+
179
+ ## 🏗️ Architecture at a Glance
180
+
181
+ ```
182
+ ┌─────────────────────────────────────────────────────────────┐
183
+ │ YOU │
184
+ └────────────────────┬────────────────────────────────────────┘
185
+
186
+
187
+ ┌─────────────────────────────────────────────────────────────┐
188
+ │ ⚡ ANCHOR ENGINE │
189
+ │ (Deterministic Memory Layer) │
190
+ │ │
191
+ │ - Graph traversal (STAR algorithm) │
192
+ │ - Pointer-only index (<1GB RAM) │
193
+ │ - Deterministic retrieval (same query = same result) │
194
+ └────────────────────┬────────────────────────────────────────┘
195
+
196
+ ┌───────────┼───────────┐
197
+ │ │ │
198
+ ▼ ▼ ▼
199
+ ┌──────────────┐ ┌──────────┐ ┌─────────────┐
200
+ │ PGlite │ │ mirrored │ │ MCP Clients │
201
+ │ (WASM DB) │ │ _brain/ │ │ (Claude, │
202
+ │ │ │ (Content)│ │ Cursor) │
203
+ └──────────────┘ └──────────┘ └─────────────┘
204
+ ```
205
+
206
+ **Key Insight:** Content lives in `mirrored_brain/` filesystem. Database stores **pointers only** (byte offsets + metadata). This makes the database **disposable and rebuildable**—wipe it and restore in minutes.
207
+
208
+ ---
209
+
210
+ ## 📊 Benchmarks (Real Production Data)
211
+
212
+ **Dataset:** 91MB chat history (~25M tokens)
213
+
214
+ | Metric | Result |
215
+ |--------|--------|
216
+ | **Molecules** | 280,000 |
217
+ | **Atoms** | 151,876 |
218
+ | **Files** | 436 |
219
+ | **Ingestion Time** | 178 seconds |
220
+ | **Search Latency (p95)** | <200ms |
221
+ | **Memory (idle)** | ~600MB |
222
+ | **Memory (peak)** | ~1.6GB |
223
+ | **Restore Speed** | 281,690 atoms in 13.8 min |
224
+
225
+ **Hardware:** AMD Ryzen / Intel i7, 16GB RAM, NVMe SSD, no GPU.
226
+
227
+ ---
228
+
229
+ ## 🛠️ What's New in v4.8.0
230
+
231
+ ### MCP Write Operations
232
+ - **`anchor_ingest_text`** - Ingest raw text directly
233
+ - **`anchor_ingest_file`** - Ingest files from filesystem
234
+ - Security toggle (opt-in via `user_settings.json`)
235
+
236
+ ### Session Index
237
+ - **`anchor_search_index`** - Fast chat session lookup
238
+ - **`anchor_fetch_session`** - Targeted session retrieval
239
+ - Two-tier memory retrieval
240
+
241
+ ### Web UI Improvements
242
+ - **Paste & Ingest** tab - Quick text ingestion
243
+ - Version badge (v4.8.0)
244
+ - Bucket selector (inbox vs external-inbox)
245
+
246
+ ### Documentation Overhaul
247
+ - 5 new docs (API, Deployment, Troubleshooting, Source Overview, Testing)
248
+ - Philosophy embedded throughout
249
+ - 7 redundant files archived
250
+
251
+ ---
252
+
253
+ ## 📚 Documentation
254
+
255
+ ### Getting Started
256
+ - **[Quick Start](#-quick-start-5-minutes)** - Install & first query
257
+ - **[docs/API.md](docs/API.md)** - Complete API reference
258
+ - **[docs/DEPLOYMENT.md](docs/DEPLOYMENT.md)** - Deployment guide (local, Docker, VPS, K8s)
259
+ - **[docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md)** - Common issues & fixes
260
+
261
+ ### Deep Dive
262
+ - **[docs/whitepaper.md](docs/whitepaper.md)** - STAR algorithm whitepaper
263
+ - **[specs/spec.md](specs/spec.md)** - System specification with diagrams
264
+ - **[specs/current-standards/](specs/current-standards/)** - Active standards (001-010)
265
+ - **[engine/src/README.md](engine/src/README.md)** - Source code overview
266
+
267
+ ### Integration
268
+ - **[mcp-server/README.md](mcp-server/README.md)** - MCP integration (Claude, Cursor, Qwen)
269
+ - **[tests/README.md](tests/README.md)** - Testing guide
270
+ - **[benchmarks/README.md](benchmarks/README.md)** - Performance benchmarks
271
+
272
+ ---
273
+
274
+ ## 🤝 Contributing
275
+
276
+ We're building in the open and welcome your input!
277
+
278
+ - **Star the repo** – Helps others find it
279
+ - **Open an issue** – Bugs, features, questions
280
+ - **Start a discussion** – Share use cases
281
+ - **Contribute** – PRs welcome!
282
+
283
+ See [`CONTRIBUTING.md`](CONTRIBUTING.md) for guidelines.
284
+
285
+ **Community Health:**
286
+ - [`CODEOWNERS`](.github/CODEOWNERS) - Automatic reviewer assignment
287
+ - [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md) - Community standards
288
+ - [`CONTRIBUTING.md`](CONTRIBUTING.md) - Contribution guide
289
+
290
+ ---
291
+
292
+ ## 📜 License
293
+
294
+ AGPL-3.0 – see [LICENSE](LICENSE).
295
+
296
+ ---
297
+
298
+ ## 🙏 Acknowledgments
299
+
300
+ Built with ❤️ by Robert Balch II and contributors.
301
+ Inspired by the r/LocalLLaMA and r/aiagents communities.
302
+
303
+ **Citation:**
304
+ ```bibtex
305
+ @software{anchor_engine,
306
+ title = {STAR: Semantic Temporal Associative Retrieval},
307
+ author = {Balch II, R.S.},
308
+ version = {4.8.0},
309
+ date = {2026-03-18},
310
+ url = {https://github.com/RSBalchII/anchor-engine-node},
311
+ doi = {10.5281/zenodo.18841399}
312
+ }
313
+ ```
314
+
315
+ ---
316
+
317
+ *Your AI's anchor to reality.* ⚓
package/anchor.bat ADDED
@@ -0,0 +1,5 @@
1
+ @echo off
2
+ echo Launching Anchor Console...
3
+ cd engine
4
+ npx ts-node tools/anchor.ts
5
+ pause
package/docs/API.md ADDED
@@ -0,0 +1,314 @@
1
+ # Anchor Engine - API Reference
2
+
3
+ **Version:** 4.8.0 | **Base URL:** `http://localhost:3160`
4
+
5
+ ---
6
+
7
+ ## Quick Reference
8
+
9
+ | Category | Endpoints |
10
+ |----------|-----------|
11
+ | **🔍 Search** | `POST /v1/memory/search`, `POST /v1/memory/explore` |
12
+ | **📦 Distill** | `POST /v1/memory/distill` |
13
+ | **📥 Ingest** | `POST /v1/ingest`, `POST /v1/ingest/streaming` |
14
+ | **📂 Files** | `GET /v1/files/read` |
15
+ | **⚙️ System** | `GET /v1/system/status`, `GET /v1/stats` |
16
+ | **🔧 Admin** | `POST /v1/admin/*` (requires auth) |
17
+
18
+ Full API map: [`specs/API-ROUTE-MAP.md`](../specs/API-ROUTE-MAP.md)
19
+
20
+ ---
21
+
22
+ ## 🔍 Search Endpoints
23
+
24
+ ### POST `/v1/memory/search`
25
+
26
+ Search the knowledge graph using STAR algorithm.
27
+
28
+ **Request:**
29
+ ```json
30
+ {
31
+ "query": "OAuth authentication setup",
32
+ "token_budget": 2048,
33
+ "max_chars": 8192,
34
+ "provenance": "all",
35
+ "buckets": ["inbox"],
36
+ "tags": ["authentication"],
37
+ "strategy": "standard"
38
+ }
39
+ ```
40
+
41
+ **Response:**
42
+ ```json
43
+ {
44
+ "results": [
45
+ {
46
+ "id": "atom_123",
47
+ "content": "We set up GitHub OAuth...",
48
+ "source": "inbox/chat-2026-03-09.jsonl",
49
+ "score": 0.95,
50
+ "timestamp": "2026-03-09T21:41:20Z"
51
+ }
52
+ ],
53
+ "metadata": {
54
+ "atomCount": 5,
55
+ "filledPercent": 45
56
+ }
57
+ }
58
+ ```
59
+
60
+ ---
61
+
62
+ ### POST `/v1/memory/explore`
63
+
64
+ Graph exploration (BFS traversal).
65
+
66
+ **Request:**
67
+ ```json
68
+ {
69
+ "seed": {
70
+ "query": "agent frameworks",
71
+ "limit_seeds": 8
72
+ },
73
+ "max_depth": 3,
74
+ "max_nodes": 50
75
+ }
76
+ ```
77
+
78
+ **Response:**
79
+ ```json
80
+ {
81
+ "results": [
82
+ {
83
+ "id": "atom_456",
84
+ "content": "...",
85
+ "score": 0.87,
86
+ "hop_distance": 1
87
+ }
88
+ ]
89
+ }
90
+ ```
91
+
92
+ ---
93
+
94
+ ## 📦 Distill Endpoints
95
+
96
+ ### POST `/v1/memory/distill`
97
+
98
+ Run radial distillation to compress knowledge.
99
+
100
+ **Request:**
101
+ ```json
102
+ {
103
+ "seed": {
104
+ "query": "career planning"
105
+ },
106
+ "radius": 3,
107
+ "max_nodes": 500,
108
+ "output_format": "json"
109
+ }
110
+ ```
111
+
112
+ **Response:**
113
+ ```json
114
+ {
115
+ "status": "success",
116
+ "stats": {
117
+ "compounds_processed": 15,
118
+ "blocks_total": 234,
119
+ "blocks_unique": 89,
120
+ "compression_ratio": "2.6:1"
121
+ },
122
+ "output": {
123
+ "path": "distills/distilled_2026-03-18.json"
124
+ }
125
+ }
126
+ ```
127
+
128
+ ---
129
+
130
+ ## 📥 Ingest Endpoints
131
+
132
+ ### POST `/v1/ingest`
133
+
134
+ Ingest text content.
135
+
136
+ **Request:**
137
+ ```json
138
+ {
139
+ "content": "Meeting notes...",
140
+ "filename": "meeting-2026-03-18.md",
141
+ "bucket": "inbox"
142
+ }
143
+ ```
144
+
145
+ ### POST `/v1/ingest/streaming`
146
+
147
+ Stream large file ingestion with progress tracking.
148
+
149
+ ---
150
+
151
+ ## 📂 Files Endpoints
152
+
153
+ ### GET `/v1/files/read`
154
+
155
+ Read file with optional line range.
156
+
157
+ **Request:**
158
+ ```
159
+ GET /v1/files/read?path=inbox%2Fmeeting-notes.md&start_line=0&end_line=100
160
+ ```
161
+
162
+ **Response:**
163
+ ```json
164
+ {
165
+ "content": "# Meeting Notes\n\n...",
166
+ "line_count": 45
167
+ }
168
+ ```
169
+
170
+ ---
171
+
172
+ ## ⚙️ System Endpoints
173
+
174
+ ### GET `/v1/system/status`
175
+
176
+ Get system health status.
177
+
178
+ **Response:**
179
+ ```json
180
+ {
181
+ "status": "ok",
182
+ "uptime": "2d 4h 15m",
183
+ "memory_mb": 512
184
+ }
185
+ ```
186
+
187
+ ### GET `/v1/stats`
188
+
189
+ Get knowledge graph statistics.
190
+
191
+ **Response:**
192
+ ```json
193
+ {
194
+ "atoms": 314000,
195
+ "molecules": 280000,
196
+ "compounds": 183,
197
+ "tags": 842
198
+ }
199
+ ```
200
+
201
+ ---
202
+
203
+ ## 🔧 MCP Tools
204
+
205
+ For MCP clients (Claude, Cursor, Qwen Code):
206
+
207
+ | Tool | Description |
208
+ |------|-------------|
209
+ | `anchor_query` | Search memory |
210
+ | `anchor_distill` | Run distillation |
211
+ | `anchor_illuminate` | BFS traversal |
212
+ | `anchor_read_file` | Read files |
213
+ | `anchor_list_compounds` | List compounds |
214
+ | `anchor_get_stats` | Get statistics |
215
+ | `anchor_ingest_text` | Ingest text (opt-in) |
216
+ | `anchor_ingest_file` | Ingest file (opt-in) |
217
+
218
+ Full MCP docs: [`mcp-server/README.md`](../mcp-server/README.md)
219
+
220
+ ---
221
+
222
+ ## Authentication
223
+
224
+ Most endpoints are open for local use. Admin endpoints require API key:
225
+
226
+ ```bash
227
+ curl -H "Authorization: Bearer YOUR_API_KEY" \
228
+ http://localhost:3160/v1/admin/...
229
+ ```
230
+
231
+ Configure in `user_settings.json`:
232
+ ```json
233
+ {
234
+ "server": {
235
+ "api_key": "your-secret-key"
236
+ }
237
+ }
238
+ ```
239
+
240
+ ---
241
+
242
+ ## Error Responses
243
+
244
+ **400 Bad Request:**
245
+ ```json
246
+ {
247
+ "status": "error",
248
+ "error": "Invalid token_budget: must be positive integer"
249
+ }
250
+ ```
251
+
252
+ **404 Not Found:**
253
+ ```json
254
+ {
255
+ "status": "error",
256
+ "error": "File not found: inbox/missing.md"
257
+ }
258
+ ```
259
+
260
+ **500 Internal Error:**
261
+ ```json
262
+ {
263
+ "status": "error",
264
+ "error": "Database not initialized"
265
+ }
266
+ ```
267
+
268
+ ---
269
+
270
+ ## Rate Limiting
271
+
272
+ Default: 60 requests/minute. Configure in `user_settings.json`:
273
+ ```json
274
+ {
275
+ "rate_limit": {
276
+ "requests_per_minute": 100
277
+ }
278
+ }
279
+ ```
280
+
281
+ ---
282
+
283
+ ## Examples
284
+
285
+ ### Search with Context
286
+ ```bash
287
+ curl -X POST http://localhost:3160/v1/memory/search \
288
+ -H "Content-Type: application/json" \
289
+ -d '{
290
+ "query": "What did we discuss about OAuth?",
291
+ "token_budget": 4096
292
+ }'
293
+ ```
294
+
295
+ ### Distill Knowledge
296
+ ```bash
297
+ curl -X POST http://localhost:3160/v1/memory/distill \
298
+ -H "Content-Type: application/json" \
299
+ -d '{
300
+ "seed": {"query": "AI agents"},
301
+ "radius": 3
302
+ }'
303
+ ```
304
+
305
+ ### Ingest Text
306
+ ```bash
307
+ curl -X POST http://localhost:3160/v1/research/upload-raw \
308
+ -H "Content-Type: application/json" \
309
+ -d '{
310
+ "content": "Meeting notes...",
311
+ "filename": "notes.md",
312
+ "bucket": "inbox"
313
+ }'
314
+ ```