@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,445 @@
1
+
2
+ # STAR: Semantic Temporal Associative Retrieval
3
+ ## The Browser Paradigm for AI Memory
4
+
5
+ ### Authors
6
+ Robert S Balch II - Independent Researcher
7
+
8
+ ### Abstract
9
+
10
+ AI memory is broken. To achieve serious context retrieval, practitioners need server racks, GPU budgets, and cloud subscriptions. Intelligence is locked in black boxes—massive vector indices consuming gigabytes of RAM and tying users to proprietary systems.
11
+
12
+ This paper presents **STAR** (Semantic Temporal Associative Retrieval), a novel retrieval algorithm implementing the "Browser Paradigm" for AI memory. Like a browser rendering websites by loading only necessary shards, STAR enables any device from $200 laptops to supercomputers to navigate massive context by retrieving only atoms required for the current query.
13
+
14
+ We present the mathematical foundation, implementation details, and production benchmarks from real workloads: 91MB chat history ingested in under 3 minutes, 280,000 molecules indexed, zero data loss. STAR achieves **O(k·d̄)** retrieval complexity where *k* = query tags and *d̄* = average tag degree, compared to **O(n log n)** for dense vector ANN.
15
+
16
+ **v4.8.0 Update (March 2026):** Added MCP write operations, session index for two-tier retrieval, and comprehensive documentation. Philosophy: AI memory should work like the human brain—forgetting noise, remembering relationships, clarifying over time.
17
+
18
+ **Keywords:** Information Retrieval, Graph-Based Search, SimHash, Local-First AI, Explainable AI, PGlite, MCP
19
+
20
+ ---
21
+
22
+ ## 1. Introduction
23
+
24
+ Web browsers are universal. The same website renders identically on a $300 Chromebook and a $5000 MacBook Pro because browsers download only necessary shards (HTML, CSS, JS) for the current view—not the entire internet.
25
+
26
+ AI memory should operate similarly. Current Retrieval-Augmented Generation (RAG) systems require loading complete HNSW indices into RAM—gigabytes of vector data—before searching. This restricts deployment to high-spec servers, creating artificial scarcity.
27
+
28
+ **Contributions:**
29
+ 1. **STAR Algorithm**: Physics-based graph traversal with temporal decay and SimHash fingerprinting
30
+ 2. **Browser Paradigm**: Sharded atomization architecturally designed for 4GB RAM laptops to navigate 10TB+ datasets
31
+ 3. **Production Benchmarks**: Real-world performance on 100MB dataset (280K molecules, 151K atoms)
32
+ 4. **SQL-Native Implementation**: Unified Field Equation executed in PGlite (pure TypeScript + WASM, ~50-150ms latency)
33
+
34
+ ---
35
+
36
+ ## 2. Mathematical Foundation
37
+
38
+ ### 2.1 Bipartite Graph Formalization
39
+
40
+ Let $G = (A, T, E)$ be a bipartite graph where:
41
+
42
+ - **$A = \{a_1, a_2, ..., a_n\}$**: Set of *Atoms* (text/code/data chunks with byte-offset pointers)
43
+ - **$T = \{t_1, t_2, ..., t_m\}$**: Set of *Tags* (extracted semantic entities/concepts)
44
+ - **$E \subseteq A \times T$**: Sparse edges where $|E| \ll |A| \times |T|$
45
+
46
+ Each atom $a_i \in A$ has:
47
+ - **Content pointer**: $(source_i, start_i, end_i)$ — file path and byte offsets
48
+ - **Tag set**: $T(a_i) = \{t \in T : (a_i, t) \in E\}$
49
+ - **Timestamp**: $\tau_i \in \mathbb{R}^+$ (Unix epoch)
50
+ - **SimHash fingerprint**: $h_i \in \{0,1\}^{64}$
51
+
52
+ ### 2.2 The Unified Field Equation
53
+
54
+ For query $q$ with tag set $T(q)$ and candidate atom $a$, the **gravity score** is:
55
+
56
+ $$W(q, a) = \underbrace{\left(\sum_{t \in T(q) \cap T(a)} 1\right) \cdot \gamma^{d(q,a)}}_{\text{Semantic Gravity}} \times \underbrace{e^{-\lambda \Delta t}}_{\text{Temporal Decay}} \times \underbrace{\left(1 - \frac{H(h_q, h_a)}{64}\right)}_{\text{Structural Gravity}}$$
57
+
58
+ Where:
59
+
60
+ | Symbol | Meaning | Default |
61
+ |--------|---------|---------|
62
+ | $\gamma$ | Damping factor (controls walk viscosity) | 0.85 |
63
+ | $\lambda$ | Decay constant (half-life ≈ 115 min) | 0.0001 s⁻¹ |
64
+ | $d(q,a)$ | Graph hop distance (0 = direct, 1 = 1-hop neighbor) | ∈ {0,1,2,3} |
65
+ | $\Delta t$ | Time difference $|\tau_q - \tau_a|$ in seconds | — |
66
+ | $H(\cdot,\cdot)$ | Hamming distance on 64-bit SimHash | 0–63 |
67
+ | $h_q, h_a$ | SimHash fingerprints of query and atom | $\{0,1\}^{64}$ |
68
+
69
+ **Component Breakdown:**
70
+
71
+ 1. **Semantic Gravity**: $|T(q) \cap T(a)| \cdot \gamma^{d(q,a)}$
72
+ - Shared tag count weighted by graph distance
73
+ - Exponential decay with hop distance (damping)
74
+
75
+ 2. **Temporal Decay**: $e^{-\lambda \Delta t}$
76
+ - Recent memories exert stronger gravitational pull
77
+ - Half-life: $t_{1/2} = \ln(2)/\lambda \approx 6,931$ seconds ≈ 115 minutes
78
+
79
+ 3. **Structural Gravity**: $1 - \frac{H(h_q, h_a)}{64}$
80
+ - SimHash proximity (1 = identical, 0.5 = uncorrelated, 0 = completely different)
81
+ - Hamming distance normalized to [0,1]; lower distance = higher similarity
82
+
83
+ ### 2.3 SQL-Native Implementation
84
+
85
+ The Unified Field Equation executes as a single SQL operation in PGlite:
86
+
87
+ ```sql
88
+ WITH anchor_stats AS (
89
+ SELECT id, timestamp, simhash
90
+ FROM atoms WHERE id IN ($1::text[])
91
+ ),
92
+ candidates AS (
93
+ SELECT t.atom_id, a.timestamp, a.simhash,
94
+ COUNT(DISTINCT t.tag) as shared_tags
95
+ FROM tags t
96
+ JOIN atoms a ON t.atom_id = a.id
97
+ WHERE t.tag IN (SELECT DISTINCT tag FROM tags
98
+ WHERE atom_id IN (SELECT id FROM anchor_stats))
99
+ GROUP BY t.atom_id, a.timestamp, a.simhash
100
+ )
101
+ SELECT atom_id,
102
+ MAX(
103
+ GREATEST(0.0, LEAST(1.0,
104
+ ((shared_tags / 10.0) * POWER(0.85, 1)) * -- simplified 1-hop assumed here
105
+ EXP(-0.0001 * ABS(timestamp - anchor_ts)) *
106
+ (1.0 - (bit_count(('x' || LPAD(simhash, 16, '0'))::bit(64)
107
+ # ('x' || LPAD(anchor_sh, 16, '0'))::bit(64)) / 64.0))
108
+ ))
109
+ ) as gravity_score
110
+ FROM candidates
111
+ CROSS JOIN anchor_stats
112
+ GROUP BY atom_id
113
+ HAVING gravity_score > 0.01
114
+ ORDER BY gravity_score DESC
115
+ LIMIT 200;
116
+ ```
117
+
118
+ **Implementation Notes:**
119
+ - **Normalization:** The `shared_tags / 10.0` term normalizes tag counts, assuming ~10 shared tags maximum
120
+ - **Damping:** The 0.85 factor applies per-hop; multi-hop traversal compounds this decay via exponentiation (γ^hop_distance). This simplified query shows the single-hop case; the full recursive CTE (shown in the paper) includes hop-distance exponentiation.
121
+ - **Physical Bonus:** Production implementations may add proximity-based bonuses for co-located atoms
122
+ - **Bitwise Operations:** SimHash distance uses XOR (`#`) and `bit_count` for O(1) computation
123
+
124
+ **Performance Characteristics:**
125
+ - Sparse matrix multiplication via `JOIN` operations
126
+ - Bitwise XOR and `bit_count` for SimHash distance
127
+ - Zero transport overhead (only weighted results returned)
128
+ - **Latency**: ~50-150ms for 1M+ atoms on consumer hardware (TypeScript + PGlite WASM; v4.3.0+)
129
+
130
+ ---
131
+
132
+ ## 3. System Architecture
133
+
134
+ ### 3.1 Data Hierarchy
135
+
136
+ | Level | Role | Content Stored | Example |
137
+ |-------|------|----------------|---------|
138
+ | **Compound** | Document reference | File path + metadata | `ChatSessions.yaml` (91.88MB) |
139
+ | **Molecule** | Semantic chunk | Chunk text + byte offsets | Bytes 1024–2048 |
140
+ | **Atom** | Content unit | Byte-offset pointer + tags | Text chunk with `#auth` tag |
141
+ | **Tag** | Concept/label | Semantic label only | `#authentication`, `#session` |
142
+
143
+ **Key Design Decision:** Content lives in `mirrored_brain/` filesystem. Database stores pointers only (byte offsets + tags), creating a **disposable, rebuildable index**.
144
+
145
+ ### 3.2 The Browser Paradigm
146
+
147
+ | Component | Browser Equivalent | Anchor Engine Implementation |
148
+ |-----------|-------------------|------------------------------|
149
+ | **HTML/CSS/JS shards** | Web page components | Atoms (content with tags + byte offsets) |
150
+ | **DOM tree** | Document structure | Tag graph $G = (A, T, E)$ |
151
+ | **Lazy loading** | On-demand resource fetch | Radial inflation from disk |
152
+ | **Cache** | Browser cache | Ephemeral PGlite index |
153
+
154
+ **Universality Principle:** Just as browsers render any website on any machine by loading necessary shards, Anchor Engine navigates any dataset by loading only relevant atoms.
155
+
156
+ ### 3.3 Complexity Analysis
157
+
158
+ | Method | Time Complexity | Space Complexity | Explainability | Hardware |
159
+ |--------|----------------|------------------|----------------|----------|
160
+ | **Dense Vector ANN (HNSW)** | $O(n \log n)$ or $O(n)$ | $O(n \cdot d)$ | Opaque (black box) | GPU preferred |
161
+ | **STAR (Sparse Graph)** | **$O(k \cdot \bar{d})$** | **$O(|E|)$** | **Native (tag paths)** | **CPU-only** |
162
+
163
+ Where:
164
+ - $n$ = total atoms
165
+ - $k$ = query tags (typically 5–20)
166
+ - $\bar{d}$ = average tag degree (typically 10–100)
167
+ - $d$ = vector dimension (typically 768–1536)
168
+ - $|E|$ = sparse edges (typically $10 \cdot n$)
169
+
170
+ **Key Insight:** For personal knowledge graphs, $k \cdot \bar{d} \ll n$, making STAR asymptotically faster than dense retrieval.
171
+
172
+ ---
173
+
174
+ ## 4. Retrieval Protocol: Planets and Moons
175
+
176
+ ### 4.1 Phase 1 — Anchor Discovery (Planets)
177
+
178
+ **Goal:** High-precision seed set via direct matching.
179
+
180
+ **Strategies:**
181
+ 1. **Full-Text Search (BM25-style)**: `to_tsvector() @@ to_tsquery()` in PGlite
182
+ 2. **Radial Inflation**: Query `atom_positions` table for keyword occurrences
183
+ 3. **Engram Lookup:** O(1) cache for frequent entities
184
+
185
+ **Output:** 20–200 anchor atoms with $d(q,a) = 0$
186
+
187
+ ### 4.2 Phase 2 — Radial Inflation (Moons)
188
+
189
+ **Goal:** High-recall expansion via tag-walker graph traversal.
190
+
191
+ **Algorithm:**
192
+ ```python
193
+ def radial_inflation(anchors, radius=1, max_per_hop=50):
194
+ current_hop = anchors
195
+ all_results = set(anchors)
196
+
197
+ for hop in range(radius):
198
+ candidates = get_connected_nodes(current_hop)
199
+ weighted = apply_unified_field_equation(candidates, anchors)
200
+ top_k = select_by_gravity(weighted, max_per_hop)
201
+
202
+ all_results.update(top_k)
203
+ current_hop = top_k
204
+
205
+ return all_results
206
+ ```
207
+
208
+ **PhysicsMetadata Schema:**
209
+ ```json
210
+ {
211
+ "atom_id": "a7f3c2e1-4b5d-6789-abcd-ef0123456789",
212
+ "gravity_score": 0.82,
213
+ "decomposition": {
214
+ "semantic_overlap": 3,
215
+ "temporal_multiplier": 0.94,
216
+ "structural_similarity": 1.0,
217
+ "hop_distance": 1
218
+ },
219
+ "link_reason": "3 shared tags: #authentication, #session, #token",
220
+ "time_drift": "2h 14m ago",
221
+ "source_byte_range": [45210, 46890]
222
+ }
223
+ ```
224
+
225
+ ### 4.3 Phase 3 — Elastic Context Assembly
226
+
227
+ **Goal:** Token-budget compliance with maximal coherence.
228
+
229
+ **Snippets Coalescing:**
230
+ - Merge atoms within 500-byte proximity from same source
231
+ - Snap to sentence boundaries for narrative flow
232
+ - **Result:** 40–100 atoms → 8–12 coherent paragraphs (500–1000 chars each)
233
+
234
+ **Progressive Inflation:**
235
+ - Top 10% results: 2× inflation radius (1000 bytes)
236
+ - Next 40%: 1.5× radius (750 bytes)
237
+ - Remaining 50%: 1× radius (500 bytes)
238
+
239
+ **Metadata Headers:**
240
+ ```
241
+ [GROUP:1] [File:2025-07-16_to_2025-07-30.json] [Range: 0x4A20-0x4F80]
242
+ [Time: 2025-07-22T07:15:00Z] [Atoms: 5] [Chars: 847]
243
+ <atom id="abc12345" relevance="0.875" timestamp="..." persona="#work">
244
+ Full coherent paragraph content...
245
+ </atom>
246
+ ```
247
+
248
+ ---
249
+
250
+ ## 5. Production Performance Benchmarks
251
+
252
+ ### 5.1 Dataset Characteristics (February 2026)
253
+
254
+ | Metric | Value |
255
+ |--------|-------|
256
+ | **Total Files** | 436 |
257
+ | **Total Size** | ~100MB |
258
+ | **Molecules** | 280,000 |
259
+ | **Atoms** | 151,876 |
260
+ | **Tags** | ~1,500 |
261
+ | **Edges** | ~450,000 |
262
+
263
+ ### 5.2 Ingestion Performance
264
+
265
+ | Dataset | Size | Molecules | Atoms | Time | Throughput |
266
+ |---------|------|-----------|-------|------|------------|
267
+ | **Chat Sessions** (monolith) | 91.88MB | 214,000 | 776 | 177.8s | 1,203 mol/s |
268
+ | **GitHub Archive** | 2.66MB | 36,793 | 497 | 22.4s | 1,642 mol/s |
269
+ | **Code Repository** | 0.94MB | 20,916 | 199 | 25.0s | 836 mol/s |
270
+ | **Total System** | ~100MB | **280,000** | **1,500** | **~4 min** | **1,200 mol/s** |
271
+
272
+ **Optimization:** Monolithic files (single YAML) ingest 2× faster than hundreds of small files due to reduced I/O overhead and transaction batching.
273
+
274
+ ### 5.3 Search Performance
275
+
276
+ | Search Type | Budget | Results | Latency (p95) | Use Case |
277
+ |-------------|--------|---------|---------------|----------|
278
+ | **Standard** (70/30) | 16k tokens | 40–100 atoms | **150ms** | Daily queries |
279
+ | **Max Recall** (3-hop) | 65k+ tokens | 200–500 atoms | **690ms** | Research |
280
+ | **Keyword** (direct FTS) | 4k tokens | 20–50 atoms | **100ms** | High precision |
281
+
282
+ **Scaling Behavior (151K atoms):**
283
+ - Standard Search: **7.7s** (50× increase for 100× data growth)
284
+ - Max Recall: **25–50s** (acceptable for 618k chars retrieved)
285
+
286
+ **Trade-off Analysis:**
287
+ - **Vector RAG (HNSW):** Stable latency, memory-bound (4–8GB for 100MB)
288
+ - **STAR:** Linear latency scaling, constant memory (<2GB)
289
+
290
+ For sovereign, local-first deployments on consumer hardware, latency scaling is acceptable.
291
+
292
+ ### 5.4 Memory Management
293
+
294
+ | Phase | RSS Memory | Notes |
295
+ |-------|------------|-------|
296
+ | **Peak (ingestion)** | 1,657MB | During 91MB file processing |
297
+ | **Idle (post-cleanup)** | 510MB | After 5min idle |
298
+ | **Reduction** | **-69%** | 1,147MB saved via GC |
299
+
300
+ **Ephemeral Index Architecture (Standard 110):**
301
+ - Database wiped on shutdown
302
+ - `mirrored_brain/` preserved as source of truth
303
+ - 338 files rehydrated from YAML on restart
304
+ - Zero data loss guarantee
305
+
306
+ ---
307
+
308
+ ## 6. Comparison with Vector-Based RAG and Graph Memory
309
+
310
+ | Metric | Anchor Engine (STAR) | Vector RAG (HNSW) |
311
+ |--------|---------------------|-------------------|
312
+ | **90MB Ingestion** | **~178s** ✓ 2× faster | ~360s (batch) |
313
+ | **Memory Peak** | **<1.7GB** ✓ 60–80% less | 4–8GB |
314
+ | **Search (1.5K atoms)** | **~150ms** ✓ Comparable | ~100ms |
315
+ | **Search (151K atoms)** | **~7.7s** ⚠️ Linear scaling | ~150ms (stable) |
316
+ | **Hardware** | **CPU-only** ✓ No GPU | GPU preferred |
317
+ | **Explainability** | **Native (tag paths)** ✓ | Opaque (black box) |
318
+ | **Sovereignty** | **Local-first** ✓ No cloud | Cloud-dependent |
319
+
320
+ **Use Case Fit:**
321
+
322
+ | Scenario | Recommended Approach |
323
+ |----------|---------------------|
324
+ | High-throughput cloud deployment | Vector RAG (HNSW) |
325
+ | Sovereign, local-first operation | **STAR (Anchor Engine)** |
326
+ | 4GB RAM laptop | **STAR** |
327
+ | Explainable retrieval required | **STAR** |
328
+ | GPU infrastructure available | Vector RAG |
329
+
330
+ ### 6.1 Comparison with Graph Memory Systems
331
+
332
+ While recent systems like TOBUGraph (arXiv:2412.05447) and Mem0 (arXiv:2504.19413) explore graph-based personal memory, they typically rely on LLM-based extractions, dense graph representations, and additive scoring.
333
+
334
+ STAR differentiates itself through:
335
+ - **Deterministic Scoring**: Utilizing a physics-based multiplicative equation rather than opaque LLM extractions.
336
+ - **Resource Constraints**: Architected exclusively for local-first, minimal-hardware environments (CPU-only, 4GB RAM footprints).
337
+ - **Multiplicative Noise Elimination**: The multiplicative nature of the Unified Field Equation ensures that any zero factor (e.g., zero shared tags, or orthogonal SimHash) eliminates the result entirely, significantly reducing hallucination-inducing noise.
338
+ - **Explainability**: Native tag paths directly explain why an atom was retrieved.
339
+
340
+ ---
341
+
342
+ ## 7. Economic Impact and Democratization
343
+
344
+ ### 7.1 Breaking Down Silos
345
+
346
+ Current AI memory landscape:
347
+ - **Proprietary systems**: Black boxes, artificial scarcity
348
+ - **Cloud dependency**: Recurring costs, vendor lock-in
349
+ - **Hardware barriers**: GPU requirements exclude most users
350
+
351
+ STAR enables:
352
+ - **Cognitive Sovereignty**: Users own data, context, memories
353
+ - **Economic Efficiency**: No cloud bills, no GPU rentals
354
+ - **Innovation Acceleration**: Open architecture (AGPL-3.0), extensible
355
+
356
+ ### 7.2 Public Research Foundation
357
+
358
+ Foundational AI research was publicly funded. STAR builds on:
359
+ - **SimHash** (Charikar, 1997) — Stanford University
360
+ - **PageRank** (Brin & Page, 1998) — Stanford University
361
+ - **Transformer architecture** (Vaswani et al., 2017) — Google Brain
362
+
363
+ This is a return on public investment: tools serving individuals, not corporations.
364
+
365
+ ---
366
+
367
+ ## 8. Conclusion
368
+
369
+ STAR proves that "Write Once, Run Everywhere" applies to AI infrastructure. Decouple logic from data. Shard context into atoms. Implement universal distribution.
370
+
371
+ **Key Achievements:**
372
+ - ✓ **1,200 molecules/second** ingestion throughput
373
+ - ✓ **<200ms** search latency (p95, standard queries)
374
+ - ✓ **69% memory reduction** after idle cleanup
375
+ - ✓ **Zero data loss** with ephemeral index architecture
376
+ - ✓ **151K atoms** navigable on 4GB RAM laptop
377
+
378
+ **Future Work:**
379
+ 1. **Caching Layer**: Frequent query result caching (target: 50% latency reduction)
380
+ 2. **Diffusion Models**: Graph-based reasoning over knowledge structures
381
+ 3. **Mobile Applications**: iOS/Android ports via React Native
382
+ 4. **Plugin Marketplace**: Community-contributed atomizers and taggers
383
+
384
+ **Availability:**
385
+ - **Repository**: https://github.com/RSBalchII/anchor-engine-node
386
+ - **License**: AGPL-3.0
387
+ - **Production Verified**: February 23, 2026
388
+
389
+ ---
390
+
391
+ ## Appendix A: Recursive CTE for Tag-Walker
392
+
393
+ ```sql
394
+ WITH RECURSIVE tag_walk AS (
395
+ -- Base case: anchor atoms
396
+ SELECT
397
+ a.id as atom_id,
398
+ a.simhash,
399
+ a.timestamp,
400
+ 0 as hop_distance,
401
+ 1.0 as gravity_score
402
+ FROM atoms a
403
+ WHERE a.id IN ($1::text[])
404
+
405
+ UNION ALL
406
+
407
+ -- Recursive case: 1-hop neighbors via shared tags
408
+ SELECT
409
+ t2.atom_id,
410
+ a2.simhash,
411
+ a2.timestamp,
412
+ tw.hop_distance + 1,
413
+ ((COUNT(DISTINCT t1.tag) / 10.0) * POWER(0.85, tw.hop_distance + 1)) *
414
+ EXP(-0.00001 * ABS(a2.timestamp - tw.timestamp) / 3600000.0) *
415
+ (1.0 - (bit_count(('x' || LPAD(a2.simhash, 16, '0'))::bit(64)
416
+ # ('x' || LPAD(tw.simhash, 16, '0'))::bit(64)) / 64.0))
417
+ FROM tag_walk tw
418
+ JOIN atoms a1 ON tw.atom_id = a1.id
419
+ JOIN tags t1 ON a1.id = t1.atom_id
420
+ JOIN tags t2 ON t1.tag = t2.tag
421
+ JOIN atoms a2 ON t2.atom_id = a2.id
422
+ WHERE tw.hop_distance < 3
423
+ AND a2.id NOT IN (SELECT atom_id FROM tag_walk)
424
+ GROUP BY t2.atom_id, a2.simhash, a2.timestamp, tw.hop_distance, tw.timestamp, tw.simhash
425
+ )
426
+ SELECT * FROM tag_walk
427
+ WHERE gravity_score > 0.01
428
+ ORDER BY gravity_score DESC
429
+ LIMIT 200;
430
+ ```
431
+
432
+ ---
433
+
434
+ ## References
435
+
436
+ 1. Charikar, M. (1997). *Similarity estimation techniques from rounding algorithms*. STOC '97.
437
+ 2. Brin, S., & Page, L. (1998). *The anatomy of a large-scale hypertextual web search engine*. Computer Networks.
438
+ 3. Vaswani, A., et al. (2017). *Attention is all you need*. NeurIPS '17.
439
+ 4. Malkov, Y.A., & Yashunin, D.A. (2018). *Efficient and robust approximate nearest neighbor search using hierarchical navigable small world graphs*. IEEE TPAMI.
440
+ 5. ElectricSQL. (2024). *PGlite: Embedded PostgreSQL for the browser and Node.js*. https://github.com/electric-sql/pglite
441
+
442
+ ---
443
+
444
+ **Author Note:** This whitepaper represents the foundational architecture of Anchor Engine v4.3.0 (February 2026). The v4.3.0 migration to pure TypeScript + PGlite WASM eliminated all native C++ dependencies, enabling seamless deployment on ARM64 Windows and other platforms without platform-specific builds. All benchmarks are from production workloads on consumer hardware (Windows 11 ARM64, XPS 13, 16GB RAM, NVMe SSD).
445
+
@@ -0,0 +1,41 @@
1
+ export type AgentEvent = {
2
+ type: 'thought';
3
+ content: string;
4
+ id?: string;
5
+ } | {
6
+ type: 'token';
7
+ content: string;
8
+ } | {
9
+ type: 'answer';
10
+ content: string;
11
+ } | {
12
+ type: 'error';
13
+ content: string;
14
+ };
15
+ interface AgentRuntimeOptions {
16
+ model?: string;
17
+ verbose?: boolean;
18
+ maxIterations?: number;
19
+ onEvent?: (event: AgentEvent) => void;
20
+ messages?: Array<{
21
+ role: string;
22
+ content: string;
23
+ }>;
24
+ }
25
+ export declare class AgentRuntime {
26
+ private inferenceService;
27
+ private verbose;
28
+ private maxIterations;
29
+ private onEvent?;
30
+ private messages?;
31
+ constructor(options?: AgentRuntimeOptions);
32
+ private emit;
33
+ /**
34
+ * Basic Chat Flow (User Requested Validation Mode)
35
+ * Context -> User Prompt -> Model -> Stream Output
36
+ * Uses provided context instead of chat session history.
37
+ */
38
+ runLoop(objective: string): Promise<string>;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/agent/runtime.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;CACnD;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAC,CAA8B;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAyC;gBAE9C,OAAO,GAAE,mBAAwB;IAiB7C,OAAO,CAAC,IAAI;IAuBZ;;;;OAIG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA4BlD"}
@@ -0,0 +1,73 @@
1
+ import { wasmModuleLoader } from '../utils/wasm-module-loader.js';
2
+ import { InferenceService } from '../services/inference/inference-service.js';
3
+ export class AgentRuntime {
4
+ inferenceService;
5
+ verbose;
6
+ maxIterations;
7
+ onEvent;
8
+ messages;
9
+ constructor(options = {}) {
10
+ this.verbose = options.verbose ?? false;
11
+ this.maxIterations = options.maxIterations ?? 4;
12
+ this.onEvent = options.onEvent;
13
+ this.messages = options.messages;
14
+ // WASM modules are auto-initialized in wasm-module-loader.js
15
+ // No manual loading needed - all modules ready on import
16
+ console.log('[AgentRuntime] WASM modules ready:', Array.from(wasmModuleLoader.getAllStatus().keys()).join(', '));
17
+ // Initialize inference service
18
+ this.inferenceService = new InferenceService({
19
+ modelPath: options.model
20
+ });
21
+ }
22
+ emit(event) {
23
+ if (this.onEvent) {
24
+ this.onEvent(event);
25
+ }
26
+ if (this.verbose) {
27
+ switch (event.type) {
28
+ case 'thought':
29
+ process.stdout.write(`\x1b[36m[Thought ${event.id || ''}]\x1b[0m ${event.content}`);
30
+ break;
31
+ case 'token':
32
+ process.stdout.write(event.content);
33
+ break;
34
+ case 'answer':
35
+ console.log(`\n\x1b[35m[Answer]\x1b[0m ${event.content}`);
36
+ break;
37
+ case 'error':
38
+ console.log(`\x1b[31m[Error]\x1b[0m ${event.content}`);
39
+ break;
40
+ }
41
+ }
42
+ }
43
+ /**
44
+ * Basic Chat Flow (User Requested Validation Mode)
45
+ * Context -> User Prompt -> Model -> Stream Output
46
+ * Uses provided context instead of chat session history.
47
+ */
48
+ async runLoop(objective) {
49
+ if (this.verbose) {
50
+ console.log(`[AgentRuntime] Starting Basic Chat for: "${objective}"`);
51
+ }
52
+ let fullAnswer = "";
53
+ // Use provided contextual messages if available, otherwise use default
54
+ const chatMessages = this.messages && this.messages.length > 0
55
+ ? this.messages
56
+ : [
57
+ { role: 'system', content: "You are a helpful AI assistant." },
58
+ { role: 'user', content: objective }
59
+ ];
60
+ // Direct Chat Call with contextual messages
61
+ await this.inferenceService.chat(chatMessages, {
62
+ temperature: 0.7,
63
+ onToken: (token) => {
64
+ fullAnswer += token;
65
+ // Stream directly to frontend as 'token'
66
+ this.emit({ type: 'token', content: token });
67
+ }
68
+ });
69
+ this.emit({ type: 'answer', content: fullAnswer });
70
+ return fullAnswer;
71
+ }
72
+ }
73
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/agent/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAgB9E,MAAM,OAAO,YAAY;IACf,gBAAgB,CAAmB;IACnC,OAAO,CAAU;IACjB,aAAa,CAAS;IACtB,OAAO,CAA+B;IACtC,QAAQ,CAA0C;IAE1D,YAAY,UAA+B,EAAE;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEjC,6DAA6D;QAC7D,yDAAyD;QACzD,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAC9C,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjE,+BAA+B;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC3C,SAAS,EAAE,OAAO,CAAC,KAAK;SACzB,CAAC,CAAC;IACL,CAAC;IAEO,IAAI,CAAC,KAAiB;QAC5B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,SAAS;oBACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,EAAE,IAAI,EAAE,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACpF,MAAM;gBACR,KAAK,OAAO;oBACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACpC,MAAM;gBACR,KAAK,QAAQ;oBACX,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC1D,MAAM;gBACR,KAAK,OAAO;oBACV,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACvD,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,4CAA4C,SAAS,GAAG,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,uEAAuE;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,QAAQ;YACf,CAAC,CAAC;gBACE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iCAAiC,EAAE;gBAC9D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;aACrC,CAAC;QAEN,4CAA4C;QAC5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE;YAC7C,WAAW,EAAE,GAAG;YAChB,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzB,UAAU,IAAI,KAAK,CAAC;gBACpB,yCAAyC;gBACzC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/C,CAAC;SACK,CAAC,CAAC;QAEV,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QACnD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Tag Quality Audit CLI
4
+ *
5
+ * Usage:
6
+ * node --loader ts-node/esm src/commands/audit-tags.ts [options]
7
+ *
8
+ * Options:
9
+ * --interactive, -i Interactive review mode
10
+ * --output, -o Output report file (default: ./reports/tag-audit.md)
11
+ * --json Output as JSON instead of markdown
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=audit-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-tags.d.ts","sourceRoot":"","sources":["../../src/commands/audit-tags.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG"}