@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,663 @@
1
+ import { createLogger } from "../../utils/logger.js";
2
+ const logger = createLogger("tool-registry");
3
+ const toolRegistry = /* @__PURE__ */ new Map();
4
+ const toolCategories = /* @__PURE__ */ new Map();
5
+ let sharedDatabase;
6
+ let sharedCache;
7
+ let sharedProjectRoot;
8
+ async function initializeTools(database, cache, projectRoot) {
9
+ sharedDatabase = database;
10
+ sharedCache = cache;
11
+ sharedProjectRoot = projectRoot;
12
+ logger.info("Initializing tool registry", {
13
+ hasDatabase: !!database,
14
+ hasCache: !!cache,
15
+ projectRoot
16
+ });
17
+ await registerCoreTools();
18
+ logger.info(`Tool registry initialized with ${toolRegistry.size} tools`);
19
+ }
20
+ function getDatabase() {
21
+ return sharedDatabase;
22
+ }
23
+ function getCache() {
24
+ return sharedCache;
25
+ }
26
+ function getProjectRoot() {
27
+ return sharedProjectRoot;
28
+ }
29
+ function registerTool(name, definition, handler, category) {
30
+ if (toolRegistry.has(name)) {
31
+ logger.warn(`Tool ${name} already registered, overwriting`);
32
+ }
33
+ toolRegistry.set(name, { definition, handler });
34
+ if (category) {
35
+ let cat = toolCategories.get(category);
36
+ if (!cat) {
37
+ cat = { name: category, description: "", tools: [] };
38
+ toolCategories.set(category, cat);
39
+ }
40
+ cat.tools.push(definition);
41
+ }
42
+ logger.debug(`Registered tool: ${name}`, { category });
43
+ }
44
+ function getToolHandler(name) {
45
+ const entry = toolRegistry.get(name);
46
+ return entry?.handler;
47
+ }
48
+ function getToolDefinition(name) {
49
+ const entry = toolRegistry.get(name);
50
+ return entry?.definition;
51
+ }
52
+ function getToolDefinitions() {
53
+ return Array.from(toolRegistry.values()).map((entry) => entry.definition);
54
+ }
55
+ function getToolCategories() {
56
+ return Array.from(toolCategories.values());
57
+ }
58
+ function getToolCount() {
59
+ return toolRegistry.size;
60
+ }
61
+ async function registerCoreTools() {
62
+ registerTool(
63
+ "kg_query",
64
+ {
65
+ name: "kg_query",
66
+ description: "Query the knowledge graph for nodes matching criteria",
67
+ inputSchema: {
68
+ type: "object",
69
+ properties: {
70
+ query: {
71
+ type: "string",
72
+ description: "Search query string"
73
+ },
74
+ type: {
75
+ type: "string",
76
+ description: "Filter by node type",
77
+ enum: ["concept", "technical", "feature", "primitive", "service", "guide", "standard", "integration"]
78
+ },
79
+ status: {
80
+ type: "string",
81
+ description: "Filter by node status",
82
+ enum: ["draft", "active", "deprecated", "archived"]
83
+ },
84
+ tag: {
85
+ type: "string",
86
+ description: "Filter by tag"
87
+ },
88
+ limit: {
89
+ type: "number",
90
+ description: "Maximum results to return",
91
+ default: 50
92
+ },
93
+ includeContent: {
94
+ type: "boolean",
95
+ description: "Include full content in results",
96
+ default: false
97
+ }
98
+ }
99
+ }
100
+ },
101
+ async (params) => {
102
+ const db = getDatabase();
103
+ if (!db) {
104
+ return { success: false, error: "Database not initialized" };
105
+ }
106
+ try {
107
+ let nodes;
108
+ const limit = params.limit || 50;
109
+ const includeContent = params.includeContent;
110
+ if (params.query) {
111
+ nodes = db.searchNodes(params.query, limit);
112
+ } else if (params.type) {
113
+ nodes = db.getNodesByType(params.type).slice(0, limit);
114
+ } else if (params.status) {
115
+ nodes = db.getNodesByStatus(params.status).slice(0, limit);
116
+ } else if (params.tag) {
117
+ nodes = db.getNodesByTag(params.tag).slice(0, limit);
118
+ } else {
119
+ nodes = db.getAllNodes().slice(0, limit);
120
+ }
121
+ const results = nodes.map((node) => ({
122
+ id: node.id,
123
+ path: node.path,
124
+ title: node.title,
125
+ type: node.type,
126
+ status: node.status,
127
+ tags: node.tags,
128
+ wordCount: node.wordCount,
129
+ outgoingLinkCount: node.outgoingLinks.length,
130
+ incomingLinkCount: node.incomingLinks.length,
131
+ ...includeContent ? { content: node.content } : {}
132
+ }));
133
+ return {
134
+ success: true,
135
+ data: results,
136
+ metadata: { itemCount: results.length }
137
+ };
138
+ } catch (error) {
139
+ return {
140
+ success: false,
141
+ error: error instanceof Error ? error.message : String(error)
142
+ };
143
+ }
144
+ },
145
+ "graph"
146
+ );
147
+ registerTool(
148
+ "kg_stats",
149
+ {
150
+ name: "kg_stats",
151
+ description: "Get statistics about the knowledge graph",
152
+ inputSchema: {
153
+ type: "object",
154
+ properties: {}
155
+ }
156
+ },
157
+ async () => {
158
+ const db = getDatabase();
159
+ if (!db) {
160
+ return { success: false, error: "Database not initialized" };
161
+ }
162
+ try {
163
+ const stats = db.getStats();
164
+ return { success: true, data: stats };
165
+ } catch (error) {
166
+ return {
167
+ success: false,
168
+ error: error instanceof Error ? error.message : String(error)
169
+ };
170
+ }
171
+ },
172
+ "graph"
173
+ );
174
+ registerTool(
175
+ "kg_get_node",
176
+ {
177
+ name: "kg_get_node",
178
+ description: "Get a specific node by ID or path",
179
+ inputSchema: {
180
+ type: "object",
181
+ properties: {
182
+ id: {
183
+ type: "string",
184
+ description: "Node ID"
185
+ },
186
+ path: {
187
+ type: "string",
188
+ description: "Node path (alternative to ID)"
189
+ }
190
+ }
191
+ }
192
+ },
193
+ async (params) => {
194
+ const db = getDatabase();
195
+ if (!db) {
196
+ return { success: false, error: "Database not initialized" };
197
+ }
198
+ try {
199
+ let node;
200
+ if (params.id) {
201
+ node = db.getNode(params.id);
202
+ } else if (params.path) {
203
+ node = db.getNodeByPath(params.path);
204
+ } else {
205
+ return { success: false, error: "Either id or path required" };
206
+ }
207
+ if (!node) {
208
+ return { success: false, error: "Node not found" };
209
+ }
210
+ return { success: true, data: node };
211
+ } catch (error) {
212
+ return {
213
+ success: false,
214
+ error: error instanceof Error ? error.message : String(error)
215
+ };
216
+ }
217
+ },
218
+ "graph"
219
+ );
220
+ registerTool(
221
+ "kg_cache_stats",
222
+ {
223
+ name: "kg_cache_stats",
224
+ description: "Get cache statistics",
225
+ inputSchema: {
226
+ type: "object",
227
+ properties: {}
228
+ }
229
+ },
230
+ async () => {
231
+ const cache = getCache();
232
+ if (!cache) {
233
+ return { success: false, error: "Cache not initialized" };
234
+ }
235
+ try {
236
+ const stats = cache.getStats();
237
+ return { success: true, data: stats };
238
+ } catch (error) {
239
+ return {
240
+ success: false,
241
+ error: error instanceof Error ? error.message : String(error)
242
+ };
243
+ }
244
+ },
245
+ "cache"
246
+ );
247
+ registerTool(
248
+ "kg_health",
249
+ {
250
+ name: "kg_health",
251
+ description: "Check health status of knowledge graph components",
252
+ inputSchema: {
253
+ type: "object",
254
+ properties: {}
255
+ }
256
+ },
257
+ async () => {
258
+ const db = getDatabase();
259
+ const cache = getCache();
260
+ return {
261
+ success: true,
262
+ data: {
263
+ database: !!db,
264
+ cache: !!cache,
265
+ projectRoot: getProjectRoot() || null,
266
+ toolCount: getToolCount()
267
+ }
268
+ };
269
+ },
270
+ "system"
271
+ );
272
+ registerTool(
273
+ "kg_list_tags",
274
+ {
275
+ name: "kg_list_tags",
276
+ description: "List all tags with their usage counts",
277
+ inputSchema: {
278
+ type: "object",
279
+ properties: {
280
+ limit: {
281
+ type: "number",
282
+ description: "Maximum tags to return",
283
+ default: 100
284
+ }
285
+ }
286
+ }
287
+ },
288
+ async (params) => {
289
+ const db = getDatabase();
290
+ if (!db) {
291
+ return { success: false, error: "Database not initialized" };
292
+ }
293
+ try {
294
+ const limit = params.limit || 100;
295
+ const tags = db.getAllTags().slice(0, limit);
296
+ return {
297
+ success: true,
298
+ data: tags,
299
+ metadata: { itemCount: tags.length }
300
+ };
301
+ } catch (error) {
302
+ return {
303
+ success: false,
304
+ error: error instanceof Error ? error.message : String(error)
305
+ };
306
+ }
307
+ },
308
+ "graph"
309
+ );
310
+ await registerAgentTools();
311
+ logger.debug("Core tools registered");
312
+ }
313
+ async function registerAgentTools() {
314
+ const { getRegistry: getAgentRegistry, AgentType, TaskPriority, createTaskId } = await import("../../agents/index.js");
315
+ registerTool(
316
+ "kg_agent_spawn",
317
+ {
318
+ name: "kg_agent_spawn",
319
+ description: "Spawn a specialized agent to perform a task",
320
+ inputSchema: {
321
+ type: "object",
322
+ properties: {
323
+ type: {
324
+ type: "string",
325
+ description: "Agent type (researcher, coder, tester, analyst, architect)",
326
+ enum: ["researcher", "coder", "tester", "analyst", "architect"]
327
+ },
328
+ name: { type: "string", description: "Custom agent name (optional)" },
329
+ task: { type: "string", description: "Task for the agent to perform" },
330
+ options: {
331
+ type: "object",
332
+ description: "Agent-specific options",
333
+ properties: {
334
+ timeout: { type: "number", description: "Task timeout in ms" },
335
+ maxRetries: { type: "number", description: "Maximum retries" },
336
+ priority: {
337
+ type: "string",
338
+ description: "Task priority (low, medium, high, critical)",
339
+ enum: ["low", "medium", "high", "critical"]
340
+ }
341
+ }
342
+ }
343
+ },
344
+ required: ["type", "task"]
345
+ }
346
+ },
347
+ async (params) => {
348
+ const startTime = Date.now();
349
+ const { type, name, task, options = {} } = params || {};
350
+ if (!type || typeof type !== "string") {
351
+ return {
352
+ success: false,
353
+ error: "Agent type is required",
354
+ metadata: { executionTime: Date.now() - startTime }
355
+ };
356
+ }
357
+ if (!task || typeof task !== "string") {
358
+ return {
359
+ success: false,
360
+ error: "Task description is required",
361
+ metadata: { executionTime: Date.now() - startTime }
362
+ };
363
+ }
364
+ try {
365
+ const registry = getAgentRegistry();
366
+ const typeMap = {
367
+ researcher: AgentType.RESEARCHER,
368
+ coder: AgentType.CODER,
369
+ tester: AgentType.TESTER,
370
+ analyst: AgentType.ANALYST,
371
+ architect: AgentType.ARCHITECT
372
+ };
373
+ const agentType = typeMap[type.toLowerCase()] || AgentType.CUSTOM;
374
+ if (!registry.isRegistered(agentType)) {
375
+ return {
376
+ success: false,
377
+ error: `Agent type '${type}' is not registered`,
378
+ metadata: { executionTime: Date.now() - startTime }
379
+ };
380
+ }
381
+ const typedOptions = options;
382
+ const agent = await registry.spawn(agentType, {
383
+ name: typeof name === "string" ? name : `${type}-agent`,
384
+ taskTimeout: typedOptions.timeout,
385
+ retry: typedOptions.maxRetries ? { maxRetries: typedOptions.maxRetries, backoffMs: 1e3 } : void 0
386
+ });
387
+ const priorityMap = {
388
+ low: TaskPriority.LOW,
389
+ medium: TaskPriority.MEDIUM,
390
+ high: TaskPriority.HIGH,
391
+ critical: TaskPriority.CRITICAL
392
+ };
393
+ const agentTask = {
394
+ id: createTaskId(),
395
+ description: task,
396
+ priority: priorityMap[typedOptions.priority?.toLowerCase() || "medium"] || TaskPriority.MEDIUM,
397
+ input: { data: { task }, context: {} },
398
+ createdAt: /* @__PURE__ */ new Date()
399
+ };
400
+ const result = await agent.execute(agentTask);
401
+ return {
402
+ success: result.success,
403
+ data: {
404
+ agentId: agent.config.id,
405
+ agentType: type,
406
+ agentName: agent.config.name,
407
+ taskId: agentTask.id,
408
+ taskResult: result.data,
409
+ metrics: result.metrics
410
+ },
411
+ error: result.error?.message,
412
+ metadata: {
413
+ executionTime: Date.now() - startTime,
414
+ status: agent.getStatus()
415
+ }
416
+ };
417
+ } catch (error) {
418
+ return {
419
+ success: false,
420
+ error: error instanceof Error ? error.message : String(error),
421
+ metadata: { executionTime: Date.now() - startTime }
422
+ };
423
+ }
424
+ },
425
+ "agents"
426
+ );
427
+ registerTool(
428
+ "kg_agent_list",
429
+ {
430
+ name: "kg_agent_list",
431
+ description: "List all active agents and their status",
432
+ inputSchema: {
433
+ type: "object",
434
+ properties: {
435
+ type: {
436
+ type: "string",
437
+ description: "Filter by agent type",
438
+ enum: ["researcher", "coder", "tester", "analyst", "architect", "reviewer", "coordinator", "optimizer", "documenter"]
439
+ },
440
+ status: {
441
+ type: "string",
442
+ description: "Filter by status",
443
+ enum: ["idle", "running", "completed", "failed", "paused", "terminated"]
444
+ }
445
+ }
446
+ }
447
+ },
448
+ async (params) => {
449
+ const startTime = Date.now();
450
+ const { type, status } = params || {};
451
+ try {
452
+ const { getRegistry: getAgentRegistry2, AgentType: AgentType2, AgentStatus } = await import("../../agents/index.js");
453
+ const registry = getAgentRegistry2();
454
+ let agents = registry.listInstances();
455
+ if (type && typeof type === "string") {
456
+ const typeMap = {
457
+ researcher: AgentType2.RESEARCHER,
458
+ coder: AgentType2.CODER,
459
+ tester: AgentType2.TESTER,
460
+ analyst: AgentType2.ANALYST,
461
+ architect: AgentType2.ARCHITECT,
462
+ reviewer: AgentType2.REVIEWER,
463
+ coordinator: AgentType2.COORDINATOR,
464
+ optimizer: AgentType2.OPTIMIZER,
465
+ documenter: AgentType2.DOCUMENTER
466
+ };
467
+ const agentType = typeMap[type.toLowerCase()];
468
+ if (agentType) {
469
+ agents = agents.filter((a) => a.type === agentType);
470
+ }
471
+ }
472
+ if (status && typeof status === "string") {
473
+ const statusMap = {
474
+ idle: AgentStatus.IDLE,
475
+ running: AgentStatus.RUNNING,
476
+ completed: AgentStatus.COMPLETED,
477
+ failed: AgentStatus.FAILED,
478
+ paused: AgentStatus.PAUSED,
479
+ terminated: AgentStatus.TERMINATED
480
+ };
481
+ const agentStatus = statusMap[status.toLowerCase()];
482
+ if (agentStatus) {
483
+ agents = agents.filter((a) => a.status === agentStatus);
484
+ }
485
+ }
486
+ const agentDetails = agents.map((agent) => {
487
+ const instance = registry.get(agent.id);
488
+ return {
489
+ id: agent.id,
490
+ type: agent.type,
491
+ name: agent.name,
492
+ status: agent.status,
493
+ currentTask: instance?.state.currentTask?.id,
494
+ queuedTasks: instance?.state.taskQueue.length || 0,
495
+ completedTasks: instance?.state.completedTasks.length || 0
496
+ };
497
+ });
498
+ const stats = registry.getStats();
499
+ return {
500
+ success: true,
501
+ data: {
502
+ agents: agentDetails,
503
+ count: agents.length,
504
+ stats: {
505
+ totalInstances: stats.totalInstances,
506
+ registeredTypes: stats.registeredTypes
507
+ }
508
+ },
509
+ metadata: {
510
+ executionTime: Date.now() - startTime
511
+ }
512
+ };
513
+ } catch (error) {
514
+ return {
515
+ success: false,
516
+ error: error instanceof Error ? error.message : String(error),
517
+ metadata: { executionTime: Date.now() - startTime }
518
+ };
519
+ }
520
+ },
521
+ "agents"
522
+ );
523
+ registerTool(
524
+ "kg_health_check",
525
+ {
526
+ name: "kg_health_check",
527
+ description: "Check the health status of the knowledge graph server",
528
+ inputSchema: {
529
+ type: "object",
530
+ properties: {
531
+ detailed: {
532
+ type: "boolean",
533
+ description: "Include detailed diagnostics",
534
+ default: false
535
+ },
536
+ components: {
537
+ type: "array",
538
+ description: "Specific components to check (database, cache, agents, memory)",
539
+ items: {
540
+ type: "string",
541
+ enum: ["database", "cache", "agents", "memory"]
542
+ }
543
+ }
544
+ }
545
+ }
546
+ },
547
+ async (params) => {
548
+ const startTime = Date.now();
549
+ const { detailed = false, components: requestedComponents } = params || {};
550
+ try {
551
+ const db = getDatabase();
552
+ const cache = getCache();
553
+ const { getRegistry: getAgentRegistry2 } = await import("../../agents/index.js");
554
+ const checkComponents = requestedComponents || ["database", "cache", "agents", "memory"];
555
+ const componentResults = {};
556
+ if (checkComponents.includes("database")) {
557
+ if (!db) {
558
+ componentResults.database = { status: "unhealthy", message: "Database not configured" };
559
+ } else {
560
+ try {
561
+ const stats = db.getStats();
562
+ componentResults.database = {
563
+ status: "healthy",
564
+ message: "Database operational",
565
+ details: detailed ? { totalNodes: stats.totalNodes, totalEdges: stats.totalEdges } : void 0
566
+ };
567
+ } catch (error) {
568
+ componentResults.database = { status: "unhealthy", message: error instanceof Error ? error.message : "Check failed" };
569
+ }
570
+ }
571
+ }
572
+ if (checkComponents.includes("cache")) {
573
+ if (!cache) {
574
+ componentResults.cache = { status: "degraded", message: "Cache not configured" };
575
+ } else {
576
+ try {
577
+ const stats = cache.getStats();
578
+ componentResults.cache = {
579
+ status: "healthy",
580
+ message: "Cache operational",
581
+ details: detailed ? { entries: stats.totalEntries, hitRate: stats.hitRate } : void 0
582
+ };
583
+ } catch (error) {
584
+ componentResults.cache = { status: "unhealthy", message: error instanceof Error ? error.message : "Check failed" };
585
+ }
586
+ }
587
+ }
588
+ if (checkComponents.includes("agents")) {
589
+ try {
590
+ const agentRegistry = getAgentRegistry2();
591
+ const stats = agentRegistry.getStats();
592
+ const failedCount = stats.instancesByStatus["failed"] || 0;
593
+ componentResults.agents = {
594
+ status: failedCount > 0 ? "degraded" : "healthy",
595
+ message: failedCount > 0 ? `${failedCount} agent(s) failed` : "Agent system operational",
596
+ details: detailed ? { instances: stats.totalInstances, types: stats.registeredTypes } : void 0
597
+ };
598
+ } catch (error) {
599
+ componentResults.agents = { status: "unhealthy", message: error instanceof Error ? error.message : "Check failed" };
600
+ }
601
+ }
602
+ if (checkComponents.includes("memory")) {
603
+ const memUsage = process.memoryUsage();
604
+ const heapUsageRatio = memUsage.heapUsed / memUsage.heapTotal;
605
+ componentResults.memory = {
606
+ status: heapUsageRatio > 0.9 ? "unhealthy" : heapUsageRatio > 0.75 ? "degraded" : "healthy",
607
+ message: `Heap usage: ${Math.round(heapUsageRatio * 100)}%`,
608
+ details: detailed ? {
609
+ heapUsedMB: Math.round(memUsage.heapUsed / 1024 / 1024 * 100) / 100,
610
+ heapTotalMB: Math.round(memUsage.heapTotal / 1024 / 1024 * 100) / 100
611
+ } : void 0
612
+ };
613
+ }
614
+ const statuses = Object.values(componentResults).map((c) => c.status);
615
+ const overallStatus = statuses.some((s) => s === "unhealthy") ? "unhealthy" : statuses.some((s) => s === "degraded") ? "degraded" : "healthy";
616
+ const health = {
617
+ status: overallStatus,
618
+ components: Object.fromEntries(
619
+ Object.entries(componentResults).map(([name, result]) => [
620
+ name,
621
+ detailed ? result : result.status
622
+ ])
623
+ ),
624
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
625
+ };
626
+ if (detailed) {
627
+ Object.assign(health, {
628
+ uptime: process.uptime(),
629
+ nodeVersion: process.version,
630
+ platform: process.platform
631
+ });
632
+ }
633
+ return {
634
+ success: true,
635
+ data: health,
636
+ metadata: { executionTime: Date.now() - startTime }
637
+ };
638
+ } catch (error) {
639
+ return {
640
+ success: false,
641
+ error: error instanceof Error ? error.message : String(error),
642
+ data: { status: "unhealthy" },
643
+ metadata: { executionTime: Date.now() - startTime }
644
+ };
645
+ }
646
+ },
647
+ "system"
648
+ );
649
+ logger.debug("Agent tools registered");
650
+ }
651
+ export {
652
+ getCache,
653
+ getDatabase,
654
+ getProjectRoot,
655
+ getToolCategories,
656
+ getToolCount,
657
+ getToolDefinition,
658
+ getToolDefinitions,
659
+ getToolHandler,
660
+ initializeTools,
661
+ registerTool
662
+ };
663
+ //# sourceMappingURL=registry.js.map