@weavelogic/knowledge-graph-agent 0.2.0 → 0.4.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 (711) hide show
  1. package/README.md +972 -303
  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/audit/config.d.ts +150 -0
  181. package/dist/audit/config.d.ts.map +1 -0
  182. package/dist/audit/config.js +111 -0
  183. package/dist/audit/config.js.map +1 -0
  184. package/dist/audit/index.d.ts +38 -0
  185. package/dist/audit/index.d.ts.map +1 -0
  186. package/dist/audit/services/audit-chain.d.ts +276 -0
  187. package/dist/audit/services/audit-chain.d.ts.map +1 -0
  188. package/dist/audit/services/audit-chain.js +502 -0
  189. package/dist/audit/services/audit-chain.js.map +1 -0
  190. package/dist/audit/services/index.d.ts +11 -0
  191. package/dist/audit/services/index.d.ts.map +1 -0
  192. package/dist/audit/services/syndication.d.ts +334 -0
  193. package/dist/audit/services/syndication.d.ts.map +1 -0
  194. package/dist/audit/services/syndication.js +589 -0
  195. package/dist/audit/services/syndication.js.map +1 -0
  196. package/dist/audit/types.d.ts +453 -0
  197. package/dist/audit/types.d.ts.map +1 -0
  198. package/dist/caching/index.d.ts +55 -0
  199. package/dist/caching/index.d.ts.map +1 -0
  200. package/dist/caching/index.js +206 -0
  201. package/dist/caching/index.js.map +1 -0
  202. package/dist/caching/lru-cache.d.ts +254 -0
  203. package/dist/caching/lru-cache.d.ts.map +1 -0
  204. package/dist/caching/types.d.ts +95 -0
  205. package/dist/caching/types.d.ts.map +1 -0
  206. package/dist/chunking/chunker.d.ts +94 -0
  207. package/dist/chunking/chunker.d.ts.map +1 -0
  208. package/dist/chunking/index.d.ts +125 -0
  209. package/dist/chunking/index.d.ts.map +1 -0
  210. package/dist/chunking/index.js +283 -0
  211. package/dist/chunking/index.js.map +1 -0
  212. package/dist/chunking/types.d.ts +92 -0
  213. package/dist/chunking/types.d.ts.map +1 -0
  214. package/dist/cli/commands/audit.d.ts +21 -0
  215. package/dist/cli/commands/audit.d.ts.map +1 -0
  216. package/dist/cli/commands/audit.js +621 -0
  217. package/dist/cli/commands/audit.js.map +1 -0
  218. package/dist/cli/commands/commit.d.ts +11 -0
  219. package/dist/cli/commands/commit.d.ts.map +1 -0
  220. package/dist/cli/commands/commit.js +379 -0
  221. package/dist/cli/commands/commit.js.map +1 -0
  222. package/dist/cli/commands/config.d.ts +8 -0
  223. package/dist/cli/commands/config.d.ts.map +1 -0
  224. package/dist/cli/commands/config.js +107 -0
  225. package/dist/cli/commands/config.js.map +1 -0
  226. package/dist/cli/commands/cultivate.d.ts +16 -0
  227. package/dist/cli/commands/cultivate.d.ts.map +1 -0
  228. package/dist/cli/commands/cultivate.js +254 -0
  229. package/dist/cli/commands/cultivate.js.map +1 -0
  230. package/dist/cli/commands/diagnostics.d.ts +8 -0
  231. package/dist/cli/commands/diagnostics.d.ts.map +1 -0
  232. package/dist/cli/commands/diagnostics.js +140 -0
  233. package/dist/cli/commands/diagnostics.js.map +1 -0
  234. package/dist/cli/commands/generate.d.ts +13 -0
  235. package/dist/cli/commands/generate.d.ts.map +1 -0
  236. package/dist/cli/commands/init-primitives.d.ts +19 -0
  237. package/dist/cli/commands/init-primitives.d.ts.map +1 -0
  238. package/dist/cli/commands/init-primitives.js +208 -0
  239. package/dist/cli/commands/init-primitives.js.map +1 -0
  240. package/dist/cli/commands/sop.d.ts +14 -0
  241. package/dist/cli/commands/sop.d.ts.map +1 -0
  242. package/dist/cli/commands/sop.js +598 -0
  243. package/dist/cli/commands/sop.js.map +1 -0
  244. package/dist/cli/commands/vector.d.ts +14 -0
  245. package/dist/cli/commands/vector.d.ts.map +1 -0
  246. package/dist/cli/commands/vector.js +429 -0
  247. package/dist/cli/commands/vector.js.map +1 -0
  248. package/dist/cli/commands/workflow.d.ts +12 -0
  249. package/dist/cli/commands/workflow.d.ts.map +1 -0
  250. package/dist/cli/commands/workflow.js +471 -0
  251. package/dist/cli/commands/workflow.js.map +1 -0
  252. package/dist/cli/index.d.ts.map +1 -1
  253. package/dist/cli/index.js +66 -1
  254. package/dist/cli/index.js.map +1 -1
  255. package/dist/config/index.d.ts +153 -0
  256. package/dist/config/index.d.ts.map +1 -0
  257. package/dist/config/index.js +141 -0
  258. package/dist/config/index.js.map +1 -0
  259. package/dist/config/manager.d.ts +136 -0
  260. package/dist/config/manager.d.ts.map +1 -0
  261. package/dist/config/types.d.ts +127 -0
  262. package/dist/config/types.d.ts.map +1 -0
  263. package/dist/core/cache.d.ts +185 -0
  264. package/dist/core/cache.d.ts.map +1 -0
  265. package/dist/core/cache.js +435 -0
  266. package/dist/core/cache.js.map +1 -0
  267. package/dist/cultivation/deep-analyzer.d.ts +129 -0
  268. package/dist/cultivation/deep-analyzer.d.ts.map +1 -0
  269. package/dist/cultivation/deep-analyzer.js +322 -0
  270. package/dist/cultivation/deep-analyzer.js.map +1 -0
  271. package/dist/cultivation/index.d.ts +13 -0
  272. package/dist/cultivation/index.d.ts.map +1 -0
  273. package/dist/cultivation/seed-generator.d.ts +92 -0
  274. package/dist/cultivation/seed-generator.d.ts.map +1 -0
  275. package/dist/cultivation/seed-generator.js +1033 -0
  276. package/dist/cultivation/seed-generator.js.map +1 -0
  277. package/dist/cultivation/types.d.ts +230 -0
  278. package/dist/cultivation/types.d.ts.map +1 -0
  279. package/dist/database/schemas/index.d.ts +85 -0
  280. package/dist/database/schemas/index.d.ts.map +1 -0
  281. package/dist/generators/claude-md.d.ts +7 -0
  282. package/dist/generators/claude-md.d.ts.map +1 -1
  283. package/dist/generators/claude-md.js.map +1 -1
  284. package/dist/generators/docs-init.d.ts +6 -0
  285. package/dist/generators/docs-init.d.ts.map +1 -1
  286. package/dist/generators/docs-init.js.map +1 -1
  287. package/dist/health/checks.d.ts +135 -0
  288. package/dist/health/checks.d.ts.map +1 -0
  289. package/dist/health/index.d.ts +119 -0
  290. package/dist/health/index.d.ts.map +1 -0
  291. package/dist/health/index.js +191 -0
  292. package/dist/health/index.js.map +1 -0
  293. package/dist/health/monitor.d.ts +146 -0
  294. package/dist/health/monitor.d.ts.map +1 -0
  295. package/dist/health/types.d.ts +135 -0
  296. package/dist/health/types.d.ts.map +1 -0
  297. package/dist/index.d.ts +32 -0
  298. package/dist/index.d.ts.map +1 -1
  299. package/dist/index.js +182 -1
  300. package/dist/index.js.map +1 -1
  301. package/dist/integrations/auto-commit.d.ts +175 -0
  302. package/dist/integrations/auto-commit.d.ts.map +1 -0
  303. package/dist/integrations/auto-commit.js +399 -0
  304. package/dist/integrations/auto-commit.js.map +1 -0
  305. package/dist/integrations/git.d.ts +299 -0
  306. package/dist/integrations/git.d.ts.map +1 -0
  307. package/dist/integrations/git.js +465 -0
  308. package/dist/integrations/git.js.map +1 -0
  309. package/dist/mcp-server/bin.d.ts +11 -0
  310. package/dist/mcp-server/bin.d.ts.map +1 -0
  311. package/dist/mcp-server/handlers/index.d.ts +57 -0
  312. package/dist/mcp-server/handlers/index.d.ts.map +1 -0
  313. package/dist/mcp-server/handlers/index.js +235 -0
  314. package/dist/mcp-server/handlers/index.js.map +1 -0
  315. package/dist/mcp-server/index.d.ts +28 -0
  316. package/dist/mcp-server/index.d.ts.map +1 -0
  317. package/dist/mcp-server/server.d.ts +133 -0
  318. package/dist/mcp-server/server.d.ts.map +1 -0
  319. package/dist/mcp-server/server.js +280 -0
  320. package/dist/mcp-server/server.js.map +1 -0
  321. package/dist/mcp-server/tools/agents/index.d.ts +10 -0
  322. package/dist/mcp-server/tools/agents/index.d.ts.map +1 -0
  323. package/dist/mcp-server/tools/agents/list.d.ts +19 -0
  324. package/dist/mcp-server/tools/agents/list.d.ts.map +1 -0
  325. package/dist/mcp-server/tools/agents/spawn.d.ts +19 -0
  326. package/dist/mcp-server/tools/agents/spawn.d.ts.map +1 -0
  327. package/dist/mcp-server/tools/audit/checkpoint.d.ts +58 -0
  328. package/dist/mcp-server/tools/audit/checkpoint.d.ts.map +1 -0
  329. package/dist/mcp-server/tools/audit/checkpoint.js +73 -0
  330. package/dist/mcp-server/tools/audit/checkpoint.js.map +1 -0
  331. package/dist/mcp-server/tools/audit/index.d.ts +53 -0
  332. package/dist/mcp-server/tools/audit/index.d.ts.map +1 -0
  333. package/dist/mcp-server/tools/audit/index.js +12 -0
  334. package/dist/mcp-server/tools/audit/index.js.map +1 -0
  335. package/dist/mcp-server/tools/audit/query.d.ts +58 -0
  336. package/dist/mcp-server/tools/audit/query.d.ts.map +1 -0
  337. package/dist/mcp-server/tools/audit/query.js +125 -0
  338. package/dist/mcp-server/tools/audit/query.js.map +1 -0
  339. package/dist/mcp-server/tools/audit/sync.d.ts +58 -0
  340. package/dist/mcp-server/tools/audit/sync.d.ts.map +1 -0
  341. package/dist/mcp-server/tools/audit/sync.js +126 -0
  342. package/dist/mcp-server/tools/audit/sync.js.map +1 -0
  343. package/dist/mcp-server/tools/graph/generate.d.ts +21 -0
  344. package/dist/mcp-server/tools/graph/generate.d.ts.map +1 -0
  345. package/dist/mcp-server/tools/graph/index.d.ts +11 -0
  346. package/dist/mcp-server/tools/graph/index.d.ts.map +1 -0
  347. package/dist/mcp-server/tools/graph/query.d.ts +22 -0
  348. package/dist/mcp-server/tools/graph/query.d.ts.map +1 -0
  349. package/dist/mcp-server/tools/graph/stats.d.ts +22 -0
  350. package/dist/mcp-server/tools/graph/stats.d.ts.map +1 -0
  351. package/dist/mcp-server/tools/health.d.ts +21 -0
  352. package/dist/mcp-server/tools/health.d.ts.map +1 -0
  353. package/dist/mcp-server/tools/index.d.ts +16 -0
  354. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  355. package/dist/mcp-server/tools/registry.d.ts +90 -0
  356. package/dist/mcp-server/tools/registry.d.ts.map +1 -0
  357. package/dist/mcp-server/tools/registry.js +753 -0
  358. package/dist/mcp-server/tools/registry.js.map +1 -0
  359. package/dist/mcp-server/tools/search/index.d.ts +10 -0
  360. package/dist/mcp-server/tools/search/index.d.ts.map +1 -0
  361. package/dist/mcp-server/tools/search/nodes.d.ts +22 -0
  362. package/dist/mcp-server/tools/search/nodes.d.ts.map +1 -0
  363. package/dist/mcp-server/tools/search/tags.d.ts +22 -0
  364. package/dist/mcp-server/tools/search/tags.d.ts.map +1 -0
  365. package/dist/mcp-server/tools/vector/index.d.ts +12 -0
  366. package/dist/mcp-server/tools/vector/index.d.ts.map +1 -0
  367. package/dist/mcp-server/tools/vector/index.js +12 -0
  368. package/dist/mcp-server/tools/vector/index.js.map +1 -0
  369. package/dist/mcp-server/tools/vector/search.d.ts +41 -0
  370. package/dist/mcp-server/tools/vector/search.d.ts.map +1 -0
  371. package/dist/mcp-server/tools/vector/search.js +224 -0
  372. package/dist/mcp-server/tools/vector/search.js.map +1 -0
  373. package/dist/mcp-server/tools/vector/trajectory.d.ts +39 -0
  374. package/dist/mcp-server/tools/vector/trajectory.d.ts.map +1 -0
  375. package/dist/mcp-server/tools/vector/trajectory.js +170 -0
  376. package/dist/mcp-server/tools/vector/trajectory.js.map +1 -0
  377. package/dist/mcp-server/tools/vector/upsert.d.ts +44 -0
  378. package/dist/mcp-server/tools/vector/upsert.d.ts.map +1 -0
  379. package/dist/mcp-server/tools/vector/upsert.js +175 -0
  380. package/dist/mcp-server/tools/vector/upsert.js.map +1 -0
  381. package/dist/mcp-server/tools/workflow/index.d.ts +29 -0
  382. package/dist/mcp-server/tools/workflow/index.d.ts.map +1 -0
  383. package/dist/mcp-server/tools/workflow/index.js +12 -0
  384. package/dist/mcp-server/tools/workflow/index.js.map +1 -0
  385. package/dist/mcp-server/tools/workflow/list.d.ts +41 -0
  386. package/dist/mcp-server/tools/workflow/list.d.ts.map +1 -0
  387. package/dist/mcp-server/tools/workflow/list.js +195 -0
  388. package/dist/mcp-server/tools/workflow/list.js.map +1 -0
  389. package/dist/mcp-server/tools/workflow/start.d.ts +40 -0
  390. package/dist/mcp-server/tools/workflow/start.d.ts.map +1 -0
  391. package/dist/mcp-server/tools/workflow/start.js +165 -0
  392. package/dist/mcp-server/tools/workflow/start.js.map +1 -0
  393. package/dist/mcp-server/tools/workflow/status.d.ts +38 -0
  394. package/dist/mcp-server/tools/workflow/status.d.ts.map +1 -0
  395. package/dist/mcp-server/tools/workflow/status.js +97 -0
  396. package/dist/mcp-server/tools/workflow/status.js.map +1 -0
  397. package/dist/mcp-server/types/index.d.ts +286 -0
  398. package/dist/mcp-server/types/index.d.ts.map +1 -0
  399. package/dist/memory/index.d.ts +10 -0
  400. package/dist/memory/index.d.ts.map +1 -0
  401. package/dist/memory/vault-sync.d.ts +212 -0
  402. package/dist/memory/vault-sync.d.ts.map +1 -0
  403. package/dist/memory/vault-sync.js +463 -0
  404. package/dist/memory/vault-sync.js.map +1 -0
  405. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +296 -0
  406. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -0
  407. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +71 -0
  408. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -0
  409. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js +26 -0
  410. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js.map +1 -0
  411. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +407 -0
  412. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -0
  413. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js +1332 -0
  414. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/types.js.map +1 -0
  415. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js +71 -0
  416. package/dist/node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js.map +1 -0
  417. package/dist/node_modules/ajv/dist/ajv.js +84 -0
  418. package/dist/node_modules/ajv/dist/ajv.js.map +1 -0
  419. package/dist/node_modules/ajv/dist/compile/codegen/code.js +160 -0
  420. package/dist/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  421. package/dist/node_modules/ajv/dist/compile/codegen/index.js +728 -0
  422. package/dist/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  423. package/dist/node_modules/ajv/dist/compile/codegen/scope.js +152 -0
  424. package/dist/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  425. package/dist/node_modules/ajv/dist/compile/errors.js +131 -0
  426. package/dist/node_modules/ajv/dist/compile/errors.js.map +1 -0
  427. package/dist/node_modules/ajv/dist/compile/index.js +234 -0
  428. package/dist/node_modules/ajv/dist/compile/index.js.map +1 -0
  429. package/dist/node_modules/ajv/dist/compile/names.js +44 -0
  430. package/dist/node_modules/ajv/dist/compile/names.js.map +1 -0
  431. package/dist/node_modules/ajv/dist/compile/ref_error.js +22 -0
  432. package/dist/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  433. package/dist/node_modules/ajv/dist/compile/resolve.js +163 -0
  434. package/dist/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  435. package/dist/node_modules/ajv/dist/compile/rules.js +35 -0
  436. package/dist/node_modules/ajv/dist/compile/rules.js.map +1 -0
  437. package/dist/node_modules/ajv/dist/compile/util.js +173 -0
  438. package/dist/node_modules/ajv/dist/compile/util.js.map +1 -0
  439. package/dist/node_modules/ajv/dist/compile/validate/applicability.js +27 -0
  440. package/dist/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  441. package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js +58 -0
  442. package/dist/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  443. package/dist/node_modules/ajv/dist/compile/validate/dataType.js +193 -0
  444. package/dist/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  445. package/dist/node_modules/ajv/dist/compile/validate/defaults.js +43 -0
  446. package/dist/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  447. package/dist/node_modules/ajv/dist/compile/validate/index.js +522 -0
  448. package/dist/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  449. package/dist/node_modules/ajv/dist/compile/validate/keyword.js +126 -0
  450. package/dist/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  451. package/dist/node_modules/ajv/dist/compile/validate/subschema.js +89 -0
  452. package/dist/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  453. package/dist/node_modules/ajv/dist/core.js +628 -0
  454. package/dist/node_modules/ajv/dist/core.js.map +1 -0
  455. package/dist/node_modules/ajv/dist/refs/data.json.js +24 -0
  456. package/dist/node_modules/ajv/dist/refs/data.json.js.map +1 -0
  457. package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js +25 -0
  458. package/dist/node_modules/ajv/dist/refs/json-schema-draft-07.json.js.map +1 -0
  459. package/dist/node_modules/ajv/dist/runtime/equal.js +16 -0
  460. package/dist/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  461. package/dist/node_modules/ajv/dist/runtime/ucs2length.js +30 -0
  462. package/dist/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  463. package/dist/node_modules/ajv/dist/runtime/uri.js +16 -0
  464. package/dist/node_modules/ajv/dist/runtime/uri.js.map +1 -0
  465. package/dist/node_modules/ajv/dist/runtime/validation_error.js +20 -0
  466. package/dist/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  467. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +59 -0
  468. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  469. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +114 -0
  470. package/dist/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  471. package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js +32 -0
  472. package/dist/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  473. package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +22 -0
  474. package/dist/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  475. package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js +100 -0
  476. package/dist/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  477. package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +103 -0
  478. package/dist/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  479. package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js +75 -0
  480. package/dist/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  481. package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js +68 -0
  482. package/dist/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  483. package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js +64 -0
  484. package/dist/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  485. package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js +43 -0
  486. package/dist/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  487. package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js +36 -0
  488. package/dist/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  489. package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +64 -0
  490. package/dist/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  491. package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +81 -0
  492. package/dist/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  493. package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +22 -0
  494. package/dist/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  495. package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js +66 -0
  496. package/dist/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  497. package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +49 -0
  498. package/dist/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  499. package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +23 -0
  500. package/dist/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  501. package/dist/node_modules/ajv/dist/vocabularies/code.js +140 -0
  502. package/dist/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  503. package/dist/node_modules/ajv/dist/vocabularies/core/id.js +19 -0
  504. package/dist/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  505. package/dist/node_modules/ajv/dist/vocabularies/core/index.js +27 -0
  506. package/dist/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  507. package/dist/node_modules/ajv/dist/vocabularies/core/ref.js +132 -0
  508. package/dist/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  509. package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js +114 -0
  510. package/dist/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  511. package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js +18 -0
  512. package/dist/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  513. package/dist/node_modules/ajv/dist/vocabularies/draft7.js +31 -0
  514. package/dist/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  515. package/dist/node_modules/ajv/dist/vocabularies/format/format.js +95 -0
  516. package/dist/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  517. package/dist/node_modules/ajv/dist/vocabularies/format/index.js +16 -0
  518. package/dist/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  519. package/dist/node_modules/ajv/dist/vocabularies/metadata.js +27 -0
  520. package/dist/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  521. package/dist/node_modules/ajv/dist/vocabularies/validation/const.js +36 -0
  522. package/dist/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  523. package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js +56 -0
  524. package/dist/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  525. package/dist/node_modules/ajv/dist/vocabularies/validation/index.js +52 -0
  526. package/dist/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  527. package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js +34 -0
  528. package/dist/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  529. package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js +39 -0
  530. package/dist/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  531. package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +37 -0
  532. package/dist/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  533. package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +34 -0
  534. package/dist/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  535. package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +33 -0
  536. package/dist/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  537. package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js +34 -0
  538. package/dist/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  539. package/dist/node_modules/ajv/dist/vocabularies/validation/required.js +89 -0
  540. package/dist/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  541. package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +75 -0
  542. package/dist/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  543. package/dist/node_modules/ajv-formats/dist/formats.js +209 -0
  544. package/dist/node_modules/ajv-formats/dist/formats.js.map +1 -0
  545. package/dist/node_modules/ajv-formats/dist/index.js +51 -0
  546. package/dist/node_modules/ajv-formats/dist/index.js.map +1 -0
  547. package/dist/node_modules/ajv-formats/dist/limit.js +80 -0
  548. package/dist/node_modules/ajv-formats/dist/limit.js.map +1 -0
  549. package/dist/node_modules/fast-deep-equal/index.js +39 -0
  550. package/dist/node_modules/fast-deep-equal/index.js.map +1 -0
  551. package/dist/node_modules/fast-uri/index.js +261 -0
  552. package/dist/node_modules/fast-uri/index.js.map +1 -0
  553. package/dist/node_modules/fast-uri/lib/schemes.js +215 -0
  554. package/dist/node_modules/fast-uri/lib/schemes.js.map +1 -0
  555. package/dist/node_modules/fast-uri/lib/utils.js +261 -0
  556. package/dist/node_modules/fast-uri/lib/utils.js.map +1 -0
  557. package/dist/node_modules/json-schema-traverse/index.js +92 -0
  558. package/dist/node_modules/json-schema-traverse/index.js.map +1 -0
  559. package/dist/node_modules/zod/v4/classic/errors.js +37 -0
  560. package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
  561. package/dist/node_modules/zod/v4/classic/iso.js +43 -0
  562. package/dist/node_modules/zod/v4/classic/iso.js.map +1 -0
  563. package/dist/node_modules/zod/v4/classic/parse.js +13 -0
  564. package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
  565. package/dist/node_modules/zod/v4/classic/schemas.js +688 -0
  566. package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
  567. package/dist/node_modules/zod/v4/core/api.js +492 -0
  568. package/dist/node_modules/zod/v4/core/api.js.map +1 -0
  569. package/dist/node_modules/zod/v4/core/checks.js +405 -0
  570. package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
  571. package/dist/node_modules/zod/v4/core/core.js +58 -0
  572. package/dist/node_modules/zod/v4/core/core.js.map +1 -0
  573. package/dist/node_modules/zod/v4/core/doc.js +38 -0
  574. package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
  575. package/dist/node_modules/zod/v4/core/errors.js +82 -0
  576. package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
  577. package/dist/node_modules/zod/v4/core/parse.js +60 -0
  578. package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
  579. package/dist/node_modules/zod/v4/core/regexes.js +87 -0
  580. package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
  581. package/dist/node_modules/zod/v4/core/registries.js +52 -0
  582. package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
  583. package/dist/node_modules/zod/v4/core/schemas.js +1283 -0
  584. package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
  585. package/dist/node_modules/zod/v4/core/util.js +341 -0
  586. package/dist/node_modules/zod/v4/core/util.js.map +1 -0
  587. package/dist/node_modules/zod/v4/core/versions.js +9 -0
  588. package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
  589. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +2 -0
  590. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js.map +1 -0
  591. package/dist/reasoning/index.d.ts +74 -0
  592. package/dist/reasoning/index.d.ts.map +1 -0
  593. package/dist/reasoning/index.js +124 -0
  594. package/dist/reasoning/index.js.map +1 -0
  595. package/dist/reasoning/tracker.d.ts +210 -0
  596. package/dist/reasoning/tracker.d.ts.map +1 -0
  597. package/dist/reasoning/types.d.ts +146 -0
  598. package/dist/reasoning/types.d.ts.map +1 -0
  599. package/dist/recovery/backup.d.ts +110 -0
  600. package/dist/recovery/backup.d.ts.map +1 -0
  601. package/dist/recovery/index.d.ts +70 -0
  602. package/dist/recovery/index.d.ts.map +1 -0
  603. package/dist/recovery/index.js +186 -0
  604. package/dist/recovery/index.js.map +1 -0
  605. package/dist/recovery/integrity.d.ts +74 -0
  606. package/dist/recovery/integrity.d.ts.map +1 -0
  607. package/dist/recovery/types.d.ts +94 -0
  608. package/dist/recovery/types.d.ts.map +1 -0
  609. package/dist/services/index.d.ts +130 -0
  610. package/dist/services/index.d.ts.map +1 -0
  611. package/dist/services/index.js +134 -0
  612. package/dist/services/index.js.map +1 -0
  613. package/dist/services/manager.d.ts +140 -0
  614. package/dist/services/manager.d.ts.map +1 -0
  615. package/dist/services/types.d.ts +106 -0
  616. package/dist/services/types.d.ts.map +1 -0
  617. package/dist/services/watchers.d.ts +95 -0
  618. package/dist/services/watchers.d.ts.map +1 -0
  619. package/dist/sops/compliance-checker.d.ts +83 -0
  620. package/dist/sops/compliance-checker.d.ts.map +1 -0
  621. package/dist/sops/compliance-checker.js +399 -0
  622. package/dist/sops/compliance-checker.js.map +1 -0
  623. package/dist/sops/gap-analyzer.d.ts +124 -0
  624. package/dist/sops/gap-analyzer.d.ts.map +1 -0
  625. package/dist/sops/gap-analyzer.js +313 -0
  626. package/dist/sops/gap-analyzer.js.map +1 -0
  627. package/dist/sops/index.d.ts +14 -0
  628. package/dist/sops/index.d.ts.map +1 -0
  629. package/dist/sops/overlay-manager.d.ts +115 -0
  630. package/dist/sops/overlay-manager.d.ts.map +1 -0
  631. package/dist/sops/overlay-manager.js +394 -0
  632. package/dist/sops/overlay-manager.js.map +1 -0
  633. package/dist/sops/registry.d.ts +73 -0
  634. package/dist/sops/registry.d.ts.map +1 -0
  635. package/dist/sops/registry.js +919 -0
  636. package/dist/sops/registry.js.map +1 -0
  637. package/dist/sops/types.d.ts +377 -0
  638. package/dist/sops/types.d.ts.map +1 -0
  639. package/dist/sops/types.js +46 -0
  640. package/dist/sops/types.js.map +1 -0
  641. package/dist/utils/error-recovery.d.ts +230 -0
  642. package/dist/utils/error-recovery.d.ts.map +1 -0
  643. package/dist/utils/error-recovery.js +228 -0
  644. package/dist/utils/error-recovery.js.map +1 -0
  645. package/dist/utils/error-taxonomy.d.ts +149 -0
  646. package/dist/utils/error-taxonomy.d.ts.map +1 -0
  647. package/dist/utils/error-taxonomy.js +260 -0
  648. package/dist/utils/error-taxonomy.js.map +1 -0
  649. package/dist/utils/index.d.ts +11 -0
  650. package/dist/utils/index.d.ts.map +1 -0
  651. package/dist/utils/logger.d.ts +139 -0
  652. package/dist/utils/logger.d.ts.map +1 -0
  653. package/dist/utils/logger.js +311 -0
  654. package/dist/utils/logger.js.map +1 -0
  655. package/dist/vector/config.d.ts +300 -0
  656. package/dist/vector/config.d.ts.map +1 -0
  657. package/dist/vector/config.js +124 -0
  658. package/dist/vector/config.js.map +1 -0
  659. package/dist/vector/index.d.ts +50 -0
  660. package/dist/vector/index.d.ts.map +1 -0
  661. package/dist/vector/services/index.d.ts +13 -0
  662. package/dist/vector/services/index.d.ts.map +1 -0
  663. package/dist/vector/services/trajectory-tracker.d.ts +405 -0
  664. package/dist/vector/services/trajectory-tracker.d.ts.map +1 -0
  665. package/dist/vector/services/trajectory-tracker.js +445 -0
  666. package/dist/vector/services/trajectory-tracker.js.map +1 -0
  667. package/dist/vector/services/vector-store.d.ts +339 -0
  668. package/dist/vector/services/vector-store.d.ts.map +1 -0
  669. package/dist/vector/services/vector-store.js +748 -0
  670. package/dist/vector/services/vector-store.js.map +1 -0
  671. package/dist/vector/types.d.ts +677 -0
  672. package/dist/vector/types.d.ts.map +1 -0
  673. package/dist/workflow/adapters/goap-adapter.d.ts +196 -0
  674. package/dist/workflow/adapters/goap-adapter.d.ts.map +1 -0
  675. package/dist/workflow/adapters/goap-adapter.js +706 -0
  676. package/dist/workflow/adapters/goap-adapter.js.map +1 -0
  677. package/dist/workflow/adapters/index.d.ts +10 -0
  678. package/dist/workflow/adapters/index.d.ts.map +1 -0
  679. package/dist/workflow/config.d.ts +135 -0
  680. package/dist/workflow/config.d.ts.map +1 -0
  681. package/dist/workflow/config.js +92 -0
  682. package/dist/workflow/config.js.map +1 -0
  683. package/dist/workflow/handlers/index.d.ts +9 -0
  684. package/dist/workflow/handlers/index.d.ts.map +1 -0
  685. package/dist/workflow/handlers/webhook-handlers.d.ts +397 -0
  686. package/dist/workflow/handlers/webhook-handlers.d.ts.map +1 -0
  687. package/dist/workflow/handlers/webhook-handlers.js +454 -0
  688. package/dist/workflow/handlers/webhook-handlers.js.map +1 -0
  689. package/dist/workflow/index.d.ts +42 -0
  690. package/dist/workflow/index.d.ts.map +1 -0
  691. package/dist/workflow/services/index.d.ts +9 -0
  692. package/dist/workflow/services/index.d.ts.map +1 -0
  693. package/dist/workflow/services/workflow-service.d.ts +318 -0
  694. package/dist/workflow/services/workflow-service.d.ts.map +1 -0
  695. package/dist/workflow/services/workflow-service.js +577 -0
  696. package/dist/workflow/services/workflow-service.js.map +1 -0
  697. package/dist/workflow/types.d.ts +470 -0
  698. package/dist/workflow/types.d.ts.map +1 -0
  699. package/dist/workflow/workflows/realtime-collab.d.ts +245 -0
  700. package/dist/workflow/workflows/realtime-collab.d.ts.map +1 -0
  701. package/dist/workflows/index.d.ts +11 -0
  702. package/dist/workflows/index.d.ts.map +1 -0
  703. package/dist/workflows/registry.d.ts +118 -0
  704. package/dist/workflows/registry.d.ts.map +1 -0
  705. package/dist/workflows/registry.js +575 -0
  706. package/dist/workflows/registry.js.map +1 -0
  707. package/dist/workflows/types.d.ts +322 -0
  708. package/dist/workflows/types.d.ts.map +1 -0
  709. package/dist/workflows/types.js +16 -0
  710. package/dist/workflows/types.js.map +1 -0
  711. package/package.json +1 -1
@@ -0,0 +1,793 @@
1
+ import * as fs from "fs/promises";
2
+ import * as path from "path";
3
+ import { BaseAgent } from "./base-agent.js";
4
+ import { AgentType } from "./types.js";
5
+ class AnalystAgent extends BaseAgent {
6
+ /** File patterns to analyze */
7
+ codePatterns = [".ts", ".tsx", ".js", ".jsx", ".mts", ".mjs"];
8
+ /** Knowledge graph reference */
9
+ knowledgeGraph = null;
10
+ constructor(config) {
11
+ super({
12
+ type: AgentType.ANALYST,
13
+ taskTimeout: 3e5,
14
+ // 5 minutes for large projects
15
+ capabilities: ["code-analysis", "metrics", "quality-assessment"],
16
+ ...config
17
+ });
18
+ }
19
+ // ==========================================================================
20
+ // Knowledge Graph Integration
21
+ // ==========================================================================
22
+ /**
23
+ * Set knowledge graph for context-aware analysis
24
+ */
25
+ setKnowledgeGraph(graph) {
26
+ this.knowledgeGraph = graph;
27
+ this.logger.debug("Knowledge graph attached", {
28
+ nodeCount: graph.getMetadata().nodeCount
29
+ });
30
+ }
31
+ // ==========================================================================
32
+ // Task Execution
33
+ // ==========================================================================
34
+ /**
35
+ * Execute analyst task
36
+ */
37
+ async executeTask(task) {
38
+ const startTime = /* @__PURE__ */ new Date();
39
+ const taskType = task.input?.parameters?.taskType || "analyze";
40
+ switch (taskType) {
41
+ case "analyze":
42
+ return this.handleAnalyzeTask(task, startTime);
43
+ case "metrics":
44
+ return this.handleMetricsTask(task, startTime);
45
+ case "quality":
46
+ return this.handleQualityTask(task, startTime);
47
+ case "issues":
48
+ return this.handleIssuesTask(task, startTime);
49
+ default:
50
+ return this.createErrorResult(
51
+ "INVALID_TASK_TYPE",
52
+ `Unknown task type: ${taskType}`,
53
+ startTime
54
+ );
55
+ }
56
+ }
57
+ // ==========================================================================
58
+ // Public Methods
59
+ // ==========================================================================
60
+ /**
61
+ * Analyze code and generate metrics
62
+ */
63
+ async analyzeCode(code, filePath) {
64
+ this.logger.info("Analyzing code", { file: filePath });
65
+ const metrics = await this.calculateCodeMetrics(code);
66
+ const issues = this.findIssues(code, filePath);
67
+ const dependencies = this.extractDependencies(code);
68
+ const exports$1 = this.extractExports(code);
69
+ return {
70
+ path: filePath,
71
+ type: path.extname(filePath).slice(1),
72
+ linesOfCode: metrics.linesOfCode,
73
+ complexity: metrics.cyclomaticComplexity,
74
+ issues,
75
+ dependencies,
76
+ exports: exports$1
77
+ };
78
+ }
79
+ /**
80
+ * Calculate code metrics
81
+ *
82
+ * @remarks Renamed from calculateMetrics to avoid conflict with BaseAgent private method
83
+ */
84
+ async calculateCodeMetrics(code) {
85
+ this.logger.debug("Calculating metrics");
86
+ const lines = code.split("\n");
87
+ const totalLines = lines.length;
88
+ const blankLines = lines.filter((l) => l.trim().length === 0).length;
89
+ const commentLines = this.countCommentLines(code);
90
+ const linesOfCode = totalLines - blankLines - commentLines;
91
+ const functionCount = this.countFunctions(code);
92
+ const classCount = this.countClasses(code);
93
+ const avgFunctionLength = this.calculateAverageFunctionLength(code);
94
+ const maxFunctionLength = this.calculateMaxFunctionLength(code);
95
+ const cyclomaticComplexity = this.calculateCyclomaticComplexity(code);
96
+ const cognitiveComplexity = this.calculateCognitiveComplexity(code);
97
+ const halsteadVolume = Math.log2(linesOfCode + 1) * linesOfCode;
98
+ const maintainabilityIndex = Math.max(
99
+ 0,
100
+ Math.min(
101
+ 100,
102
+ 171 - 5.2 * Math.log(halsteadVolume) - 0.23 * cyclomaticComplexity - 16.2 * Math.log(linesOfCode)
103
+ )
104
+ );
105
+ const technicalDebt = this.estimateTechnicalDebt(
106
+ linesOfCode,
107
+ cyclomaticComplexity,
108
+ maintainabilityIndex
109
+ );
110
+ return {
111
+ totalLines,
112
+ linesOfCode,
113
+ commentLines,
114
+ blankLines,
115
+ fileCount: 1,
116
+ functionCount,
117
+ classCount,
118
+ avgFunctionLength: Math.round(avgFunctionLength),
119
+ maxFunctionLength,
120
+ cyclomaticComplexity,
121
+ cognitiveComplexity,
122
+ maintainabilityIndex: Math.round(maintainabilityIndex),
123
+ technicalDebt
124
+ };
125
+ }
126
+ /**
127
+ * Assess code quality
128
+ */
129
+ async assessQuality(code, filePath) {
130
+ this.logger.info("Assessing quality", { file: filePath });
131
+ const metrics = await this.calculateCodeMetrics(code);
132
+ const issues = this.findIssues(code, filePath);
133
+ const recommendations = this.generateRecommendations(metrics, issues);
134
+ const score = this.calculateQualityScore(metrics, issues);
135
+ const grade = this.scoreToGrade(score);
136
+ return {
137
+ score,
138
+ grade,
139
+ metrics,
140
+ issues,
141
+ recommendations,
142
+ timestamp: /* @__PURE__ */ new Date()
143
+ };
144
+ }
145
+ /**
146
+ * Find issues in code
147
+ */
148
+ findIssues(code, filePath) {
149
+ this.logger.debug("Finding issues", { file: filePath });
150
+ const issues = [];
151
+ const lines = code.split("\n");
152
+ issues.push(...this.findComplexityIssues(code, lines, filePath));
153
+ issues.push(...this.findStyleIssues(code, lines, filePath));
154
+ issues.push(...this.findSecurityIssues(code, lines, filePath));
155
+ issues.push(...this.findMaintainabilityIssues(code, lines, filePath));
156
+ return issues.sort((a, b) => {
157
+ const severityOrder = { critical: 0, error: 1, warning: 2, info: 3 };
158
+ return severityOrder[a.severity] - severityOrder[b.severity];
159
+ });
160
+ }
161
+ /**
162
+ * Analyze entire project
163
+ */
164
+ async analyzeProject(projectRoot) {
165
+ this.logger.info("Analyzing project", { root: projectRoot });
166
+ const files = await this.findFiles(projectRoot);
167
+ const fileAnalyses = [];
168
+ let aggregatedMetrics = this.createEmptyMetrics();
169
+ const allIssues = [];
170
+ const allDependencies = /* @__PURE__ */ new Set();
171
+ const allExports = /* @__PURE__ */ new Set();
172
+ for (const file of files) {
173
+ try {
174
+ const content = await fs.readFile(file, "utf-8");
175
+ const analysis = await this.analyzeCode(content, path.relative(projectRoot, file));
176
+ fileAnalyses.push(analysis);
177
+ allIssues.push(...analysis.issues);
178
+ analysis.dependencies.forEach((d) => allDependencies.add(d));
179
+ analysis.exports.forEach((e) => allExports.add(e));
180
+ const metrics = await this.calculateCodeMetrics(content);
181
+ aggregatedMetrics = this.aggregateMetrics(aggregatedMetrics, metrics);
182
+ } catch (error) {
183
+ this.logger.warn(`Failed to analyze ${file}`, { error });
184
+ }
185
+ }
186
+ const score = this.calculateQualityScore(aggregatedMetrics, allIssues);
187
+ const grade = this.scoreToGrade(score);
188
+ const recommendations = this.generateRecommendations(aggregatedMetrics, allIssues);
189
+ const hotspots = this.identifyHotspots(fileAnalyses);
190
+ const dependencies = this.analyzeDependencies(
191
+ fileAnalyses,
192
+ allDependencies,
193
+ allExports
194
+ );
195
+ return {
196
+ name: path.basename(projectRoot),
197
+ rootPath: projectRoot,
198
+ quality: {
199
+ score,
200
+ grade,
201
+ metrics: aggregatedMetrics,
202
+ issues: allIssues,
203
+ recommendations,
204
+ timestamp: /* @__PURE__ */ new Date()
205
+ },
206
+ files: fileAnalyses,
207
+ dependencies,
208
+ hotspots
209
+ };
210
+ }
211
+ // ==========================================================================
212
+ // Private Task Handlers
213
+ // ==========================================================================
214
+ async handleAnalyzeTask(task, startTime) {
215
+ const input = task.input?.data;
216
+ if (input?.projectRoot) {
217
+ try {
218
+ const analysis = await this.analyzeProject(input.projectRoot);
219
+ return this.createSuccessResult(analysis, startTime);
220
+ } catch (error) {
221
+ const message = error instanceof Error ? error.message : String(error);
222
+ return this.createErrorResult("ANALYSIS_ERROR", `Project analysis failed: ${message}`, startTime);
223
+ }
224
+ }
225
+ if (input?.code && input?.filePath) {
226
+ try {
227
+ const analysis = await this.analyzeCode(input.code, input.filePath);
228
+ return this.createSuccessResult(analysis, startTime);
229
+ } catch (error) {
230
+ const message = error instanceof Error ? error.message : String(error);
231
+ return this.createErrorResult("ANALYSIS_ERROR", `Code analysis failed: ${message}`, startTime);
232
+ }
233
+ }
234
+ return this.createErrorResult(
235
+ "VALIDATION_ERROR",
236
+ "Either projectRoot or code+filePath is required",
237
+ startTime
238
+ );
239
+ }
240
+ async handleMetricsTask(task, startTime) {
241
+ const input = task.input?.data;
242
+ if (!input?.code) {
243
+ return this.createErrorResult(
244
+ "VALIDATION_ERROR",
245
+ "Code is required for metrics calculation",
246
+ startTime
247
+ );
248
+ }
249
+ try {
250
+ const metrics = await this.calculateCodeMetrics(input.code);
251
+ return this.createSuccessResult(metrics, startTime);
252
+ } catch (error) {
253
+ const message = error instanceof Error ? error.message : String(error);
254
+ return this.createErrorResult("METRICS_ERROR", `Metrics calculation failed: ${message}`, startTime);
255
+ }
256
+ }
257
+ async handleQualityTask(task, startTime) {
258
+ const input = task.input?.data;
259
+ if (!input?.code) {
260
+ return this.createErrorResult(
261
+ "VALIDATION_ERROR",
262
+ "Code and file path are required for quality assessment",
263
+ startTime
264
+ );
265
+ }
266
+ try {
267
+ const assessment = await this.assessQuality(input.code, input.filePath);
268
+ return this.createSuccessResult(assessment, startTime);
269
+ } catch (error) {
270
+ const message = error instanceof Error ? error.message : String(error);
271
+ return this.createErrorResult("QUALITY_ERROR", `Quality assessment failed: ${message}`, startTime);
272
+ }
273
+ }
274
+ async handleIssuesTask(task, startTime) {
275
+ const input = task.input?.data;
276
+ if (!input?.code) {
277
+ return this.createErrorResult(
278
+ "VALIDATION_ERROR",
279
+ "Code and file path are required for issue detection",
280
+ startTime
281
+ );
282
+ }
283
+ try {
284
+ const issues = this.findIssues(input.code, input.filePath);
285
+ return this.createSuccessResult(issues, startTime);
286
+ } catch (error) {
287
+ const message = error instanceof Error ? error.message : String(error);
288
+ return this.createErrorResult("ISSUES_ERROR", `Issue detection failed: ${message}`, startTime);
289
+ }
290
+ }
291
+ // ==========================================================================
292
+ // Metrics Calculation
293
+ // ==========================================================================
294
+ countCommentLines(code) {
295
+ let count = 0;
296
+ let inBlockComment = false;
297
+ for (const line of code.split("\n")) {
298
+ const trimmed = line.trim();
299
+ if (inBlockComment) {
300
+ count++;
301
+ if (trimmed.includes("*/")) {
302
+ inBlockComment = false;
303
+ }
304
+ } else if (trimmed.startsWith("//")) {
305
+ count++;
306
+ } else if (trimmed.startsWith("/*")) {
307
+ count++;
308
+ if (!trimmed.includes("*/")) {
309
+ inBlockComment = true;
310
+ }
311
+ }
312
+ }
313
+ return count;
314
+ }
315
+ countFunctions(code) {
316
+ const patterns = [
317
+ /function\s+\w+/g,
318
+ /\w+\s*[=:]\s*(?:async\s+)?function/g,
319
+ /\w+\s*[=:]\s*(?:async\s+)?\([^)]*\)\s*=>/g,
320
+ /(?:async\s+)?(\w+)\s*\([^)]*\)\s*(?::\s*[^{]+)?\s*\{/g
321
+ ];
322
+ let count = 0;
323
+ for (const pattern of patterns) {
324
+ const matches = code.match(pattern);
325
+ if (matches) {
326
+ count += matches.length;
327
+ }
328
+ }
329
+ return count;
330
+ }
331
+ countClasses(code) {
332
+ const matches = code.match(/\bclass\s+\w+/g);
333
+ return matches ? matches.length : 0;
334
+ }
335
+ calculateAverageFunctionLength(code) {
336
+ const functionCount = this.countFunctions(code);
337
+ if (functionCount === 0) return 0;
338
+ const lines = code.split("\n").filter((l) => l.trim().length > 0);
339
+ return lines.length / functionCount;
340
+ }
341
+ calculateMaxFunctionLength(code) {
342
+ let maxLength = 0;
343
+ let currentLength = 0;
344
+ let braceCount = 0;
345
+ let inFunction = false;
346
+ for (const line of code.split("\n")) {
347
+ if (/(?:function|=>)\s*\{?/.test(line) && !inFunction) {
348
+ inFunction = true;
349
+ currentLength = 0;
350
+ }
351
+ if (inFunction) {
352
+ currentLength++;
353
+ braceCount += (line.match(/{/g) || []).length;
354
+ braceCount -= (line.match(/}/g) || []).length;
355
+ if (braceCount <= 0) {
356
+ maxLength = Math.max(maxLength, currentLength);
357
+ inFunction = false;
358
+ currentLength = 0;
359
+ }
360
+ }
361
+ }
362
+ return maxLength;
363
+ }
364
+ calculateCyclomaticComplexity(code) {
365
+ let complexity = 1;
366
+ const patterns = [
367
+ /\bif\s*\(/g,
368
+ /\belse\s+if\s*\(/g,
369
+ /\bfor\s*\(/g,
370
+ /\bwhile\s*\(/g,
371
+ /\bcase\s+/g,
372
+ /\bcatch\s*\(/g,
373
+ /\?\s*[^:]+\s*:/g,
374
+ /&&/g,
375
+ /\|\|/g
376
+ ];
377
+ for (const pattern of patterns) {
378
+ const matches = code.match(pattern);
379
+ if (matches) {
380
+ complexity += matches.length;
381
+ }
382
+ }
383
+ return complexity;
384
+ }
385
+ calculateCognitiveComplexity(code) {
386
+ let complexity = 0;
387
+ let nestingLevel = 0;
388
+ for (const line of code.split("\n")) {
389
+ if (/\b(if|for|while|switch)\s*\(/.test(line)) {
390
+ complexity += 1 + nestingLevel;
391
+ nestingLevel++;
392
+ }
393
+ if (/\belse\b/.test(line)) {
394
+ complexity += 1;
395
+ }
396
+ const closingBraces = (line.match(/}/g) || []).length;
397
+ nestingLevel = Math.max(0, nestingLevel - closingBraces);
398
+ const logicalOps = (line.match(/&&|\|\|/g) || []).length;
399
+ complexity += logicalOps;
400
+ }
401
+ return complexity;
402
+ }
403
+ estimateTechnicalDebt(linesOfCode, complexity, maintainability) {
404
+ const complexityDebt = Math.max(0, complexity - 10) * 0.5;
405
+ const maintainabilityDebt = Math.max(0, 100 - maintainability) * 0.1;
406
+ const sizeDebt = Math.max(0, linesOfCode - 500) * 0.01;
407
+ return Math.round((complexityDebt + maintainabilityDebt + sizeDebt) * 10) / 10;
408
+ }
409
+ // ==========================================================================
410
+ // Issue Detection
411
+ // ==========================================================================
412
+ findComplexityIssues(code, lines, filePath) {
413
+ const issues = [];
414
+ let maxNesting = 0;
415
+ let maxNestingLine = 0;
416
+ let currentNesting = 0;
417
+ for (let i = 0; i < lines.length; i++) {
418
+ currentNesting += (lines[i].match(/{/g) || []).length;
419
+ currentNesting -= (lines[i].match(/}/g) || []).length;
420
+ if (currentNesting > maxNesting) {
421
+ maxNesting = currentNesting;
422
+ maxNestingLine = i + 1;
423
+ }
424
+ }
425
+ if (maxNesting > 4) {
426
+ issues.push({
427
+ type: "complexity",
428
+ severity: maxNesting > 6 ? "error" : "warning",
429
+ message: `Deep nesting detected (${maxNesting} levels)`,
430
+ file: filePath,
431
+ line: maxNestingLine,
432
+ rule: "max-depth",
433
+ suggestion: "Consider extracting nested logic into separate functions"
434
+ });
435
+ }
436
+ const complexity = this.calculateCyclomaticComplexity(code);
437
+ if (complexity > 15) {
438
+ issues.push({
439
+ type: "complexity",
440
+ severity: complexity > 25 ? "error" : "warning",
441
+ message: `High cyclomatic complexity (${complexity})`,
442
+ file: filePath,
443
+ rule: "complexity",
444
+ suggestion: "Break down complex functions into smaller, focused ones"
445
+ });
446
+ }
447
+ return issues;
448
+ }
449
+ findStyleIssues(code, lines, filePath) {
450
+ const issues = [];
451
+ for (let i = 0; i < lines.length; i++) {
452
+ if (lines[i].includes("console.log")) {
453
+ issues.push({
454
+ type: "style",
455
+ severity: "warning",
456
+ message: "Unexpected console.log statement",
457
+ file: filePath,
458
+ line: i + 1,
459
+ rule: "no-console",
460
+ suggestion: "Remove or replace with proper logging"
461
+ });
462
+ }
463
+ }
464
+ for (let i = 0; i < lines.length; i++) {
465
+ if (/\bvar\s+/.test(lines[i])) {
466
+ issues.push({
467
+ type: "style",
468
+ severity: "warning",
469
+ message: "Use const or let instead of var",
470
+ file: filePath,
471
+ line: i + 1,
472
+ rule: "no-var",
473
+ suggestion: "Replace var with const or let"
474
+ });
475
+ }
476
+ }
477
+ for (let i = 0; i < lines.length; i++) {
478
+ if (lines[i].length > 120) {
479
+ issues.push({
480
+ type: "style",
481
+ severity: "info",
482
+ message: `Line too long (${lines[i].length} characters)`,
483
+ file: filePath,
484
+ line: i + 1,
485
+ rule: "max-len",
486
+ suggestion: "Break long lines for better readability"
487
+ });
488
+ }
489
+ }
490
+ return issues;
491
+ }
492
+ findSecurityIssues(code, lines, filePath) {
493
+ const issues = [];
494
+ for (let i = 0; i < lines.length; i++) {
495
+ if (/\beval\s*\(/.test(lines[i])) {
496
+ issues.push({
497
+ type: "security",
498
+ severity: "critical",
499
+ message: "Avoid using eval()",
500
+ file: filePath,
501
+ line: i + 1,
502
+ rule: "no-eval",
503
+ suggestion: "Use safer alternatives to eval"
504
+ });
505
+ }
506
+ }
507
+ for (let i = 0; i < lines.length; i++) {
508
+ if (/(?:password|secret|api_key|apikey)\s*[:=]\s*['"][^'"]+['"]/i.test(lines[i])) {
509
+ issues.push({
510
+ type: "security",
511
+ severity: "critical",
512
+ message: "Potential hardcoded secret detected",
513
+ file: filePath,
514
+ line: i + 1,
515
+ rule: "no-secrets",
516
+ suggestion: "Use environment variables for secrets"
517
+ });
518
+ }
519
+ }
520
+ for (let i = 0; i < lines.length; i++) {
521
+ if (/\.innerHTML\s*=/.test(lines[i])) {
522
+ issues.push({
523
+ type: "security",
524
+ severity: "warning",
525
+ message: "Avoid using innerHTML, potential XSS vulnerability",
526
+ file: filePath,
527
+ line: i + 1,
528
+ rule: "no-inner-html",
529
+ suggestion: "Use textContent or sanitize HTML"
530
+ });
531
+ }
532
+ }
533
+ return issues;
534
+ }
535
+ findMaintainabilityIssues(code, lines, filePath) {
536
+ const issues = [];
537
+ for (let i = 0; i < lines.length; i++) {
538
+ if (/\/\/\s*(TODO|FIXME|HACK|XXX)/i.test(lines[i])) {
539
+ const match = lines[i].match(/\/\/\s*(TODO|FIXME|HACK|XXX)/i);
540
+ issues.push({
541
+ type: "maintainability",
542
+ severity: "info",
543
+ message: `${match[1]} comment found`,
544
+ file: filePath,
545
+ line: i + 1,
546
+ rule: "no-warning-comments",
547
+ suggestion: "Address and remove the comment"
548
+ });
549
+ }
550
+ }
551
+ for (let i = 0; i < lines.length; i++) {
552
+ if (/[^a-zA-Z]\d{3,}[^a-zA-Z]/.test(lines[i]) && !lines[i].includes("//")) {
553
+ issues.push({
554
+ type: "maintainability",
555
+ severity: "info",
556
+ message: "Magic number detected",
557
+ file: filePath,
558
+ line: i + 1,
559
+ rule: "no-magic-numbers",
560
+ suggestion: "Extract to a named constant"
561
+ });
562
+ }
563
+ }
564
+ for (let i = 0; i < lines.length; i++) {
565
+ if (/:\s*any\b/.test(lines[i])) {
566
+ issues.push({
567
+ type: "maintainability",
568
+ severity: "warning",
569
+ message: "Avoid using any type",
570
+ file: filePath,
571
+ line: i + 1,
572
+ rule: "no-any",
573
+ suggestion: "Use a more specific type"
574
+ });
575
+ }
576
+ }
577
+ return issues;
578
+ }
579
+ // ==========================================================================
580
+ // Quality Scoring
581
+ // ==========================================================================
582
+ calculateQualityScore(metrics, issues) {
583
+ let score = 100;
584
+ if (metrics.cyclomaticComplexity > 10) {
585
+ score -= Math.min(20, (metrics.cyclomaticComplexity - 10) * 2);
586
+ }
587
+ score -= Math.max(0, 50 - metrics.maintainabilityIndex) * 0.5;
588
+ const issueDeductions = {
589
+ critical: 10,
590
+ error: 5,
591
+ warning: 2,
592
+ info: 0.5
593
+ };
594
+ for (const issue of issues) {
595
+ score -= issueDeductions[issue.severity];
596
+ }
597
+ return Math.max(0, Math.min(100, Math.round(score)));
598
+ }
599
+ scoreToGrade(score) {
600
+ if (score >= 90) return "A";
601
+ if (score >= 80) return "B";
602
+ if (score >= 70) return "C";
603
+ if (score >= 60) return "D";
604
+ return "F";
605
+ }
606
+ // ==========================================================================
607
+ // Recommendations
608
+ // ==========================================================================
609
+ generateRecommendations(metrics, issues) {
610
+ const recommendations = [];
611
+ if (metrics.cyclomaticComplexity > 15) {
612
+ recommendations.push(
613
+ "Reduce cyclomatic complexity by breaking down complex functions"
614
+ );
615
+ }
616
+ if (metrics.maintainabilityIndex < 50) {
617
+ recommendations.push(
618
+ "Improve code maintainability through refactoring and documentation"
619
+ );
620
+ }
621
+ if (metrics.avgFunctionLength > 30) {
622
+ recommendations.push(
623
+ "Keep functions shorter (under 30 lines) for better readability"
624
+ );
625
+ }
626
+ const criticalIssues = issues.filter((i) => i.severity === "critical");
627
+ if (criticalIssues.length > 0) {
628
+ recommendations.push(
629
+ `Address ${criticalIssues.length} critical issue(s) immediately`
630
+ );
631
+ }
632
+ const securityIssues = issues.filter((i) => i.type === "security");
633
+ if (securityIssues.length > 0) {
634
+ recommendations.push(
635
+ `Fix ${securityIssues.length} security issue(s) to improve safety`
636
+ );
637
+ }
638
+ if (metrics.commentLines / metrics.linesOfCode < 0.1) {
639
+ recommendations.push(
640
+ "Consider adding more documentation comments"
641
+ );
642
+ }
643
+ if (recommendations.length === 0) {
644
+ recommendations.push("Code quality is good! Keep up the good work.");
645
+ }
646
+ return recommendations;
647
+ }
648
+ // ==========================================================================
649
+ // Helper Methods
650
+ // ==========================================================================
651
+ createEmptyMetrics() {
652
+ return {
653
+ totalLines: 0,
654
+ linesOfCode: 0,
655
+ commentLines: 0,
656
+ blankLines: 0,
657
+ fileCount: 0,
658
+ functionCount: 0,
659
+ classCount: 0,
660
+ avgFunctionLength: 0,
661
+ maxFunctionLength: 0,
662
+ cyclomaticComplexity: 0,
663
+ cognitiveComplexity: 0,
664
+ maintainabilityIndex: 100,
665
+ technicalDebt: 0
666
+ };
667
+ }
668
+ aggregateMetrics(current, additional) {
669
+ return {
670
+ totalLines: current.totalLines + additional.totalLines,
671
+ linesOfCode: current.linesOfCode + additional.linesOfCode,
672
+ commentLines: current.commentLines + additional.commentLines,
673
+ blankLines: current.blankLines + additional.blankLines,
674
+ fileCount: current.fileCount + 1,
675
+ functionCount: current.functionCount + additional.functionCount,
676
+ classCount: current.classCount + additional.classCount,
677
+ avgFunctionLength: Math.round(
678
+ (current.avgFunctionLength * current.fileCount + additional.avgFunctionLength) / (current.fileCount + 1)
679
+ ),
680
+ maxFunctionLength: Math.max(current.maxFunctionLength, additional.maxFunctionLength),
681
+ cyclomaticComplexity: current.cyclomaticComplexity + additional.cyclomaticComplexity,
682
+ cognitiveComplexity: current.cognitiveComplexity + additional.cognitiveComplexity,
683
+ maintainabilityIndex: Math.round(
684
+ (current.maintainabilityIndex * current.fileCount + additional.maintainabilityIndex) / (current.fileCount + 1)
685
+ ),
686
+ technicalDebt: current.technicalDebt + additional.technicalDebt
687
+ };
688
+ }
689
+ extractDependencies(code) {
690
+ const dependencies = [];
691
+ const importRegex = /import\s+(?:.*?\s+from\s+)?['"]([^'"]+)['"]/g;
692
+ let match;
693
+ while ((match = importRegex.exec(code)) !== null) {
694
+ dependencies.push(match[1]);
695
+ }
696
+ const requireRegex = /require\s*\(['"]([^'"]+)['"]\)/g;
697
+ while ((match = requireRegex.exec(code)) !== null) {
698
+ dependencies.push(match[1]);
699
+ }
700
+ return [...new Set(dependencies)];
701
+ }
702
+ extractExports(code) {
703
+ const exports$1 = [];
704
+ const namedExportRegex = /export\s+(?:const|let|var|function|class)\s+(\w+)/g;
705
+ let match;
706
+ while ((match = namedExportRegex.exec(code)) !== null) {
707
+ exports$1.push(match[1]);
708
+ }
709
+ const exportDeclRegex = /export\s*\{([^}]+)\}/g;
710
+ while ((match = exportDeclRegex.exec(code)) !== null) {
711
+ const names = match[1].split(",").map((n) => n.trim().split(/\s+as\s+/)[0]);
712
+ exports$1.push(...names);
713
+ }
714
+ return [...new Set(exports$1.filter((e) => e))];
715
+ }
716
+ identifyHotspots(files) {
717
+ const hotspots = [];
718
+ for (const file of files) {
719
+ if (file.complexity > 20) {
720
+ hotspots.push({
721
+ file: file.path,
722
+ reason: `High complexity (${file.complexity})`,
723
+ severity: file.complexity > 30 ? "high" : "medium"
724
+ });
725
+ }
726
+ const criticalIssues = file.issues.filter((i) => i.severity === "critical");
727
+ if (criticalIssues.length > 0) {
728
+ hotspots.push({
729
+ file: file.path,
730
+ reason: `${criticalIssues.length} critical issue(s)`,
731
+ severity: "high"
732
+ });
733
+ }
734
+ if (file.linesOfCode > 500) {
735
+ hotspots.push({
736
+ file: file.path,
737
+ reason: `Large file (${file.linesOfCode} LOC)`,
738
+ severity: file.linesOfCode > 1e3 ? "high" : "medium"
739
+ });
740
+ }
741
+ }
742
+ return hotspots.sort((a, b) => {
743
+ const order = { high: 0, medium: 1, low: 2 };
744
+ return order[a.severity] - order[b.severity];
745
+ });
746
+ }
747
+ analyzeDependencies(files, allDependencies, allExports) {
748
+ const internal = [];
749
+ const external = [];
750
+ for (const dep of allDependencies) {
751
+ if (dep.startsWith(".") || dep.startsWith("/")) {
752
+ internal.push(dep);
753
+ } else {
754
+ external.push(dep);
755
+ }
756
+ }
757
+ return {
758
+ internal: [...new Set(internal)],
759
+ external: [...new Set(external)],
760
+ unused: [],
761
+ // Would require deeper analysis
762
+ missing: []
763
+ // Would require package.json parsing
764
+ };
765
+ }
766
+ async findFiles(dir) {
767
+ const files = [];
768
+ try {
769
+ const entries = await fs.readdir(dir, { withFileTypes: true });
770
+ for (const entry of entries) {
771
+ const fullPath = path.join(dir, entry.name);
772
+ if (entry.name === "node_modules" || entry.name === ".git" || entry.name === "dist" || entry.name === "build" || entry.name.startsWith(".")) {
773
+ continue;
774
+ }
775
+ if (entry.isDirectory()) {
776
+ const subFiles = await this.findFiles(fullPath);
777
+ files.push(...subFiles);
778
+ } else if (entry.isFile()) {
779
+ const ext = path.extname(entry.name);
780
+ if (this.codePatterns.includes(ext)) {
781
+ files.push(fullPath);
782
+ }
783
+ }
784
+ }
785
+ } catch {
786
+ }
787
+ return files;
788
+ }
789
+ }
790
+ export {
791
+ AnalystAgent
792
+ };
793
+ //# sourceMappingURL=analyst-agent.js.map