@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
@@ -0,0 +1,199 @@
1
+ import { config } from '../../config/index.js';
2
+ import { detectIntent, assembleAndSerialize } from '../../services/search/graph-context-serializer.js';
3
+ import { buildSovereignPrompt } from '../../services/search/sovereign-system-prompt.js';
4
+ /**
5
+ * Rolling Context Slicer (Feature 8) - Neuro-Symbolic Bridge Edition
6
+ *
7
+ * Implements "Middle-Out" Context Budgeting with Structured Graph Output.
8
+ * Prioritizes atoms based on a mix of Relevance (Vector Similarity) and Recency.
9
+ *
10
+ * Strategy:
11
+ * 1. Rank Candidates: Score = (Relevance * 0.7) + (RecencyNorm * 0.3).
12
+ * 2. Select: Fill budget with highest ranked atoms.
13
+ * 3. Smart Slice: If an atom fits partially, slice around the keyword match (windowing).
14
+ * 4. Order: Sort selected atoms Chronologically (or by Sequence) for linear readability.
15
+ */
16
+ export function composeRollingContext(query, results, tokenBudget = 4096) {
17
+ // Constants
18
+ const CHARS_PER_TOKEN = 4; // Rough estimate
19
+ // Safety Buffer: Target 95% of budget to account for multibyte chars / math errors
20
+ const SAFE_BUDGET = Math.floor(tokenBudget * 0.95);
21
+ const charBudget = SAFE_BUDGET * CHARS_PER_TOKEN;
22
+ // 1. Dynamic Recency Analysis
23
+ // Check for temporal signals in query
24
+ const temporalSignals = ["recent", "latest", "new", "today", "now", "current", "last"];
25
+ const hasTemporalSignal = temporalSignals.some(signal => query.toLowerCase().includes(signal));
26
+ // Adjust weights based on intent
27
+ // Default: Relevance 70%, Recency 30%
28
+ // Temporal: Relevance 40%, Recency 60%
29
+ const RELEVANCE_WEIGHT = hasTemporalSignal ? 0.4 : config.CONTEXT_RELEVANCE_WEIGHT;
30
+ const RECENCY_WEIGHT = hasTemporalSignal ? 0.6 : config.CONTEXT_RECENCY_WEIGHT;
31
+ // 2. Normalize Recency & Score
32
+ const now = Date.now();
33
+ const oneMonth = 30 * 24 * 60 * 60 * 1000;
34
+ const candidates = results.map(atom => {
35
+ const atomTimestamp = typeof atom.timestamp === 'number' && !isNaN(atom.timestamp)
36
+ ? atom.timestamp
37
+ : now;
38
+ const age = Math.max(0, now - atomTimestamp);
39
+ // Recency Score: 1.0 = Brand new, 0.0 = >1 Month old (clamped)
40
+ const recencyScore = Math.max(0, 1.0 - (age / oneMonth));
41
+ // Final Mixed Score
42
+ const mixedScore = (atom.score * RELEVANCE_WEIGHT) + (recencyScore * RECENCY_WEIGHT);
43
+ return { ...atom, timestamp: atomTimestamp, mixedScore, recencyScore };
44
+ });
45
+ // 3. Sort by Mixed Score (Descending)
46
+ candidates.sort((a, b) => b.mixedScore - a.mixedScore);
47
+ // 4. Selection (Fill Budget)
48
+ const selectedAtoms = [];
49
+ let currentChars = 0;
50
+ for (const atom of candidates) {
51
+ if (currentChars >= charBudget)
52
+ break;
53
+ const atomLen = atom.content.length;
54
+ if (currentChars + atomLen <= charBudget) {
55
+ selectedAtoms.push(atom);
56
+ currentChars += atomLen;
57
+ }
58
+ else {
59
+ // Partial Fill with Smart Slicing
60
+ const remaining = charBudget - currentChars;
61
+ if (remaining > 200) {
62
+ // Slice to nearest punctuation to keep thought intact
63
+ // Look for . ! ? or \n within the last 50 chars of the budget
64
+ // Finds last punctuation before the hard limit
65
+ const safeContent = atom.content.substring(0, remaining);
66
+ // Polyfill for finding last punctuation
67
+ const lastDot = safeContent.lastIndexOf('.');
68
+ const lastBang = safeContent.lastIndexOf('!');
69
+ const lastQ = safeContent.lastIndexOf('?');
70
+ const lastNew = safeContent.lastIndexOf('\n');
71
+ const bestCut = Math.max(lastDot, lastBang, lastQ, lastNew);
72
+ if (bestCut > (remaining * 0.5)) {
73
+ // If punctuation is reasonably far in, use it
74
+ const slicedContent = atom.content.substring(0, bestCut + 1) + " [Truncated]";
75
+ selectedAtoms.push({ ...atom, content: slicedContent });
76
+ currentChars += slicedContent.length;
77
+ }
78
+ else {
79
+ // Fallback to hard cut if no punctuation found nearby
80
+ // Try to cut at the last space to avoid cutting mid-word
81
+ const lastSpace = safeContent.lastIndexOf(' ');
82
+ const cutIndex = lastSpace > (remaining * 0.5) ? lastSpace : remaining;
83
+ const slicedContent = atom.content.substring(0, cutIndex) + "...";
84
+ selectedAtoms.push({ ...atom, content: slicedContent });
85
+ currentChars += slicedContent.length;
86
+ }
87
+ }
88
+ break; // Filled
89
+ }
90
+ }
91
+ // 5. Final Sort (Chronological / Flow)
92
+ // Preservation of narrative flow is key.
93
+ selectedAtoms.sort((a, b) => a.timestamp - b.timestamp);
94
+ // 6. Assemble JSON Graph (Neuro-Symbolic Output)
95
+ const graphNodes = selectedAtoms.map(a => ({
96
+ id: a.id,
97
+ type: a.type || 'thought',
98
+ content: a.content,
99
+ meta: {
100
+ score: Number(a.mixedScore.toFixed(3)),
101
+ tags: a.tags || [],
102
+ source: a.source,
103
+ timestamp: (() => {
104
+ try {
105
+ return new Date(a.timestamp).toISOString();
106
+ }
107
+ catch (e) {
108
+ return new Date().toISOString();
109
+ }
110
+ })(),
111
+ provenance: a.provenance || 'internal'
112
+ }
113
+ }));
114
+ const graph = {
115
+ intent: query,
116
+ nodes: graphNodes
117
+ };
118
+ const jsonString = JSON.stringify(graph, null, 2);
119
+ // Wrap with the User's Neuro-Symbolic Directive
120
+ const promptWrapper = `Here is a graph of thoughts from my memory, ranked by mathematical relevance (Time + Logic). Use these nodes to answer my question. Do not use outside knowledge unless necessary.\n\n\`\`\`json\n${jsonString}\n\`\`\``;
121
+ return {
122
+ prompt: promptWrapper,
123
+ stats: {
124
+ tokenCount: Math.ceil(currentChars / CHARS_PER_TOKEN),
125
+ charCount: currentChars,
126
+ filledPercent: Math.min(100, (currentChars / charBudget) * 100),
127
+ atomCount: selectedAtoms.length
128
+ }
129
+ };
130
+ }
131
+ // =============================================================================
132
+ // GRAPH-CONTEXT PROTOCOL (GCP) — Enhanced Context Assembly
133
+ // =============================================================================
134
+ /**
135
+ * Compose context using the Graph-Context Protocol.
136
+ *
137
+ * This produces the sovereign prompt format:
138
+ * System: "You are the interface for Anchor OS..."
139
+ * User: [CONTEXT_GRAPH_START]...[CONTEXT_GRAPH_END] + query
140
+ *
141
+ * Use this instead of composeRollingContext when you have physics metadata.
142
+ */
143
+ export function composeGraphContext(query, anchors, walkerResults, user, tokenBudget = 4096) {
144
+ const CHARS_PER_TOKEN_GCP = 4;
145
+ const charBudget = Math.floor(tokenBudget * 0.95 * CHARS_PER_TOKEN_GCP);
146
+ // Convert ContextAtoms to SearchResult-compatible format for the serializer
147
+ const anchorSearchResults = anchors.map(a => ({
148
+ id: a.id,
149
+ content: a.content,
150
+ source: a.source,
151
+ timestamp: a.timestamp,
152
+ buckets: [],
153
+ tags: a.tags || [],
154
+ epochs: '',
155
+ provenance: a.provenance || 'internal',
156
+ score: a.score,
157
+ type: a.type || 'thought',
158
+ frequency: 1,
159
+ }));
160
+ const walkerSearchResults = walkerResults.map(a => ({
161
+ id: a.id,
162
+ content: a.content,
163
+ source: a.source,
164
+ timestamp: a.timestamp,
165
+ buckets: [],
166
+ tags: a.tags || [],
167
+ epochs: '',
168
+ provenance: a.provenance || 'internal',
169
+ score: a.score,
170
+ type: a.type || 'thought',
171
+ frequency: 1,
172
+ }));
173
+ const intent = detectIntent(query);
174
+ // Extract key terms from query (simple NLP-free approach)
175
+ const keyTerms = query.toLowerCase()
176
+ .split(/\s+/)
177
+ .filter(w => w.length > 3 && !['what', 'when', 'where', 'that', 'this', 'with', 'from', 'about'].includes(w));
178
+ const serialized = assembleAndSerialize({
179
+ user,
180
+ query,
181
+ keyTerms,
182
+ anchors: anchorSearchResults,
183
+ legacyWalkerResults: walkerSearchResults,
184
+ charBudget,
185
+ });
186
+ const { system, user: userMsg } = buildSovereignPrompt(user, intent, serialized, query);
187
+ const totalChars = system.length + userMsg.length;
188
+ return {
189
+ system,
190
+ user: userMsg,
191
+ stats: {
192
+ tokenCount: Math.ceil(totalChars / CHARS_PER_TOKEN_GCP),
193
+ charCount: totalChars,
194
+ filledPercent: Math.min(100, (totalChars / charBudget) * 100),
195
+ atomCount: anchors.length + walkerResults.length,
196
+ }
197
+ };
198
+ }
199
+ //# sourceMappingURL=context_manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context_manager.js","sourceRoot":"","sources":["../../../src/core/inference/context_manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=llamaLoaderWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llamaLoaderWorker.d.ts","sourceRoot":"","sources":["../../../src/core/inference/llamaLoaderWorker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * llamaLoaderWorker — Local inference stub.
3
+ *
4
+ * node-llama-cpp has been removed from this project (user intent: pare to working core).
5
+ * Local LLM inference is NOT available. Configure LLM_PROVIDER=remote in user_settings.json
6
+ * to use a remote OpenAI-compatible endpoint instead.
7
+ */
8
+ import { parentPort } from 'worker_threads';
9
+ async function init() {
10
+ console.warn('[llamaLoaderWorker] Local inference is disabled. node-llama-cpp has been removed.');
11
+ parentPort?.postMessage({ type: 'ready' });
12
+ }
13
+ parentPort?.on('message', (message) => {
14
+ const err = 'Local inference not available. node-llama-cpp removed. Use LLM_PROVIDER=remote.';
15
+ if (message.type === 'dispose') {
16
+ parentPort?.postMessage({ type: 'disposed' });
17
+ }
18
+ else {
19
+ parentPort?.postMessage({ type: 'error', error: err });
20
+ }
21
+ });
22
+ init();
23
+ //# sourceMappingURL=llamaLoaderWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llamaLoaderWorker.js","sourceRoot":"","sources":["../../../src/core/inference/llamaLoaderWorker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,IAAI,CAAC,mFAAmF,CAAC,CAAC;IAClG,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,UAAU,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;IAClC,MAAM,GAAG,GAAG,iFAAiF,CAAC;IAC9F,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACJ,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3D,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,EAAE,CAAC"}
@@ -0,0 +1,40 @@
1
+ export declare class VectorService {
2
+ private index;
3
+ private dimensions;
4
+ private indexName;
5
+ private _isInitialized;
6
+ constructor();
7
+ get isInitialized(): boolean;
8
+ /**
9
+ * Initialize the vector index.
10
+ * Tries to mmap existing index, or creates a new one.
11
+ */
12
+ init(): Promise<void>;
13
+ /**
14
+ * Add a vector to the index.
15
+ * @param id Unique Integer ID (mapped from UUID via DB)
16
+ * @param vector Float32Array
17
+ */
18
+ add(id: number, vector: number[] | Float32Array): void;
19
+ /**
20
+ * Search for nearest neighbors.
21
+ */
22
+ search(vector: number[] | Float32Array, limit?: number): {
23
+ ids: number[];
24
+ distances: number[];
25
+ };
26
+ /**
27
+ * Save the index to disk.
28
+ */
29
+ save(): void;
30
+ /**
31
+ * Get the absolute path to the index file.
32
+ */
33
+ private getIndexPath;
34
+ /**
35
+ * Close the index and release resources.
36
+ */
37
+ close(): void;
38
+ }
39
+ export declare const vector: VectorService;
40
+ //# sourceMappingURL=vector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/core/vector.ts"],"names":[],"mappings":"AA0CA,qBAAa,aAAa;IAEtB,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,cAAc,CAAkB;;IAMxC,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6DlC;;;;OAIG;IACI,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,GAAG,IAAI;IAK7D;;OAEG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,KAAK,GAAE,MAAW,GAAG;QAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE;IAK1G;;OAEG;IACI,IAAI,IAAI,IAAI;IAWnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACI,KAAK,IAAI,IAAI;CAQvB;AAED,eAAO,MAAM,MAAM,eAAsB,CAAC"}
@@ -0,0 +1,167 @@
1
+ import path from 'path';
2
+ import fs from 'fs';
3
+ import { pathManager } from '../utils/path-manager.js';
4
+ /**
5
+ * MockSoulIndex — intentional no-op for the core STAR engine.
6
+ *
7
+ * The STAR algorithm achieves retrieval via sparse tag-intersection scoring
8
+ * (the Unified Field Equation) and does NOT require a dense vector index for
9
+ * its primary operation. Dense vector search is an optional augmentation.
10
+ *
11
+ * To add dense vector support:
12
+ * 1. Restore @rbalchii/native-vector (N-API) or swap in a WASM-based HNSW
13
+ * (e.g., hnswlib-node, usearch).
14
+ * 2. Implement ISoulIndex against that library.
15
+ * 3. Replace MockSoulIndex below with that implementation.
16
+ * 4. Ensure ingest pipeline writes embeddings to the `embedding` column in atoms.
17
+ */
18
+ class MockSoulIndex {
19
+ dimensions;
20
+ constructor(dimensions) {
21
+ this.dimensions = dimensions;
22
+ console.warn('[Vector] Using Mock SoulIndex (Native module missing or failed). Vector search is disabled.');
23
+ }
24
+ add(id, vector) { }
25
+ search(vector, limit) {
26
+ return { ids: [], distances: [] };
27
+ }
28
+ save(path) { }
29
+ view(path) { }
30
+ size() { return 0; }
31
+ close() { }
32
+ }
33
+ export class VectorService {
34
+ // Use 'any' or intersection to allow both real and mock types since they share the shape
35
+ index = null;
36
+ dimensions = 768; // Default embedding size
37
+ indexName = 'memory.index';
38
+ _isInitialized = false;
39
+ constructor() {
40
+ // Lazy init
41
+ }
42
+ get isInitialized() {
43
+ return this._isInitialized;
44
+ }
45
+ /**
46
+ * Initialize the vector index.
47
+ * Tries to mmap existing index, or creates a new one.
48
+ */
49
+ async init() {
50
+ if (this._isInitialized)
51
+ return;
52
+ try {
53
+ console.log('[Vector] Initializing Native Vector Engine...');
54
+ // Dynamic import to prevent crash if binding is missing
55
+ // Dynamic import to prevent crash if binding is missing
56
+ /*
57
+ let SoulIndexClass: any;
58
+ try {
59
+ const module = await import('@rbalchii/native-vector');
60
+ SoulIndexClass = module.SoulIndex;
61
+ console.log('[Vector] Native module loaded successfully.');
62
+ } catch (e) {
63
+ console.warn('[Vector] Native module load failed. Falling back to Mock.', e);
64
+ SoulIndexClass = MockSoulIndex;
65
+ }
66
+ */
67
+ console.warn('[Vector] Native Vector disabled (removed). Using Mock.');
68
+ const SoulIndexClass = MockSoulIndex;
69
+ this.index = new SoulIndexClass(this.dimensions);
70
+ // If we are using the mock, we don't need to do file operations
71
+ if (this.index instanceof MockSoulIndex) {
72
+ this._isInitialized = true;
73
+ return;
74
+ }
75
+ const indexPath = this.getIndexPath();
76
+ if (fs.existsSync(indexPath)) {
77
+ console.log(`[Vector] Loading existing index from ${indexPath}`);
78
+ // Use view for instant mmap loading
79
+ try {
80
+ this.index.view(indexPath);
81
+ console.log(`[Vector] Loaded index with ${this.index.size()} vectors.`);
82
+ }
83
+ catch (e) {
84
+ console.warn(`[Vector] Failed to view index, it might be corrupt or empty. Creating new.`, e);
85
+ // If view fails, we might want to delete it and start fresh or just proceed with empty in-memory
86
+ // For now, proceeding with validation
87
+ }
88
+ }
89
+ else {
90
+ console.log(`[Vector] No existing index found at ${indexPath}. Starting fresh.`);
91
+ // Ensure directory exists
92
+ const dir = path.dirname(indexPath);
93
+ if (!fs.existsSync(dir)) {
94
+ fs.mkdirSync(dir, { recursive: true });
95
+ }
96
+ }
97
+ this._isInitialized = true;
98
+ }
99
+ catch (e) {
100
+ console.error('[Vector] Failed to initialize Vector Engine:', e);
101
+ // Fallback to mock even if init logic fails elsewhere
102
+ this.index = new MockSoulIndex(this.dimensions);
103
+ this._isInitialized = true;
104
+ }
105
+ }
106
+ /**
107
+ * Add a vector to the index.
108
+ * @param id Unique Integer ID (mapped from UUID via DB)
109
+ * @param vector Float32Array
110
+ */
111
+ add(id, vector) {
112
+ if (!this.index)
113
+ throw new Error('Vector Engine not initialized');
114
+ this.index.add(id, vector);
115
+ }
116
+ /**
117
+ * Search for nearest neighbors.
118
+ */
119
+ search(vector, limit = 10) {
120
+ if (!this.index)
121
+ throw new Error('Vector Engine not initialized');
122
+ return this.index.search(vector, limit);
123
+ }
124
+ /**
125
+ * Save the index to disk.
126
+ */
127
+ save() {
128
+ if (!this.index)
129
+ return;
130
+ // Don't save mock
131
+ if (this.index instanceof MockSoulIndex)
132
+ return;
133
+ const indexPath = this.getIndexPath();
134
+ console.log(`[Vector] Saving index to ${indexPath}...`);
135
+ this.index.save(indexPath);
136
+ console.log('[Vector] Saved.');
137
+ }
138
+ /**
139
+ * Get the absolute path to the index file.
140
+ */
141
+ getIndexPath() {
142
+ // Use pathManager similar to DB
143
+ const dbPath = process.env.PGLITE_DB_PATH || pathManager.getDatabasePath();
144
+ // Store vector index alongside the database folder, or inside it?
145
+ // Let's store it alongside for now: <project_root>/data/memory.index
146
+ // But PGlite path is a directory.
147
+ // Let's put it IN the data directory root.
148
+ const dataDir = path.dirname(dbPath);
149
+ // Actually, pathManager.getDatabasePath() usually returns .../anchor-db
150
+ // Let's use pathManager.getDataDirectory() if it exists, or derive from DB path.
151
+ // Assuming dbPath is .../anchor-db
152
+ return path.join(path.dirname(dbPath), this.indexName);
153
+ }
154
+ /**
155
+ * Close the index and release resources.
156
+ */
157
+ close() {
158
+ if (this.index) {
159
+ this.save(); // Auto-save on close?
160
+ this.index.close();
161
+ this.index = null;
162
+ this._isInitialized = false;
163
+ }
164
+ }
165
+ }
166
+ export const vector = new VectorService();
167
+ //# sourceMappingURL=vector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/core/vector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import express from "express";
2
+ declare const app: express.Application;
3
+ export { app };
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAkB9B,QAAA,MAAM,GAAG,EAAE,OAAO,CAAC,WAAuB,CAAC;AAob3C,OAAO,EAAE,GAAG,EAAE,CAAC"}