@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,470 +0,0 @@
1
- /**
2
- * Community Detection - Graph-based neuron community analysis
3
- * @module extensions/clustering/community-detection
4
- */
5
- import { generateUUID } from '../../utils/uuid.js';
6
- /**
7
- * Community Detection Service
8
- */
9
- export class CommunityDetectionService {
10
- neuronStore;
11
- communities;
12
- constructor(neuronStore) {
13
- this.neuronStore = neuronStore;
14
- this.communities = new Map();
15
- }
16
- /**
17
- * Louvain community detection algorithm
18
- */
19
- async louvain(options = {}) {
20
- const { resolution = 1.0, minCommunitySize = 1, maxIterations = 100 } = options;
21
- // Build adjacency data
22
- const { nodes, edges, weights, totalWeight } = await this.buildGraph();
23
- if (nodes.length === 0) {
24
- return { communities: [], modularity: 0, coverage: 0 };
25
- }
26
- // Initialize: each node in its own community
27
- let communityAssignment = new Map();
28
- nodes.forEach((id, idx) => communityAssignment.set(id, idx));
29
- // Degree of each node
30
- const degree = new Map();
31
- for (const nodeId of nodes) {
32
- let deg = 0;
33
- const nodeEdges = edges.get(nodeId) ?? [];
34
- for (const [, weight] of nodeEdges) {
35
- deg += weight;
36
- }
37
- degree.set(nodeId, deg);
38
- }
39
- const hierarchy = [];
40
- let improved = true;
41
- let iteration = 0;
42
- let currentNodes = [...nodes];
43
- let currentEdges = new Map(edges);
44
- let currentDegree = new Map(degree);
45
- let currentTotalWeight = totalWeight;
46
- while (improved && iteration < maxIterations) {
47
- improved = false;
48
- // Phase 1: Local moving
49
- const localResult = this.localMoving(currentNodes, currentEdges, currentDegree, communityAssignment, currentTotalWeight, resolution);
50
- improved = localResult.improved;
51
- communityAssignment = localResult.assignment;
52
- // Build communities for this level
53
- const levelCommunities = this.buildCommunitiesFromAssignment(currentNodes, currentEdges, communityAssignment);
54
- hierarchy.push(levelCommunities);
55
- if (improved) {
56
- // Phase 2: Aggregation
57
- const aggregated = this.aggregate(currentNodes, currentEdges, communityAssignment);
58
- currentNodes = aggregated.nodes;
59
- currentEdges = aggregated.edges;
60
- currentDegree = aggregated.degree;
61
- // Reset assignment for aggregated nodes
62
- communityAssignment = new Map();
63
- currentNodes.forEach((id, idx) => communityAssignment.set(id, idx));
64
- }
65
- iteration++;
66
- }
67
- // Find best level by modularity
68
- let bestModularity = -Infinity;
69
- let bestLevel = 0;
70
- for (let l = 0; l < hierarchy.length; l++) {
71
- const levelMod = this.calculateLevelModularity(hierarchy[l]);
72
- if (levelMod > bestModularity) {
73
- bestModularity = levelMod;
74
- bestLevel = l;
75
- }
76
- }
77
- // Get communities from best level, filter by size
78
- const finalCommunities = hierarchy[bestLevel]
79
- .filter(c => c.members.length >= minCommunitySize);
80
- // Expand aggregated communities back to original nodes if needed
81
- const expandedCommunities = await this.expandCommunities(finalCommunities, nodes);
82
- // Calculate overall metrics
83
- const modularity = this.calculateModularity(nodes, edges, expandedCommunities, totalWeight);
84
- const coverage = expandedCommunities.reduce((sum, c) => sum + c.members.length, 0) / nodes.length;
85
- // Store communities
86
- for (const community of expandedCommunities) {
87
- this.communities.set(community.id, community);
88
- }
89
- return {
90
- communities: expandedCommunities,
91
- modularity,
92
- coverage,
93
- hierarchy: {
94
- levels: hierarchy,
95
- bestLevel
96
- }
97
- };
98
- }
99
- /**
100
- * Label Propagation community detection
101
- */
102
- async labelPropagation(options = {}) {
103
- const { maxIterations = 100, minCommunitySize = 1 } = options;
104
- const { nodes, edges, totalWeight } = await this.buildGraph();
105
- if (nodes.length === 0) {
106
- return { communities: [], modularity: 0, coverage: 0 };
107
- }
108
- // Initialize labels
109
- const labels = new Map();
110
- nodes.forEach((id, idx) => labels.set(id, idx));
111
- let changed = true;
112
- let iteration = 0;
113
- while (changed && iteration < maxIterations) {
114
- changed = false;
115
- // Shuffle nodes for random order
116
- const shuffled = [...nodes].sort(() => Math.random() - 0.5);
117
- for (const nodeId of shuffled) {
118
- const neighborLabels = new Map();
119
- const nodeEdges = edges.get(nodeId) ?? [];
120
- // Count neighbor labels weighted by edge weight
121
- for (const [neighborId, weight] of nodeEdges) {
122
- const neighborLabel = labels.get(neighborId);
123
- neighborLabels.set(neighborLabel, (neighborLabels.get(neighborLabel) ?? 0) + weight);
124
- }
125
- if (neighborLabels.size === 0)
126
- continue;
127
- // Find most common label
128
- let maxWeight = 0;
129
- let bestLabels = [];
130
- for (const [label, weight] of neighborLabels) {
131
- if (weight > maxWeight) {
132
- maxWeight = weight;
133
- bestLabels = [label];
134
- }
135
- else if (weight === maxWeight) {
136
- bestLabels.push(label);
137
- }
138
- }
139
- // Random tie-breaking
140
- const newLabel = bestLabels[Math.floor(Math.random() * bestLabels.length)];
141
- const currentLabel = labels.get(nodeId);
142
- if (newLabel !== currentLabel) {
143
- labels.set(nodeId, newLabel);
144
- changed = true;
145
- }
146
- }
147
- iteration++;
148
- }
149
- // Build communities from labels
150
- const labelGroups = new Map();
151
- for (const [nodeId, label] of labels) {
152
- if (!labelGroups.has(label)) {
153
- labelGroups.set(label, []);
154
- }
155
- labelGroups.get(label).push(nodeId);
156
- }
157
- const communities = [];
158
- for (const members of labelGroups.values()) {
159
- if (members.length >= minCommunitySize) {
160
- communities.push(await this.buildCommunity(members, edges, 'label-propagation'));
161
- }
162
- }
163
- const modularity = this.calculateModularity(nodes, edges, communities, totalWeight);
164
- const coverage = communities.reduce((sum, c) => sum + c.members.length, 0) / nodes.length;
165
- // Store communities
166
- for (const community of communities) {
167
- this.communities.set(community.id, community);
168
- }
169
- return { communities, modularity, coverage };
170
- }
171
- /**
172
- * Get community by ID
173
- */
174
- getCommunity(id) {
175
- return this.communities.get(id);
176
- }
177
- /**
178
- * Get all communities
179
- */
180
- getAllCommunities() {
181
- return Array.from(this.communities.values());
182
- }
183
- /**
184
- * Find community for a neuron
185
- */
186
- findCommunityForNeuron(neuronId) {
187
- for (const community of this.communities.values()) {
188
- if (community.members.includes(neuronId)) {
189
- return community;
190
- }
191
- }
192
- return undefined;
193
- }
194
- /**
195
- * Get bridge nodes (connect multiple communities)
196
- */
197
- async getBridgeNodes() {
198
- const bridges = [];
199
- const ids = await this.neuronStore.getAllNeuronIds();
200
- for (const id of ids) {
201
- const outgoing = await this.neuronStore.getOutgoingSynapses(id);
202
- const incoming = await this.neuronStore.getIncomingSynapses(id);
203
- const myCommunity = this.findCommunityForNeuron(id);
204
- if (!myCommunity)
205
- continue;
206
- const connectedCommunities = new Set();
207
- for (const synapse of [...outgoing, ...incoming]) {
208
- const otherId = synapse.sourceId === id ? synapse.targetId : synapse.sourceId;
209
- const otherCommunity = this.findCommunityForNeuron(otherId);
210
- if (otherCommunity && otherCommunity.id !== myCommunity.id) {
211
- connectedCommunities.add(otherCommunity.id);
212
- }
213
- }
214
- if (connectedCommunities.size > 0) {
215
- bridges.push(id);
216
- }
217
- }
218
- return bridges;
219
- }
220
- // ==================== Private Methods ====================
221
- async buildGraph() {
222
- const nodes = await this.neuronStore.getAllNeuronIds();
223
- const edges = new Map();
224
- const weights = new Map();
225
- let totalWeight = 0;
226
- for (const nodeId of nodes) {
227
- edges.set(nodeId, []);
228
- }
229
- for (const nodeId of nodes) {
230
- const outgoing = await this.neuronStore.getOutgoingSynapses(nodeId);
231
- for (const synapse of outgoing) {
232
- const edgeKey = [nodeId, synapse.targetId].sort().join('-');
233
- if (!weights.has(edgeKey)) {
234
- weights.set(edgeKey, synapse.weight);
235
- edges.get(nodeId).push([synapse.targetId, synapse.weight]);
236
- edges.get(synapse.targetId).push([nodeId, synapse.weight]);
237
- totalWeight += synapse.weight;
238
- }
239
- }
240
- }
241
- return { nodes, edges, weights, totalWeight };
242
- }
243
- localMoving(nodes, edges, degree, assignment, totalWeight, resolution) {
244
- let improved = false;
245
- const newAssignment = new Map(assignment);
246
- // Shuffle for random order
247
- const shuffled = [...nodes].sort(() => Math.random() - 0.5);
248
- for (const nodeId of shuffled) {
249
- const currentCommunity = newAssignment.get(nodeId);
250
- const nodeDegree = degree.get(nodeId) ?? 0;
251
- // Calculate delta Q for moving to each neighbor's community
252
- const neighborCommunities = new Map();
253
- const nodeEdges = edges.get(nodeId) ?? [];
254
- for (const [neighborId, weight] of nodeEdges) {
255
- const neighborCommunity = newAssignment.get(neighborId);
256
- neighborCommunities.set(neighborCommunity, (neighborCommunities.get(neighborCommunity) ?? 0) + weight);
257
- }
258
- let bestCommunity = currentCommunity;
259
- let bestDelta = 0;
260
- for (const [community, edgeWeight] of neighborCommunities) {
261
- if (community === currentCommunity)
262
- continue;
263
- // Calculate community totals
264
- let currentTotal = 0;
265
- let targetTotal = 0;
266
- for (const [nId, comm] of newAssignment) {
267
- const nDeg = degree.get(nId) ?? 0;
268
- if (comm === currentCommunity)
269
- currentTotal += nDeg;
270
- if (comm === community)
271
- targetTotal += nDeg;
272
- }
273
- // Delta Q for moving from current to target
274
- const deltaQ = (edgeWeight - (neighborCommunities.get(currentCommunity) ?? 0)) / totalWeight
275
- - resolution * nodeDegree * (targetTotal - currentTotal + nodeDegree) / (2 * totalWeight * totalWeight);
276
- if (deltaQ > bestDelta) {
277
- bestDelta = deltaQ;
278
- bestCommunity = community;
279
- }
280
- }
281
- if (bestCommunity !== currentCommunity) {
282
- newAssignment.set(nodeId, bestCommunity);
283
- improved = true;
284
- }
285
- }
286
- return { improved, assignment: newAssignment };
287
- }
288
- aggregate(nodes, edges, assignment) {
289
- // Map communities to super-nodes
290
- const communityToSuper = new Map();
291
- const superNodes = [];
292
- for (const [, community] of assignment) {
293
- if (!communityToSuper.has(community)) {
294
- const superId = generateUUID();
295
- communityToSuper.set(community, superId);
296
- superNodes.push(superId);
297
- }
298
- }
299
- // Build super-edges
300
- const superEdges = new Map();
301
- const superWeights = new Map();
302
- for (const superId of superNodes) {
303
- superEdges.set(superId, []);
304
- }
305
- for (const nodeId of nodes) {
306
- const nodeComm = assignment.get(nodeId);
307
- const superNode = communityToSuper.get(nodeComm);
308
- const nodeEdges = edges.get(nodeId) ?? [];
309
- for (const [neighborId, weight] of nodeEdges) {
310
- const neighborComm = assignment.get(neighborId);
311
- const neighborSuper = communityToSuper.get(neighborComm);
312
- if (superNode !== neighborSuper) {
313
- const edgeKey = [superNode, neighborSuper].sort().join('-');
314
- superWeights.set(edgeKey, (superWeights.get(edgeKey) ?? 0) + weight);
315
- }
316
- }
317
- }
318
- // Add aggregated edges
319
- for (const [edgeKey, weight] of superWeights) {
320
- const [a, b] = edgeKey.split('-');
321
- superEdges.get(a).push([b, weight]);
322
- superEdges.get(b).push([a, weight]);
323
- }
324
- // Calculate degrees
325
- const superDegree = new Map();
326
- for (const superId of superNodes) {
327
- let deg = 0;
328
- for (const [, weight] of superEdges.get(superId)) {
329
- deg += weight;
330
- }
331
- superDegree.set(superId, deg);
332
- }
333
- return {
334
- nodes: superNodes,
335
- edges: superEdges,
336
- degree: superDegree
337
- };
338
- }
339
- buildCommunitiesFromAssignment(nodes, edges, assignment) {
340
- const groups = new Map();
341
- for (const nodeId of nodes) {
342
- const comm = assignment.get(nodeId);
343
- if (!groups.has(comm)) {
344
- groups.set(comm, []);
345
- }
346
- groups.get(comm).push(nodeId);
347
- }
348
- const communities = [];
349
- for (const [, members] of groups) {
350
- // Calculate density
351
- let internalEdges = 0;
352
- for (const nodeId of members) {
353
- for (const [neighborId] of edges.get(nodeId) ?? []) {
354
- if (members.includes(neighborId)) {
355
- internalEdges++;
356
- }
357
- }
358
- }
359
- internalEdges /= 2; // Each edge counted twice
360
- const maxEdges = (members.length * (members.length - 1)) / 2;
361
- const density = maxEdges > 0 ? internalEdges / maxEdges : 0;
362
- communities.push({
363
- id: generateUUID(),
364
- members,
365
- modularity: 0, // Will be calculated later
366
- density,
367
- bridgeNodes: [],
368
- metadata: {
369
- createdAt: new Date().toISOString(),
370
- algorithm: 'louvain'
371
- }
372
- });
373
- }
374
- return communities;
375
- }
376
- async buildCommunity(members, edges, algorithm) {
377
- // Calculate density
378
- let internalEdges = 0;
379
- for (const nodeId of members) {
380
- for (const [neighborId] of edges.get(nodeId) ?? []) {
381
- if (members.includes(neighborId)) {
382
- internalEdges++;
383
- }
384
- }
385
- }
386
- internalEdges /= 2;
387
- const maxEdges = (members.length * (members.length - 1)) / 2;
388
- const density = maxEdges > 0 ? internalEdges / maxEdges : 0;
389
- // Find bridge nodes
390
- const bridgeNodes = [];
391
- for (const nodeId of members) {
392
- for (const [neighborId] of edges.get(nodeId) ?? []) {
393
- if (!members.includes(neighborId)) {
394
- bridgeNodes.push(nodeId);
395
- break;
396
- }
397
- }
398
- }
399
- return {
400
- id: generateUUID(),
401
- members,
402
- modularity: 0,
403
- density,
404
- bridgeNodes,
405
- metadata: {
406
- createdAt: new Date().toISOString(),
407
- algorithm
408
- }
409
- };
410
- }
411
- calculateLevelModularity(communities) {
412
- // Simplified modularity based on density
413
- return communities.reduce((sum, c) => sum + c.density * c.members.length, 0) /
414
- communities.reduce((sum, c) => sum + c.members.length, 0);
415
- }
416
- calculateModularity(nodes, edges, communities, totalWeight) {
417
- if (totalWeight === 0)
418
- return 0;
419
- let Q = 0;
420
- const m = totalWeight;
421
- // Calculate degree for each node
422
- const degree = new Map();
423
- for (const nodeId of nodes) {
424
- let deg = 0;
425
- for (const [, weight] of edges.get(nodeId) ?? []) {
426
- deg += weight;
427
- }
428
- degree.set(nodeId, deg);
429
- }
430
- for (const community of communities) {
431
- for (const i of community.members) {
432
- for (const j of community.members) {
433
- if (i === j)
434
- continue;
435
- // Check if edge exists
436
- let aij = 0;
437
- for (const [neighborId, weight] of edges.get(i) ?? []) {
438
- if (neighborId === j) {
439
- aij = weight;
440
- break;
441
- }
442
- }
443
- const ki = degree.get(i) ?? 0;
444
- const kj = degree.get(j) ?? 0;
445
- Q += aij - (ki * kj) / (2 * m);
446
- }
447
- }
448
- }
449
- return Q / (2 * m);
450
- }
451
- async expandCommunities(communities, originalNodes) {
452
- // If communities already contain original nodes, return as-is
453
- const allMembers = new Set(communities.flatMap(c => c.members));
454
- const originalSet = new Set(originalNodes);
455
- const needsExpansion = ![...allMembers].every(m => originalSet.has(m));
456
- if (!needsExpansion) {
457
- return communities;
458
- }
459
- // For hierarchical expansion, we'd need to track the aggregation mapping
460
- // For now, return communities as-is
461
- return communities;
462
- }
463
- }
464
- /**
465
- * Create a CommunityDetectionService instance
466
- */
467
- export function createCommunityDetectionService(neuronStore) {
468
- return new CommunityDetectionService(neuronStore);
469
- }
470
- //# sourceMappingURL=community-detection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"community-detection.js","sourceRoot":"","sources":["../../../src/extensions/clustering/community-detection.ts"],"names":[],"mappings":"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"}
@@ -1,114 +0,0 @@
1
- /**
2
- * Clustering Module - Automatic neuron grouping and topic modeling
3
- * @module extensions/clustering
4
- */
5
- import type { UUID, INeuronStore } from '../../types/index.js';
6
- /**
7
- * Cluster definition
8
- */
9
- export interface Cluster {
10
- id: UUID;
11
- name?: string;
12
- centroid: Float32Array;
13
- members: UUID[];
14
- avgSimilarity: number;
15
- metadata: {
16
- createdAt: string;
17
- updatedAt: string;
18
- algorithmUsed: string;
19
- };
20
- }
21
- /**
22
- * Clustering result
23
- */
24
- export interface ClusteringResult {
25
- clusters: Cluster[];
26
- noise?: UUID[];
27
- iterations?: number;
28
- silhouetteScore?: number;
29
- }
30
- /**
31
- * K-means options
32
- */
33
- export interface KMeansOptions {
34
- k: number;
35
- maxIterations?: number;
36
- tolerance?: number;
37
- initMethod?: 'random' | 'kmeans++';
38
- }
39
- /**
40
- * DBSCAN options
41
- */
42
- export interface DBSCANOptions {
43
- eps: number;
44
- minPts: number;
45
- }
46
- /**
47
- * Community detection options
48
- */
49
- export interface CommunityOptions {
50
- resolution?: number;
51
- minCommunitySize?: number;
52
- }
53
- /**
54
- * Clustering Service
55
- */
56
- export declare class ClusteringService {
57
- private neuronStore;
58
- private clusters;
59
- constructor(neuronStore: INeuronStore);
60
- /**
61
- * K-means clustering
62
- */
63
- kmeans(options: KMeansOptions): Promise<ClusteringResult>;
64
- /**
65
- * DBSCAN clustering
66
- */
67
- dbscan(options: DBSCANOptions): Promise<ClusteringResult>;
68
- /**
69
- * Hierarchical clustering (Agglomerative)
70
- */
71
- hierarchical(targetClusters: number, linkage?: 'single' | 'complete' | 'average'): Promise<ClusteringResult>;
72
- /**
73
- * Get cluster by ID
74
- */
75
- getCluster(id: UUID): Cluster | undefined;
76
- /**
77
- * Get all clusters
78
- */
79
- getAllClusters(): Cluster[];
80
- /**
81
- * Find cluster for a neuron
82
- */
83
- findClusterForNeuron(neuronId: UUID): Cluster | undefined;
84
- /**
85
- * Assign new neuron to nearest cluster
86
- */
87
- assignToCluster(neuronId: UUID): Promise<Cluster | null>;
88
- /**
89
- * Get cluster statistics
90
- */
91
- getStats(): {
92
- totalClusters: number;
93
- avgClusterSize: number;
94
- largestCluster: number;
95
- smallestCluster: number;
96
- };
97
- private getAllNeurons;
98
- private getNeuronsByIds;
99
- private initRandom;
100
- private initKMeansPlusPlus;
101
- private findNearestCentroid;
102
- private updateCentroids;
103
- private buildClusters;
104
- private calculateAvgSimilarity;
105
- private calculateSilhouette;
106
- private regionQuery;
107
- private expandCluster;
108
- private calculateLinkage;
109
- }
110
- /**
111
- * Create a ClusteringService instance
112
- */
113
- export declare function createClusteringService(neuronStore: INeuronStore): ClusteringService;
114
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/clustering/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,IAAI,EAGJ,YAAY,EACb,MAAM,sBAAsB,CAAC;AAI9B;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,IAAI,EAAE,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAqB;gBAEzB,WAAW,EAAE,YAAY;IAKrC;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwE/D;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmF/D;;OAEG;IACG,YAAY,CAChB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,QAAQ,GAAG,UAAU,GAAG,SAAqB,GACrD,OAAO,CAAC,gBAAgB,CAAC;IAgF5B;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS;IAIzC;;OAEG;IACH,cAAc,IAAI,OAAO,EAAE;IAI3B;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO,GAAG,SAAS;IASzD;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA4B9D;;OAEG;IACH,QAAQ,IAAI;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;KACzB;YAgBa,aAAa;YAYb,eAAe;IAS7B,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,kBAAkB;IAkC1B,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,mBAAmB;IA0C3B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,aAAa;IA0CrB,OAAO,CAAC,gBAAgB;CAuBzB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,YAAY,GAAG,iBAAiB,CAEpF"}