@weavelogic/knowledge-graph-agent 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. package/README.md +686 -304
  2. package/dist/_virtual/_commonjsHelpers.js +7 -0
  3. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  4. package/dist/_virtual/additionalItems.js +5 -0
  5. package/dist/_virtual/additionalItems.js.map +1 -0
  6. package/dist/_virtual/additionalProperties.js +5 -0
  7. package/dist/_virtual/additionalProperties.js.map +1 -0
  8. package/dist/_virtual/ajv.js +6 -0
  9. package/dist/_virtual/ajv.js.map +1 -0
  10. package/dist/_virtual/ajv2.js +5 -0
  11. package/dist/_virtual/ajv2.js.map +1 -0
  12. package/dist/_virtual/allOf.js +5 -0
  13. package/dist/_virtual/allOf.js.map +1 -0
  14. package/dist/_virtual/anyOf.js +5 -0
  15. package/dist/_virtual/anyOf.js.map +1 -0
  16. package/dist/_virtual/applicability.js +5 -0
  17. package/dist/_virtual/applicability.js.map +1 -0
  18. package/dist/_virtual/boolSchema.js +5 -0
  19. package/dist/_virtual/boolSchema.js.map +1 -0
  20. package/dist/_virtual/code.js +5 -0
  21. package/dist/_virtual/code.js.map +1 -0
  22. package/dist/_virtual/code2.js +5 -0
  23. package/dist/_virtual/code2.js.map +1 -0
  24. package/dist/_virtual/const.js +5 -0
  25. package/dist/_virtual/const.js.map +1 -0
  26. package/dist/_virtual/contains.js +5 -0
  27. package/dist/_virtual/contains.js.map +1 -0
  28. package/dist/_virtual/core.js +5 -0
  29. package/dist/_virtual/core.js.map +1 -0
  30. package/dist/_virtual/dataType.js +5 -0
  31. package/dist/_virtual/dataType.js.map +1 -0
  32. package/dist/_virtual/defaults.js +5 -0
  33. package/dist/_virtual/defaults.js.map +1 -0
  34. package/dist/_virtual/dependencies.js +5 -0
  35. package/dist/_virtual/dependencies.js.map +1 -0
  36. package/dist/_virtual/draft7.js +5 -0
  37. package/dist/_virtual/draft7.js.map +1 -0
  38. package/dist/_virtual/enum.js +5 -0
  39. package/dist/_virtual/enum.js.map +1 -0
  40. package/dist/_virtual/equal.js +5 -0
  41. package/dist/_virtual/equal.js.map +1 -0
  42. package/dist/_virtual/errors.js +5 -0
  43. package/dist/_virtual/errors.js.map +1 -0
  44. package/dist/_virtual/format.js +5 -0
  45. package/dist/_virtual/format.js.map +1 -0
  46. package/dist/_virtual/formats.js +5 -0
  47. package/dist/_virtual/formats.js.map +1 -0
  48. package/dist/_virtual/id.js +5 -0
  49. package/dist/_virtual/id.js.map +1 -0
  50. package/dist/_virtual/if.js +5 -0
  51. package/dist/_virtual/if.js.map +1 -0
  52. package/dist/_virtual/index.js +8 -0
  53. package/dist/_virtual/index.js.map +1 -0
  54. package/dist/_virtual/index10.js +5 -0
  55. package/dist/_virtual/index10.js.map +1 -0
  56. package/dist/_virtual/index11.js +5 -0
  57. package/dist/_virtual/index11.js.map +1 -0
  58. package/dist/_virtual/index12.js +5 -0
  59. package/dist/_virtual/index12.js.map +1 -0
  60. package/dist/_virtual/index2.js +5 -0
  61. package/dist/_virtual/index2.js.map +1 -0
  62. package/dist/_virtual/index3.js +5 -0
  63. package/dist/_virtual/index3.js.map +1 -0
  64. package/dist/_virtual/index4.js +5 -0
  65. package/dist/_virtual/index4.js.map +1 -0
  66. package/dist/_virtual/index5.js +5 -0
  67. package/dist/_virtual/index5.js.map +1 -0
  68. package/dist/_virtual/index6.js +5 -0
  69. package/dist/_virtual/index6.js.map +1 -0
  70. package/dist/_virtual/index7.js +5 -0
  71. package/dist/_virtual/index7.js.map +1 -0
  72. package/dist/_virtual/index8.js +5 -0
  73. package/dist/_virtual/index8.js.map +1 -0
  74. package/dist/_virtual/index9.js +5 -0
  75. package/dist/_virtual/index9.js.map +1 -0
  76. package/dist/_virtual/items.js +5 -0
  77. package/dist/_virtual/items.js.map +1 -0
  78. package/dist/_virtual/items2020.js +5 -0
  79. package/dist/_virtual/items2020.js.map +1 -0
  80. package/dist/_virtual/keyword.js +5 -0
  81. package/dist/_virtual/keyword.js.map +1 -0
  82. package/dist/_virtual/limit.js +5 -0
  83. package/dist/_virtual/limit.js.map +1 -0
  84. package/dist/_virtual/limitItems.js +5 -0
  85. package/dist/_virtual/limitItems.js.map +1 -0
  86. package/dist/_virtual/limitLength.js +5 -0
  87. package/dist/_virtual/limitLength.js.map +1 -0
  88. package/dist/_virtual/limitNumber.js +5 -0
  89. package/dist/_virtual/limitNumber.js.map +1 -0
  90. package/dist/_virtual/limitProperties.js +5 -0
  91. package/dist/_virtual/limitProperties.js.map +1 -0
  92. package/dist/_virtual/metadata.js +5 -0
  93. package/dist/_virtual/metadata.js.map +1 -0
  94. package/dist/_virtual/multipleOf.js +5 -0
  95. package/dist/_virtual/multipleOf.js.map +1 -0
  96. package/dist/_virtual/names.js +5 -0
  97. package/dist/_virtual/names.js.map +1 -0
  98. package/dist/_virtual/not.js +5 -0
  99. package/dist/_virtual/not.js.map +1 -0
  100. package/dist/_virtual/oneOf.js +5 -0
  101. package/dist/_virtual/oneOf.js.map +1 -0
  102. package/dist/_virtual/pattern.js +5 -0
  103. package/dist/_virtual/pattern.js.map +1 -0
  104. package/dist/_virtual/patternProperties.js +5 -0
  105. package/dist/_virtual/patternProperties.js.map +1 -0
  106. package/dist/_virtual/prefixItems.js +5 -0
  107. package/dist/_virtual/prefixItems.js.map +1 -0
  108. package/dist/_virtual/properties.js +5 -0
  109. package/dist/_virtual/properties.js.map +1 -0
  110. package/dist/_virtual/propertyNames.js +5 -0
  111. package/dist/_virtual/propertyNames.js.map +1 -0
  112. package/dist/_virtual/ref.js +5 -0
  113. package/dist/_virtual/ref.js.map +1 -0
  114. package/dist/_virtual/ref_error.js +5 -0
  115. package/dist/_virtual/ref_error.js.map +1 -0
  116. package/dist/_virtual/required.js +5 -0
  117. package/dist/_virtual/required.js.map +1 -0
  118. package/dist/_virtual/resolve.js +5 -0
  119. package/dist/_virtual/resolve.js.map +1 -0
  120. package/dist/_virtual/rules.js +5 -0
  121. package/dist/_virtual/rules.js.map +1 -0
  122. package/dist/_virtual/scope.js +5 -0
  123. package/dist/_virtual/scope.js.map +1 -0
  124. package/dist/_virtual/subschema.js +5 -0
  125. package/dist/_virtual/subschema.js.map +1 -0
  126. package/dist/_virtual/thenElse.js +5 -0
  127. package/dist/_virtual/thenElse.js.map +1 -0
  128. package/dist/_virtual/types.js +5 -0
  129. package/dist/_virtual/types.js.map +1 -0
  130. package/dist/_virtual/ucs2length.js +5 -0
  131. package/dist/_virtual/ucs2length.js.map +1 -0
  132. package/dist/_virtual/uniqueItems.js +5 -0
  133. package/dist/_virtual/uniqueItems.js.map +1 -0
  134. package/dist/_virtual/uri.js +5 -0
  135. package/dist/_virtual/uri.js.map +1 -0
  136. package/dist/_virtual/util.js +5 -0
  137. package/dist/_virtual/util.js.map +1 -0
  138. package/dist/_virtual/validation_error.js +5 -0
  139. package/dist/_virtual/validation_error.js.map +1 -0
  140. package/dist/agents/analyst-agent.d.ts +230 -0
  141. package/dist/agents/analyst-agent.d.ts.map +1 -0
  142. package/dist/agents/analyst-agent.js +793 -0
  143. package/dist/agents/analyst-agent.js.map +1 -0
  144. package/dist/agents/architect-agent.d.ts +248 -0
  145. package/dist/agents/architect-agent.d.ts.map +1 -0
  146. package/dist/agents/architect-agent.js +685 -0
  147. package/dist/agents/architect-agent.js.map +1 -0
  148. package/dist/agents/base-agent.d.ts +169 -0
  149. package/dist/agents/base-agent.d.ts.map +1 -0
  150. package/dist/agents/base-agent.js +441 -0
  151. package/dist/agents/base-agent.js.map +1 -0
  152. package/dist/agents/coder-agent.d.ts +191 -0
  153. package/dist/agents/coder-agent.d.ts.map +1 -0
  154. package/dist/agents/coder-agent.js +1008 -0
  155. package/dist/agents/coder-agent.js.map +1 -0
  156. package/dist/agents/index.d.ts +18 -0
  157. package/dist/agents/index.d.ts.map +1 -0
  158. package/dist/agents/index.js +40 -0
  159. package/dist/agents/index.js.map +1 -0
  160. package/dist/agents/registry.d.ts +213 -0
  161. package/dist/agents/registry.d.ts.map +1 -0
  162. package/dist/agents/registry.js +419 -0
  163. package/dist/agents/registry.js.map +1 -0
  164. package/dist/agents/researcher-agent.d.ts +226 -0
  165. package/dist/agents/researcher-agent.d.ts.map +1 -0
  166. package/dist/agents/researcher-agent.js +572 -0
  167. package/dist/agents/researcher-agent.js.map +1 -0
  168. package/dist/agents/rules-engine.d.ts +320 -0
  169. package/dist/agents/rules-engine.d.ts.map +1 -0
  170. package/dist/agents/rules-engine.js +552 -0
  171. package/dist/agents/rules-engine.js.map +1 -0
  172. package/dist/agents/tester-agent.d.ts +219 -0
  173. package/dist/agents/tester-agent.d.ts.map +1 -0
  174. package/dist/agents/tester-agent.js +683 -0
  175. package/dist/agents/tester-agent.js.map +1 -0
  176. package/dist/agents/types.d.ts +425 -0
  177. package/dist/agents/types.d.ts.map +1 -0
  178. package/dist/agents/types.js +57 -0
  179. package/dist/agents/types.js.map +1 -0
  180. package/dist/caching/index.d.ts +55 -0
  181. package/dist/caching/index.d.ts.map +1 -0
  182. package/dist/caching/index.js +206 -0
  183. package/dist/caching/index.js.map +1 -0
  184. package/dist/caching/lru-cache.d.ts +254 -0
  185. package/dist/caching/lru-cache.d.ts.map +1 -0
  186. package/dist/caching/types.d.ts +95 -0
  187. package/dist/caching/types.d.ts.map +1 -0
  188. package/dist/chunking/chunker.d.ts +94 -0
  189. package/dist/chunking/chunker.d.ts.map +1 -0
  190. package/dist/chunking/index.d.ts +125 -0
  191. package/dist/chunking/index.d.ts.map +1 -0
  192. package/dist/chunking/index.js +283 -0
  193. package/dist/chunking/index.js.map +1 -0
  194. package/dist/chunking/types.d.ts +92 -0
  195. package/dist/chunking/types.d.ts.map +1 -0
  196. package/dist/cli/commands/commit.d.ts +11 -0
  197. package/dist/cli/commands/commit.d.ts.map +1 -0
  198. package/dist/cli/commands/commit.js +379 -0
  199. package/dist/cli/commands/commit.js.map +1 -0
  200. package/dist/cli/commands/config.d.ts +8 -0
  201. package/dist/cli/commands/config.d.ts.map +1 -0
  202. package/dist/cli/commands/config.js +107 -0
  203. package/dist/cli/commands/config.js.map +1 -0
  204. package/dist/cli/commands/cultivate.d.ts +16 -0
  205. package/dist/cli/commands/cultivate.d.ts.map +1 -0
  206. package/dist/cli/commands/cultivate.js +254 -0
  207. package/dist/cli/commands/cultivate.js.map +1 -0
  208. package/dist/cli/commands/diagnostics.d.ts +8 -0
  209. package/dist/cli/commands/diagnostics.d.ts.map +1 -0
  210. package/dist/cli/commands/diagnostics.js +140 -0
  211. package/dist/cli/commands/diagnostics.js.map +1 -0
  212. package/dist/cli/commands/generate.d.ts +13 -0
  213. package/dist/cli/commands/generate.d.ts.map +1 -0
  214. package/dist/cli/commands/init-primitives.d.ts +19 -0
  215. package/dist/cli/commands/init-primitives.d.ts.map +1 -0
  216. package/dist/cli/commands/init-primitives.js +208 -0
  217. package/dist/cli/commands/init-primitives.js.map +1 -0
  218. package/dist/cli/commands/sop.d.ts +14 -0
  219. package/dist/cli/commands/sop.d.ts.map +1 -0
  220. package/dist/cli/commands/sop.js +598 -0
  221. package/dist/cli/commands/sop.js.map +1 -0
  222. package/dist/cli/index.d.ts.map +1 -1
  223. package/dist/cli/index.js +40 -1
  224. package/dist/cli/index.js.map +1 -1
  225. package/dist/config/index.d.ts +153 -0
  226. package/dist/config/index.d.ts.map +1 -0
  227. package/dist/config/index.js +141 -0
  228. package/dist/config/index.js.map +1 -0
  229. package/dist/config/manager.d.ts +136 -0
  230. package/dist/config/manager.d.ts.map +1 -0
  231. package/dist/config/types.d.ts +127 -0
  232. package/dist/config/types.d.ts.map +1 -0
  233. package/dist/core/cache.d.ts +185 -0
  234. package/dist/core/cache.d.ts.map +1 -0
  235. package/dist/core/cache.js +435 -0
  236. package/dist/core/cache.js.map +1 -0
  237. package/dist/cultivation/deep-analyzer.d.ts +129 -0
  238. package/dist/cultivation/deep-analyzer.d.ts.map +1 -0
  239. package/dist/cultivation/deep-analyzer.js +322 -0
  240. package/dist/cultivation/deep-analyzer.js.map +1 -0
  241. package/dist/cultivation/index.d.ts +13 -0
  242. package/dist/cultivation/index.d.ts.map +1 -0
  243. package/dist/cultivation/seed-generator.d.ts +92 -0
  244. package/dist/cultivation/seed-generator.d.ts.map +1 -0
  245. package/dist/cultivation/seed-generator.js +1033 -0
  246. package/dist/cultivation/seed-generator.js.map +1 -0
  247. package/dist/cultivation/types.d.ts +230 -0
  248. package/dist/cultivation/types.d.ts.map +1 -0
  249. package/dist/generators/claude-md.d.ts +7 -0
  250. package/dist/generators/claude-md.d.ts.map +1 -1
  251. package/dist/generators/claude-md.js.map +1 -1
  252. package/dist/generators/docs-init.d.ts +6 -0
  253. package/dist/generators/docs-init.d.ts.map +1 -1
  254. package/dist/generators/docs-init.js.map +1 -1
  255. package/dist/health/checks.d.ts +135 -0
  256. package/dist/health/checks.d.ts.map +1 -0
  257. package/dist/health/index.d.ts +119 -0
  258. package/dist/health/index.d.ts.map +1 -0
  259. package/dist/health/index.js +191 -0
  260. package/dist/health/index.js.map +1 -0
  261. package/dist/health/monitor.d.ts +146 -0
  262. package/dist/health/monitor.d.ts.map +1 -0
  263. package/dist/health/types.d.ts +135 -0
  264. package/dist/health/types.d.ts.map +1 -0
  265. package/dist/index.d.ts +30 -0
  266. package/dist/index.d.ts.map +1 -1
  267. package/dist/index.js +173 -1
  268. package/dist/index.js.map +1 -1
  269. package/dist/integrations/auto-commit.d.ts +175 -0
  270. package/dist/integrations/auto-commit.d.ts.map +1 -0
  271. package/dist/integrations/auto-commit.js +399 -0
  272. package/dist/integrations/auto-commit.js.map +1 -0
  273. package/dist/integrations/git.d.ts +299 -0
  274. package/dist/integrations/git.d.ts.map +1 -0
  275. package/dist/integrations/git.js +465 -0
  276. package/dist/integrations/git.js.map +1 -0
  277. package/dist/mcp-server/bin.d.ts +11 -0
  278. package/dist/mcp-server/bin.d.ts.map +1 -0
  279. package/dist/mcp-server/handlers/index.d.ts +57 -0
  280. package/dist/mcp-server/handlers/index.d.ts.map +1 -0
  281. package/dist/mcp-server/handlers/index.js +235 -0
  282. package/dist/mcp-server/handlers/index.js.map +1 -0
  283. package/dist/mcp-server/index.d.ts +28 -0
  284. package/dist/mcp-server/index.d.ts.map +1 -0
  285. package/dist/mcp-server/server.d.ts +133 -0
  286. package/dist/mcp-server/server.d.ts.map +1 -0
  287. package/dist/mcp-server/server.js +280 -0
  288. package/dist/mcp-server/server.js.map +1 -0
  289. package/dist/mcp-server/tools/agents/index.d.ts +10 -0
  290. package/dist/mcp-server/tools/agents/index.d.ts.map +1 -0
  291. package/dist/mcp-server/tools/agents/list.d.ts +19 -0
  292. package/dist/mcp-server/tools/agents/list.d.ts.map +1 -0
  293. package/dist/mcp-server/tools/agents/spawn.d.ts +19 -0
  294. package/dist/mcp-server/tools/agents/spawn.d.ts.map +1 -0
  295. package/dist/mcp-server/tools/graph/generate.d.ts +21 -0
  296. package/dist/mcp-server/tools/graph/generate.d.ts.map +1 -0
  297. package/dist/mcp-server/tools/graph/index.d.ts +11 -0
  298. package/dist/mcp-server/tools/graph/index.d.ts.map +1 -0
  299. package/dist/mcp-server/tools/graph/query.d.ts +22 -0
  300. package/dist/mcp-server/tools/graph/query.d.ts.map +1 -0
  301. package/dist/mcp-server/tools/graph/stats.d.ts +22 -0
  302. package/dist/mcp-server/tools/graph/stats.d.ts.map +1 -0
  303. package/dist/mcp-server/tools/health.d.ts +21 -0
  304. package/dist/mcp-server/tools/health.d.ts.map +1 -0
  305. package/dist/mcp-server/tools/index.d.ts +13 -0
  306. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  307. package/dist/mcp-server/tools/registry.d.ts +90 -0
  308. package/dist/mcp-server/tools/registry.d.ts.map +1 -0
  309. package/dist/mcp-server/tools/registry.js +663 -0
  310. package/dist/mcp-server/tools/registry.js.map +1 -0
  311. package/dist/mcp-server/tools/search/index.d.ts +10 -0
  312. package/dist/mcp-server/tools/search/index.d.ts.map +1 -0
  313. package/dist/mcp-server/tools/search/nodes.d.ts +22 -0
  314. package/dist/mcp-server/tools/search/nodes.d.ts.map +1 -0
  315. package/dist/mcp-server/tools/search/tags.d.ts +22 -0
  316. package/dist/mcp-server/tools/search/tags.d.ts.map +1 -0
  317. package/dist/mcp-server/types/index.d.ts +286 -0
  318. package/dist/mcp-server/types/index.d.ts.map +1 -0
  319. package/dist/memory/index.d.ts +10 -0
  320. package/dist/memory/index.d.ts.map +1 -0
  321. package/dist/memory/vault-sync.d.ts +212 -0
  322. package/dist/memory/vault-sync.d.ts.map +1 -0
  323. package/dist/memory/vault-sync.js +463 -0
  324. package/dist/memory/vault-sync.js.map +1 -0
  325. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +296 -0
  326. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -0
  327. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +71 -0
  328. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -0
  329. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +26 -0
  330. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +1 -0
  331. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +407 -0
  332. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -0
  333. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1332 -0
  334. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -0
  335. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +71 -0
  336. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +1 -0
  337. package/dist/node_modules/ajv/dist/ajv.js +84 -0
  338. package/dist/node_modules/ajv/dist/ajv.js.map +1 -0
  339. package/dist/node_modules/ajv/dist/compile/codegen/code.js +160 -0
  340. package/dist/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  341. package/dist/node_modules/ajv/dist/compile/codegen/index.js +728 -0
  342. package/dist/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  343. package/dist/node_modules/ajv/dist/compile/codegen/scope.js +152 -0
  344. package/dist/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  345. package/dist/node_modules/ajv/dist/compile/errors.js +131 -0
  346. package/dist/node_modules/ajv/dist/compile/errors.js.map +1 -0
  347. package/dist/node_modules/ajv/dist/compile/index.js +234 -0
  348. package/dist/node_modules/ajv/dist/compile/index.js.map +1 -0
  349. package/dist/node_modules/ajv/dist/compile/names.js +44 -0
  350. package/dist/node_modules/ajv/dist/compile/names.js.map +1 -0
  351. package/dist/node_modules/ajv/dist/compile/ref_error.js +22 -0
  352. package/dist/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  353. package/dist/node_modules/ajv/dist/compile/resolve.js +163 -0
  354. package/dist/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  355. package/dist/node_modules/ajv/dist/compile/rules.js +35 -0
  356. package/dist/node_modules/ajv/dist/compile/rules.js.map +1 -0
  357. package/dist/node_modules/ajv/dist/compile/util.js +173 -0
  358. package/dist/node_modules/ajv/dist/compile/util.js.map +1 -0
  359. package/dist/node_modules/ajv/dist/compile/validate/applicability.js +27 -0
  360. package/dist/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  361. package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js +58 -0
  362. package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  363. package/dist/node_modules/ajv/dist/compile/validate/dataType.js +193 -0
  364. package/dist/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  365. package/dist/node_modules/ajv/dist/compile/validate/defaults.js +43 -0
  366. package/dist/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  367. package/dist/node_modules/ajv/dist/compile/validate/index.js +522 -0
  368. package/dist/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  369. package/dist/node_modules/ajv/dist/compile/validate/keyword.js +126 -0
  370. package/dist/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  371. package/dist/node_modules/ajv/dist/compile/validate/subschema.js +89 -0
  372. package/dist/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  373. package/dist/node_modules/ajv/dist/core.js +628 -0
  374. package/dist/node_modules/ajv/dist/core.js.map +1 -0
  375. package/dist/node_modules/ajv/dist/refs/data.json.js +24 -0
  376. package/dist/node_modules/ajv/dist/refs/data.json.js.map +1 -0
  377. package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js +25 -0
  378. package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js.map +1 -0
  379. package/dist/node_modules/ajv/dist/runtime/equal.js +16 -0
  380. package/dist/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  381. package/dist/node_modules/ajv/dist/runtime/ucs2length.js +30 -0
  382. package/dist/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  383. package/dist/node_modules/ajv/dist/runtime/uri.js +16 -0
  384. package/dist/node_modules/ajv/dist/runtime/uri.js.map +1 -0
  385. package/dist/node_modules/ajv/dist/runtime/validation_error.js +20 -0
  386. package/dist/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  387. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +59 -0
  388. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  389. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +114 -0
  390. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  391. package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js +32 -0
  392. package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  393. package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +22 -0
  394. package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  395. package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js +100 -0
  396. package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  397. package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +103 -0
  398. package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  399. package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js +75 -0
  400. package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  401. package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js +68 -0
  402. package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  403. package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js +64 -0
  404. package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  405. package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js +43 -0
  406. package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  407. package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js +36 -0
  408. package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  409. package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +64 -0
  410. package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  411. package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +81 -0
  412. package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  413. package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +22 -0
  414. package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  415. package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js +66 -0
  416. package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  417. package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +49 -0
  418. package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  419. package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +23 -0
  420. package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  421. package/dist/node_modules/ajv/dist/vocabularies/code.js +140 -0
  422. package/dist/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  423. package/dist/node_modules/ajv/dist/vocabularies/core/id.js +19 -0
  424. package/dist/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  425. package/dist/node_modules/ajv/dist/vocabularies/core/index.js +27 -0
  426. package/dist/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  427. package/dist/node_modules/ajv/dist/vocabularies/core/ref.js +132 -0
  428. package/dist/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  429. package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js +114 -0
  430. package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  431. package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js +18 -0
  432. package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  433. package/dist/node_modules/ajv/dist/vocabularies/draft7.js +31 -0
  434. package/dist/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  435. package/dist/node_modules/ajv/dist/vocabularies/format/format.js +95 -0
  436. package/dist/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  437. package/dist/node_modules/ajv/dist/vocabularies/format/index.js +16 -0
  438. package/dist/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  439. package/dist/node_modules/ajv/dist/vocabularies/metadata.js +27 -0
  440. package/dist/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  441. package/dist/node_modules/ajv/dist/vocabularies/validation/const.js +36 -0
  442. package/dist/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  443. package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js +56 -0
  444. package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  445. package/dist/node_modules/ajv/dist/vocabularies/validation/index.js +52 -0
  446. package/dist/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  447. package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js +34 -0
  448. package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  449. package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js +39 -0
  450. package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  451. package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +37 -0
  452. package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  453. package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +34 -0
  454. package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  455. package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +33 -0
  456. package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  457. package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js +34 -0
  458. package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  459. package/dist/node_modules/ajv/dist/vocabularies/validation/required.js +89 -0
  460. package/dist/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  461. package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +75 -0
  462. package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  463. package/dist/node_modules/ajv-formats/dist/formats.js +209 -0
  464. package/dist/node_modules/ajv-formats/dist/formats.js.map +1 -0
  465. package/dist/node_modules/ajv-formats/dist/index.js +51 -0
  466. package/dist/node_modules/ajv-formats/dist/index.js.map +1 -0
  467. package/dist/node_modules/ajv-formats/dist/limit.js +80 -0
  468. package/dist/node_modules/ajv-formats/dist/limit.js.map +1 -0
  469. package/dist/node_modules/fast-deep-equal/index.js +39 -0
  470. package/dist/node_modules/fast-deep-equal/index.js.map +1 -0
  471. package/dist/node_modules/fast-uri/index.js +261 -0
  472. package/dist/node_modules/fast-uri/index.js.map +1 -0
  473. package/dist/node_modules/fast-uri/lib/schemes.js +215 -0
  474. package/dist/node_modules/fast-uri/lib/schemes.js.map +1 -0
  475. package/dist/node_modules/fast-uri/lib/utils.js +261 -0
  476. package/dist/node_modules/fast-uri/lib/utils.js.map +1 -0
  477. package/dist/node_modules/json-schema-traverse/index.js +92 -0
  478. package/dist/node_modules/json-schema-traverse/index.js.map +1 -0
  479. package/dist/node_modules/zod/v4/classic/errors.js +37 -0
  480. package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
  481. package/dist/node_modules/zod/v4/classic/iso.js +43 -0
  482. package/dist/node_modules/zod/v4/classic/iso.js.map +1 -0
  483. package/dist/node_modules/zod/v4/classic/parse.js +13 -0
  484. package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
  485. package/dist/node_modules/zod/v4/classic/schemas.js +688 -0
  486. package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
  487. package/dist/node_modules/zod/v4/core/api.js +492 -0
  488. package/dist/node_modules/zod/v4/core/api.js.map +1 -0
  489. package/dist/node_modules/zod/v4/core/checks.js +405 -0
  490. package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
  491. package/dist/node_modules/zod/v4/core/core.js +58 -0
  492. package/dist/node_modules/zod/v4/core/core.js.map +1 -0
  493. package/dist/node_modules/zod/v4/core/doc.js +38 -0
  494. package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
  495. package/dist/node_modules/zod/v4/core/errors.js +82 -0
  496. package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
  497. package/dist/node_modules/zod/v4/core/parse.js +60 -0
  498. package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
  499. package/dist/node_modules/zod/v4/core/regexes.js +87 -0
  500. package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
  501. package/dist/node_modules/zod/v4/core/registries.js +52 -0
  502. package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
  503. package/dist/node_modules/zod/v4/core/schemas.js +1283 -0
  504. package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
  505. package/dist/node_modules/zod/v4/core/util.js +341 -0
  506. package/dist/node_modules/zod/v4/core/util.js.map +1 -0
  507. package/dist/node_modules/zod/v4/core/versions.js +9 -0
  508. package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
  509. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +2 -0
  510. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +1 -0
  511. package/dist/reasoning/index.d.ts +74 -0
  512. package/dist/reasoning/index.d.ts.map +1 -0
  513. package/dist/reasoning/index.js +124 -0
  514. package/dist/reasoning/index.js.map +1 -0
  515. package/dist/reasoning/tracker.d.ts +210 -0
  516. package/dist/reasoning/tracker.d.ts.map +1 -0
  517. package/dist/reasoning/types.d.ts +146 -0
  518. package/dist/reasoning/types.d.ts.map +1 -0
  519. package/dist/recovery/backup.d.ts +110 -0
  520. package/dist/recovery/backup.d.ts.map +1 -0
  521. package/dist/recovery/index.d.ts +70 -0
  522. package/dist/recovery/index.d.ts.map +1 -0
  523. package/dist/recovery/index.js +186 -0
  524. package/dist/recovery/index.js.map +1 -0
  525. package/dist/recovery/integrity.d.ts +74 -0
  526. package/dist/recovery/integrity.d.ts.map +1 -0
  527. package/dist/recovery/types.d.ts +94 -0
  528. package/dist/recovery/types.d.ts.map +1 -0
  529. package/dist/services/index.d.ts +130 -0
  530. package/dist/services/index.d.ts.map +1 -0
  531. package/dist/services/index.js +134 -0
  532. package/dist/services/index.js.map +1 -0
  533. package/dist/services/manager.d.ts +140 -0
  534. package/dist/services/manager.d.ts.map +1 -0
  535. package/dist/services/types.d.ts +106 -0
  536. package/dist/services/types.d.ts.map +1 -0
  537. package/dist/services/watchers.d.ts +95 -0
  538. package/dist/services/watchers.d.ts.map +1 -0
  539. package/dist/sops/compliance-checker.d.ts +83 -0
  540. package/dist/sops/compliance-checker.d.ts.map +1 -0
  541. package/dist/sops/compliance-checker.js +399 -0
  542. package/dist/sops/compliance-checker.js.map +1 -0
  543. package/dist/sops/gap-analyzer.d.ts +124 -0
  544. package/dist/sops/gap-analyzer.d.ts.map +1 -0
  545. package/dist/sops/gap-analyzer.js +313 -0
  546. package/dist/sops/gap-analyzer.js.map +1 -0
  547. package/dist/sops/index.d.ts +14 -0
  548. package/dist/sops/index.d.ts.map +1 -0
  549. package/dist/sops/overlay-manager.d.ts +115 -0
  550. package/dist/sops/overlay-manager.d.ts.map +1 -0
  551. package/dist/sops/overlay-manager.js +394 -0
  552. package/dist/sops/overlay-manager.js.map +1 -0
  553. package/dist/sops/registry.d.ts +73 -0
  554. package/dist/sops/registry.d.ts.map +1 -0
  555. package/dist/sops/registry.js +919 -0
  556. package/dist/sops/registry.js.map +1 -0
  557. package/dist/sops/types.d.ts +377 -0
  558. package/dist/sops/types.d.ts.map +1 -0
  559. package/dist/sops/types.js +46 -0
  560. package/dist/sops/types.js.map +1 -0
  561. package/dist/utils/error-recovery.d.ts +230 -0
  562. package/dist/utils/error-recovery.d.ts.map +1 -0
  563. package/dist/utils/error-recovery.js +228 -0
  564. package/dist/utils/error-recovery.js.map +1 -0
  565. package/dist/utils/error-taxonomy.d.ts +149 -0
  566. package/dist/utils/error-taxonomy.d.ts.map +1 -0
  567. package/dist/utils/error-taxonomy.js +260 -0
  568. package/dist/utils/error-taxonomy.js.map +1 -0
  569. package/dist/utils/index.d.ts +11 -0
  570. package/dist/utils/index.d.ts.map +1 -0
  571. package/dist/utils/logger.d.ts +139 -0
  572. package/dist/utils/logger.d.ts.map +1 -0
  573. package/dist/utils/logger.js +311 -0
  574. package/dist/utils/logger.js.map +1 -0
  575. package/dist/workflows/index.d.ts +11 -0
  576. package/dist/workflows/index.d.ts.map +1 -0
  577. package/dist/workflows/registry.d.ts +118 -0
  578. package/dist/workflows/registry.d.ts.map +1 -0
  579. package/dist/workflows/registry.js +575 -0
  580. package/dist/workflows/registry.js.map +1 -0
  581. package/dist/workflows/types.d.ts +322 -0
  582. package/dist/workflows/types.d.ts.map +1 -0
  583. package/dist/workflows/types.js +16 -0
  584. package/dist/workflows/types.js.map +1 -0
  585. package/package.json +1 -1
@@ -0,0 +1,280 @@
1
+ import { Server } from "../node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js";
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { McpError, ErrorCode, ListToolsRequestSchema, CallToolRequestSchema } from "../node_modules/@modelcontextprotocol/sdk/dist/esm/types.js";
4
+ import { createLogger } from "../utils/logger.js";
5
+ import { getToolDefinitions, initializeTools, getToolCount } from "./tools/registry.js";
6
+ import { handleToolCall } from "./handlers/index.js";
7
+ const logger = createLogger("mcp-server");
8
+ function generateErrorRefId() {
9
+ const timestamp = Date.now().toString(36);
10
+ const random = Math.random().toString(36).substring(2, 8);
11
+ return `ERR-${timestamp}-${random}`.toUpperCase();
12
+ }
13
+ const DEFAULT_CONFIG = {
14
+ name: "knowledge-graph-mcp-server",
15
+ version: "0.3.0",
16
+ capabilities: {
17
+ tools: {}
18
+ }
19
+ };
20
+ class KnowledgeGraphMCPServer {
21
+ server;
22
+ isRunning = false;
23
+ startTime = 0;
24
+ requestCount = 0;
25
+ config;
26
+ // Rate limiting - tracks request counts per minute
27
+ requestCounts = /* @__PURE__ */ new Map();
28
+ MAX_REQUESTS_PER_MINUTE = 100;
29
+ database;
30
+ cache;
31
+ projectRoot;
32
+ /**
33
+ * Create new MCP server instance
34
+ *
35
+ * @param config - Server configuration
36
+ * @param database - Knowledge graph database instance
37
+ * @param cache - Shadow cache instance
38
+ * @param projectRoot - Project root path
39
+ */
40
+ constructor(config, database, cache, projectRoot) {
41
+ this.database = database;
42
+ this.cache = cache;
43
+ this.projectRoot = projectRoot;
44
+ this.config = {
45
+ name: config?.name || DEFAULT_CONFIG.name,
46
+ version: config?.version || DEFAULT_CONFIG.version,
47
+ capabilities: {
48
+ ...DEFAULT_CONFIG.capabilities,
49
+ ...config?.capabilities
50
+ }
51
+ };
52
+ this.server = new Server(
53
+ {
54
+ name: this.config.name,
55
+ version: this.config.version
56
+ },
57
+ {
58
+ capabilities: this.config.capabilities
59
+ }
60
+ );
61
+ this.setupHandlers();
62
+ logger.info("KnowledgeGraphMCPServer initialized", {
63
+ name: this.config.name,
64
+ version: this.config.version
65
+ });
66
+ }
67
+ /**
68
+ * Check rate limit and throw if exceeded
69
+ *
70
+ * Implements a fixed-window rate limit of MAX_REQUESTS_PER_MINUTE per minute.
71
+ * Cleans up old entries to prevent memory leaks.
72
+ *
73
+ * @throws McpError if rate limit is exceeded
74
+ */
75
+ checkRateLimit() {
76
+ const now = Math.floor(Date.now() / 6e4);
77
+ const count = (this.requestCounts.get(now) || 0) + 1;
78
+ for (const key of this.requestCounts.keys()) {
79
+ if (key < now - 1) this.requestCounts.delete(key);
80
+ }
81
+ if (count > this.MAX_REQUESTS_PER_MINUTE) {
82
+ logger.warn("Rate limit exceeded", { requestsThisMinute: count - 1 });
83
+ throw new McpError(
84
+ ErrorCode.InvalidRequest,
85
+ "Rate limit exceeded. Please slow down."
86
+ );
87
+ }
88
+ this.requestCounts.set(now, count);
89
+ }
90
+ /**
91
+ * Setup MCP request handlers
92
+ */
93
+ setupHandlers() {
94
+ this.server.setRequestHandler(ListToolsRequestSchema, async () => {
95
+ try {
96
+ const tools = getToolDefinitions();
97
+ logger.debug(`Listing ${tools.length} tools`);
98
+ return { tools };
99
+ } catch (error) {
100
+ const errorRefId = generateErrorRefId();
101
+ logger.error(
102
+ "Failed to list tools",
103
+ error instanceof Error ? error : new Error(String(error)),
104
+ { errorRefId }
105
+ );
106
+ throw new McpError(
107
+ ErrorCode.InternalError,
108
+ `An internal error occurred [${errorRefId}]`
109
+ );
110
+ }
111
+ });
112
+ this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
113
+ this.checkRateLimit();
114
+ this.requestCount++;
115
+ const toolName = request.params.name;
116
+ try {
117
+ logger.debug(`Handling tool call: ${toolName}`);
118
+ return await handleToolCall(request);
119
+ } catch (error) {
120
+ if (error instanceof McpError) {
121
+ throw error;
122
+ }
123
+ const errorRefId = generateErrorRefId();
124
+ logger.error(
125
+ "Tool execution failed",
126
+ error instanceof Error ? error : new Error(String(error)),
127
+ { errorRefId, toolName }
128
+ );
129
+ throw new McpError(
130
+ ErrorCode.InternalError,
131
+ `An internal error occurred [${errorRefId}]`
132
+ );
133
+ }
134
+ });
135
+ logger.debug("Request handlers configured");
136
+ }
137
+ /**
138
+ * Start the MCP server
139
+ *
140
+ * @throws Error if server is already running
141
+ */
142
+ async run() {
143
+ if (this.isRunning) {
144
+ throw new Error("Server is already running");
145
+ }
146
+ try {
147
+ await initializeTools(this.database, this.cache, this.projectRoot);
148
+ const transport = new StdioServerTransport();
149
+ await this.server.connect(transport);
150
+ this.isRunning = true;
151
+ this.startTime = Date.now();
152
+ logger.info("KnowledgeGraphMCPServer running on stdio transport");
153
+ logger.info("Ready to accept tool requests from MCP clients");
154
+ } catch (error) {
155
+ logger.error(
156
+ "Failed to start MCP server",
157
+ error instanceof Error ? error : void 0
158
+ );
159
+ throw error;
160
+ }
161
+ }
162
+ /**
163
+ * Shutdown the MCP server gracefully
164
+ */
165
+ async shutdown() {
166
+ if (!this.isRunning) {
167
+ logger.warn("Server is not running, shutdown skipped");
168
+ return;
169
+ }
170
+ try {
171
+ await this.server.close();
172
+ this.isRunning = false;
173
+ const uptime = Date.now() - this.startTime;
174
+ logger.info("KnowledgeGraphMCPServer shutdown complete", {
175
+ uptime: `${(uptime / 1e3).toFixed(2)}s`,
176
+ requestsHandled: this.requestCount
177
+ });
178
+ } catch (error) {
179
+ logger.error(
180
+ "Error during shutdown",
181
+ error instanceof Error ? error : void 0
182
+ );
183
+ throw error;
184
+ }
185
+ }
186
+ /**
187
+ * Get server health status
188
+ *
189
+ * @returns Health status object
190
+ */
191
+ getHealth() {
192
+ return {
193
+ status: this.isRunning ? "healthy" : "unhealthy",
194
+ components: {
195
+ database: !!this.database,
196
+ cache: !!this.cache,
197
+ agents: true
198
+ // Agents are always available
199
+ },
200
+ uptime: this.isRunning ? Date.now() - this.startTime : 0,
201
+ requestCount: this.requestCount,
202
+ toolCount: getToolCount()
203
+ };
204
+ }
205
+ /**
206
+ * Check if server is currently running
207
+ *
208
+ * @returns true if server is running
209
+ */
210
+ isServerRunning() {
211
+ return this.isRunning;
212
+ }
213
+ /**
214
+ * Get server configuration
215
+ *
216
+ * @returns Server configuration
217
+ */
218
+ getConfig() {
219
+ return { ...this.config };
220
+ }
221
+ /**
222
+ * Get request count
223
+ *
224
+ * @returns Number of requests handled
225
+ */
226
+ getRequestCount() {
227
+ return this.requestCount;
228
+ }
229
+ /**
230
+ * Get server uptime in milliseconds
231
+ *
232
+ * @returns Uptime in milliseconds, 0 if not running
233
+ */
234
+ getUptime() {
235
+ return this.isRunning ? Date.now() - this.startTime : 0;
236
+ }
237
+ }
238
+ async function createMCPServer(config, database, cache, projectRoot) {
239
+ const server = new KnowledgeGraphMCPServer(config, database, cache, projectRoot);
240
+ await server.run();
241
+ return server;
242
+ }
243
+ async function runServer(options) {
244
+ const server = new KnowledgeGraphMCPServer(
245
+ options?.config,
246
+ options?.database,
247
+ options?.cache,
248
+ options?.projectRoot
249
+ );
250
+ process.on("SIGINT", async () => {
251
+ logger.info("Received SIGINT, shutting down...");
252
+ await server.shutdown();
253
+ process.exit(0);
254
+ });
255
+ process.on("SIGTERM", async () => {
256
+ logger.info("Received SIGTERM, shutting down...");
257
+ await server.shutdown();
258
+ process.exit(0);
259
+ });
260
+ process.on("uncaughtException", async (error) => {
261
+ logger.error("Uncaught exception", error);
262
+ await server.shutdown();
263
+ process.exit(1);
264
+ });
265
+ process.on("unhandledRejection", async (reason) => {
266
+ logger.error(
267
+ "Unhandled rejection",
268
+ reason instanceof Error ? reason : void 0
269
+ );
270
+ await server.shutdown();
271
+ process.exit(1);
272
+ });
273
+ await server.run();
274
+ }
275
+ export {
276
+ KnowledgeGraphMCPServer,
277
+ createMCPServer,
278
+ runServer
279
+ };
280
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sources":["../../src/mcp-server/server.ts"],"sourcesContent":["/**\n * Knowledge Graph MCP Server\n *\n * Main MCP server implementation for exposing knowledge graph functionality\n * to Claude Desktop and other MCP clients.\n *\n * @module mcp-server/server\n */\n\nimport { Server } from '@modelcontextprotocol/sdk/server/index.js';\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';\nimport {\n CallToolRequestSchema,\n ListToolsRequestSchema,\n ErrorCode,\n McpError,\n} from '@modelcontextprotocol/sdk/types.js';\nimport { createLogger } from '../utils/index.js';\nimport { getToolDefinitions, initializeTools, getToolCount } from './tools/registry.js';\nimport { handleToolCall } from './handlers/index.js';\nimport type { MCPServerConfig, ServerHealth } from './types/index.js';\nimport type { KnowledgeGraphDatabase } from '../core/database.js';\nimport type { ShadowCache } from '../core/cache.js';\n\nconst logger = createLogger('mcp-server');\n\n/**\n * Generate a unique error reference ID for log correlation\n * @returns A unique error reference ID\n */\nfunction generateErrorRefId(): string {\n const timestamp = Date.now().toString(36);\n const random = Math.random().toString(36).substring(2, 8);\n return `ERR-${timestamp}-${random}`.toUpperCase();\n}\n\n/**\n * Default server configuration\n */\nconst DEFAULT_CONFIG: MCPServerConfig = {\n name: 'knowledge-graph-mcp-server',\n version: '0.3.0',\n capabilities: {\n tools: {},\n },\n};\n\n/**\n * Knowledge Graph MCP Server\n *\n * Provides MCP protocol implementation for knowledge graph operations.\n * Supports tool listing and execution over stdio transport.\n *\n * @example\n * ```typescript\n * const server = new KnowledgeGraphMCPServer();\n * await server.run();\n * ```\n */\nexport class KnowledgeGraphMCPServer {\n private server: Server;\n private isRunning: boolean = false;\n private startTime: number = 0;\n private requestCount: number = 0;\n private config: MCPServerConfig;\n\n // Rate limiting - tracks request counts per minute\n private requestCounts: Map<number, number> = new Map();\n private readonly MAX_REQUESTS_PER_MINUTE = 100;\n\n private database?: KnowledgeGraphDatabase;\n private cache?: ShadowCache;\n private projectRoot?: string;\n\n /**\n * Create new MCP server instance\n *\n * @param config - Server configuration\n * @param database - Knowledge graph database instance\n * @param cache - Shadow cache instance\n * @param projectRoot - Project root path\n */\n constructor(\n config?: Partial<MCPServerConfig>,\n database?: KnowledgeGraphDatabase,\n cache?: ShadowCache,\n projectRoot?: string\n ) {\n this.database = database;\n this.cache = cache;\n this.projectRoot = projectRoot;\n\n // Merge with default config\n this.config = {\n name: config?.name || DEFAULT_CONFIG.name,\n version: config?.version || DEFAULT_CONFIG.version,\n capabilities: {\n ...DEFAULT_CONFIG.capabilities,\n ...config?.capabilities,\n },\n };\n\n // Create MCP server instance\n this.server = new Server(\n {\n name: this.config.name,\n version: this.config.version,\n },\n {\n capabilities: this.config.capabilities,\n }\n );\n\n // Setup request handlers\n this.setupHandlers();\n\n logger.info('KnowledgeGraphMCPServer initialized', {\n name: this.config.name,\n version: this.config.version,\n });\n }\n\n /**\n * Check rate limit and throw if exceeded\n *\n * Implements a fixed-window rate limit of MAX_REQUESTS_PER_MINUTE per minute.\n * Cleans up old entries to prevent memory leaks.\n *\n * @throws McpError if rate limit is exceeded\n */\n private checkRateLimit(): void {\n const now = Math.floor(Date.now() / 60000); // Current minute\n const count = (this.requestCounts.get(now) || 0) + 1;\n\n // Clean old entries to prevent memory leaks\n for (const key of this.requestCounts.keys()) {\n if (key < now - 1) this.requestCounts.delete(key);\n }\n\n if (count > this.MAX_REQUESTS_PER_MINUTE) {\n logger.warn('Rate limit exceeded', { requestsThisMinute: count - 1 });\n throw new McpError(\n ErrorCode.InvalidRequest,\n 'Rate limit exceeded. Please slow down.'\n );\n }\n\n this.requestCounts.set(now, count);\n }\n\n /**\n * Setup MCP request handlers\n */\n private setupHandlers(): void {\n // Handle ListTools requests\n this.server.setRequestHandler(ListToolsRequestSchema, async () => {\n try {\n const tools = getToolDefinitions();\n logger.debug(`Listing ${tools.length} tools`);\n return { tools };\n } catch (error) {\n const errorRefId = generateErrorRefId();\n logger.error(\n 'Failed to list tools',\n error instanceof Error ? error : new Error(String(error)),\n { errorRefId }\n );\n throw new McpError(\n ErrorCode.InternalError,\n `An internal error occurred [${errorRefId}]`\n );\n }\n });\n\n // Handle CallTool requests\n this.server.setRequestHandler(CallToolRequestSchema, async (request) => {\n // Check rate limit before processing\n this.checkRateLimit();\n\n this.requestCount++;\n const toolName = request.params.name;\n\n try {\n logger.debug(`Handling tool call: ${toolName}`);\n return await handleToolCall(request);\n } catch (error) {\n // Re-throw MCP errors as they are already sanitized\n if (error instanceof McpError) {\n throw error;\n }\n\n // Generate error reference for log correlation\n const errorRefId = generateErrorRefId();\n logger.error(\n 'Tool execution failed',\n error instanceof Error ? error : new Error(String(error)),\n { errorRefId, toolName }\n );\n\n // Return sanitized error message with reference ID\n throw new McpError(\n ErrorCode.InternalError,\n `An internal error occurred [${errorRefId}]`\n );\n }\n });\n\n logger.debug('Request handlers configured');\n }\n\n /**\n * Start the MCP server\n *\n * @throws Error if server is already running\n */\n async run(): Promise<void> {\n if (this.isRunning) {\n throw new Error('Server is already running');\n }\n\n try {\n // Initialize tools with dependencies\n await initializeTools(this.database, this.cache, this.projectRoot);\n\n // Create stdio transport\n const transport = new StdioServerTransport();\n\n // Connect server to transport\n await this.server.connect(transport);\n\n this.isRunning = true;\n this.startTime = Date.now();\n\n logger.info('KnowledgeGraphMCPServer running on stdio transport');\n logger.info('Ready to accept tool requests from MCP clients');\n } catch (error) {\n logger.error(\n 'Failed to start MCP server',\n error instanceof Error ? error : undefined\n );\n throw error;\n }\n }\n\n /**\n * Shutdown the MCP server gracefully\n */\n async shutdown(): Promise<void> {\n if (!this.isRunning) {\n logger.warn('Server is not running, shutdown skipped');\n return;\n }\n\n try {\n // Close server connection\n await this.server.close();\n\n this.isRunning = false;\n\n const uptime = Date.now() - this.startTime;\n logger.info('KnowledgeGraphMCPServer shutdown complete', {\n uptime: `${(uptime / 1000).toFixed(2)}s`,\n requestsHandled: this.requestCount,\n });\n } catch (error) {\n logger.error(\n 'Error during shutdown',\n error instanceof Error ? error : undefined\n );\n throw error;\n }\n }\n\n /**\n * Get server health status\n *\n * @returns Health status object\n */\n getHealth(): ServerHealth {\n return {\n status: this.isRunning ? 'healthy' : 'unhealthy',\n components: {\n database: !!this.database,\n cache: !!this.cache,\n agents: true, // Agents are always available\n },\n uptime: this.isRunning ? Date.now() - this.startTime : 0,\n requestCount: this.requestCount,\n toolCount: getToolCount(),\n };\n }\n\n /**\n * Check if server is currently running\n *\n * @returns true if server is running\n */\n isServerRunning(): boolean {\n return this.isRunning;\n }\n\n /**\n * Get server configuration\n *\n * @returns Server configuration\n */\n getConfig(): MCPServerConfig {\n return { ...this.config };\n }\n\n /**\n * Get request count\n *\n * @returns Number of requests handled\n */\n getRequestCount(): number {\n return this.requestCount;\n }\n\n /**\n * Get server uptime in milliseconds\n *\n * @returns Uptime in milliseconds, 0 if not running\n */\n getUptime(): number {\n return this.isRunning ? Date.now() - this.startTime : 0;\n }\n}\n\n/**\n * Create and start an MCP server\n *\n * Convenience function for creating and running an MCP server in one call.\n *\n * @param config - Server configuration\n * @param database - Knowledge graph database instance\n * @param cache - Shadow cache instance\n * @param projectRoot - Project root path\n * @returns Running MCP server instance\n *\n * @example\n * ```typescript\n * const server = await createMCPServer(\n * { name: 'my-kg-server' },\n * database,\n * cache,\n * '/my/project'\n * );\n * ```\n */\nexport async function createMCPServer(\n config?: Partial<MCPServerConfig>,\n database?: KnowledgeGraphDatabase,\n cache?: ShadowCache,\n projectRoot?: string\n): Promise<KnowledgeGraphMCPServer> {\n const server = new KnowledgeGraphMCPServer(config, database, cache, projectRoot);\n await server.run();\n return server;\n}\n\n/**\n * Run MCP server as standalone process\n *\n * Entry point for running the MCP server from command line.\n *\n * @param options - Server options\n */\nexport async function runServer(options?: {\n config?: Partial<MCPServerConfig>;\n database?: KnowledgeGraphDatabase;\n cache?: ShadowCache;\n projectRoot?: string;\n}): Promise<void> {\n const server = new KnowledgeGraphMCPServer(\n options?.config,\n options?.database,\n options?.cache,\n options?.projectRoot\n );\n\n // Handle graceful shutdown\n process.on('SIGINT', async () => {\n logger.info('Received SIGINT, shutting down...');\n await server.shutdown();\n process.exit(0);\n });\n\n process.on('SIGTERM', async () => {\n logger.info('Received SIGTERM, shutting down...');\n await server.shutdown();\n process.exit(0);\n });\n\n // Handle uncaught errors\n process.on('uncaughtException', async (error) => {\n logger.error('Uncaught exception', error);\n await server.shutdown();\n process.exit(1);\n });\n\n process.on('unhandledRejection', async (reason) => {\n logger.error(\n 'Unhandled rejection',\n reason instanceof Error ? reason : undefined\n );\n await server.shutdown();\n process.exit(1);\n });\n\n await server.run();\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Agent Tools - Barrel Export
3
+ *
4
+ * Exports agent management MCP tools.
5
+ *
6
+ * @module mcp-server/tools/agents
7
+ */
8
+ export { agentSpawnTool, createAgentSpawnHandler } from './spawn.js';
9
+ export { agentListTool, createAgentListHandler } from './list.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/agents/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Agent List Tool
3
+ *
4
+ * MCP tool for listing all active agents and their status.
5
+ * Provides filtering by type and status.
6
+ *
7
+ * @module mcp-server/tools/agents/list
8
+ */
9
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
10
+ import type { ToolHandler } from '../../types/index.js';
11
+ /**
12
+ * Agent list tool definition
13
+ */
14
+ export declare const agentListTool: Tool;
15
+ /**
16
+ * Create handler for agent list tool
17
+ */
18
+ export declare function createAgentListHandler(): ToolHandler;
19
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/agents/list.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AAGpE;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,IAkB3B,CAAC;AAqCF;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,WAAW,CA6FpD"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Agent Spawn Tool
3
+ *
4
+ * MCP tool for spawning specialized agents to perform tasks.
5
+ * Integrates with the agent registry for lifecycle management.
6
+ *
7
+ * @module mcp-server/tools/agents/spawn
8
+ */
9
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
10
+ import type { ToolHandler } from '../../types/index.js';
11
+ /**
12
+ * Agent spawn tool definition
13
+ */
14
+ export declare const agentSpawnTool: Tool;
15
+ /**
16
+ * Create handler for agent spawn tool
17
+ */
18
+ export declare function createAgentSpawnHandler(): ToolHandler;
19
+ //# sourceMappingURL=spawn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/agents/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AAGpE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IA6B5B,CAAC;AAmCF;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,WAAW,CA2FrD"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Graph Generate Tool
3
+ *
4
+ * MCP tool for generating or regenerating the knowledge graph from documentation.
5
+ *
6
+ * @module mcp-server/tools/graph/generate
7
+ */
8
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
9
+ import type { ToolHandler } from '../../types/index.js';
10
+ /**
11
+ * Graph generate tool definition
12
+ */
13
+ export declare const graphGenerateTool: Tool;
14
+ /**
15
+ * Create graph generate handler
16
+ *
17
+ * @param projectRoot - Project root directory path
18
+ * @returns Tool handler function
19
+ */
20
+ export declare function createGraphGenerateHandler(projectRoot?: string): ToolHandler;
21
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/graph/generate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AAGpE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,IAuB/B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CA4F5E"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Graph Tools
3
+ *
4
+ * MCP tools for knowledge graph operations.
5
+ *
6
+ * @module mcp-server/tools/graph
7
+ */
8
+ export * from './query.js';
9
+ export * from './stats.js';
10
+ export * from './generate.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/graph/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Graph Query Tool
3
+ *
4
+ * MCP tool for querying the knowledge graph for nodes and relationships.
5
+ *
6
+ * @module mcp-server/tools/graph/query
7
+ */
8
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
9
+ import type { ToolHandler } from '../../types/index.js';
10
+ import type { KnowledgeGraphDatabase } from '../../../core/database.js';
11
+ /**
12
+ * Graph query tool definition
13
+ */
14
+ export declare const graphQueryTool: Tool;
15
+ /**
16
+ * Create graph query handler
17
+ *
18
+ * @param database - Knowledge graph database instance
19
+ * @returns Tool handler function
20
+ */
21
+ export declare function createGraphQueryHandler(database?: KnowledgeGraphDatabase): ToolHandler;
22
+ //# sourceMappingURL=query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/graph/query.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IA8B5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,sBAAsB,GAAG,WAAW,CA0FtF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Graph Stats Tool
3
+ *
4
+ * MCP tool for retrieving statistics about the knowledge graph.
5
+ *
6
+ * @module mcp-server/tools/graph/stats
7
+ */
8
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
9
+ import type { ToolHandler } from '../../types/index.js';
10
+ import type { KnowledgeGraphDatabase } from '../../../core/database.js';
11
+ /**
12
+ * Graph stats tool definition
13
+ */
14
+ export declare const graphStatsTool: Tool;
15
+ /**
16
+ * Create graph stats handler
17
+ *
18
+ * @param database - Knowledge graph database instance
19
+ * @returns Tool handler function
20
+ */
21
+ export declare function createGraphStatsHandler(database?: KnowledgeGraphDatabase): ToolHandler;
22
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/graph/stats.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IAa5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,sBAAsB,GAAG,WAAW,CA2DtF"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Health Check Tool
3
+ *
4
+ * MCP tool for checking the health status of the knowledge graph server.
5
+ * Provides detailed diagnostics about all server components.
6
+ *
7
+ * @module mcp-server/tools/health
8
+ */
9
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
10
+ import type { ToolHandler } from '../types/index.js';
11
+ import type { KnowledgeGraphDatabase } from '../../core/database.js';
12
+ import type { ShadowCache } from '../../core/cache.js';
13
+ /**
14
+ * Health check tool definition
15
+ */
16
+ export declare const healthCheckTool: Tool;
17
+ /**
18
+ * Create handler for health check tool
19
+ */
20
+ export declare function createHealthCheckHandler(database?: KnowledgeGraphDatabase, cache?: ShadowCache): ToolHandler;
21
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/health.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAiBvD;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,IAqB7B,CAAC;AAyLF;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,CAAC,EAAE,sBAAsB,EACjC,KAAK,CAAC,EAAE,WAAW,GAClB,WAAW,CAgFb"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * MCP Tools Module
3
+ *
4
+ * Central export for all MCP tool modules.
5
+ *
6
+ * @module mcp-server/tools
7
+ */
8
+ export { initializeTools, registerTool, getToolHandler, getToolDefinition, getToolDefinitions, getToolCategories, hasToolRegistered, getToolCount, clearRegistry, getToolRegistry, getDatabase, getCache, getProjectRoot, } from './registry.js';
9
+ export { graphQueryTool, createGraphQueryHandler, graphStatsTool, createGraphStatsHandler, graphGenerateTool, createGraphGenerateHandler, } from './graph/index.js';
10
+ export { searchNodesTool, createSearchNodesHandler, searchTagsTool, createSearchTagsHandler, } from './search/index.js';
11
+ export { agentSpawnTool, createAgentSpawnHandler, agentListTool, createAgentListHandler, } from './agents/index.js';
12
+ export { healthCheckTool, createHealthCheckHandler, } from './health.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,WAAW,EACX,QAAQ,EACR,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,cAAc,EACd,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,eAAe,EACf,wBAAwB,GACzB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Tool Registry
3
+ *
4
+ * Central registry for all MCP tools. Manages tool definitions and handlers.
5
+ *
6
+ * @module mcp-server/tools/registry
7
+ */
8
+ import type { Tool } from '@modelcontextprotocol/sdk/types.js';
9
+ import type { ToolHandler, ToolHandlerEntry, ToolCategory } from '../types/index.js';
10
+ import type { KnowledgeGraphDatabase } from '../../core/database.js';
11
+ import type { ShadowCache } from '../../core/cache.js';
12
+ /**
13
+ * Initialize tools with dependencies
14
+ *
15
+ * @param database - Knowledge graph database instance
16
+ * @param cache - Shadow cache instance
17
+ * @param projectRoot - Project root path
18
+ */
19
+ export declare function initializeTools(database?: KnowledgeGraphDatabase, cache?: ShadowCache, projectRoot?: string): Promise<void>;
20
+ /**
21
+ * Get shared database instance
22
+ */
23
+ export declare function getDatabase(): KnowledgeGraphDatabase | undefined;
24
+ /**
25
+ * Get shared cache instance
26
+ */
27
+ export declare function getCache(): ShadowCache | undefined;
28
+ /**
29
+ * Get shared project root
30
+ */
31
+ export declare function getProjectRoot(): string | undefined;
32
+ /**
33
+ * Register a tool with its handler
34
+ *
35
+ * @param name - Tool name
36
+ * @param definition - Tool definition
37
+ * @param handler - Tool handler function
38
+ * @param category - Optional category name
39
+ */
40
+ export declare function registerTool(name: string, definition: Tool, handler: ToolHandler, category?: string): void;
41
+ /**
42
+ * Get tool handler by name
43
+ *
44
+ * @param name - Tool name
45
+ * @returns Tool handler or undefined
46
+ */
47
+ export declare function getToolHandler(name: string): ToolHandler | undefined;
48
+ /**
49
+ * Get tool definition by name
50
+ *
51
+ * @param name - Tool name
52
+ * @returns Tool definition or undefined
53
+ */
54
+ export declare function getToolDefinition(name: string): Tool | undefined;
55
+ /**
56
+ * Get all tool definitions
57
+ *
58
+ * @returns Array of all tool definitions
59
+ */
60
+ export declare function getToolDefinitions(): Tool[];
61
+ /**
62
+ * Get all tool categories
63
+ *
64
+ * @returns Array of tool categories
65
+ */
66
+ export declare function getToolCategories(): ToolCategory[];
67
+ /**
68
+ * Check if a tool is registered
69
+ *
70
+ * @param name - Tool name
71
+ * @returns true if tool is registered
72
+ */
73
+ export declare function hasToolRegistered(name: string): boolean;
74
+ /**
75
+ * Get count of registered tools
76
+ *
77
+ * @returns Number of registered tools
78
+ */
79
+ export declare function getToolCount(): number;
80
+ /**
81
+ * Clear all registered tools (for testing)
82
+ */
83
+ export declare function clearRegistry(): void;
84
+ /**
85
+ * Get the tool registry Map
86
+ *
87
+ * @returns The tool registry Map
88
+ */
89
+ export declare function getToolRegistry(): Map<string, ToolHandlerEntry>;
90
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAqBvD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,QAAQ,CAAC,EAAE,sBAAsB,EACjC,KAAK,CAAC,EAAE,WAAW,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAef;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,sBAAsB,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,WAAW,GAAG,SAAS,CAElD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,IAAI,EAChB,OAAO,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CAkBN;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGpE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,EAAE,CAE3C;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,YAAY,EAAE,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAE/D"}