@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,1008 @@
1
+ import * as path from "path";
2
+ import { BaseAgent } from "./base-agent.js";
3
+ import { AgentType } from "./types.js";
4
+ class CoderAgent extends BaseAgent {
5
+ constructor(config) {
6
+ super({
7
+ type: AgentType.CODER,
8
+ taskTimeout: 18e4,
9
+ // 3 minutes
10
+ capabilities: ["code-generation", "refactoring", "optimization"],
11
+ ...config
12
+ });
13
+ }
14
+ // ==========================================================================
15
+ // Task Execution
16
+ // ==========================================================================
17
+ /**
18
+ * Execute coder task
19
+ */
20
+ async executeTask(task) {
21
+ const startTime = /* @__PURE__ */ new Date();
22
+ const taskType = task.input?.parameters?.taskType || "generate";
23
+ switch (taskType) {
24
+ case "generate":
25
+ return this.handleGenerateTask(task, startTime);
26
+ case "refactor":
27
+ return this.handleRefactorTask(task, startTime);
28
+ case "analyze":
29
+ return this.handleAnalyzeTask(task, startTime);
30
+ case "optimize":
31
+ return this.handleOptimizeTask(task, startTime);
32
+ default:
33
+ return this.createErrorResult(
34
+ "INVALID_TASK_TYPE",
35
+ `Unknown task type: ${taskType}`,
36
+ startTime
37
+ );
38
+ }
39
+ }
40
+ // ==========================================================================
41
+ // Public Methods
42
+ // ==========================================================================
43
+ /**
44
+ * Generate code from description
45
+ */
46
+ async generateCode(request) {
47
+ this.logger.info("Generating code", {
48
+ description: request.description.slice(0, 50),
49
+ template: request.template
50
+ });
51
+ switch (request.template) {
52
+ case "class":
53
+ return this.generateClass(request);
54
+ case "function":
55
+ return this.generateFunction(request);
56
+ case "module":
57
+ return this.generateModule(request);
58
+ case "component":
59
+ return this.generateComponent(request);
60
+ case "service":
61
+ return this.generateService(request);
62
+ default:
63
+ return this.generateModule(request);
64
+ }
65
+ }
66
+ /**
67
+ * Suggest refactoring for code
68
+ */
69
+ async suggestRefactoring(code, filePath) {
70
+ this.logger.info("Analyzing code for refactoring", { file: filePath });
71
+ const suggestions = [];
72
+ const lines = code.split("\n");
73
+ suggestions.push(...this.findLongFunctions(code, lines, filePath));
74
+ suggestions.push(...this.findDuplicateCode(code, lines, filePath));
75
+ suggestions.push(...this.findModernizationOpportunities(code, lines, filePath));
76
+ suggestions.push(...this.findComplexityIssues(code, lines, filePath));
77
+ return suggestions.sort((a, b) => b.priority - a.priority);
78
+ }
79
+ /**
80
+ * Analyze code complexity
81
+ */
82
+ async analyzeComplexity(code, filePath) {
83
+ this.logger.debug("Analyzing complexity", { file: filePath });
84
+ const lines = code.split("\n");
85
+ const nonEmptyLines = lines.filter((l) => l.trim().length > 0);
86
+ const cyclomatic = this.calculateCyclomaticComplexity(code);
87
+ const cognitive = this.calculateCognitiveComplexity(code);
88
+ const functionCount = this.countFunctions(code);
89
+ const avgFunctionLength = this.calculateAverageFunctionLength(code);
90
+ const maxNestingDepth = this.calculateMaxNestingDepth(code);
91
+ const halsteadVolume = Math.log2(nonEmptyLines.length + 1) * nonEmptyLines.length;
92
+ const maintainabilityIndex = Math.max(
93
+ 0,
94
+ Math.min(
95
+ 100,
96
+ 171 - 5.2 * Math.log(halsteadVolume) - 0.23 * cyclomatic - 16.2 * Math.log(nonEmptyLines.length)
97
+ )
98
+ );
99
+ return {
100
+ cyclomatic,
101
+ cognitive,
102
+ linesOfCode: nonEmptyLines.length,
103
+ functionCount,
104
+ avgFunctionLength: Math.round(avgFunctionLength),
105
+ maxNestingDepth,
106
+ maintainabilityIndex: Math.round(maintainabilityIndex)
107
+ };
108
+ }
109
+ // ==========================================================================
110
+ // Private Task Handlers
111
+ // ==========================================================================
112
+ async handleGenerateTask(task, startTime) {
113
+ const request = task.input?.data;
114
+ if (!request?.description) {
115
+ return this.createErrorResult(
116
+ "VALIDATION_ERROR",
117
+ "Code generation request with description is required",
118
+ startTime
119
+ );
120
+ }
121
+ try {
122
+ const generated = await this.generateCode(request);
123
+ const artifacts = [
124
+ {
125
+ type: "code",
126
+ name: path.basename(generated.path),
127
+ content: generated.code,
128
+ mimeType: "text/typescript"
129
+ }
130
+ ];
131
+ if (generated.testCode && generated.testPath) {
132
+ artifacts.push({
133
+ type: "code",
134
+ name: path.basename(generated.testPath),
135
+ content: generated.testCode,
136
+ mimeType: "text/typescript"
137
+ });
138
+ }
139
+ return this.createSuccessResult(generated, startTime, artifacts);
140
+ } catch (error) {
141
+ const message = error instanceof Error ? error.message : String(error);
142
+ return this.createErrorResult("GENERATION_ERROR", `Code generation failed: ${message}`, startTime);
143
+ }
144
+ }
145
+ async handleRefactorTask(task, startTime) {
146
+ const input = task.input?.data;
147
+ if (!input?.code) {
148
+ return this.createErrorResult(
149
+ "VALIDATION_ERROR",
150
+ "Code and file path are required for refactoring",
151
+ startTime
152
+ );
153
+ }
154
+ try {
155
+ const suggestions = await this.suggestRefactoring(input.code, input.filePath);
156
+ return this.createSuccessResult(suggestions, startTime);
157
+ } catch (error) {
158
+ const message = error instanceof Error ? error.message : String(error);
159
+ return this.createErrorResult("REFACTOR_ERROR", `Refactoring analysis failed: ${message}`, startTime);
160
+ }
161
+ }
162
+ async handleAnalyzeTask(task, startTime) {
163
+ const input = task.input?.data;
164
+ if (!input?.code) {
165
+ return this.createErrorResult(
166
+ "VALIDATION_ERROR",
167
+ "Code and file path are required for analysis",
168
+ startTime
169
+ );
170
+ }
171
+ try {
172
+ const complexity = await this.analyzeComplexity(input.code, input.filePath);
173
+ const suggestions = await this.suggestRefactoring(input.code, input.filePath);
174
+ const patterns = this.detectPatterns(input.code);
175
+ return this.createSuccessResult({
176
+ file: input.filePath,
177
+ complexity,
178
+ suggestions,
179
+ patterns
180
+ }, startTime);
181
+ } catch (error) {
182
+ const message = error instanceof Error ? error.message : String(error);
183
+ return this.createErrorResult("ANALYSIS_ERROR", `Code analysis failed: ${message}`, startTime);
184
+ }
185
+ }
186
+ async handleOptimizeTask(task, startTime) {
187
+ const input = task.input?.data;
188
+ if (!input?.code) {
189
+ return this.createErrorResult(
190
+ "VALIDATION_ERROR",
191
+ "Code and file path are required for optimization",
192
+ startTime
193
+ );
194
+ }
195
+ try {
196
+ const metrics = await this.analyzeComplexity(input.code, input.filePath);
197
+ const allSuggestions = await this.suggestRefactoring(input.code, input.filePath);
198
+ const optimizationSuggestions = allSuggestions.filter(
199
+ (s) => s.type === "simplify" || s.type === "inline" || s.complexityReduction
200
+ );
201
+ return this.createSuccessResult({ suggestions: optimizationSuggestions, metrics }, startTime);
202
+ } catch (error) {
203
+ const message = error instanceof Error ? error.message : String(error);
204
+ return this.createErrorResult("OPTIMIZATION_ERROR", `Optimization analysis failed: ${message}`, startTime);
205
+ }
206
+ }
207
+ // ==========================================================================
208
+ // Code Generation Methods
209
+ // ==========================================================================
210
+ generateClass(request) {
211
+ const className = this.toClassName(request.description);
212
+ const isTs = request.language === "typescript";
213
+ let code = "";
214
+ const imports = [];
215
+ const exports$1 = [className];
216
+ if (request.includeJsdoc) {
217
+ code += `/**
218
+ * ${request.description}
219
+ *
220
+ * @class ${className}
221
+ */
222
+ `;
223
+ }
224
+ code += `export class ${className} {
225
+ `;
226
+ if (isTs) {
227
+ code += ` private readonly logger: Console;
228
+
229
+ `;
230
+ code += ` constructor() {
231
+ `;
232
+ code += ` this.logger = console;
233
+ `;
234
+ code += ` }
235
+
236
+ `;
237
+ } else {
238
+ code += ` constructor() {
239
+ `;
240
+ code += ` this.logger = console;
241
+ `;
242
+ code += ` }
243
+
244
+ `;
245
+ }
246
+ code += ` /**
247
+ * Initialize the ${className}
248
+ */
249
+ `;
250
+ code += ` async initialize()${isTs ? ": Promise<void>" : ""} {
251
+ `;
252
+ code += ` this.logger.log('${className} initialized');
253
+ `;
254
+ code += ` }
255
+
256
+ `;
257
+ code += ` /**
258
+ * Dispose resources
259
+ */
260
+ `;
261
+ code += ` async dispose()${isTs ? ": Promise<void>" : ""} {
262
+ `;
263
+ code += ` this.logger.log('${className} disposed');
264
+ `;
265
+ code += ` }
266
+ `;
267
+ code += `}
268
+ `;
269
+ let testCode;
270
+ let testPath;
271
+ if (request.includeTests) {
272
+ testCode = this.generateClassTest(className, isTs);
273
+ testPath = request.targetPath?.replace(/\.(ts|js)$/, ".test.$1") || `${this.toFileName(className)}.test.${isTs ? "ts" : "js"}`;
274
+ }
275
+ return {
276
+ code,
277
+ path: request.targetPath || `${this.toFileName(className)}.${isTs ? "ts" : "js"}`,
278
+ testCode,
279
+ testPath,
280
+ imports,
281
+ exports: exports$1
282
+ };
283
+ }
284
+ generateFunction(request) {
285
+ const funcName = this.toFunctionName(request.description);
286
+ const isTs = request.language === "typescript";
287
+ let code = "";
288
+ const imports = [];
289
+ const exports$1 = [funcName];
290
+ if (request.includeJsdoc) {
291
+ code += `/**
292
+ * ${request.description}
293
+ *
294
+ * @param options - Configuration options
295
+ * @returns Result of the operation
296
+ */
297
+ `;
298
+ }
299
+ if (isTs) {
300
+ code += `export async function ${funcName}(
301
+ `;
302
+ code += ` options: Record<string, unknown> = {}
303
+ `;
304
+ code += `): Promise<{ success: boolean; data?: unknown; error?: string }> {
305
+ `;
306
+ } else {
307
+ code += `export async function ${funcName}(options = {}) {
308
+ `;
309
+ }
310
+ code += ` try {
311
+ `;
312
+ code += ` // TODO: Implement ${funcName}
313
+ `;
314
+ code += ` console.log('Executing ${funcName}', options);
315
+ `;
316
+ code += ` return { success: true };
317
+ `;
318
+ code += ` } catch (error) {
319
+ `;
320
+ code += ` const message = error instanceof Error ? error.message : String(error);
321
+ `;
322
+ code += ` return { success: false, error: message };
323
+ `;
324
+ code += ` }
325
+ `;
326
+ code += `}
327
+ `;
328
+ let testCode;
329
+ let testPath;
330
+ if (request.includeTests) {
331
+ testCode = this.generateFunctionTest(funcName, isTs);
332
+ testPath = request.targetPath?.replace(/\.(ts|js)$/, ".test.$1") || `${this.toFileName(funcName)}.test.${isTs ? "ts" : "js"}`;
333
+ }
334
+ return {
335
+ code,
336
+ path: request.targetPath || `${this.toFileName(funcName)}.${isTs ? "ts" : "js"}`,
337
+ testCode,
338
+ testPath,
339
+ imports,
340
+ exports: exports$1
341
+ };
342
+ }
343
+ generateModule(request) {
344
+ const moduleName = this.toModuleName(request.description);
345
+ const isTs = request.language === "typescript";
346
+ let code = "";
347
+ const imports = [];
348
+ const exports$1 = [];
349
+ code += `/**
350
+ * ${request.description}
351
+ *
352
+ * @module ${moduleName}
353
+ */
354
+
355
+ `;
356
+ if (isTs) {
357
+ code += `// ============================================================================
358
+ `;
359
+ code += `// Types
360
+ `;
361
+ code += `// ============================================================================
362
+
363
+ `;
364
+ code += `export interface ${this.toClassName(moduleName)}Options {
365
+ `;
366
+ code += ` /** Enable debug mode */
367
+ `;
368
+ code += ` debug?: boolean;
369
+ `;
370
+ code += ` /** Configuration object */
371
+ `;
372
+ code += ` config?: Record<string, unknown>;
373
+ `;
374
+ code += `}
375
+
376
+ `;
377
+ exports$1.push(`${this.toClassName(moduleName)}Options`);
378
+ }
379
+ code += `// ============================================================================
380
+ `;
381
+ code += `// Main Functions
382
+ `;
383
+ code += `// ============================================================================
384
+
385
+ `;
386
+ const mainFunc = this.toFunctionName(`create ${moduleName}`);
387
+ exports$1.push(mainFunc);
388
+ if (request.includeJsdoc) {
389
+ code += `/**
390
+ * Create and initialize ${moduleName}
391
+ */
392
+ `;
393
+ }
394
+ if (isTs) {
395
+ code += `export function ${mainFunc}(
396
+ `;
397
+ code += ` options: ${this.toClassName(moduleName)}Options = {}
398
+ `;
399
+ code += `): { initialized: boolean } {
400
+ `;
401
+ } else {
402
+ code += `export function ${mainFunc}(options = {}) {
403
+ `;
404
+ }
405
+ code += ` if (options.debug) {
406
+ `;
407
+ code += ` console.log('Creating ${moduleName}', options);
408
+ `;
409
+ code += ` }
410
+
411
+ `;
412
+ code += ` return { initialized: true };
413
+ `;
414
+ code += `}
415
+ `;
416
+ return {
417
+ code,
418
+ path: request.targetPath || `${this.toFileName(moduleName)}.${isTs ? "ts" : "js"}`,
419
+ imports,
420
+ exports: exports$1
421
+ };
422
+ }
423
+ generateComponent(request) {
424
+ const componentName = this.toClassName(request.description);
425
+ const isTs = request.language === "typescript";
426
+ let code = "";
427
+ const imports = ["React"];
428
+ const exports$1 = [componentName];
429
+ if (isTs) {
430
+ code += `export interface ${componentName}Props {
431
+ `;
432
+ code += ` /** Component children */
433
+ `;
434
+ code += ` children?: React.ReactNode;
435
+ `;
436
+ code += ` /** Additional CSS classes */
437
+ `;
438
+ code += ` className?: string;
439
+ `;
440
+ code += `}
441
+
442
+ `;
443
+ }
444
+ if (request.includeJsdoc) {
445
+ code += `/**
446
+ * ${request.description}
447
+ */
448
+ `;
449
+ }
450
+ if (isTs) {
451
+ code += `export const ${componentName}: React.FC<${componentName}Props> = ({
452
+ `;
453
+ code += ` children,
454
+ `;
455
+ code += ` className = '',
456
+ `;
457
+ code += `}) => {
458
+ `;
459
+ } else {
460
+ code += `export const ${componentName} = ({ children, className = '' }) => {
461
+ `;
462
+ }
463
+ code += ` return (
464
+ `;
465
+ code += ` <div className={\`${this.toKebabCase(componentName)} \${className}\`}>
466
+ `;
467
+ code += ` {children}
468
+ `;
469
+ code += ` </div>
470
+ `;
471
+ code += ` );
472
+ `;
473
+ code += `};
474
+ `;
475
+ return {
476
+ code: `import React from 'react';
477
+
478
+ ${code}`,
479
+ path: request.targetPath || `${componentName}.${isTs ? "tsx" : "jsx"}`,
480
+ imports,
481
+ exports: exports$1,
482
+ dependencies: ["react"]
483
+ };
484
+ }
485
+ generateService(request) {
486
+ const serviceName = this.toClassName(request.description);
487
+ const isTs = request.language === "typescript";
488
+ let code = "";
489
+ const imports = [];
490
+ const exports$1 = [serviceName];
491
+ if (request.includeJsdoc) {
492
+ code += `/**
493
+ * ${request.description}
494
+ *
495
+ * @class ${serviceName}
496
+ */
497
+ `;
498
+ }
499
+ code += `export class ${serviceName} {
500
+ `;
501
+ if (isTs) {
502
+ code += ` private initialized: boolean = false;
503
+
504
+ `;
505
+ } else {
506
+ code += ` initialized = false;
507
+
508
+ `;
509
+ }
510
+ code += ` constructor() {
511
+ `;
512
+ code += ` this.initialized = false;
513
+ `;
514
+ code += ` }
515
+
516
+ `;
517
+ code += ` /**
518
+ * Initialize the service
519
+ */
520
+ `;
521
+ code += ` async initialize()${isTs ? ": Promise<void>" : ""} {
522
+ `;
523
+ code += ` if (this.initialized) return;
524
+ `;
525
+ code += ` // TODO: Add initialization logic
526
+ `;
527
+ code += ` this.initialized = true;
528
+ `;
529
+ code += ` }
530
+
531
+ `;
532
+ const entityName = this.extractEntityName(request.description);
533
+ code += ` /**
534
+ * Create a new ${entityName}
535
+ */
536
+ `;
537
+ code += ` async create(data${isTs ? ": Record<string, unknown>" : ""})${isTs ? ": Promise<{ id: string; data: Record<string, unknown> }>" : ""} {
538
+ `;
539
+ code += ` const id = crypto.randomUUID();
540
+ `;
541
+ code += ` return { id, data };
542
+ `;
543
+ code += ` }
544
+
545
+ `;
546
+ code += ` /**
547
+ * Get ${entityName} by ID
548
+ */
549
+ `;
550
+ code += ` async getById(id${isTs ? ": string" : ""})${isTs ? ": Promise<Record<string, unknown> | null>" : ""} {
551
+ `;
552
+ code += ` // TODO: Implement get by ID
553
+ `;
554
+ code += ` return null;
555
+ `;
556
+ code += ` }
557
+
558
+ `;
559
+ code += ` /**
560
+ * Update ${entityName}
561
+ */
562
+ `;
563
+ code += ` async update(id${isTs ? ": string" : ""}, data${isTs ? ": Record<string, unknown>" : ""})${isTs ? ": Promise<boolean>" : ""} {
564
+ `;
565
+ code += ` // TODO: Implement update
566
+ `;
567
+ code += ` return true;
568
+ `;
569
+ code += ` }
570
+
571
+ `;
572
+ code += ` /**
573
+ * Delete ${entityName}
574
+ */
575
+ `;
576
+ code += ` async delete(id${isTs ? ": string" : ""})${isTs ? ": Promise<boolean>" : ""} {
577
+ `;
578
+ code += ` // TODO: Implement delete
579
+ `;
580
+ code += ` return true;
581
+ `;
582
+ code += ` }
583
+ `;
584
+ code += `}
585
+ `;
586
+ let testCode;
587
+ let testPath;
588
+ if (request.includeTests) {
589
+ testCode = this.generateServiceTest(serviceName, isTs);
590
+ testPath = request.targetPath?.replace(/\.(ts|js)$/, ".test.$1") || `${this.toFileName(serviceName)}.test.${isTs ? "ts" : "js"}`;
591
+ }
592
+ return {
593
+ code,
594
+ path: request.targetPath || `${this.toFileName(serviceName)}.${isTs ? "ts" : "js"}`,
595
+ testCode,
596
+ testPath,
597
+ imports,
598
+ exports: exports$1
599
+ };
600
+ }
601
+ // ==========================================================================
602
+ // Test Generation Methods
603
+ // ==========================================================================
604
+ generateClassTest(className, isTs) {
605
+ let code = "";
606
+ code += `import { describe, it, expect, beforeEach } from 'vitest';
607
+ `;
608
+ code += `import { ${className} } from './${this.toFileName(className)}';
609
+
610
+ `;
611
+ code += `describe('${className}', () => {
612
+ `;
613
+ code += ` let instance${isTs ? `: ${className}` : ""};
614
+
615
+ `;
616
+ code += ` beforeEach(() => {
617
+ `;
618
+ code += ` instance = new ${className}();
619
+ `;
620
+ code += ` });
621
+
622
+ `;
623
+ code += ` describe('initialize', () => {
624
+ `;
625
+ code += ` it('should initialize successfully', async () => {
626
+ `;
627
+ code += ` await expect(instance.initialize()).resolves.toBeUndefined();
628
+ `;
629
+ code += ` });
630
+ `;
631
+ code += ` });
632
+
633
+ `;
634
+ code += ` describe('dispose', () => {
635
+ `;
636
+ code += ` it('should dispose resources', async () => {
637
+ `;
638
+ code += ` await expect(instance.dispose()).resolves.toBeUndefined();
639
+ `;
640
+ code += ` });
641
+ `;
642
+ code += ` });
643
+ `;
644
+ code += `});
645
+ `;
646
+ return code;
647
+ }
648
+ generateFunctionTest(funcName, isTs) {
649
+ let code = "";
650
+ code += `import { describe, it, expect } from 'vitest';
651
+ `;
652
+ code += `import { ${funcName} } from './${this.toFileName(funcName)}';
653
+
654
+ `;
655
+ code += `describe('${funcName}', () => {
656
+ `;
657
+ code += ` it('should execute successfully with default options', async () => {
658
+ `;
659
+ code += ` const result = await ${funcName}();
660
+ `;
661
+ code += ` expect(result.success).toBe(true);
662
+ `;
663
+ code += ` });
664
+
665
+ `;
666
+ code += ` it('should handle options correctly', async () => {
667
+ `;
668
+ code += ` const result = await ${funcName}({ key: 'value' });
669
+ `;
670
+ code += ` expect(result.success).toBe(true);
671
+ `;
672
+ code += ` });
673
+ `;
674
+ code += `});
675
+ `;
676
+ return code;
677
+ }
678
+ generateServiceTest(serviceName, isTs) {
679
+ let code = "";
680
+ code += `import { describe, it, expect, beforeEach } from 'vitest';
681
+ `;
682
+ code += `import { ${serviceName} } from './${this.toFileName(serviceName)}';
683
+
684
+ `;
685
+ code += `describe('${serviceName}', () => {
686
+ `;
687
+ code += ` let service${isTs ? `: ${serviceName}` : ""};
688
+
689
+ `;
690
+ code += ` beforeEach(() => {
691
+ `;
692
+ code += ` service = new ${serviceName}();
693
+ `;
694
+ code += ` });
695
+
696
+ `;
697
+ code += ` describe('initialize', () => {
698
+ `;
699
+ code += ` it('should initialize the service', async () => {
700
+ `;
701
+ code += ` await service.initialize();
702
+ `;
703
+ code += ` expect(service['initialized']).toBe(true);
704
+ `;
705
+ code += ` });
706
+
707
+ `;
708
+ code += ` it('should be idempotent', async () => {
709
+ `;
710
+ code += ` await service.initialize();
711
+ `;
712
+ code += ` await service.initialize();
713
+ `;
714
+ code += ` expect(service['initialized']).toBe(true);
715
+ `;
716
+ code += ` });
717
+ `;
718
+ code += ` });
719
+
720
+ `;
721
+ code += ` describe('CRUD operations', () => {
722
+ `;
723
+ code += ` it('should create an entity', async () => {
724
+ `;
725
+ code += ` const result = await service.create({ name: 'test' });
726
+ `;
727
+ code += ` expect(result.id).toBeDefined();
728
+ `;
729
+ code += ` expect(result.data).toEqual({ name: 'test' });
730
+ `;
731
+ code += ` });
732
+
733
+ `;
734
+ code += ` it('should return null for non-existent entity', async () => {
735
+ `;
736
+ code += ` const result = await service.getById('non-existent');
737
+ `;
738
+ code += ` expect(result).toBeNull();
739
+ `;
740
+ code += ` });
741
+ `;
742
+ code += ` });
743
+ `;
744
+ code += `});
745
+ `;
746
+ return code;
747
+ }
748
+ // ==========================================================================
749
+ // Refactoring Detection Methods
750
+ // ==========================================================================
751
+ findLongFunctions(code, lines, filePath) {
752
+ const suggestions = [];
753
+ const functionRegex = /(?:function\s+(\w+)|(\w+)\s*[=:]\s*(?:async\s+)?(?:\([^)]*\)|[\w]+)\s*=>)/g;
754
+ let match;
755
+ while ((match = functionRegex.exec(code)) !== null) {
756
+ const funcName = match[1] || match[2];
757
+ const startLine = code.slice(0, match.index).split("\n").length;
758
+ let braceCount = 0;
759
+ let endLine = startLine;
760
+ let inFunction = false;
761
+ for (let i = startLine - 1; i < lines.length; i++) {
762
+ const line = lines[i];
763
+ for (const char of line) {
764
+ if (char === "{") {
765
+ braceCount++;
766
+ inFunction = true;
767
+ } else if (char === "}") {
768
+ braceCount--;
769
+ if (inFunction && braceCount === 0) {
770
+ endLine = i + 1;
771
+ break;
772
+ }
773
+ }
774
+ }
775
+ if (inFunction && braceCount === 0) break;
776
+ }
777
+ const functionLength = endLine - startLine + 1;
778
+ if (functionLength > 30) {
779
+ suggestions.push({
780
+ type: "extract-function",
781
+ file: filePath,
782
+ lineRange: { start: startLine, end: endLine },
783
+ currentCode: lines.slice(startLine - 1, endLine).join("\n"),
784
+ suggestedCode: `// Consider extracting parts of ${funcName} into smaller functions`,
785
+ explanation: `Function '${funcName}' is ${functionLength} lines long. Consider breaking it into smaller, focused functions.`,
786
+ priority: functionLength > 50 ? 8 : 5,
787
+ complexityReduction: Math.min(30, functionLength - 20)
788
+ });
789
+ }
790
+ }
791
+ return suggestions;
792
+ }
793
+ findDuplicateCode(code, lines, filePath) {
794
+ const suggestions = [];
795
+ const codeBlocks = /* @__PURE__ */ new Map();
796
+ for (let i = 0; i < lines.length - 2; i++) {
797
+ const block = lines.slice(i, i + 3).join("\n").trim();
798
+ if (block.length > 30) {
799
+ const normalized = block.replace(/\s+/g, " ");
800
+ if (!codeBlocks.has(normalized)) {
801
+ codeBlocks.set(normalized, []);
802
+ }
803
+ codeBlocks.get(normalized).push(i + 1);
804
+ }
805
+ }
806
+ for (const [_, lineNumbers] of codeBlocks) {
807
+ if (lineNumbers.length > 1) {
808
+ suggestions.push({
809
+ type: "remove-duplication",
810
+ file: filePath,
811
+ lineRange: { start: lineNumbers[0], end: lineNumbers[0] + 2 },
812
+ currentCode: lines.slice(lineNumbers[0] - 1, lineNumbers[0] + 2).join("\n"),
813
+ suggestedCode: "// Extract duplicated code into a reusable function",
814
+ explanation: `Similar code found at lines ${lineNumbers.join(", ")}. Consider extracting into a shared function.`,
815
+ priority: 6
816
+ });
817
+ break;
818
+ }
819
+ }
820
+ return suggestions;
821
+ }
822
+ findModernizationOpportunities(code, lines, filePath) {
823
+ const suggestions = [];
824
+ const varMatches = code.matchAll(/\bvar\s+(\w+)/g);
825
+ for (const match of varMatches) {
826
+ const lineNum = code.slice(0, match.index).split("\n").length;
827
+ suggestions.push({
828
+ type: "modernize",
829
+ file: filePath,
830
+ lineRange: { start: lineNum, end: lineNum },
831
+ currentCode: lines[lineNum - 1],
832
+ suggestedCode: lines[lineNum - 1].replace(/\bvar\b/, "const"),
833
+ explanation: `Replace 'var' with 'const' or 'let' for better scoping.`,
834
+ priority: 3
835
+ });
836
+ }
837
+ if (code.includes(".then(") && !code.includes("async")) {
838
+ const thenMatch = code.match(/\.then\s*\(/);
839
+ if (thenMatch) {
840
+ const lineNum = code.slice(0, thenMatch.index).split("\n").length;
841
+ suggestions.push({
842
+ type: "modernize",
843
+ file: filePath,
844
+ lineRange: { start: lineNum, end: lineNum },
845
+ currentCode: lines[lineNum - 1],
846
+ suggestedCode: "// Consider using async/await instead of .then()",
847
+ explanation: "Consider converting Promise chains to async/await for better readability.",
848
+ priority: 4
849
+ });
850
+ }
851
+ }
852
+ return suggestions;
853
+ }
854
+ findComplexityIssues(code, lines, filePath) {
855
+ const suggestions = [];
856
+ let maxNesting = 0;
857
+ let maxNestingLine = 0;
858
+ let currentNesting = 0;
859
+ for (let i = 0; i < lines.length; i++) {
860
+ const line = lines[i];
861
+ currentNesting += (line.match(/{/g) || []).length;
862
+ currentNesting -= (line.match(/}/g) || []).length;
863
+ if (currentNesting > maxNesting) {
864
+ maxNesting = currentNesting;
865
+ maxNestingLine = i + 1;
866
+ }
867
+ }
868
+ if (maxNesting > 4) {
869
+ suggestions.push({
870
+ type: "simplify",
871
+ file: filePath,
872
+ lineRange: { start: maxNestingLine, end: maxNestingLine },
873
+ currentCode: lines[maxNestingLine - 1],
874
+ suggestedCode: "// Consider early returns or extracting nested logic",
875
+ explanation: `Deep nesting (${maxNesting} levels) detected. Consider using early returns or extracting nested logic.`,
876
+ priority: 7,
877
+ complexityReduction: maxNesting - 3
878
+ });
879
+ }
880
+ return suggestions;
881
+ }
882
+ // ==========================================================================
883
+ // Complexity Calculation Methods
884
+ // ==========================================================================
885
+ calculateCyclomaticComplexity(code) {
886
+ let complexity = 1;
887
+ const patterns = [
888
+ /\bif\s*\(/g,
889
+ /\belse\s+if\s*\(/g,
890
+ /\bfor\s*\(/g,
891
+ /\bwhile\s*\(/g,
892
+ /\bcase\s+/g,
893
+ /\bcatch\s*\(/g,
894
+ /\?\s*[^:]+\s*:/g,
895
+ /&&/g,
896
+ /\|\|/g
897
+ ];
898
+ for (const pattern of patterns) {
899
+ const matches = code.match(pattern);
900
+ if (matches) {
901
+ complexity += matches.length;
902
+ }
903
+ }
904
+ return complexity;
905
+ }
906
+ calculateCognitiveComplexity(code) {
907
+ let complexity = 0;
908
+ let nestingLevel = 0;
909
+ const lines = code.split("\n");
910
+ for (const line of lines) {
911
+ if (/\b(if|for|while|switch)\s*\(/.test(line)) {
912
+ complexity += 1 + nestingLevel;
913
+ nestingLevel++;
914
+ }
915
+ if (/\belse\b/.test(line)) {
916
+ complexity += 1;
917
+ }
918
+ const closingBraces = (line.match(/}/g) || []).length;
919
+ nestingLevel = Math.max(0, nestingLevel - closingBraces);
920
+ const logicalOps = (line.match(/&&|\|\|/g) || []).length;
921
+ complexity += logicalOps;
922
+ }
923
+ return complexity;
924
+ }
925
+ countFunctions(code) {
926
+ const functionPatterns = [
927
+ /function\s+\w+/g,
928
+ /\w+\s*[=:]\s*(?:async\s+)?function/g,
929
+ /\w+\s*[=:]\s*(?:async\s+)?\([^)]*\)\s*=>/g
930
+ ];
931
+ let count = 0;
932
+ for (const pattern of functionPatterns) {
933
+ const matches = code.match(pattern);
934
+ if (matches) {
935
+ count += matches.length;
936
+ }
937
+ }
938
+ return count;
939
+ }
940
+ calculateAverageFunctionLength(code) {
941
+ const functionCount = this.countFunctions(code);
942
+ if (functionCount === 0) return 0;
943
+ const lines = code.split("\n").filter((l) => l.trim().length > 0);
944
+ return lines.length / functionCount;
945
+ }
946
+ calculateMaxNestingDepth(code) {
947
+ let maxDepth = 0;
948
+ let currentDepth = 0;
949
+ for (const char of code) {
950
+ if (char === "{") {
951
+ currentDepth++;
952
+ maxDepth = Math.max(maxDepth, currentDepth);
953
+ } else if (char === "}") {
954
+ currentDepth = Math.max(0, currentDepth - 1);
955
+ }
956
+ }
957
+ return maxDepth;
958
+ }
959
+ // ==========================================================================
960
+ // Pattern Detection
961
+ // ==========================================================================
962
+ detectPatterns(code) {
963
+ const patterns = [];
964
+ const patternChecks = [
965
+ { name: "Singleton", regex: /getInstance\s*\(|private\s+static\s+instance/ },
966
+ { name: "Factory", regex: /create[A-Z]\w+\s*\(|factory/i },
967
+ { name: "Observer", regex: /subscribe\s*\(|addEventListener|emit\s*\(/ },
968
+ { name: "Async/Await", regex: /async\s+\w+[\s\S]*?await\s+/ },
969
+ { name: "Error Handling", regex: /try\s*\{[\s\S]*?catch/ }
970
+ ];
971
+ for (const check of patternChecks) {
972
+ if (check.regex.test(code)) {
973
+ patterns.push(check.name);
974
+ }
975
+ }
976
+ return patterns;
977
+ }
978
+ // ==========================================================================
979
+ // Utility Methods
980
+ // ==========================================================================
981
+ toClassName(description) {
982
+ return description.replace(/[^a-zA-Z0-9\s]/g, "").split(/\s+/).map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join("");
983
+ }
984
+ toFunctionName(description) {
985
+ const words = description.replace(/[^a-zA-Z0-9\s]/g, "").split(/\s+/).filter((w) => w.length > 0);
986
+ if (words.length === 0) return "doSomething";
987
+ return words[0].toLowerCase() + words.slice(1).map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase()).join("");
988
+ }
989
+ toModuleName(description) {
990
+ return description.replace(/[^a-zA-Z0-9\s]/g, "").split(/\s+/).join("-").toLowerCase();
991
+ }
992
+ toFileName(name) {
993
+ return name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
994
+ }
995
+ toKebabCase(str) {
996
+ return str.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
997
+ }
998
+ extractEntityName(description) {
999
+ const match = description.match(/(\w+)\s*service/i);
1000
+ if (match) return match[1].toLowerCase();
1001
+ const words = description.split(/\s+/);
1002
+ return words[0]?.toLowerCase() || "entity";
1003
+ }
1004
+ }
1005
+ export {
1006
+ CoderAgent
1007
+ };
1008
+ //# sourceMappingURL=coder-agent.js.map