@ninebix/nmt-system 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/README.md +288 -213
  2. package/dashboard-lite/index.html +1083 -762
  3. package/dist/bin/nmt.js +171 -40
  4. package/dist/bin/nmt.js.map +1 -1
  5. package/dist/src/api/cli-server.d.ts.map +1 -1
  6. package/dist/src/api/cli-server.js +156 -0
  7. package/dist/src/api/cli-server.js.map +1 -1
  8. package/dist/src/core/attractor-model.d.ts +5 -2
  9. package/dist/src/core/attractor-model.d.ts.map +1 -1
  10. package/dist/src/core/attractor-model.js +7 -4
  11. package/dist/src/core/attractor-model.js.map +1 -1
  12. package/dist/src/core/neuron-graph.d.ts.map +1 -1
  13. package/dist/src/core/neuron-graph.js +41 -7
  14. package/dist/src/core/neuron-graph.js.map +1 -1
  15. package/dist/src/mcp/server.d.ts.map +1 -1
  16. package/dist/src/mcp/server.js +168 -34
  17. package/dist/src/mcp/server.js.map +1 -1
  18. package/dist/src/services/four-stage-learning.d.ts +19 -0
  19. package/dist/src/services/four-stage-learning.d.ts.map +1 -1
  20. package/dist/src/services/four-stage-learning.js +113 -17
  21. package/dist/src/services/four-stage-learning.js.map +1 -1
  22. package/dist/src/storage/neuron-store.d.ts +2 -0
  23. package/dist/src/storage/neuron-store.d.ts.map +1 -1
  24. package/dist/src/storage/neuron-store.js +22 -14
  25. package/dist/src/storage/neuron-store.js.map +1 -1
  26. package/package.json +1 -1
  27. package/dist/api/cli-server.d.ts +0 -83
  28. package/dist/api/cli-server.d.ts.map +0 -1
  29. package/dist/api/cli-server.js +0 -597
  30. package/dist/api/cli-server.js.map +0 -1
  31. package/dist/api/index.d.ts +0 -6
  32. package/dist/api/index.d.ts.map +0 -1
  33. package/dist/api/index.js +0 -6
  34. package/dist/api/index.js.map +0 -1
  35. package/dist/api/middleware/index.d.ts +0 -12
  36. package/dist/api/middleware/index.d.ts.map +0 -1
  37. package/dist/api/middleware/index.js +0 -13
  38. package/dist/api/middleware/index.js.map +0 -1
  39. package/dist/api/middleware/logger.d.ts +0 -21
  40. package/dist/api/middleware/logger.d.ts.map +0 -1
  41. package/dist/api/middleware/logger.js +0 -134
  42. package/dist/api/middleware/logger.js.map +0 -1
  43. package/dist/api/middleware/rate-limit.d.ts +0 -26
  44. package/dist/api/middleware/rate-limit.d.ts.map +0 -1
  45. package/dist/api/middleware/rate-limit.js +0 -107
  46. package/dist/api/middleware/rate-limit.js.map +0 -1
  47. package/dist/api/middleware/response.d.ts +0 -61
  48. package/dist/api/middleware/response.d.ts.map +0 -1
  49. package/dist/api/middleware/response.js +0 -86
  50. package/dist/api/middleware/response.js.map +0 -1
  51. package/dist/api/middleware/validation.d.ts +0 -43
  52. package/dist/api/middleware/validation.d.ts.map +0 -1
  53. package/dist/api/middleware/validation.js +0 -257
  54. package/dist/api/middleware/validation.js.map +0 -1
  55. package/dist/api/server.d.ts +0 -79
  56. package/dist/api/server.d.ts.map +0 -1
  57. package/dist/api/server.js +0 -2011
  58. package/dist/api/server.js.map +0 -1
  59. package/dist/cli/commands/attractor.d.ts +0 -6
  60. package/dist/cli/commands/attractor.d.ts.map +0 -1
  61. package/dist/cli/commands/attractor.js +0 -167
  62. package/dist/cli/commands/attractor.js.map +0 -1
  63. package/dist/cli/commands/dimension.d.ts +0 -6
  64. package/dist/cli/commands/dimension.d.ts.map +0 -1
  65. package/dist/cli/commands/dimension.js +0 -85
  66. package/dist/cli/commands/dimension.js.map +0 -1
  67. package/dist/cli/commands/index.d.ts +0 -11
  68. package/dist/cli/commands/index.d.ts.map +0 -1
  69. package/dist/cli/commands/index.js +0 -11
  70. package/dist/cli/commands/index.js.map +0 -1
  71. package/dist/cli/commands/infer.d.ts +0 -6
  72. package/dist/cli/commands/infer.d.ts.map +0 -1
  73. package/dist/cli/commands/infer.js +0 -139
  74. package/dist/cli/commands/infer.js.map +0 -1
  75. package/dist/cli/commands/learn.d.ts +0 -6
  76. package/dist/cli/commands/learn.d.ts.map +0 -1
  77. package/dist/cli/commands/learn.js +0 -87
  78. package/dist/cli/commands/learn.js.map +0 -1
  79. package/dist/cli/commands/orchestrate.d.ts +0 -6
  80. package/dist/cli/commands/orchestrate.d.ts.map +0 -1
  81. package/dist/cli/commands/orchestrate.js +0 -279
  82. package/dist/cli/commands/orchestrate.js.map +0 -1
  83. package/dist/cli/commands/prob.d.ts +0 -6
  84. package/dist/cli/commands/prob.d.ts.map +0 -1
  85. package/dist/cli/commands/prob.js +0 -256
  86. package/dist/cli/commands/prob.js.map +0 -1
  87. package/dist/cli/commands/quantum.d.ts +0 -6
  88. package/dist/cli/commands/quantum.d.ts.map +0 -1
  89. package/dist/cli/commands/quantum.js +0 -150
  90. package/dist/cli/commands/quantum.js.map +0 -1
  91. package/dist/cli/commands/sync.d.ts +0 -65
  92. package/dist/cli/commands/sync.d.ts.map +0 -1
  93. package/dist/cli/commands/sync.js +0 -338
  94. package/dist/cli/commands/sync.js.map +0 -1
  95. package/dist/cli/index.d.ts +0 -9
  96. package/dist/cli/index.d.ts.map +0 -1
  97. package/dist/cli/index.js +0 -9
  98. package/dist/cli/index.js.map +0 -1
  99. package/dist/cli/probabilistic-commands.d.ts +0 -39
  100. package/dist/cli/probabilistic-commands.d.ts.map +0 -1
  101. package/dist/cli/probabilistic-commands.js +0 -112
  102. package/dist/cli/probabilistic-commands.js.map +0 -1
  103. package/dist/cli/types.d.ts +0 -69
  104. package/dist/cli/types.d.ts.map +0 -1
  105. package/dist/cli/types.js +0 -5
  106. package/dist/cli/types.js.map +0 -1
  107. package/dist/cli/utils/formatters.d.ts +0 -51
  108. package/dist/cli/utils/formatters.d.ts.map +0 -1
  109. package/dist/cli/utils/formatters.js +0 -79
  110. package/dist/cli/utils/formatters.js.map +0 -1
  111. package/dist/cli/utils/helpers.d.ts +0 -21
  112. package/dist/cli/utils/helpers.d.ts.map +0 -1
  113. package/dist/cli/utils/helpers.js +0 -51
  114. package/dist/cli/utils/helpers.js.map +0 -1
  115. package/dist/cli/utils/index.d.ts +0 -7
  116. package/dist/cli/utils/index.d.ts.map +0 -1
  117. package/dist/cli/utils/index.js +0 -13
  118. package/dist/cli/utils/index.js.map +0 -1
  119. package/dist/cli/utils/validators.d.ts +0 -162
  120. package/dist/cli/utils/validators.d.ts.map +0 -1
  121. package/dist/cli/utils/validators.js +0 -351
  122. package/dist/cli/utils/validators.js.map +0 -1
  123. package/dist/core/advanced-embedding.d.ts +0 -154
  124. package/dist/core/advanced-embedding.d.ts.map +0 -1
  125. package/dist/core/advanced-embedding.js +0 -367
  126. package/dist/core/advanced-embedding.js.map +0 -1
  127. package/dist/core/attractor-model.d.ts +0 -381
  128. package/dist/core/attractor-model.d.ts.map +0 -1
  129. package/dist/core/attractor-model.js +0 -821
  130. package/dist/core/attractor-model.js.map +0 -1
  131. package/dist/core/bidirectional-inference.d.ts +0 -143
  132. package/dist/core/bidirectional-inference.d.ts.map +0 -1
  133. package/dist/core/bidirectional-inference.js +0 -501
  134. package/dist/core/bidirectional-inference.js.map +0 -1
  135. package/dist/core/chunk-engine.d.ts +0 -78
  136. package/dist/core/chunk-engine.d.ts.map +0 -1
  137. package/dist/core/chunk-engine.js +0 -192
  138. package/dist/core/chunk-engine.js.map +0 -1
  139. package/dist/core/dynamic-embedding.d.ts +0 -327
  140. package/dist/core/dynamic-embedding.d.ts.map +0 -1
  141. package/dist/core/dynamic-embedding.js +0 -527
  142. package/dist/core/dynamic-embedding.js.map +0 -1
  143. package/dist/core/embedding-similarity.d.ts +0 -68
  144. package/dist/core/embedding-similarity.d.ts.map +0 -1
  145. package/dist/core/embedding-similarity.js +0 -291
  146. package/dist/core/embedding-similarity.js.map +0 -1
  147. package/dist/core/evolution-scheduler.d.ts +0 -101
  148. package/dist/core/evolution-scheduler.d.ts.map +0 -1
  149. package/dist/core/evolution-scheduler.js +0 -235
  150. package/dist/core/evolution-scheduler.js.map +0 -1
  151. package/dist/core/hierarchical-chunker.d.ts +0 -108
  152. package/dist/core/hierarchical-chunker.d.ts.map +0 -1
  153. package/dist/core/hierarchical-chunker.js +0 -296
  154. package/dist/core/hierarchical-chunker.js.map +0 -1
  155. package/dist/core/hnsw-index.d.ts +0 -111
  156. package/dist/core/hnsw-index.d.ts.map +0 -1
  157. package/dist/core/hnsw-index.js +0 -466
  158. package/dist/core/hnsw-index.js.map +0 -1
  159. package/dist/core/index.d.ts +0 -23
  160. package/dist/core/index.d.ts.map +0 -1
  161. package/dist/core/index.js +0 -25
  162. package/dist/core/index.js.map +0 -1
  163. package/dist/core/language-analyzers.d.ts +0 -124
  164. package/dist/core/language-analyzers.d.ts.map +0 -1
  165. package/dist/core/language-analyzers.js +0 -365
  166. package/dist/core/language-analyzers.js.map +0 -1
  167. package/dist/core/local-embedding.d.ts +0 -109
  168. package/dist/core/local-embedding.d.ts.map +0 -1
  169. package/dist/core/local-embedding.js +0 -222
  170. package/dist/core/local-embedding.js.map +0 -1
  171. package/dist/core/merkle-engine.d.ts +0 -263
  172. package/dist/core/merkle-engine.d.ts.map +0 -1
  173. package/dist/core/merkle-engine.js +0 -528
  174. package/dist/core/merkle-engine.js.map +0 -1
  175. package/dist/core/multi-layer-reasoning.d.ts +0 -178
  176. package/dist/core/multi-layer-reasoning.d.ts.map +0 -1
  177. package/dist/core/multi-layer-reasoning.js +0 -607
  178. package/dist/core/multi-layer-reasoning.js.map +0 -1
  179. package/dist/core/neuron-graph.d.ts +0 -134
  180. package/dist/core/neuron-graph.d.ts.map +0 -1
  181. package/dist/core/neuron-graph.js +0 -436
  182. package/dist/core/neuron-graph.js.map +0 -1
  183. package/dist/core/probabilistic-neuron.d.ts +0 -251
  184. package/dist/core/probabilistic-neuron.d.ts.map +0 -1
  185. package/dist/core/probabilistic-neuron.js +0 -618
  186. package/dist/core/probabilistic-neuron.js.map +0 -1
  187. package/dist/core/probabilistic-orchestrator.d.ts +0 -408
  188. package/dist/core/probabilistic-orchestrator.d.ts.map +0 -1
  189. package/dist/core/probabilistic-orchestrator.js +0 -798
  190. package/dist/core/probabilistic-orchestrator.js.map +0 -1
  191. package/dist/core/semantic-chunker.d.ts +0 -117
  192. package/dist/core/semantic-chunker.d.ts.map +0 -1
  193. package/dist/core/semantic-chunker.js +0 -464
  194. package/dist/core/semantic-chunker.js.map +0 -1
  195. package/dist/events/event-bus.d.ts +0 -166
  196. package/dist/events/event-bus.d.ts.map +0 -1
  197. package/dist/events/event-bus.js +0 -228
  198. package/dist/events/event-bus.js.map +0 -1
  199. package/dist/events/index.d.ts +0 -7
  200. package/dist/events/index.d.ts.map +0 -1
  201. package/dist/events/index.js +0 -7
  202. package/dist/events/index.js.map +0 -1
  203. package/dist/events/progress-tracker.d.ts +0 -150
  204. package/dist/events/progress-tracker.d.ts.map +0 -1
  205. package/dist/events/progress-tracker.js +0 -290
  206. package/dist/events/progress-tracker.js.map +0 -1
  207. package/dist/extensions/clustering/community-detection.d.ts +0 -90
  208. package/dist/extensions/clustering/community-detection.d.ts.map +0 -1
  209. package/dist/extensions/clustering/community-detection.js +0 -470
  210. package/dist/extensions/clustering/community-detection.js.map +0 -1
  211. package/dist/extensions/clustering/index.d.ts +0 -114
  212. package/dist/extensions/clustering/index.d.ts.map +0 -1
  213. package/dist/extensions/clustering/index.js +0 -468
  214. package/dist/extensions/clustering/index.js.map +0 -1
  215. package/dist/extensions/clustering/topic-modeling.d.ts +0 -86
  216. package/dist/extensions/clustering/topic-modeling.d.ts.map +0 -1
  217. package/dist/extensions/clustering/topic-modeling.js +0 -355
  218. package/dist/extensions/clustering/topic-modeling.js.map +0 -1
  219. package/dist/extensions/distributed/coordinator.d.ts +0 -114
  220. package/dist/extensions/distributed/coordinator.d.ts.map +0 -1
  221. package/dist/extensions/distributed/coordinator.js +0 -319
  222. package/dist/extensions/distributed/coordinator.js.map +0 -1
  223. package/dist/extensions/distributed/index.d.ts +0 -10
  224. package/dist/extensions/distributed/index.d.ts.map +0 -1
  225. package/dist/extensions/distributed/index.js +0 -10
  226. package/dist/extensions/distributed/index.js.map +0 -1
  227. package/dist/extensions/distributed/queue.d.ts +0 -157
  228. package/dist/extensions/distributed/queue.d.ts.map +0 -1
  229. package/dist/extensions/distributed/queue.js +0 -326
  230. package/dist/extensions/distributed/queue.js.map +0 -1
  231. package/dist/extensions/distributed/scheduler.d.ts +0 -107
  232. package/dist/extensions/distributed/scheduler.d.ts.map +0 -1
  233. package/dist/extensions/distributed/scheduler.js +0 -301
  234. package/dist/extensions/distributed/scheduler.js.map +0 -1
  235. package/dist/extensions/distributed/worker.d.ts +0 -112
  236. package/dist/extensions/distributed/worker.d.ts.map +0 -1
  237. package/dist/extensions/distributed/worker.js +0 -260
  238. package/dist/extensions/distributed/worker.js.map +0 -1
  239. package/dist/index.d.ts +0 -14
  240. package/dist/index.d.ts.map +0 -1
  241. package/dist/index.js +0 -20
  242. package/dist/index.js.map +0 -1
  243. package/dist/mcp/server.d.ts +0 -43
  244. package/dist/mcp/server.d.ts.map +0 -1
  245. package/dist/mcp/server.js +0 -494
  246. package/dist/mcp/server.js.map +0 -1
  247. package/dist/services/adaptive-fallback.d.ts +0 -140
  248. package/dist/services/adaptive-fallback.d.ts.map +0 -1
  249. package/dist/services/adaptive-fallback.js +0 -273
  250. package/dist/services/adaptive-fallback.js.map +0 -1
  251. package/dist/services/answer-gate.d.ts +0 -112
  252. package/dist/services/answer-gate.d.ts.map +0 -1
  253. package/dist/services/answer-gate.js +0 -299
  254. package/dist/services/answer-gate.js.map +0 -1
  255. package/dist/services/auto-learning.d.ts +0 -135
  256. package/dist/services/auto-learning.d.ts.map +0 -1
  257. package/dist/services/auto-learning.js +0 -413
  258. package/dist/services/auto-learning.js.map +0 -1
  259. package/dist/services/context-compressor.d.ts +0 -77
  260. package/dist/services/context-compressor.d.ts.map +0 -1
  261. package/dist/services/context-compressor.js +0 -234
  262. package/dist/services/context-compressor.js.map +0 -1
  263. package/dist/services/efficient-rag.d.ts +0 -140
  264. package/dist/services/efficient-rag.d.ts.map +0 -1
  265. package/dist/services/efficient-rag.js +0 -311
  266. package/dist/services/efficient-rag.js.map +0 -1
  267. package/dist/services/embedding-provider.d.ts +0 -72
  268. package/dist/services/embedding-provider.d.ts.map +0 -1
  269. package/dist/services/embedding-provider.js +0 -176
  270. package/dist/services/embedding-provider.js.map +0 -1
  271. package/dist/services/file-ingestion.d.ts +0 -72
  272. package/dist/services/file-ingestion.d.ts.map +0 -1
  273. package/dist/services/file-ingestion.js +0 -237
  274. package/dist/services/file-ingestion.js.map +0 -1
  275. package/dist/services/four-stage-learning.d.ts +0 -552
  276. package/dist/services/four-stage-learning.d.ts.map +0 -1
  277. package/dist/services/four-stage-learning.js +0 -1110
  278. package/dist/services/four-stage-learning.js.map +0 -1
  279. package/dist/services/graph.d.ts +0 -94
  280. package/dist/services/graph.d.ts.map +0 -1
  281. package/dist/services/graph.js +0 -292
  282. package/dist/services/graph.js.map +0 -1
  283. package/dist/services/index.d.ts +0 -15
  284. package/dist/services/index.d.ts.map +0 -1
  285. package/dist/services/index.js +0 -18
  286. package/dist/services/index.js.map +0 -1
  287. package/dist/services/ingestion.d.ts +0 -98
  288. package/dist/services/ingestion.d.ts.map +0 -1
  289. package/dist/services/ingestion.js +0 -259
  290. package/dist/services/ingestion.js.map +0 -1
  291. package/dist/services/learning.d.ts +0 -67
  292. package/dist/services/learning.d.ts.map +0 -1
  293. package/dist/services/learning.js +0 -262
  294. package/dist/services/learning.js.map +0 -1
  295. package/dist/services/llm-router.d.ts +0 -143
  296. package/dist/services/llm-router.d.ts.map +0 -1
  297. package/dist/services/llm-router.js +0 -284
  298. package/dist/services/llm-router.js.map +0 -1
  299. package/dist/services/llm.d.ts +0 -86
  300. package/dist/services/llm.d.ts.map +0 -1
  301. package/dist/services/llm.js +0 -283
  302. package/dist/services/llm.js.map +0 -1
  303. package/dist/services/metrics-dashboard.d.ts +0 -262
  304. package/dist/services/metrics-dashboard.d.ts.map +0 -1
  305. package/dist/services/metrics-dashboard.js +0 -417
  306. package/dist/services/metrics-dashboard.js.map +0 -1
  307. package/dist/services/neuron-lifecycle.d.ts +0 -137
  308. package/dist/services/neuron-lifecycle.d.ts.map +0 -1
  309. package/dist/services/neuron-lifecycle.js +0 -422
  310. package/dist/services/neuron-lifecycle.js.map +0 -1
  311. package/dist/services/nmt-pipeline.d.ts +0 -219
  312. package/dist/services/nmt-pipeline.d.ts.map +0 -1
  313. package/dist/services/nmt-pipeline.js +0 -449
  314. package/dist/services/nmt-pipeline.js.map +0 -1
  315. package/dist/services/query-cache.d.ts +0 -136
  316. package/dist/services/query-cache.d.ts.map +0 -1
  317. package/dist/services/query-cache.js +0 -255
  318. package/dist/services/query-cache.js.map +0 -1
  319. package/dist/services/query-normalize.d.ts +0 -107
  320. package/dist/services/query-normalize.d.ts.map +0 -1
  321. package/dist/services/query-normalize.js +0 -366
  322. package/dist/services/query-normalize.js.map +0 -1
  323. package/dist/services/query.d.ts +0 -102
  324. package/dist/services/query.d.ts.map +0 -1
  325. package/dist/services/query.js +0 -227
  326. package/dist/services/query.js.map +0 -1
  327. package/dist/services/text-embedding.d.ts +0 -183
  328. package/dist/services/text-embedding.d.ts.map +0 -1
  329. package/dist/services/text-embedding.js +0 -633
  330. package/dist/services/text-embedding.js.map +0 -1
  331. package/dist/services/verification-gate.d.ts +0 -147
  332. package/dist/services/verification-gate.d.ts.map +0 -1
  333. package/dist/services/verification-gate.js +0 -344
  334. package/dist/services/verification-gate.js.map +0 -1
  335. package/dist/services/verify.d.ts +0 -114
  336. package/dist/services/verify.d.ts.map +0 -1
  337. package/dist/services/verify.js +0 -237
  338. package/dist/services/verify.js.map +0 -1
  339. package/dist/services/web-search.d.ts +0 -145
  340. package/dist/services/web-search.d.ts.map +0 -1
  341. package/dist/services/web-search.js +0 -534
  342. package/dist/services/web-search.js.map +0 -1
  343. package/dist/storage/chunk-store.d.ts +0 -107
  344. package/dist/storage/chunk-store.d.ts.map +0 -1
  345. package/dist/storage/chunk-store.js +0 -293
  346. package/dist/storage/chunk-store.js.map +0 -1
  347. package/dist/storage/hybrid-adapters.d.ts +0 -111
  348. package/dist/storage/hybrid-adapters.d.ts.map +0 -1
  349. package/dist/storage/hybrid-adapters.js +0 -223
  350. package/dist/storage/hybrid-adapters.js.map +0 -1
  351. package/dist/storage/hybrid-store.d.ts +0 -125
  352. package/dist/storage/hybrid-store.d.ts.map +0 -1
  353. package/dist/storage/hybrid-store.js +0 -655
  354. package/dist/storage/hybrid-store.js.map +0 -1
  355. package/dist/storage/index-store.d.ts +0 -126
  356. package/dist/storage/index-store.d.ts.map +0 -1
  357. package/dist/storage/index-store.js +0 -316
  358. package/dist/storage/index-store.js.map +0 -1
  359. package/dist/storage/index.d.ts +0 -45
  360. package/dist/storage/index.d.ts.map +0 -1
  361. package/dist/storage/index.js +0 -52
  362. package/dist/storage/index.js.map +0 -1
  363. package/dist/storage/neuron-store.d.ts +0 -121
  364. package/dist/storage/neuron-store.d.ts.map +0 -1
  365. package/dist/storage/neuron-store.js +0 -466
  366. package/dist/storage/neuron-store.js.map +0 -1
  367. package/dist/storage/ontology-store.d.ts +0 -132
  368. package/dist/storage/ontology-store.d.ts.map +0 -1
  369. package/dist/storage/ontology-store.js +0 -319
  370. package/dist/storage/ontology-store.js.map +0 -1
  371. package/dist/storage/probabilistic-store.d.ts +0 -104
  372. package/dist/storage/probabilistic-store.d.ts.map +0 -1
  373. package/dist/storage/probabilistic-store.js +0 -257
  374. package/dist/storage/probabilistic-store.js.map +0 -1
  375. package/dist/storage/redis-adapters.d.ts +0 -102
  376. package/dist/storage/redis-adapters.d.ts.map +0 -1
  377. package/dist/storage/redis-adapters.js +0 -205
  378. package/dist/storage/redis-adapters.js.map +0 -1
  379. package/dist/storage/redis-ontology-store.d.ts +0 -146
  380. package/dist/storage/redis-ontology-store.d.ts.map +0 -1
  381. package/dist/storage/redis-ontology-store.js +0 -384
  382. package/dist/storage/redis-ontology-store.js.map +0 -1
  383. package/dist/storage/redis-store.d.ts +0 -174
  384. package/dist/storage/redis-store.d.ts.map +0 -1
  385. package/dist/storage/redis-store.js +0 -506
  386. package/dist/storage/redis-store.js.map +0 -1
  387. package/dist/sync/change-journal.d.ts +0 -171
  388. package/dist/sync/change-journal.d.ts.map +0 -1
  389. package/dist/sync/change-journal.js +0 -362
  390. package/dist/sync/change-journal.js.map +0 -1
  391. package/dist/sync/index.d.ts +0 -8
  392. package/dist/sync/index.d.ts.map +0 -1
  393. package/dist/sync/index.js +0 -8
  394. package/dist/sync/index.js.map +0 -1
  395. package/dist/sync/state-sync.d.ts +0 -241
  396. package/dist/sync/state-sync.d.ts.map +0 -1
  397. package/dist/sync/state-sync.js +0 -396
  398. package/dist/sync/state-sync.js.map +0 -1
  399. package/dist/sync/vector-clock.d.ts +0 -144
  400. package/dist/sync/vector-clock.d.ts.map +0 -1
  401. package/dist/sync/vector-clock.js +0 -266
  402. package/dist/sync/vector-clock.js.map +0 -1
  403. package/dist/types/index.d.ts +0 -224
  404. package/dist/types/index.d.ts.map +0 -1
  405. package/dist/types/index.js +0 -24
  406. package/dist/types/index.js.map +0 -1
  407. package/dist/utils/hash.d.ts +0 -39
  408. package/dist/utils/hash.d.ts.map +0 -1
  409. package/dist/utils/hash.js +0 -56
  410. package/dist/utils/hash.js.map +0 -1
  411. package/dist/utils/index.d.ts +0 -26
  412. package/dist/utils/index.d.ts.map +0 -1
  413. package/dist/utils/index.js +0 -50
  414. package/dist/utils/index.js.map +0 -1
  415. package/dist/utils/logger.d.ts +0 -88
  416. package/dist/utils/logger.d.ts.map +0 -1
  417. package/dist/utils/logger.js +0 -157
  418. package/dist/utils/logger.js.map +0 -1
  419. package/dist/utils/metrics.d.ts +0 -232
  420. package/dist/utils/metrics.d.ts.map +0 -1
  421. package/dist/utils/metrics.js +0 -387
  422. package/dist/utils/metrics.js.map +0 -1
  423. package/dist/utils/similarity.d.ts +0 -64
  424. package/dist/utils/similarity.d.ts.map +0 -1
  425. package/dist/utils/similarity.js +0 -151
  426. package/dist/utils/similarity.js.map +0 -1
  427. package/dist/utils/uuid.d.ts +0 -23
  428. package/dist/utils/uuid.d.ts.map +0 -1
  429. package/dist/utils/uuid.js +0 -29
  430. package/dist/utils/uuid.js.map +0 -1
@@ -1,222 +0,0 @@
1
- /**
2
- * Local Embedding Service
3
- * 로컬 초소형 모델을 사용한 임베딩 생성
4
- *
5
- * @module core/local-embedding
6
- */
7
- import { pipeline, env } from '@xenova/transformers';
8
- // 모델 캐시 디렉토리 설정
9
- env.cacheDir = './data/models';
10
- env.allowLocalModels = true;
11
- /**
12
- * Local Embedding Service
13
- */
14
- export class LocalEmbeddingService {
15
- extractor = null;
16
- modelName;
17
- isLoading = false;
18
- loadPromise = null;
19
- // 캐시
20
- cache = new Map();
21
- cacheMaxSize = 10000;
22
- // 통계
23
- stats = {
24
- totalEmbeddings: 0,
25
- cacheHits: 0,
26
- totalTime: 0,
27
- modelLoadTime: 0,
28
- };
29
- constructor(modelName = 'Xenova/all-MiniLM-L6-v2') {
30
- this.modelName = modelName;
31
- }
32
- /**
33
- * 모델 로드
34
- */
35
- async init() {
36
- if (this.extractor)
37
- return;
38
- if (this.loadPromise)
39
- return this.loadPromise;
40
- this.isLoading = true;
41
- const startTime = Date.now();
42
- this.loadPromise = (async () => {
43
- try {
44
- console.log(`Loading embedding model: ${this.modelName}...`);
45
- this.extractor = await pipeline('feature-extraction', this.modelName, {
46
- quantized: true, // 양자화된 모델 사용 (더 빠름)
47
- });
48
- this.stats.modelLoadTime = Date.now() - startTime;
49
- console.log(`Model loaded in ${this.stats.modelLoadTime}ms`);
50
- }
51
- catch (error) {
52
- console.error('Failed to load embedding model:', error);
53
- throw error;
54
- }
55
- finally {
56
- this.isLoading = false;
57
- }
58
- })();
59
- return this.loadPromise;
60
- }
61
- /**
62
- * 단일 텍스트 임베딩
63
- */
64
- async embed(text) {
65
- await this.init();
66
- // 캐시 확인
67
- const cacheKey = text.toLowerCase().trim();
68
- if (this.cache.has(cacheKey)) {
69
- this.stats.cacheHits++;
70
- return {
71
- text,
72
- embedding: this.cache.get(cacheKey),
73
- model: this.modelName,
74
- processingTime: 0,
75
- };
76
- }
77
- const startTime = Date.now();
78
- const output = await this.extractor(text, {
79
- pooling: 'mean',
80
- normalize: true,
81
- });
82
- const embedding = Array.from(output.data);
83
- const processingTime = Date.now() - startTime;
84
- // 캐시 저장
85
- this.addToCache(cacheKey, embedding);
86
- // 통계 업데이트
87
- this.stats.totalEmbeddings++;
88
- this.stats.totalTime += processingTime;
89
- return {
90
- text,
91
- embedding,
92
- model: this.modelName,
93
- processingTime,
94
- };
95
- }
96
- /**
97
- * 배치 임베딩
98
- */
99
- async embedBatch(texts) {
100
- const startTime = Date.now();
101
- const results = [];
102
- // 병렬 처리 (최대 10개씩)
103
- const batchSize = 10;
104
- for (let i = 0; i < texts.length; i += batchSize) {
105
- const batch = texts.slice(i, i + batchSize);
106
- const batchResults = await Promise.all(batch.map(t => this.embed(t)));
107
- results.push(...batchResults);
108
- }
109
- const totalTime = Date.now() - startTime;
110
- return {
111
- results,
112
- totalTime,
113
- avgTime: totalTime / texts.length,
114
- };
115
- }
116
- /**
117
- * 두 텍스트 간 유사도 계산
118
- */
119
- async similarity(text1, text2, method = 'cosine') {
120
- const [emb1, emb2] = await Promise.all([
121
- this.embed(text1),
122
- this.embed(text2),
123
- ]);
124
- let similarity;
125
- switch (method) {
126
- case 'cosine':
127
- similarity = this.cosineSimilarity(emb1.embedding, emb2.embedding);
128
- break;
129
- case 'dot':
130
- similarity = this.dotProduct(emb1.embedding, emb2.embedding);
131
- break;
132
- case 'euclidean':
133
- similarity = 1 / (1 + this.euclideanDistance(emb1.embedding, emb2.embedding));
134
- break;
135
- }
136
- return { text1, text2, similarity, method };
137
- }
138
- /**
139
- * 쿼리와 가장 유사한 텍스트 찾기
140
- */
141
- async findMostSimilar(query, candidates, topK = 5) {
142
- const queryEmb = await this.embed(query);
143
- const candidateEmbs = await this.embedBatch(candidates);
144
- const similarities = candidateEmbs.results.map((r, i) => ({
145
- text: candidates[i],
146
- similarity: this.cosineSimilarity(queryEmb.embedding, r.embedding),
147
- }));
148
- return similarities
149
- .sort((a, b) => b.similarity - a.similarity)
150
- .slice(0, topK);
151
- }
152
- /**
153
- * 코사인 유사도
154
- */
155
- cosineSimilarity(a, b) {
156
- let dotProduct = 0;
157
- let normA = 0;
158
- let normB = 0;
159
- for (let i = 0; i < a.length; i++) {
160
- dotProduct += a[i] * b[i];
161
- normA += a[i] * a[i];
162
- normB += b[i] * b[i];
163
- }
164
- return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
165
- }
166
- /**
167
- * 내적
168
- */
169
- dotProduct(a, b) {
170
- return a.reduce((sum, val, i) => sum + val * b[i], 0);
171
- }
172
- /**
173
- * 유클리드 거리
174
- */
175
- euclideanDistance(a, b) {
176
- return Math.sqrt(a.reduce((sum, val, i) => sum + Math.pow(val - b[i], 2), 0));
177
- }
178
- /**
179
- * 캐시에 추가
180
- */
181
- addToCache(key, embedding) {
182
- if (this.cache.size >= this.cacheMaxSize) {
183
- // LRU: 가장 오래된 항목 제거
184
- const firstKey = this.cache.keys().next().value;
185
- if (firstKey)
186
- this.cache.delete(firstKey);
187
- }
188
- this.cache.set(key, embedding);
189
- }
190
- /**
191
- * 통계 반환
192
- */
193
- getStats() {
194
- return {
195
- ...this.stats,
196
- cacheSize: this.cache.size,
197
- cacheHitRate: this.stats.totalEmbeddings > 0
198
- ? (this.stats.cacheHits / (this.stats.totalEmbeddings + this.stats.cacheHits)) * 100
199
- : 0,
200
- avgEmbeddingTime: this.stats.totalEmbeddings > 0
201
- ? this.stats.totalTime / this.stats.totalEmbeddings
202
- : 0,
203
- model: this.modelName,
204
- isLoaded: !!this.extractor,
205
- };
206
- }
207
- /**
208
- * 캐시 클리어
209
- */
210
- clearCache() {
211
- this.cache.clear();
212
- }
213
- /**
214
- * 임베딩 차원 반환
215
- */
216
- getDimension() {
217
- return 384; // MiniLM-L6-v2 기준
218
- }
219
- }
220
- // 싱글톤 인스턴스
221
- export const localEmbedding = new LocalEmbeddingService();
222
- //# sourceMappingURL=local-embedding.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-embedding.js","sourceRoot":"","sources":["../../src/core/local-embedding.ts"],"names":[],"mappings":"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"}
@@ -1,263 +0,0 @@
1
- /**
2
- * Merkle Engine - Tree construction and verification
3
- *
4
- * Extended features:
5
- * - Tree diff computation
6
- * - Batch proofs for multiple leaves
7
- * - Range proofs for consecutive leaves
8
- * - Versioned trees
9
- *
10
- * @module core/merkle-engine
11
- */
12
- import type { MerkleTree, MerkleProof, SHA3Hash, MerkleRoot } from '../types/index.js';
13
- /**
14
- * Difference between two Merkle trees
15
- */
16
- export interface TreeDiff {
17
- /** Leaves added in newTree */
18
- added: SHA3Hash[];
19
- /** Leaves removed from oldTree */
20
- removed: SHA3Hash[];
21
- /** Leaves modified (same index, different hash) */
22
- modified: {
23
- index: number;
24
- oldHash: SHA3Hash;
25
- newHash: SHA3Hash;
26
- }[];
27
- /** Old root */
28
- oldRoot: MerkleRoot;
29
- /** New root */
30
- newRoot: MerkleRoot;
31
- }
32
- /**
33
- * Batch proof for multiple leaves
34
- */
35
- export interface BatchMerkleProof {
36
- /** Leaves being proven */
37
- leaves: {
38
- index: number;
39
- hash: SHA3Hash;
40
- }[];
41
- /** Deduplicated sibling nodes: "level:index" -> hash */
42
- siblings: Record<string, SHA3Hash>;
43
- /** Root hash */
44
- root: MerkleRoot;
45
- }
46
- /**
47
- * Range proof for consecutive leaves
48
- */
49
- export interface RangeProof {
50
- /** Start index (inclusive) */
51
- startIndex: number;
52
- /** End index (exclusive) */
53
- endIndex: number;
54
- /** Leaves in range */
55
- leaves: SHA3Hash[];
56
- /** Left boundary proof */
57
- leftProof: MerkleProof | null;
58
- /** Right boundary proof */
59
- rightProof: MerkleProof | null;
60
- /** Root hash */
61
- root: MerkleRoot;
62
- }
63
- /**
64
- * Versioned Merkle tree with parent tracking
65
- */
66
- export interface VersionedMerkleTree extends MerkleTree {
67
- /** Version number */
68
- version: number;
69
- /** Parent root (null for initial version) */
70
- parentRoot: MerkleRoot | null;
71
- /** Version timestamp */
72
- timestamp: string;
73
- /** Changes from parent (if any) */
74
- diff?: TreeDiff;
75
- }
76
- /**
77
- * MerkleEngine class for tree operations
78
- */
79
- export declare class MerkleEngine {
80
- /**
81
- * Build a Merkle tree from leaf hashes
82
- * @param leaves - Array of leaf hashes
83
- * @returns Complete Merkle tree structure
84
- */
85
- buildTree(leaves: SHA3Hash[]): MerkleTree;
86
- /**
87
- * Build Merkle tree from raw data buffers
88
- * @param data - Array of data buffers
89
- * @returns Merkle tree with hashed leaves
90
- */
91
- buildTreeFromData(data: Buffer[]): MerkleTree;
92
- /**
93
- * Generate inclusion proof for a leaf
94
- * @param tree - Merkle tree
95
- * @param leafIndex - Index of leaf to prove
96
- * @returns Merkle proof
97
- */
98
- generateProof(tree: MerkleTree, leafIndex: number): MerkleProof;
99
- /**
100
- * Verify a Merkle proof
101
- * @param proof - Proof to verify
102
- * @returns true if proof is valid
103
- */
104
- verifyProof(proof: MerkleProof): boolean;
105
- /**
106
- * Verify proof with explicit root and leaf
107
- * @param proof - Proof structure
108
- * @param root - Expected root hash
109
- * @param leaf - Expected leaf hash
110
- * @returns true if valid
111
- */
112
- verifyProofWithValues(proof: MerkleProof, root: MerkleRoot, leaf: SHA3Hash): boolean;
113
- /**
114
- * Compute the root hash directly from leaves
115
- * @param leaves - Leaf hashes
116
- * @returns Root hash
117
- */
118
- computeRoot(leaves: SHA3Hash[]): MerkleRoot;
119
- /**
120
- * Update a leaf in the tree (returns new tree)
121
- * @param tree - Original tree
122
- * @param index - Leaf index to update
123
- * @param newLeaf - New leaf hash
124
- * @returns Updated tree
125
- */
126
- updateLeaf(tree: MerkleTree, index: number, newLeaf: SHA3Hash): MerkleTree;
127
- /**
128
- * Add a new leaf to the tree
129
- * @param tree - Original tree
130
- * @param newLeaf - New leaf hash
131
- * @returns Updated tree
132
- */
133
- addLeaf(tree: MerkleTree, newLeaf: SHA3Hash): MerkleTree;
134
- /**
135
- * Get the height of the tree
136
- * @param tree - Merkle tree
137
- * @returns Tree height (number of levels)
138
- */
139
- getHeight(tree: MerkleTree): number;
140
- /**
141
- * Get all nodes at a specific level
142
- * @param tree - Merkle tree
143
- * @param level - Level index (0 = leaves)
144
- * @returns Array of hashes at that level
145
- */
146
- getLevel(tree: MerkleTree, level: number): SHA3Hash[];
147
- /**
148
- * Serialize tree to JSON-friendly format
149
- */
150
- serialize(tree: MerkleTree): object;
151
- /**
152
- * Deserialize tree from JSON
153
- */
154
- deserialize(data: {
155
- root: MerkleRoot;
156
- levels: SHA3Hash[][];
157
- leafCount: number;
158
- originalLeaves: SHA3Hash[];
159
- }): MerkleTree;
160
- /**
161
- * Compute the difference between two Merkle trees
162
- *
163
- * @param oldTree - Original tree
164
- * @param newTree - Updated tree
165
- * @returns TreeDiff with added, removed, and modified leaves
166
- *
167
- * @example
168
- * ```typescript
169
- * const tree1 = engine.buildTree(['a', 'b', 'c']);
170
- * const tree2 = engine.buildTree(['a', 'b', 'd']);
171
- * const diff = engine.computeDiff(tree1, tree2);
172
- * // diff.modified = [{ index: 2, oldHash: 'c', newHash: 'd' }]
173
- * ```
174
- */
175
- computeDiff(oldTree: MerkleTree, newTree: MerkleTree): TreeDiff;
176
- /**
177
- * Check if two trees have the same content
178
- */
179
- treesEqual(tree1: MerkleTree, tree2: MerkleTree): boolean;
180
- /**
181
- * Generate a batch proof for multiple leaves at once
182
- *
183
- * More efficient than generating individual proofs as siblings are deduplicated.
184
- *
185
- * @param tree - Merkle tree
186
- * @param indices - Array of leaf indices to prove
187
- * @returns BatchMerkleProof with deduplicated siblings
188
- *
189
- * @example
190
- * ```typescript
191
- * const batchProof = engine.generateBatchProof(tree, [0, 2, 5]);
192
- * const valid = engine.verifyBatchProof(batchProof);
193
- * ```
194
- */
195
- generateBatchProof(tree: MerkleTree, indices: number[]): BatchMerkleProof;
196
- /**
197
- * Verify a batch proof
198
- *
199
- * @param proof - BatchMerkleProof to verify
200
- * @returns true if all leaves are proven to be in the tree
201
- */
202
- verifyBatchProof(proof: BatchMerkleProof): boolean;
203
- /**
204
- * Generate a range proof for consecutive leaves
205
- *
206
- * Useful for proving a subset of the tree without full proofs for each leaf.
207
- *
208
- * @param tree - Merkle tree
209
- * @param startIndex - Start index (inclusive)
210
- * @param endIndex - End index (exclusive)
211
- * @returns RangeProof
212
- */
213
- generateRangeProof(tree: MerkleTree, startIndex: number, endIndex: number): RangeProof;
214
- /**
215
- * Verify a range proof
216
- *
217
- * @param proof - RangeProof to verify
218
- * @returns true if the range is valid
219
- */
220
- verifyRangeProof(proof: RangeProof): boolean;
221
- /**
222
- * Create a versioned tree from an existing tree
223
- *
224
- * @param tree - Source tree
225
- * @param parentRoot - Parent version root (null for initial)
226
- * @returns VersionedMerkleTree
227
- */
228
- createVersion(tree: MerkleTree, parentRoot?: MerkleRoot | null): VersionedMerkleTree;
229
- /**
230
- * Create a new version from changes
231
- *
232
- * @param currentVersion - Current versioned tree
233
- * @param newTree - New tree state
234
- * @returns New VersionedMerkleTree with diff
235
- */
236
- createNewVersion(currentVersion: VersionedMerkleTree, newTree: MerkleTree): VersionedMerkleTree;
237
- /**
238
- * Serialize a versioned tree
239
- */
240
- serializeVersioned(tree: VersionedMerkleTree): object;
241
- /**
242
- * Deserialize a versioned tree
243
- */
244
- deserializeVersioned(data: {
245
- root: MerkleRoot;
246
- levels: SHA3Hash[][];
247
- leafCount: number;
248
- originalLeaves: SHA3Hash[];
249
- version: number;
250
- parentRoot: MerkleRoot | null;
251
- timestamp: string;
252
- diff?: TreeDiff;
253
- }): VersionedMerkleTree;
254
- /**
255
- * Check if number is power of 2
256
- */
257
- private isPowerOfTwo;
258
- }
259
- /**
260
- * Create a MerkleEngine instance
261
- */
262
- export declare function createMerkleEngine(): MerkleEngine;
263
- //# sourceMappingURL=merkle-engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"merkle-engine.d.ts","sourceRoot":"","sources":["../../src/core/merkle-engine.ts"],"names":[],"mappings":"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"}