@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,503 @@
1
+ /**
2
+ * Radial Distiller v2.0 — Decision Record Output
3
+ *
4
+ * Three-phase pipeline for semantic corpus compression:
5
+ * 1. COLLECT: Extract semantic blocks (headings, sections)
6
+ * 2. DEDUPLICATE: Block-level deduplication with SimHash
7
+ * 3. REASSEMBLE: Build Decision Record JSON output
8
+ *
9
+ * Prevents self-contamination by filtering distilled_* files
10
+ */
11
+ import { db } from '../../core/db.js';
12
+ import { StructuredLogger } from '../../utils/structured-logger.js';
13
+ import { getMirrorPath } from '../mirror/mirror.js';
14
+ import { pathManager } from '../../utils/path-manager.js';
15
+ import crypto from 'crypto';
16
+ import fs from 'fs';
17
+ import path from 'path';
18
+ import yaml from 'js-yaml';
19
+ // Configuration
20
+ const PGLITE_CHUNK_IDS = 100;
21
+ const MOBILE_MEMORY_THRESHOLD = 500 * 1024 * 1024;
22
+ // Filtering patterns to prevent self-contamination
23
+ const DISTILLATION_OUTPUT_PATTERNS = [
24
+ /distilled_.*\.(yaml|json|md)$/i,
25
+ /MASTER_DISTILLED_.*\.(yaml|json|md)$/i,
26
+ /_distilled_.*\.(yaml|json|md)$/i
27
+ ];
28
+ /**
29
+ * Check if a file should be excluded (distillation output)
30
+ */
31
+ function isDistillationOutput(filePath) {
32
+ const fileName = path.basename(filePath);
33
+ return DISTILLATION_OUTPUT_PATTERNS.some(pattern => pattern.test(fileName));
34
+ }
35
+ /**
36
+ * Extract semantic blocks from markdown text
37
+ * Splits on headings and detects section types
38
+ */
39
+ function extractSemanticBlocks(content, sourcePath, mtime) {
40
+ const blocks = [];
41
+ const lines = content.split('\n');
42
+ let currentBlock = [];
43
+ let currentType = 'content';
44
+ let currentLevel = 0;
45
+ let currentHeading = '';
46
+ const headingPattern = /^(#{1,6})\s+(.+)$/;
47
+ const typeKeywords = {
48
+ 'problem': 'problem',
49
+ 'issue': 'problem',
50
+ 'challenge': 'problem',
51
+ 'solution': 'solution',
52
+ 'approach': 'solution',
53
+ 'implementation': 'solution',
54
+ 'rationale': 'rationale',
55
+ 'why': 'rationale',
56
+ 'reason': 'rationale',
57
+ 'status': 'status',
58
+ 'state': 'status'
59
+ };
60
+ function saveBlock() {
61
+ if (currentBlock.length > 0) {
62
+ const blockContent = currentBlock.join('\n').trim();
63
+ if (blockContent) {
64
+ const simhash = computeSimHash(blockContent);
65
+ blocks.push({
66
+ id: crypto.createHash('sha256').update(blockContent).digest('hex').substring(0, 16),
67
+ type: currentType,
68
+ content: blockContent,
69
+ heading: currentHeading || undefined,
70
+ level: currentLevel,
71
+ provenance: [sourcePath],
72
+ mtime,
73
+ simhash,
74
+ tags: extractTags(blockContent)
75
+ });
76
+ }
77
+ }
78
+ }
79
+ for (const line of lines) {
80
+ const headingMatch = line.match(headingPattern);
81
+ if (headingMatch) {
82
+ // Save previous block
83
+ saveBlock();
84
+ // Start new block
85
+ currentLevel = headingMatch[1].length;
86
+ currentHeading = headingMatch[2].trim();
87
+ currentBlock = [line];
88
+ // Detect type from heading
89
+ const headingLower = currentHeading.toLowerCase();
90
+ currentType = 'content';
91
+ for (const [keyword, type] of Object.entries(typeKeywords)) {
92
+ if (headingLower.includes(keyword)) {
93
+ currentType = type;
94
+ break;
95
+ }
96
+ }
97
+ // Override for heading levels
98
+ if (currentLevel === 1)
99
+ currentType = 'heading1';
100
+ else if (currentLevel === 2)
101
+ currentType = 'heading2';
102
+ else if (currentLevel === 3)
103
+ currentType = 'heading3';
104
+ }
105
+ else {
106
+ currentBlock.push(line);
107
+ }
108
+ }
109
+ // Save last block
110
+ saveBlock();
111
+ return blocks;
112
+ }
113
+ /**
114
+ * Compute SimHash for a block (placeholder - use existing simhash service)
115
+ */
116
+ function computeSimHash(text) {
117
+ // Simplified simhash - in production use @rbalchii/anchor-fingerprint-wasm
118
+ const hash = crypto.createHash('sha256').update(text.toLowerCase().replace(/\s+/g, ' ')).digest('hex');
119
+ return hash.substring(0, 16);
120
+ }
121
+ /**
122
+ * Extract tags from content
123
+ */
124
+ function extractTags(content) {
125
+ const tagPattern = /#(\w+)/g;
126
+ const tags = [];
127
+ let match;
128
+ while ((match = tagPattern.exec(content)) !== null) {
129
+ tags.push(match[1].toLowerCase());
130
+ }
131
+ return tags;
132
+ }
133
+ /**
134
+ * Deduplicate blocks by SimHash within same type
135
+ */
136
+ function deduplicateBlocks(blocks) {
137
+ const uniqueBlocks = new Map();
138
+ for (const block of blocks) {
139
+ const key = `${block.type}:${block.simhash}`;
140
+ if (!uniqueBlocks.has(key)) {
141
+ uniqueBlocks.set(key, block);
142
+ }
143
+ else {
144
+ // Merge provenance
145
+ const existing = uniqueBlocks.get(key);
146
+ for (const prov of block.provenance) {
147
+ if (!existing.provenance.includes(prov)) {
148
+ existing.provenance.push(prov);
149
+ }
150
+ }
151
+ // Use earliest mtime
152
+ if (block.mtime < existing.mtime) {
153
+ existing.mtime = block.mtime;
154
+ }
155
+ }
156
+ }
157
+ return Array.from(uniqueBlocks.values());
158
+ }
159
+ /**
160
+ * Assemble Decision Records from blocks
161
+ */
162
+ function assembleDecisionRecords(blocks) {
163
+ const records = [];
164
+ const blocksBySource = new Map();
165
+ // Group blocks by primary source
166
+ for (const block of blocks) {
167
+ const primarySource = block.provenance[0];
168
+ if (!blocksBySource.has(primarySource)) {
169
+ blocksBySource.set(primarySource, []);
170
+ }
171
+ blocksBySource.get(primarySource).push(block);
172
+ }
173
+ // Create decision record for each source
174
+ for (const [source, sourceBlocks] of blocksBySource.entries()) {
175
+ const fileName = path.basename(source, path.extname(source));
176
+ // Find title (first heading1 or heading2)
177
+ const titleBlock = sourceBlocks.find(b => b.type === 'heading1' || b.type === 'heading2');
178
+ const title = titleBlock?.heading || fileName;
179
+ // Extract problem
180
+ const problemBlock = sourceBlocks.find(b => b.type === 'problem');
181
+ const problem = problemBlock?.content;
182
+ // Extract solutions (numbered list or solution blocks)
183
+ const solutionBlocks = sourceBlocks.filter(b => b.type === 'solution');
184
+ const solution = solutionBlocks.map(b => b.content.split('\n').filter(l => /^\d+\./.test(l.trim())).join('\n')).flat();
185
+ // Extract rationale
186
+ const rationaleBlock = sourceBlocks.find(b => b.type === 'rationale');
187
+ const rationale = rationaleBlock?.content;
188
+ // Extract status
189
+ const statusBlock = sourceBlocks.find(b => b.type === 'status');
190
+ let status = 'active';
191
+ if (statusBlock) {
192
+ const statusText = statusBlock.content.toLowerCase();
193
+ if (statusText.includes('deprecated') || statusText.includes('superseded')) {
194
+ status = 'deprecated';
195
+ }
196
+ else if (statusText.includes('archived') || statusText.includes('legacy')) {
197
+ status = 'archived';
198
+ }
199
+ }
200
+ // Extract supersedes
201
+ const supersedes = [];
202
+ const supersedesMatch = title.match(/supersedes.*?(\d+)/i);
203
+ if (supersedesMatch) {
204
+ supersedes.push(`std-${supersedesMatch[1].padStart(3, '0')}`);
205
+ }
206
+ // Collect all tags
207
+ const allTags = Array.from(new Set(sourceBlocks.flatMap(b => b.tags || [])));
208
+ // Use earliest mtime as timestamp
209
+ const earliestMtime = Math.min(...sourceBlocks.map(b => b.mtime));
210
+ const timestamp = new Date(earliestMtime).toISOString();
211
+ records.push({
212
+ id: fileName.match(/\d+/)?.[0] ? `std-${fileName.match(/\d+/)[0].padStart(3, '0')}` : fileName,
213
+ title,
214
+ problem,
215
+ solution: solution.length > 0 ? solution : undefined,
216
+ rationale,
217
+ supersedes: supersedes.length > 0 ? supersedes : undefined,
218
+ status,
219
+ timestamp,
220
+ provenance: sourceBlocks.flatMap(b => b.provenance),
221
+ tags: allTags
222
+ });
223
+ }
224
+ return records;
225
+ }
226
+ /**
227
+ * Extract digital object metadata from a compound
228
+ * Works for any file type, with special handling for chat JSONL files
229
+ */
230
+ function extractDigitalObjectMetadata(compound, content, mtime, ingestedAt) {
231
+ const pathExt = path.extname(compound.path).toLowerCase();
232
+ const sourceType = pathExt.slice(1) || 'unknown';
233
+ // Base metadata (always present)
234
+ const metadata = {
235
+ id: crypto.createHash('sha256').update(compound.path).digest('hex').substring(0, 16),
236
+ source_path: compound.path,
237
+ source_type: sourceType,
238
+ modified_at: new Date(mtime).toISOString(),
239
+ ingested_at: ingestedAt,
240
+ bucket: compound.provenance || 'unknown',
241
+ compound_id: compound.id,
242
+ size_bytes: Buffer.byteLength(content, 'utf-8'),
243
+ line_count: content.split('\n').length,
244
+ char_count: content.length,
245
+ topics: [],
246
+ entities: [],
247
+ tags: []
248
+ };
249
+ // Extract topics from content (simple keyword extraction)
250
+ const topicKeywords = content.match(/\b[A-Z][a-z]+(?:\s+[A-Z][a-z]+)+\b/g) || [];
251
+ metadata.topics = Array.from(new Set(topicKeywords.slice(0, 10)));
252
+ // Extract tags (hashtag pattern)
253
+ const tagMatches = content.match(/#(\w+)/g) || [];
254
+ metadata.tags = Array.from(new Set(tagMatches.map(t => t.slice(1).toLowerCase())));
255
+ return metadata;
256
+ }
257
+ /**
258
+ * Extract chat session metadata from JSONL content
259
+ * Returns ChatSessionMetadata if valid chat session, null otherwise
260
+ */
261
+ function extractChatSessionMetadata(baseMetadata, content, compound) {
262
+ // Only process JSONL files from inbox
263
+ if (baseMetadata.source_type !== 'jsonl' || !baseMetadata.bucket.includes('inbox')) {
264
+ return null;
265
+ }
266
+ // Extract session_id from filename (UUID pattern)
267
+ const filename = path.basename(compound.path, '.jsonl');
268
+ const sessionUuidMatch = filename.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i);
269
+ if (!sessionUuidMatch) {
270
+ return null;
271
+ }
272
+ const lines = content.split('\n').filter(line => line.trim());
273
+ if (lines.length === 0) {
274
+ return null;
275
+ }
276
+ // Parse messages
277
+ const messages = [];
278
+ const commands = [];
279
+ const participants = new Set();
280
+ const modelsUsed = new Set();
281
+ let firstTimestamp = null;
282
+ let lastTimestamp = null;
283
+ for (const line of lines) {
284
+ try {
285
+ const msg = JSON.parse(line);
286
+ messages.push(msg);
287
+ // Track timestamps
288
+ if (msg.timestamp) {
289
+ if (!firstTimestamp)
290
+ firstTimestamp = msg.timestamp;
291
+ lastTimestamp = msg.timestamp;
292
+ }
293
+ // Track participants
294
+ if (msg.type)
295
+ participants.add(msg.type);
296
+ if (msg.role)
297
+ participants.add(msg.role);
298
+ // Track commands
299
+ if (msg.subtype === 'slash_command' && msg.systemPayload?.rawCommand) {
300
+ const cmd = msg.systemPayload.rawCommand;
301
+ if (!commands.includes(cmd)) {
302
+ commands.push(cmd);
303
+ }
304
+ }
305
+ // Track models
306
+ if (msg.model) {
307
+ modelsUsed.add(msg.model);
308
+ }
309
+ }
310
+ catch {
311
+ // Skip malformed lines
312
+ }
313
+ }
314
+ return {
315
+ ...baseMetadata,
316
+ session_id: filename,
317
+ session_start: firstTimestamp || baseMetadata.modified_at,
318
+ session_end: lastTimestamp || baseMetadata.modified_at,
319
+ commands,
320
+ message_count: messages.length,
321
+ participants: Array.from(participants),
322
+ models_used: Array.from(modelsUsed)
323
+ };
324
+ }
325
+ /**
326
+ * Build session index from chat session metadata
327
+ */
328
+ function buildSessionIndex(chatSessions) {
329
+ return chatSessions.map(session => ({
330
+ session_id: session.session_id,
331
+ date: session.session_start,
332
+ commands: session.commands,
333
+ topics: session.topics || [],
334
+ full_log_path: session.source_path,
335
+ message_count: session.message_count,
336
+ participants: session.participants
337
+ }));
338
+ }
339
+ /**
340
+ * Main distillation function
341
+ */
342
+ export async function radialDistill(request) {
343
+ const startTime = Date.now();
344
+ const ingestedAt = new Date().toISOString();
345
+ StructuredLogger.info('RADIAL_DISTILL_V2', {
346
+ endpoint: '/v1/memory/distill',
347
+ format: request.output_format || 'decision-records'
348
+ });
349
+ try {
350
+ // Phase 1: COLLECT - Extract semantic blocks and metadata
351
+ const allBlocks = [];
352
+ const digitalObjects = [];
353
+ const chatSessions = [];
354
+ let compoundsProcessed = 0;
355
+ // Get compounds from database or use provided IDs
356
+ let compoundQuery = 'SELECT id, path, provenance FROM compounds';
357
+ const params = [];
358
+ if (request.seed?.compound_ids && request.seed.compound_ids.length > 0) {
359
+ compoundQuery += ' WHERE id IN (' + request.seed.compound_ids.map(() => '?').join(',') + ')';
360
+ params.push(...request.seed.compound_ids);
361
+ }
362
+ else if (request.seed?.buckets && request.seed.buckets.length > 0) {
363
+ compoundQuery += ' WHERE provenance IN (' + request.seed.buckets.map(() => '?').join(',') + ')';
364
+ params.push(...request.seed.buckets);
365
+ }
366
+ const compounds = (await db.run(compoundQuery, params)).results || [];
367
+ for (const compound of compounds) {
368
+ // Skip distillation outputs (prevent self-contamination)
369
+ if (isDistillationOutput(compound.path)) {
370
+ continue;
371
+ }
372
+ compoundsProcessed++;
373
+ // Get content from mirrored_brain or compound body
374
+ let content = '';
375
+ const mirrorPath = getMirrorPath(path.join(process.cwd(), 'mirrored_brain'));
376
+ const localPath = path.join(mirrorPath, compound.path);
377
+ if (fs.existsSync(localPath)) {
378
+ content = fs.readFileSync(localPath, 'utf-8');
379
+ }
380
+ else {
381
+ // Fallback to database
382
+ const result = await db.run('SELECT compound_body FROM compounds WHERE id = ?', [compound.id]);
383
+ content = result.results?.[0]?.compound_body || '';
384
+ }
385
+ // Get file mtime
386
+ let mtime = Date.now();
387
+ if (fs.existsSync(localPath)) {
388
+ const stats = fs.statSync(localPath);
389
+ mtime = stats.mtimeMs;
390
+ }
391
+ // Extract semantic blocks
392
+ const blocks = extractSemanticBlocks(content, compound.path, mtime);
393
+ allBlocks.push(...blocks);
394
+ // Extract digital object metadata (NEW)
395
+ const baseMetadata = extractDigitalObjectMetadata(compound, content, mtime, ingestedAt);
396
+ digitalObjects.push(baseMetadata);
397
+ // Extract chat session metadata if applicable (NEW)
398
+ const chatMetadata = extractChatSessionMetadata(baseMetadata, content, compound);
399
+ if (chatMetadata) {
400
+ chatSessions.push(chatMetadata);
401
+ }
402
+ }
403
+ // Build session index from chat sessions (NEW)
404
+ const sessionIndex = buildSessionIndex(chatSessions);
405
+ // Phase 2: DEDUPLICATE - Block-level deduplication
406
+ const uniqueBlocks = deduplicateBlocks(allBlocks);
407
+ // Phase 3: REASSEMBLE - Build Decision Records
408
+ const decisionRecords = assembleDecisionRecords(uniqueBlocks);
409
+ // Generate output
410
+ const outputFormat = request.output_format || 'decision-records';
411
+ let outputPath;
412
+ let outputSize = 0;
413
+ // Determine if we should save to file
414
+ const shouldSaveToFile = request.output_path || request.auto_save;
415
+ if (outputFormat === 'json' || outputFormat === 'decision-records') {
416
+ // Include digital objects and session index in JSON output
417
+ const fullOutput = {
418
+ metadata: {
419
+ source: 'Anchor Engine Radial Distiller v2.0',
420
+ distilled_at: new Date().toISOString(),
421
+ decision_records: decisionRecords.length,
422
+ digital_objects_count: digitalObjects.length,
423
+ session_index_count: sessionIndex.length
424
+ },
425
+ records: decisionRecords,
426
+ digital_objects: digitalObjects,
427
+ session_index: sessionIndex
428
+ };
429
+ const jsonOutput = JSON.stringify(fullOutput, null, 2);
430
+ outputSize = jsonOutput.length;
431
+ if (shouldSaveToFile) {
432
+ const distillsDir = path.join(pathManager.getNotebookDir(), 'distills');
433
+ if (!fs.existsSync(distillsDir)) {
434
+ fs.mkdirSync(distillsDir, { recursive: true });
435
+ }
436
+ outputPath = request.output_path || path.join(distillsDir, `distilled_standards_${new Date().toISOString().replace(/[:.]/g, '-')}.json`);
437
+ fs.writeFileSync(outputPath, jsonOutput);
438
+ }
439
+ }
440
+ else if (outputFormat === 'yaml') {
441
+ // Backward compatibility - legacy YAML format
442
+ const yamlOutput = yaml.dump({
443
+ metadata: {
444
+ source: 'Anchor Engine Radial Distiller v2.0',
445
+ distilled_at: new Date().toISOString(),
446
+ decision_records: decisionRecords.length,
447
+ digital_objects_count: digitalObjects.length,
448
+ session_index_count: sessionIndex.length
449
+ },
450
+ records: decisionRecords,
451
+ digital_objects: digitalObjects,
452
+ session_index: sessionIndex
453
+ });
454
+ outputSize = yamlOutput.length;
455
+ if (shouldSaveToFile) {
456
+ const distillsDir = path.join(pathManager.getNotebookDir(), 'distills');
457
+ if (!fs.existsSync(distillsDir)) {
458
+ fs.mkdirSync(distillsDir, { recursive: true });
459
+ }
460
+ outputPath = request.output_path || path.join(distillsDir, `distilled_${new Date().toISOString().replace(/[:.]/g, '-')}.yaml`);
461
+ fs.writeFileSync(outputPath, yamlOutput);
462
+ }
463
+ }
464
+ const duration = Date.now() - startTime;
465
+ const result = {
466
+ stats: {
467
+ compounds_processed: compoundsProcessed,
468
+ blocks_total: allBlocks.length,
469
+ blocks_unique: uniqueBlocks.length,
470
+ decision_records: decisionRecords.length,
471
+ compression_ratio: `${(allBlocks.length / Math.max(1, uniqueBlocks.length)).toFixed(1)}:1`,
472
+ duration_ms: duration,
473
+ memory_peak_mb: Math.round(process.memoryUsage().heapUsed / 1024 / 1024)
474
+ },
475
+ output: {
476
+ format: outputFormat,
477
+ path: outputPath,
478
+ size_bytes: outputSize,
479
+ records_created: decisionRecords.length
480
+ },
481
+ provenance: {
482
+ source_compounds: compounds.map((c) => c.path),
483
+ distilled_at: new Date().toISOString(),
484
+ parameters: request
485
+ },
486
+ // New: Digital object metadata for all processed compounds
487
+ digital_objects: digitalObjects,
488
+ // New: Session index for chat sessions (empty array if no chat sessions)
489
+ session_index: sessionIndex
490
+ };
491
+ StructuredLogger.info('RADIAL_DISTILL_V2_COMPLETE', {
492
+ records: result.stats.decision_records,
493
+ compression: result.stats.compression_ratio,
494
+ duration_ms: duration
495
+ });
496
+ return result;
497
+ }
498
+ catch (error) {
499
+ StructuredLogger.error('RADIAL_DISTILL_V2_ERROR', error);
500
+ throw error;
501
+ }
502
+ }
503
+ //# sourceMappingURL=radial-distiller-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radial-distiller-v2.js","sourceRoot":"","sources":["../../../src/services/distillation/radial-distiller-v2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Radial Distiller — Standard 133 Implementation
3
+ *
4
+ * Three-phase pipeline for lossless corpus compression:
5
+ * 1. COLLECT: Radially inflate all compounds
6
+ * 2. DEDUPLICATE: Line-level hash-based deduplication
7
+ * 3. REASSEMBLE: Build coherent output compounds
8
+ *
9
+ * Memory-conscious: streaming mode for mobile, batch mode for desktop
10
+ */
11
+ export interface RadialDistillRequest {
12
+ seed?: {
13
+ query?: string;
14
+ compound_ids?: string[];
15
+ buckets?: string[];
16
+ };
17
+ radius?: number;
18
+ max_radius?: number;
19
+ normalization?: 'strict' | 'lenient';
20
+ preserve_formatting?: boolean;
21
+ streaming?: boolean;
22
+ chunk_size?: number;
23
+ output_format?: 'yaml' | 'json' | 'compound';
24
+ output_path?: string;
25
+ export_to_inbox?: boolean;
26
+ }
27
+ export interface DistillLine {
28
+ content: string;
29
+ normalizedHash: string;
30
+ originalHash: string;
31
+ provenance: string[];
32
+ timestamps: number[];
33
+ compoundId: string;
34
+ lineNumber: number;
35
+ }
36
+ export interface RadialDistillResult {
37
+ stats: {
38
+ compounds_processed: number;
39
+ lines_total: number;
40
+ lines_unique: number;
41
+ lines_duplicate: number;
42
+ compression_ratio: string;
43
+ duration_ms: number;
44
+ memory_peak_mb: number;
45
+ };
46
+ output: {
47
+ format: string;
48
+ path?: string;
49
+ size_bytes: number;
50
+ compounds_created: number;
51
+ };
52
+ provenance: {
53
+ source_compounds: string[];
54
+ distilled_at: string;
55
+ parameters: RadialDistillRequest;
56
+ };
57
+ }
58
+ /**
59
+ * Main entry point: Radial Distillation
60
+ * Standard 133 implementation
61
+ */
62
+ export declare function radialDistill(request: RadialDistillRequest): Promise<RadialDistillResult>;
63
+ //# sourceMappingURL=radial-distiller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radial-distiller.d.ts","sourceRoot":"","sources":["../../../src/services/distillation/radial-distiller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QACL,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE;QACL,mBAAmB,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,UAAU,EAAE;QACV,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,oBAAoB,CAAC;KAClC,CAAC;CACH;AAqWD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAgE9B"}