@ninebix/nmt-system 1.0.2 → 1.0.4

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 +192 -41
  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,147 +0,0 @@
1
- /**
2
- * Verification Gate Service
3
- * Merkle 검증 기반 컨텍스트 필터링
4
- *
5
- * 설계 문서: NMT_Updated.md Step 3 (3.2절)
6
- * - 검색된 neuron/chunk에 대해 메타 일관성 검증
7
- * - chunk inclusion proof 검증
8
- * - 검증 실패 chunk는 폐기 (fail-closed 정책)
9
- *
10
- * @module services/verification-gate
11
- */
12
- import type { NeuronNode, MerkleProof, SHA3Hash } from '../types/index.js';
13
- /**
14
- * 검증 실패 사유
15
- */
16
- export type VerificationFailReason = 'merkle_root_mismatch' | 'chunk_hash_mismatch' | 'chunk_missing' | 'proof_invalid' | 'metadata_inconsistent' | 'neuron_corrupted';
17
- /**
18
- * 개별 Chunk 검증 결과 (Gate용)
19
- * 주의: verify.ts의 GateChunkVerificationResult와 구분
20
- */
21
- export interface GateChunkVerificationResult {
22
- chunkHash: SHA3Hash;
23
- verified: boolean;
24
- failReason?: VerificationFailReason;
25
- proof?: MerkleProof;
26
- }
27
- /**
28
- * 뉴런 검증 결과
29
- */
30
- export interface NeuronVerificationResult {
31
- neuronId: string;
32
- verified: boolean;
33
- merkleRootValid: boolean;
34
- chunksVerified: number;
35
- chunksFailed: number;
36
- failReasons: VerificationFailReason[];
37
- chunkResults: GateChunkVerificationResult[];
38
- verificationTimeMs: number;
39
- }
40
- /**
41
- * 배치 검증 결과
42
- */
43
- export interface BatchVerificationResult {
44
- totalNeurons: number;
45
- verifiedNeurons: number;
46
- failedNeurons: number;
47
- totalChunks: number;
48
- verifiedChunks: number;
49
- discardedChunks: number;
50
- verifiedNeuronIds: string[];
51
- discardedNeuronIds: string[];
52
- failureDetails: Map<string, VerificationFailReason[]>;
53
- totalTimeMs: number;
54
- }
55
- /**
56
- * Verification Gate 설정
57
- */
58
- export interface VerificationGateConfig {
59
- mode: 'strict' | 'soft';
60
- verifyMerkleRoot: boolean;
61
- verifyChunkHashes: boolean;
62
- verifyInclusionProof: boolean;
63
- verifyMetadata: boolean;
64
- maxVerificationTimeMs: number;
65
- cacheVerificationResults: boolean;
66
- }
67
- /**
68
- * Chunk 데이터 제공자 인터페이스
69
- */
70
- export interface ChunkProvider {
71
- getChunk(hash: SHA3Hash): Promise<Buffer | null>;
72
- getChunks(hashes: SHA3Hash[]): Promise<Map<SHA3Hash, Buffer | null>>;
73
- }
74
- /**
75
- * Verification Gate 클래스
76
- */
77
- export declare class VerificationGate {
78
- private merkleEngine;
79
- private config;
80
- private chunkProvider;
81
- private verificationCache;
82
- private stats;
83
- constructor(config?: Partial<VerificationGateConfig>);
84
- /**
85
- * Chunk Provider 설정
86
- */
87
- setChunkProvider(provider: ChunkProvider): void;
88
- /**
89
- * 단일 뉴런 검증
90
- */
91
- verifyNeuron(neuron: NeuronNode, chunks?: Map<SHA3Hash, Buffer>): Promise<NeuronVerificationResult>;
92
- /**
93
- * 메타데이터 일관성 검증
94
- */
95
- private verifyMetadata;
96
- /**
97
- * 개별 Chunk 해시 검증
98
- */
99
- private verifyChunkHash;
100
- /**
101
- * 배치 뉴런 검증
102
- */
103
- verifyBatch(neurons: NeuronNode[], chunks?: Map<SHA3Hash, Buffer>): Promise<BatchVerificationResult>;
104
- /**
105
- * 검색 결과 필터링 (검증 통과한 것만 반환)
106
- */
107
- filterVerified<T extends {
108
- neuron: NeuronNode;
109
- }>(results: T[], chunks?: Map<SHA3Hash, Buffer>): Promise<{
110
- verified: T[];
111
- discarded: T[];
112
- verificationResult: BatchVerificationResult;
113
- }>;
114
- /**
115
- * 빠른 검증 (merkleRoot만)
116
- */
117
- quickVerify(neuron: NeuronNode): boolean;
118
- /**
119
- * 캐시 무효화
120
- */
121
- invalidateCache(neuronId?: string): void;
122
- /**
123
- * 통계 조회
124
- */
125
- getStats(): {
126
- totalVerifications: number;
127
- successRate: number;
128
- failureRate: number;
129
- cacheHitRate: number;
130
- avgVerificationTimeMs: number;
131
- failuresByReason: Record<string, number>;
132
- };
133
- /**
134
- * 통계 초기화
135
- */
136
- resetStats(): void;
137
- /**
138
- * 모드 변경
139
- */
140
- setMode(mode: 'strict' | 'soft'): void;
141
- /**
142
- * 설정 업데이트
143
- */
144
- updateConfig(config: Partial<VerificationGateConfig>): void;
145
- }
146
- export declare const verificationGate: VerificationGate;
147
- //# sourceMappingURL=verification-gate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verification-gate.d.ts","sourceRoot":"","sources":["../../src/services/verification-gate.ts"],"names":[],"mappings":"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"}
@@ -1,344 +0,0 @@
1
- /**
2
- * Verification Gate Service
3
- * Merkle 검증 기반 컨텍스트 필터링
4
- *
5
- * 설계 문서: NMT_Updated.md Step 3 (3.2절)
6
- * - 검색된 neuron/chunk에 대해 메타 일관성 검증
7
- * - chunk inclusion proof 검증
8
- * - 검증 실패 chunk는 폐기 (fail-closed 정책)
9
- *
10
- * @module services/verification-gate
11
- */
12
- import { MerkleEngine } from '../core/merkle-engine.js';
13
- import { hash } from '../utils/hash.js';
14
- /**
15
- * Verification Gate 클래스
16
- */
17
- export class VerificationGate {
18
- merkleEngine;
19
- config;
20
- chunkProvider = null;
21
- // 검증 결과 캐시 (neuronId -> result)
22
- verificationCache = new Map();
23
- // 통계
24
- stats = {
25
- totalVerifications: 0,
26
- successfulVerifications: 0,
27
- failedVerifications: 0,
28
- cacheHits: 0,
29
- avgVerificationTimeMs: 0,
30
- failuresByReason: new Map()
31
- };
32
- constructor(config = {}) {
33
- this.merkleEngine = new MerkleEngine();
34
- this.config = {
35
- mode: config.mode ?? 'strict',
36
- verifyMerkleRoot: config.verifyMerkleRoot ?? true,
37
- verifyChunkHashes: config.verifyChunkHashes ?? true,
38
- verifyInclusionProof: config.verifyInclusionProof ?? false, // 기본 비활성화 (비용)
39
- verifyMetadata: config.verifyMetadata ?? true,
40
- maxVerificationTimeMs: config.maxVerificationTimeMs ?? 5000,
41
- cacheVerificationResults: config.cacheVerificationResults ?? true
42
- };
43
- }
44
- /**
45
- * Chunk Provider 설정
46
- */
47
- setChunkProvider(provider) {
48
- this.chunkProvider = provider;
49
- }
50
- /**
51
- * 단일 뉴런 검증
52
- */
53
- async verifyNeuron(neuron, chunks) {
54
- const startTime = Date.now();
55
- this.stats.totalVerifications++;
56
- // 캐시 확인
57
- if (this.config.cacheVerificationResults && this.verificationCache.has(neuron.id)) {
58
- this.stats.cacheHits++;
59
- return this.verificationCache.get(neuron.id);
60
- }
61
- const chunkResults = [];
62
- const failReasons = [];
63
- let merkleRootValid = true;
64
- try {
65
- // 1. 메타데이터 일관성 검증
66
- if (this.config.verifyMetadata) {
67
- const metadataValid = this.verifyMetadata(neuron);
68
- if (!metadataValid) {
69
- failReasons.push('metadata_inconsistent');
70
- }
71
- }
72
- // 2. Merkle Root 검증
73
- if (this.config.verifyMerkleRoot && neuron.chunkHashes.length > 0) {
74
- const computedRoot = this.merkleEngine.computeRoot(neuron.chunkHashes);
75
- if (computedRoot !== neuron.merkleRoot) {
76
- merkleRootValid = false;
77
- failReasons.push('merkle_root_mismatch');
78
- }
79
- }
80
- // 3. 개별 Chunk 해시 검증
81
- if (this.config.verifyChunkHashes && chunks) {
82
- for (const chunkHash of neuron.chunkHashes) {
83
- const chunkData = chunks.get(chunkHash);
84
- const result = this.verifyChunkHash(chunkHash, chunkData);
85
- chunkResults.push(result);
86
- if (!result.verified && result.failReason) {
87
- if (!failReasons.includes(result.failReason)) {
88
- failReasons.push(result.failReason);
89
- }
90
- }
91
- }
92
- }
93
- else if (this.config.verifyChunkHashes && this.chunkProvider) {
94
- // Chunk Provider로 데이터 가져오기
95
- const chunkMap = await this.chunkProvider.getChunks(neuron.chunkHashes);
96
- for (const chunkHash of neuron.chunkHashes) {
97
- const chunkData = chunkMap.get(chunkHash) ?? null;
98
- const result = this.verifyChunkHash(chunkHash, chunkData);
99
- chunkResults.push(result);
100
- if (!result.verified && result.failReason) {
101
- if (!failReasons.includes(result.failReason)) {
102
- failReasons.push(result.failReason);
103
- }
104
- }
105
- }
106
- }
107
- // 4. Inclusion Proof 검증 (선택적)
108
- if (this.config.verifyInclusionProof && neuron.chunkHashes.length > 0) {
109
- const tree = this.merkleEngine.buildTree(neuron.chunkHashes);
110
- for (let i = 0; i < chunkResults.length; i++) {
111
- if (chunkResults[i].verified) {
112
- const proof = this.merkleEngine.generateProof(tree, i);
113
- const proofValid = this.merkleEngine.verifyProof(proof);
114
- chunkResults[i].proof = proof;
115
- if (!proofValid) {
116
- chunkResults[i].verified = false;
117
- chunkResults[i].failReason = 'proof_invalid';
118
- if (!failReasons.includes('proof_invalid')) {
119
- failReasons.push('proof_invalid');
120
- }
121
- }
122
- }
123
- }
124
- }
125
- }
126
- catch (error) {
127
- failReasons.push('neuron_corrupted');
128
- }
129
- const verificationTimeMs = Date.now() - startTime;
130
- const chunksVerified = chunkResults.filter(r => r.verified).length;
131
- const chunksFailed = chunkResults.filter(r => !r.verified).length;
132
- const verified = failReasons.length === 0 && merkleRootValid;
133
- // 통계 업데이트
134
- if (verified) {
135
- this.stats.successfulVerifications++;
136
- }
137
- else {
138
- this.stats.failedVerifications++;
139
- for (const reason of failReasons) {
140
- this.stats.failuresByReason.set(reason, (this.stats.failuresByReason.get(reason) ?? 0) + 1);
141
- }
142
- }
143
- this.stats.avgVerificationTimeMs =
144
- (this.stats.avgVerificationTimeMs * (this.stats.totalVerifications - 1) + verificationTimeMs)
145
- / this.stats.totalVerifications;
146
- const result = {
147
- neuronId: neuron.id,
148
- verified,
149
- merkleRootValid,
150
- chunksVerified,
151
- chunksFailed,
152
- failReasons,
153
- chunkResults,
154
- verificationTimeMs
155
- };
156
- // 캐시 저장
157
- if (this.config.cacheVerificationResults) {
158
- this.verificationCache.set(neuron.id, result);
159
- }
160
- return result;
161
- }
162
- /**
163
- * 메타데이터 일관성 검증
164
- */
165
- verifyMetadata(neuron) {
166
- // embedding 차원 검증
167
- if (neuron.embedding) {
168
- const expectedDim = 384; // 설정 가능하게 변경 가능
169
- if (neuron.embedding.length !== expectedDim) {
170
- return false;
171
- }
172
- }
173
- // chunkHashes와 merkleRoot 존재 여부
174
- if (neuron.chunkHashes.length > 0 && !neuron.merkleRoot) {
175
- return false;
176
- }
177
- // 타임스탬프 유효성
178
- if (neuron.metadata) {
179
- const now = Date.now();
180
- if (neuron.metadata.createdAt) {
181
- const createdTime = new Date(neuron.metadata.createdAt).getTime();
182
- if (createdTime > now) {
183
- return false; // 미래 시간
184
- }
185
- }
186
- }
187
- return true;
188
- }
189
- /**
190
- * 개별 Chunk 해시 검증
191
- */
192
- verifyChunkHash(expectedHash, chunkData) {
193
- if (!chunkData) {
194
- return {
195
- chunkHash: expectedHash,
196
- verified: false,
197
- failReason: 'chunk_missing'
198
- };
199
- }
200
- const actualHash = hash(chunkData);
201
- if (actualHash !== expectedHash) {
202
- return {
203
- chunkHash: expectedHash,
204
- verified: false,
205
- failReason: 'chunk_hash_mismatch'
206
- };
207
- }
208
- return {
209
- chunkHash: expectedHash,
210
- verified: true
211
- };
212
- }
213
- /**
214
- * 배치 뉴런 검증
215
- */
216
- async verifyBatch(neurons, chunks) {
217
- const startTime = Date.now();
218
- const results = await Promise.all(neurons.map(n => this.verifyNeuron(n, chunks)));
219
- const verifiedNeuronIds = [];
220
- const discardedNeuronIds = [];
221
- const failureDetails = new Map();
222
- let totalChunks = 0;
223
- let verifiedChunks = 0;
224
- let discardedChunks = 0;
225
- for (const result of results) {
226
- totalChunks += result.chunksVerified + result.chunksFailed;
227
- verifiedChunks += result.chunksVerified;
228
- discardedChunks += result.chunksFailed;
229
- if (result.verified) {
230
- verifiedNeuronIds.push(result.neuronId);
231
- }
232
- else {
233
- discardedNeuronIds.push(result.neuronId);
234
- failureDetails.set(result.neuronId, result.failReasons);
235
- }
236
- }
237
- return {
238
- totalNeurons: neurons.length,
239
- verifiedNeurons: verifiedNeuronIds.length,
240
- failedNeurons: discardedNeuronIds.length,
241
- totalChunks,
242
- verifiedChunks,
243
- discardedChunks,
244
- verifiedNeuronIds,
245
- discardedNeuronIds,
246
- failureDetails,
247
- totalTimeMs: Date.now() - startTime
248
- };
249
- }
250
- /**
251
- * 검색 결과 필터링 (검증 통과한 것만 반환)
252
- */
253
- async filterVerified(results, chunks) {
254
- const neurons = results.map(r => r.neuron);
255
- const batchResult = await this.verifyBatch(neurons, chunks);
256
- const verifiedSet = new Set(batchResult.verifiedNeuronIds);
257
- const verified = [];
258
- const discarded = [];
259
- for (const result of results) {
260
- if (verifiedSet.has(result.neuron.id)) {
261
- verified.push(result);
262
- }
263
- else {
264
- // soft mode에서는 경고만 하고 포함
265
- if (this.config.mode === 'soft') {
266
- verified.push(result);
267
- console.warn(`[VerificationGate] Soft mode: including unverified neuron ${result.neuron.id}`);
268
- }
269
- else {
270
- discarded.push(result);
271
- }
272
- }
273
- }
274
- return { verified, discarded, verificationResult: batchResult };
275
- }
276
- /**
277
- * 빠른 검증 (merkleRoot만)
278
- */
279
- quickVerify(neuron) {
280
- if (neuron.chunkHashes.length === 0) {
281
- return true;
282
- }
283
- try {
284
- const computedRoot = this.merkleEngine.computeRoot(neuron.chunkHashes);
285
- return computedRoot === neuron.merkleRoot;
286
- }
287
- catch {
288
- return false;
289
- }
290
- }
291
- /**
292
- * 캐시 무효화
293
- */
294
- invalidateCache(neuronId) {
295
- if (neuronId) {
296
- this.verificationCache.delete(neuronId);
297
- }
298
- else {
299
- this.verificationCache.clear();
300
- }
301
- }
302
- /**
303
- * 통계 조회
304
- */
305
- getStats() {
306
- const total = this.stats.totalVerifications;
307
- return {
308
- totalVerifications: total,
309
- successRate: total > 0 ? this.stats.successfulVerifications / total : 0,
310
- failureRate: total > 0 ? this.stats.failedVerifications / total : 0,
311
- cacheHitRate: total > 0 ? this.stats.cacheHits / total : 0,
312
- avgVerificationTimeMs: this.stats.avgVerificationTimeMs,
313
- failuresByReason: Object.fromEntries(this.stats.failuresByReason)
314
- };
315
- }
316
- /**
317
- * 통계 초기화
318
- */
319
- resetStats() {
320
- this.stats = {
321
- totalVerifications: 0,
322
- successfulVerifications: 0,
323
- failedVerifications: 0,
324
- cacheHits: 0,
325
- avgVerificationTimeMs: 0,
326
- failuresByReason: new Map()
327
- };
328
- }
329
- /**
330
- * 모드 변경
331
- */
332
- setMode(mode) {
333
- this.config.mode = mode;
334
- }
335
- /**
336
- * 설정 업데이트
337
- */
338
- updateConfig(config) {
339
- this.config = { ...this.config, ...config };
340
- }
341
- }
342
- // 싱글톤 인스턴스
343
- export const verificationGate = new VerificationGate();
344
- //# sourceMappingURL=verification-gate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verification-gate.js","sourceRoot":"","sources":["../../src/services/verification-gate.ts"],"names":[],"mappings":"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"}
@@ -1,114 +0,0 @@
1
- /**
2
- * Verification Service - Data integrity verification
3
- * @module services/verify
4
- */
5
- import type { UUID, MerkleProof, SHA3Hash, IChunkStore, INeuronStore } from '../types/index.js';
6
- import { MerkleEngine } from '../core/merkle-engine.js';
7
- /**
8
- * Verification result
9
- */
10
- export interface VerificationResult {
11
- valid: boolean;
12
- neuronId: UUID;
13
- merkleRoot: string;
14
- errors: string[];
15
- details: {
16
- chunksVerified: number;
17
- chunksFailed: number;
18
- merkleValid: boolean;
19
- embeddingValid: boolean;
20
- };
21
- }
22
- /**
23
- * Chunk verification result
24
- */
25
- export interface ChunkVerificationResult {
26
- hash: SHA3Hash;
27
- valid: boolean;
28
- exists: boolean;
29
- integrityPassed: boolean;
30
- }
31
- /**
32
- * Proof verification options
33
- */
34
- export interface ProofVerifyOptions {
35
- verifyChunkData?: boolean;
36
- }
37
- /**
38
- * Verification Service
39
- */
40
- export declare class VerificationService {
41
- private merkleEngine;
42
- private chunkStore;
43
- private neuronStore;
44
- constructor(merkleEngine: MerkleEngine, chunkStore: IChunkStore, neuronStore: INeuronStore);
45
- /**
46
- * Verify complete neuron integrity
47
- */
48
- verifyNeuron(neuronId: UUID): Promise<VerificationResult>;
49
- /**
50
- * Verify a single chunk
51
- */
52
- verifyChunk(chunkHash: SHA3Hash): Promise<ChunkVerificationResult>;
53
- /**
54
- * Verify Merkle root matches chunk hashes
55
- */
56
- verifyMerkleRoot(chunkHashes: SHA3Hash[], expectedRoot: string): Promise<boolean>;
57
- /**
58
- * Verify a Merkle proof
59
- */
60
- verifyProof(proof: MerkleProof): boolean;
61
- /**
62
- * Verify proof with explicit values
63
- */
64
- verifyProofWithValues(proof: MerkleProof, expectedRoot: string, expectedLeaf: SHA3Hash): boolean;
65
- /**
66
- * Generate and verify proof for a specific chunk
67
- */
68
- generateAndVerifyProof(neuronId: UUID, chunkIndex: number, options?: ProofVerifyOptions): Promise<{
69
- proof: MerkleProof | null;
70
- valid: boolean;
71
- chunkValid?: boolean;
72
- }>;
73
- /**
74
- * Verify all neurons in the store
75
- */
76
- verifyAll(): Promise<{
77
- total: number;
78
- valid: number;
79
- invalid: number;
80
- results: VerificationResult[];
81
- }>;
82
- /**
83
- * Verify chunk store integrity
84
- */
85
- verifyChunkStore(): Promise<{
86
- total: number;
87
- valid: number;
88
- corrupted: SHA3Hash[];
89
- missing: SHA3Hash[];
90
- }>;
91
- /**
92
- * Verify data against expected hash
93
- */
94
- verifyData(data: Buffer | string, expectedHash: SHA3Hash): boolean;
95
- /**
96
- * Compute hash for data
97
- */
98
- computeHash(data: Buffer | string): SHA3Hash;
99
- /**
100
- * Get verification summary for a neuron
101
- */
102
- getVerificationSummary(neuronId: UUID): Promise<{
103
- exists: boolean;
104
- merkleRoot?: string;
105
- chunkCount?: number;
106
- allChunksExist?: boolean;
107
- merkleValid?: boolean;
108
- }>;
109
- }
110
- /**
111
- * Create a VerificationService instance
112
- */
113
- export declare function createVerificationService(merkleEngine: MerkleEngine, chunkStore: IChunkStore, neuronStore: INeuronStore): VerificationService;
114
- //# sourceMappingURL=verify.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/services/verify.ts"],"names":[],"mappings":"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"}