@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,12 @@
1
+ /**
2
+ * Workflow Command
3
+ *
4
+ * Manage knowledge graph workflows for automated processing,
5
+ * analysis, and synchronization tasks.
6
+ */
7
+ import { Command } from 'commander';
8
+ /**
9
+ * Create workflow command with subcommands
10
+ */
11
+ export declare function createWorkflowCommand(): Command;
12
+ //# sourceMappingURL=workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/workflow.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgDpC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CA+Z/C"}
@@ -0,0 +1,471 @@
1
+ import { Command } from "commander";
2
+ import chalk from "chalk";
3
+ import ora from "ora";
4
+ import { randomUUID } from "crypto";
5
+ const workflows = /* @__PURE__ */ new Map();
6
+ const VALID_WORKFLOW_TYPES = [
7
+ "analysis",
8
+ "sync",
9
+ "generation",
10
+ "validation",
11
+ "migration"
12
+ ];
13
+ function createWorkflowCommand() {
14
+ const workflow = new Command("workflow").alias("wf").description("Manage knowledge graph workflows");
15
+ workflow.command("start <type>").description("Start a new workflow").addHelpText("after", `
16
+ Workflow Types:
17
+ analysis - Analyze codebase and extract knowledge
18
+ sync - Synchronize with external systems
19
+ generation - Generate knowledge graph artifacts
20
+ validation - Validate graph integrity and structure
21
+ migration - Migrate data between formats
22
+
23
+ Examples:
24
+ $ kg workflow start analysis
25
+ $ kg workflow start sync --input '{"namespace": "myproject"}'
26
+ $ kg workflow start generation --async
27
+ `).option("-i, --input <json>", "Input data as JSON").option("-a, --async", "Run workflow asynchronously").option("--dry-run", "Preview workflow without executing").action(async (type, options) => {
28
+ const spinner = ora("Starting workflow...").start();
29
+ try {
30
+ if (!VALID_WORKFLOW_TYPES.includes(type)) {
31
+ spinner.fail(`Invalid workflow type: ${type}`);
32
+ console.log(
33
+ chalk.gray("\n Valid types: ") + chalk.cyan(VALID_WORKFLOW_TYPES.join(", "))
34
+ );
35
+ process.exit(1);
36
+ }
37
+ let input;
38
+ if (options.input) {
39
+ try {
40
+ input = JSON.parse(options.input);
41
+ } catch {
42
+ spinner.fail("Invalid JSON input");
43
+ console.log(chalk.gray(` Example: --input '{"key": "value"}'`));
44
+ process.exit(1);
45
+ }
46
+ }
47
+ if (options.dryRun) {
48
+ spinner.info("Dry run mode - workflow will not execute");
49
+ console.log();
50
+ console.log(chalk.white(" Workflow Configuration:"));
51
+ console.log(chalk.gray(` Type: ${type}`));
52
+ console.log(chalk.gray(` Input: ${input ? JSON.stringify(input, null, 2) : "none"}`));
53
+ console.log(chalk.gray(` Async: ${options.async ? "yes" : "no"}`));
54
+ return;
55
+ }
56
+ const workflowId = randomUUID().slice(0, 8);
57
+ const now = (/* @__PURE__ */ new Date()).toISOString();
58
+ const workflowEntry = {
59
+ id: workflowId,
60
+ type,
61
+ status: "running",
62
+ startedAt: now,
63
+ updatedAt: now,
64
+ progress: 0,
65
+ input
66
+ };
67
+ workflows.set(workflowId, workflowEntry);
68
+ spinner.text = `Running ${type} workflow...`;
69
+ if (options.async) {
70
+ spinner.succeed(`Workflow started: ${chalk.cyan(workflowId)}`);
71
+ console.log(
72
+ chalk.gray(`
73
+ Check status: `) + chalk.cyan(`kg workflow status ${workflowId}`)
74
+ );
75
+ simulateWorkflow(workflowId);
76
+ } else {
77
+ await simulateWorkflowSync(workflowId, spinner);
78
+ const completedWorkflow = workflows.get(workflowId);
79
+ if (completedWorkflow?.status === "completed") {
80
+ spinner.succeed(`Workflow completed: ${chalk.cyan(workflowId)}`);
81
+ printWorkflowResult(completedWorkflow);
82
+ } else if (completedWorkflow?.status === "failed") {
83
+ spinner.fail(`Workflow failed: ${chalk.cyan(workflowId)}`);
84
+ if (completedWorkflow.error) {
85
+ console.log(chalk.red(`
86
+ Error: ${completedWorkflow.error}`));
87
+ }
88
+ process.exit(1);
89
+ }
90
+ }
91
+ } catch (error) {
92
+ spinner.fail("Failed to start workflow");
93
+ console.error(chalk.red(` ${String(error)}`));
94
+ process.exit(1);
95
+ }
96
+ });
97
+ workflow.command("status [id]").description("Check workflow status").option("--json", "Output as JSON").option("-w, --watch", "Watch for status changes").action(async (id, options) => {
98
+ try {
99
+ if (id) {
100
+ const wf = workflows.get(id);
101
+ if (!wf) {
102
+ console.log(chalk.yellow(`
103
+ Workflow not found: ${id}`));
104
+ console.log(chalk.gray(" Run ") + chalk.cyan("kg workflow list") + chalk.gray(" to see active workflows"));
105
+ process.exit(1);
106
+ }
107
+ if (options.json) {
108
+ console.log(JSON.stringify(wf, null, 2));
109
+ return;
110
+ }
111
+ printWorkflowDetails(wf);
112
+ if (options.watch && wf.status === "running") {
113
+ await watchWorkflow(id);
114
+ }
115
+ } else {
116
+ const activeWorkflows = Array.from(workflows.values()).filter(
117
+ (w) => w.status === "running" || w.status === "pending"
118
+ );
119
+ if (activeWorkflows.length === 0) {
120
+ console.log(chalk.gray("\n No active workflows"));
121
+ console.log(chalk.gray(" Run ") + chalk.cyan("kg workflow start <type>") + chalk.gray(" to start one"));
122
+ return;
123
+ }
124
+ if (options.json) {
125
+ console.log(JSON.stringify(activeWorkflows, null, 2));
126
+ return;
127
+ }
128
+ console.log(chalk.cyan.bold("\n Active Workflows\n"));
129
+ activeWorkflows.forEach((wf) => {
130
+ printWorkflowSummary(wf);
131
+ });
132
+ }
133
+ } catch (error) {
134
+ console.error(chalk.red("Failed to get workflow status:"), String(error));
135
+ process.exit(1);
136
+ }
137
+ });
138
+ workflow.command("list").description("List all workflows").option("-s, --status <status>", "Filter by status (running, completed, failed, stopped)").option("-t, --type <type>", "Filter by workflow type").option("-n, --limit <number>", "Limit number of results", "10").option("--json", "Output as JSON").action((options) => {
139
+ try {
140
+ let workflowList = Array.from(workflows.values());
141
+ if (options.status) {
142
+ workflowList = workflowList.filter((w) => w.status === options.status);
143
+ }
144
+ if (options.type) {
145
+ workflowList = workflowList.filter((w) => w.type === options.type);
146
+ }
147
+ workflowList.sort(
148
+ (a, b) => new Date(b.startedAt).getTime() - new Date(a.startedAt).getTime()
149
+ );
150
+ const limit = parseInt(options.limit, 10);
151
+ workflowList = workflowList.slice(0, limit);
152
+ if (workflowList.length === 0) {
153
+ console.log(chalk.gray("\n No workflows found"));
154
+ if (options.status || options.type) {
155
+ console.log(chalk.gray(" Try removing filters"));
156
+ }
157
+ return;
158
+ }
159
+ if (options.json) {
160
+ console.log(JSON.stringify(workflowList, null, 2));
161
+ return;
162
+ }
163
+ console.log(chalk.cyan.bold("\n Workflows\n"));
164
+ console.log(
165
+ chalk.gray(
166
+ ` ${"ID".padEnd(10)} ${"Type".padEnd(12)} ${"Status".padEnd(12)} ${"Progress".padEnd(10)} Started`
167
+ )
168
+ );
169
+ console.log(chalk.gray(" " + "-".repeat(70)));
170
+ workflowList.forEach((wf) => {
171
+ const statusColor = getStatusColor(wf.status);
172
+ const progress = `${wf.progress}%`;
173
+ const started = formatRelativeTime(wf.startedAt);
174
+ console.log(
175
+ ` ${chalk.cyan(wf.id.padEnd(10))} ${wf.type.padEnd(12)} ${statusColor(
176
+ wf.status.padEnd(12)
177
+ )} ${progress.padEnd(10)} ${chalk.gray(started)}`
178
+ );
179
+ });
180
+ console.log();
181
+ console.log(
182
+ chalk.gray(` Showing ${workflowList.length} workflow(s)`)
183
+ );
184
+ console.log();
185
+ } catch (error) {
186
+ console.error(chalk.red("Failed to list workflows:"), String(error));
187
+ process.exit(1);
188
+ }
189
+ });
190
+ workflow.command("stop <id>").description("Stop a running workflow").option("-f, --force", "Force stop without confirmation").action(async (id, options) => {
191
+ const spinner = ora(`Stopping workflow ${id}...`).start();
192
+ try {
193
+ const wf = workflows.get(id);
194
+ if (!wf) {
195
+ spinner.fail(`Workflow not found: ${id}`);
196
+ process.exit(1);
197
+ }
198
+ if (wf.status !== "running" && wf.status !== "pending") {
199
+ spinner.warn(`Workflow is not running (status: ${wf.status})`);
200
+ return;
201
+ }
202
+ wf.status = "stopped";
203
+ wf.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
204
+ wf.message = "Stopped by user";
205
+ spinner.succeed(`Workflow stopped: ${chalk.cyan(id)}`);
206
+ console.log();
207
+ console.log(chalk.white(" Final Status:"));
208
+ console.log(chalk.gray(` Progress: ${wf.progress}%`));
209
+ console.log(chalk.gray(` Stopped at: ${wf.updatedAt}`));
210
+ console.log();
211
+ } catch (error) {
212
+ spinner.fail("Failed to stop workflow");
213
+ console.error(chalk.red(` ${String(error)}`));
214
+ process.exit(1);
215
+ }
216
+ });
217
+ workflow.command("history").description("Show workflow history").option("-n, --limit <number>", "Limit number of results", "20").option("-t, --type <type>", "Filter by workflow type").option("--since <date>", "Show workflows since date (ISO format)").option("--json", "Output as JSON").action((options) => {
218
+ try {
219
+ let historyList = Array.from(workflows.values()).filter(
220
+ (w) => w.status === "completed" || w.status === "failed" || w.status === "stopped"
221
+ );
222
+ if (options.type) {
223
+ historyList = historyList.filter((w) => w.type === options.type);
224
+ }
225
+ if (options.since) {
226
+ const sinceDate = new Date(options.since);
227
+ if (isNaN(sinceDate.getTime())) {
228
+ console.error(chalk.red("Invalid date format. Use ISO format (e.g., 2024-01-01)"));
229
+ process.exit(1);
230
+ }
231
+ historyList = historyList.filter(
232
+ (w) => new Date(w.startedAt) >= sinceDate
233
+ );
234
+ }
235
+ historyList.sort((a, b) => {
236
+ const timeA = new Date(a.completedAt || a.updatedAt).getTime();
237
+ const timeB = new Date(b.completedAt || b.updatedAt).getTime();
238
+ return timeB - timeA;
239
+ });
240
+ const limit = parseInt(options.limit, 10);
241
+ historyList = historyList.slice(0, limit);
242
+ if (historyList.length === 0) {
243
+ console.log(chalk.gray("\n No workflow history found"));
244
+ return;
245
+ }
246
+ if (options.json) {
247
+ console.log(JSON.stringify(historyList, null, 2));
248
+ return;
249
+ }
250
+ console.log(chalk.cyan.bold("\n Workflow History\n"));
251
+ console.log(
252
+ chalk.gray(
253
+ ` ${"ID".padEnd(10)} ${"Type".padEnd(12)} ${"Status".padEnd(12)} ${"Duration".padEnd(12)} Completed`
254
+ )
255
+ );
256
+ console.log(chalk.gray(" " + "-".repeat(75)));
257
+ historyList.forEach((wf) => {
258
+ const statusColor = getStatusColor(wf.status);
259
+ const duration = calculateDuration(wf.startedAt, wf.completedAt || wf.updatedAt);
260
+ const completed = formatRelativeTime(wf.completedAt || wf.updatedAt);
261
+ console.log(
262
+ ` ${chalk.cyan(wf.id.padEnd(10))} ${wf.type.padEnd(12)} ${statusColor(
263
+ wf.status.padEnd(12)
264
+ )} ${duration.padEnd(12)} ${chalk.gray(completed)}`
265
+ );
266
+ if (wf.error) {
267
+ console.log(chalk.red(` Error: ${wf.error}`));
268
+ }
269
+ });
270
+ console.log();
271
+ console.log(
272
+ chalk.gray(` Showing ${historyList.length} workflow(s)`)
273
+ );
274
+ console.log();
275
+ } catch (error) {
276
+ console.error(chalk.red("Failed to get workflow history:"), String(error));
277
+ process.exit(1);
278
+ }
279
+ });
280
+ workflow.command("resume <id>").description("Resume a stopped workflow").action(async (id) => {
281
+ const spinner = ora(`Resuming workflow ${id}...`).start();
282
+ try {
283
+ const wf = workflows.get(id);
284
+ if (!wf) {
285
+ spinner.fail(`Workflow not found: ${id}`);
286
+ process.exit(1);
287
+ }
288
+ if (wf.status !== "stopped") {
289
+ spinner.warn(`Cannot resume workflow (status: ${wf.status})`);
290
+ console.log(chalk.gray("\n Only stopped workflows can be resumed"));
291
+ return;
292
+ }
293
+ wf.status = "running";
294
+ wf.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
295
+ wf.message = "Resumed by user";
296
+ spinner.succeed(`Workflow resumed: ${chalk.cyan(id)}`);
297
+ simulateWorkflow(id);
298
+ console.log(
299
+ chalk.gray(`
300
+ Check status: `) + chalk.cyan(`kg workflow status ${id}`)
301
+ );
302
+ } catch (error) {
303
+ spinner.fail("Failed to resume workflow");
304
+ console.error(chalk.red(` ${String(error)}`));
305
+ process.exit(1);
306
+ }
307
+ });
308
+ return workflow;
309
+ }
310
+ function simulateWorkflow(id) {
311
+ const wf = workflows.get(id);
312
+ if (!wf) return;
313
+ const interval = setInterval(() => {
314
+ const workflow = workflows.get(id);
315
+ if (!workflow || workflow.status !== "running") {
316
+ clearInterval(interval);
317
+ return;
318
+ }
319
+ workflow.progress = Math.min(workflow.progress + 10, 100);
320
+ workflow.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
321
+ if (workflow.progress >= 100) {
322
+ workflow.status = "completed";
323
+ workflow.completedAt = (/* @__PURE__ */ new Date()).toISOString();
324
+ workflow.output = {
325
+ processed: true,
326
+ itemsProcessed: Math.floor(Math.random() * 100) + 10
327
+ };
328
+ clearInterval(interval);
329
+ }
330
+ }, 1e3);
331
+ }
332
+ async function simulateWorkflowSync(id, spinner) {
333
+ const wf = workflows.get(id);
334
+ if (!wf) return;
335
+ for (let i = 0; i <= 100; i += 10) {
336
+ await sleep(300);
337
+ wf.progress = i;
338
+ wf.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
339
+ spinner.text = `Running ${wf.type} workflow... ${i}%`;
340
+ }
341
+ wf.status = "completed";
342
+ wf.completedAt = (/* @__PURE__ */ new Date()).toISOString();
343
+ wf.output = {
344
+ processed: true,
345
+ itemsProcessed: Math.floor(Math.random() * 100) + 10
346
+ };
347
+ }
348
+ async function watchWorkflow(id) {
349
+ console.log(chalk.gray("\n Watching for changes (Ctrl+C to stop)...\n"));
350
+ while (true) {
351
+ const wf = workflows.get(id);
352
+ if (!wf || wf.status !== "running") {
353
+ if (wf) {
354
+ printWorkflowDetails(wf);
355
+ }
356
+ break;
357
+ }
358
+ process.stdout.write(
359
+ `\r Progress: ${chalk.cyan(wf.progress + "%")} | Status: ${chalk.yellow(wf.status)}`
360
+ );
361
+ await sleep(500);
362
+ }
363
+ }
364
+ function printWorkflowResult(wf) {
365
+ console.log();
366
+ console.log(chalk.white(" Result:"));
367
+ console.log(chalk.gray(` Duration: ${calculateDuration(wf.startedAt, wf.completedAt || wf.updatedAt)}`));
368
+ if (wf.output) {
369
+ console.log(chalk.gray(` Output: ${JSON.stringify(wf.output)}`));
370
+ }
371
+ console.log();
372
+ }
373
+ function printWorkflowDetails(wf) {
374
+ const statusColor = getStatusColor(wf.status);
375
+ console.log(chalk.cyan.bold(`
376
+ Workflow: ${wf.id}
377
+ `));
378
+ console.log(chalk.white(" Details:"));
379
+ console.log(chalk.gray(` Type: ${wf.type}`));
380
+ console.log(chalk.gray(` Status: `) + statusColor(wf.status));
381
+ console.log(chalk.gray(` Progress: ${wf.progress}%`));
382
+ console.log();
383
+ console.log(chalk.white(" Timeline:"));
384
+ console.log(chalk.gray(` Started: ${wf.startedAt}`));
385
+ console.log(chalk.gray(` Updated: ${wf.updatedAt}`));
386
+ if (wf.completedAt) {
387
+ console.log(chalk.gray(` Completed: ${wf.completedAt}`));
388
+ console.log(chalk.gray(` Duration: ${calculateDuration(wf.startedAt, wf.completedAt)}`));
389
+ }
390
+ if (wf.message) {
391
+ console.log();
392
+ console.log(chalk.white(" Message:"));
393
+ console.log(chalk.gray(` ${wf.message}`));
394
+ }
395
+ if (wf.input) {
396
+ console.log();
397
+ console.log(chalk.white(" Input:"));
398
+ console.log(chalk.gray(` ${JSON.stringify(wf.input, null, 2).replace(/\n/g, "\n ")}`));
399
+ }
400
+ if (wf.output) {
401
+ console.log();
402
+ console.log(chalk.white(" Output:"));
403
+ console.log(chalk.gray(` ${JSON.stringify(wf.output, null, 2).replace(/\n/g, "\n ")}`));
404
+ }
405
+ if (wf.error) {
406
+ console.log();
407
+ console.log(chalk.red(" Error:"));
408
+ console.log(chalk.red(` ${wf.error}`));
409
+ }
410
+ console.log();
411
+ }
412
+ function printWorkflowSummary(wf) {
413
+ const statusColor = getStatusColor(wf.status);
414
+ const progressBar = createProgressBar(wf.progress, 20);
415
+ console.log(
416
+ ` ${chalk.cyan(wf.id)} [${wf.type}] ${statusColor(wf.status)} ${progressBar} ${wf.progress}%`
417
+ );
418
+ }
419
+ function getStatusColor(status) {
420
+ switch (status) {
421
+ case "completed":
422
+ return chalk.green;
423
+ case "running":
424
+ return chalk.blue;
425
+ case "pending":
426
+ return chalk.yellow;
427
+ case "failed":
428
+ return chalk.red;
429
+ case "stopped":
430
+ return chalk.gray;
431
+ default:
432
+ return chalk.white;
433
+ }
434
+ }
435
+ function createProgressBar(progress, width) {
436
+ const filled = Math.floor(progress / 100 * width);
437
+ const empty = width - filled;
438
+ return chalk.green("█".repeat(filled)) + chalk.gray("░".repeat(empty));
439
+ }
440
+ function formatRelativeTime(isoString) {
441
+ const date = new Date(isoString);
442
+ const now = /* @__PURE__ */ new Date();
443
+ const diffMs = now.getTime() - date.getTime();
444
+ const diffSeconds = Math.floor(diffMs / 1e3);
445
+ const diffMinutes = Math.floor(diffSeconds / 60);
446
+ const diffHours = Math.floor(diffMinutes / 60);
447
+ const diffDays = Math.floor(diffHours / 24);
448
+ if (diffSeconds < 60) return "just now";
449
+ if (diffMinutes < 60) return `${diffMinutes}m ago`;
450
+ if (diffHours < 24) return `${diffHours}h ago`;
451
+ if (diffDays < 7) return `${diffDays}d ago`;
452
+ return date.toLocaleDateString();
453
+ }
454
+ function calculateDuration(start, end) {
455
+ const startTime = new Date(start).getTime();
456
+ const endTime = new Date(end).getTime();
457
+ const diffMs = endTime - startTime;
458
+ if (diffMs < 1e3) return `${diffMs}ms`;
459
+ if (diffMs < 6e4) return `${(diffMs / 1e3).toFixed(1)}s`;
460
+ if (diffMs < 36e5) return `${Math.floor(diffMs / 6e4)}m ${Math.floor(diffMs % 6e4 / 1e3)}s`;
461
+ const hours = Math.floor(diffMs / 36e5);
462
+ const minutes = Math.floor(diffMs % 36e5 / 6e4);
463
+ return `${hours}h ${minutes}m`;
464
+ }
465
+ function sleep(ms) {
466
+ return new Promise((resolve) => setTimeout(resolve, ms));
467
+ }
468
+ export {
469
+ createWorkflowCommand
470
+ };
471
+ //# sourceMappingURL=workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow.js","sources":["../../../src/cli/commands/workflow.ts"],"sourcesContent":["/**\n * Workflow Command\n *\n * Manage knowledge graph workflows for automated processing,\n * analysis, and synchronization tasks.\n */\n\nimport { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { randomUUID } from 'crypto';\n\n/**\n * Workflow types supported by the system\n */\ntype WorkflowType = 'analysis' | 'sync' | 'generation' | 'validation' | 'migration';\n\n/**\n * Workflow status\n */\ntype WorkflowStatus = 'pending' | 'running' | 'completed' | 'failed' | 'stopped';\n\n/**\n * Workflow entry structure\n */\ninterface Workflow {\n id: string;\n type: WorkflowType;\n status: WorkflowStatus;\n startedAt: string;\n updatedAt: string;\n completedAt?: string;\n progress: number;\n message?: string;\n input?: Record<string, unknown>;\n output?: Record<string, unknown>;\n error?: string;\n}\n\n/**\n * In-memory workflow storage (would be replaced with persistent storage)\n */\nconst workflows: Map<string, Workflow> = new Map();\n\n/**\n * Valid workflow types\n */\nconst VALID_WORKFLOW_TYPES: WorkflowType[] = [\n 'analysis',\n 'sync',\n 'generation',\n 'validation',\n 'migration',\n];\n\n/**\n * Create workflow command with subcommands\n */\nexport function createWorkflowCommand(): Command {\n const workflow = new Command('workflow')\n .alias('wf')\n .description('Manage knowledge graph workflows');\n\n // Start workflow\n workflow\n .command('start <type>')\n .description('Start a new workflow')\n .addHelpText('after', `\nWorkflow Types:\n analysis - Analyze codebase and extract knowledge\n sync - Synchronize with external systems\n generation - Generate knowledge graph artifacts\n validation - Validate graph integrity and structure\n migration - Migrate data between formats\n\nExamples:\n $ kg workflow start analysis\n $ kg workflow start sync --input '{\"namespace\": \"myproject\"}'\n $ kg workflow start generation --async\n `)\n .option('-i, --input <json>', 'Input data as JSON')\n .option('-a, --async', 'Run workflow asynchronously')\n .option('--dry-run', 'Preview workflow without executing')\n .action(async (type: string, options) => {\n const spinner = ora('Starting workflow...').start();\n\n try {\n // Validate workflow type\n if (!VALID_WORKFLOW_TYPES.includes(type as WorkflowType)) {\n spinner.fail(`Invalid workflow type: ${type}`);\n console.log(\n chalk.gray('\\n Valid types: ') +\n chalk.cyan(VALID_WORKFLOW_TYPES.join(', '))\n );\n process.exit(1);\n }\n\n // Parse input if provided\n let input: Record<string, unknown> | undefined;\n if (options.input) {\n try {\n input = JSON.parse(options.input);\n } catch {\n spinner.fail('Invalid JSON input');\n console.log(chalk.gray(' Example: --input \\'{\"key\": \"value\"}\\''));\n process.exit(1);\n }\n }\n\n // Dry run mode\n if (options.dryRun) {\n spinner.info('Dry run mode - workflow will not execute');\n console.log();\n console.log(chalk.white(' Workflow Configuration:'));\n console.log(chalk.gray(` Type: ${type}`));\n console.log(chalk.gray(` Input: ${input ? JSON.stringify(input, null, 2) : 'none'}`));\n console.log(chalk.gray(` Async: ${options.async ? 'yes' : 'no'}`));\n return;\n }\n\n // Create workflow entry\n const workflowId = randomUUID().slice(0, 8);\n const now = new Date().toISOString();\n\n const workflowEntry: Workflow = {\n id: workflowId,\n type: type as WorkflowType,\n status: 'running',\n startedAt: now,\n updatedAt: now,\n progress: 0,\n input,\n };\n\n workflows.set(workflowId, workflowEntry);\n\n spinner.text = `Running ${type} workflow...`;\n\n // Simulate workflow execution\n if (options.async) {\n spinner.succeed(`Workflow started: ${chalk.cyan(workflowId)}`);\n console.log(\n chalk.gray(`\\n Check status: `) +\n chalk.cyan(`kg workflow status ${workflowId}`)\n );\n\n // Start async workflow simulation\n simulateWorkflow(workflowId);\n } else {\n // Synchronous execution simulation\n await simulateWorkflowSync(workflowId, spinner);\n\n const completedWorkflow = workflows.get(workflowId);\n if (completedWorkflow?.status === 'completed') {\n spinner.succeed(`Workflow completed: ${chalk.cyan(workflowId)}`);\n printWorkflowResult(completedWorkflow);\n } else if (completedWorkflow?.status === 'failed') {\n spinner.fail(`Workflow failed: ${chalk.cyan(workflowId)}`);\n if (completedWorkflow.error) {\n console.log(chalk.red(`\\n Error: ${completedWorkflow.error}`));\n }\n process.exit(1);\n }\n }\n } catch (error) {\n spinner.fail('Failed to start workflow');\n console.error(chalk.red(` ${String(error)}`));\n process.exit(1);\n }\n });\n\n // Status command\n workflow\n .command('status [id]')\n .description('Check workflow status')\n .option('--json', 'Output as JSON')\n .option('-w, --watch', 'Watch for status changes')\n .action(async (id: string | undefined, options) => {\n try {\n if (id) {\n // Get specific workflow\n const wf = workflows.get(id);\n\n if (!wf) {\n console.log(chalk.yellow(`\\n Workflow not found: ${id}`));\n console.log(chalk.gray(' Run ') + chalk.cyan('kg workflow list') + chalk.gray(' to see active workflows'));\n process.exit(1);\n }\n\n if (options.json) {\n console.log(JSON.stringify(wf, null, 2));\n return;\n }\n\n printWorkflowDetails(wf);\n\n if (options.watch && wf.status === 'running') {\n await watchWorkflow(id);\n }\n } else {\n // Show all active workflows status\n const activeWorkflows = Array.from(workflows.values()).filter(\n (w) => w.status === 'running' || w.status === 'pending'\n );\n\n if (activeWorkflows.length === 0) {\n console.log(chalk.gray('\\n No active workflows'));\n console.log(chalk.gray(' Run ') + chalk.cyan('kg workflow start <type>') + chalk.gray(' to start one'));\n return;\n }\n\n if (options.json) {\n console.log(JSON.stringify(activeWorkflows, null, 2));\n return;\n }\n\n console.log(chalk.cyan.bold('\\n Active Workflows\\n'));\n activeWorkflows.forEach((wf) => {\n printWorkflowSummary(wf);\n });\n }\n } catch (error) {\n console.error(chalk.red('Failed to get workflow status:'), String(error));\n process.exit(1);\n }\n });\n\n // List command\n workflow\n .command('list')\n .description('List all workflows')\n .option('-s, --status <status>', 'Filter by status (running, completed, failed, stopped)')\n .option('-t, --type <type>', 'Filter by workflow type')\n .option('-n, --limit <number>', 'Limit number of results', '10')\n .option('--json', 'Output as JSON')\n .action((options) => {\n try {\n let workflowList = Array.from(workflows.values());\n\n // Apply filters\n if (options.status) {\n workflowList = workflowList.filter((w) => w.status === options.status);\n }\n if (options.type) {\n workflowList = workflowList.filter((w) => w.type === options.type);\n }\n\n // Sort by start time (most recent first)\n workflowList.sort(\n (a, b) => new Date(b.startedAt).getTime() - new Date(a.startedAt).getTime()\n );\n\n // Apply limit\n const limit = parseInt(options.limit, 10);\n workflowList = workflowList.slice(0, limit);\n\n if (workflowList.length === 0) {\n console.log(chalk.gray('\\n No workflows found'));\n if (options.status || options.type) {\n console.log(chalk.gray(' Try removing filters'));\n }\n return;\n }\n\n if (options.json) {\n console.log(JSON.stringify(workflowList, null, 2));\n return;\n }\n\n console.log(chalk.cyan.bold('\\n Workflows\\n'));\n\n // Header\n console.log(\n chalk.gray(\n ` ${'ID'.padEnd(10)} ${'Type'.padEnd(12)} ${'Status'.padEnd(12)} ${'Progress'.padEnd(10)} Started`\n )\n );\n console.log(chalk.gray(' ' + '-'.repeat(70)));\n\n workflowList.forEach((wf) => {\n const statusColor = getStatusColor(wf.status);\n const progress = `${wf.progress}%`;\n const started = formatRelativeTime(wf.startedAt);\n\n console.log(\n ` ${chalk.cyan(wf.id.padEnd(10))} ${wf.type.padEnd(12)} ${statusColor(\n wf.status.padEnd(12)\n )} ${progress.padEnd(10)} ${chalk.gray(started)}`\n );\n });\n\n console.log();\n console.log(\n chalk.gray(` Showing ${workflowList.length} workflow(s)`)\n );\n console.log();\n } catch (error) {\n console.error(chalk.red('Failed to list workflows:'), String(error));\n process.exit(1);\n }\n });\n\n // Stop command\n workflow\n .command('stop <id>')\n .description('Stop a running workflow')\n .option('-f, --force', 'Force stop without confirmation')\n .action(async (id: string, options) => {\n const spinner = ora(`Stopping workflow ${id}...`).start();\n\n try {\n const wf = workflows.get(id);\n\n if (!wf) {\n spinner.fail(`Workflow not found: ${id}`);\n process.exit(1);\n }\n\n if (wf.status !== 'running' && wf.status !== 'pending') {\n spinner.warn(`Workflow is not running (status: ${wf.status})`);\n return;\n }\n\n // Update workflow status\n wf.status = 'stopped';\n wf.updatedAt = new Date().toISOString();\n wf.message = 'Stopped by user';\n\n spinner.succeed(`Workflow stopped: ${chalk.cyan(id)}`);\n\n console.log();\n console.log(chalk.white(' Final Status:'));\n console.log(chalk.gray(` Progress: ${wf.progress}%`));\n console.log(chalk.gray(` Stopped at: ${wf.updatedAt}`));\n console.log();\n } catch (error) {\n spinner.fail('Failed to stop workflow');\n console.error(chalk.red(` ${String(error)}`));\n process.exit(1);\n }\n });\n\n // History command\n workflow\n .command('history')\n .description('Show workflow history')\n .option('-n, --limit <number>', 'Limit number of results', '20')\n .option('-t, --type <type>', 'Filter by workflow type')\n .option('--since <date>', 'Show workflows since date (ISO format)')\n .option('--json', 'Output as JSON')\n .action((options) => {\n try {\n let historyList = Array.from(workflows.values()).filter(\n (w) => w.status === 'completed' || w.status === 'failed' || w.status === 'stopped'\n );\n\n // Apply filters\n if (options.type) {\n historyList = historyList.filter((w) => w.type === options.type);\n }\n\n if (options.since) {\n const sinceDate = new Date(options.since);\n if (isNaN(sinceDate.getTime())) {\n console.error(chalk.red('Invalid date format. Use ISO format (e.g., 2024-01-01)'));\n process.exit(1);\n }\n historyList = historyList.filter(\n (w) => new Date(w.startedAt) >= sinceDate\n );\n }\n\n // Sort by completion time (most recent first)\n historyList.sort((a, b) => {\n const timeA = new Date(a.completedAt || a.updatedAt).getTime();\n const timeB = new Date(b.completedAt || b.updatedAt).getTime();\n return timeB - timeA;\n });\n\n // Apply limit\n const limit = parseInt(options.limit, 10);\n historyList = historyList.slice(0, limit);\n\n if (historyList.length === 0) {\n console.log(chalk.gray('\\n No workflow history found'));\n return;\n }\n\n if (options.json) {\n console.log(JSON.stringify(historyList, null, 2));\n return;\n }\n\n console.log(chalk.cyan.bold('\\n Workflow History\\n'));\n\n // Header\n console.log(\n chalk.gray(\n ` ${'ID'.padEnd(10)} ${'Type'.padEnd(12)} ${'Status'.padEnd(12)} ${'Duration'.padEnd(12)} Completed`\n )\n );\n console.log(chalk.gray(' ' + '-'.repeat(75)));\n\n historyList.forEach((wf) => {\n const statusColor = getStatusColor(wf.status);\n const duration = calculateDuration(wf.startedAt, wf.completedAt || wf.updatedAt);\n const completed = formatRelativeTime(wf.completedAt || wf.updatedAt);\n\n console.log(\n ` ${chalk.cyan(wf.id.padEnd(10))} ${wf.type.padEnd(12)} ${statusColor(\n wf.status.padEnd(12)\n )} ${duration.padEnd(12)} ${chalk.gray(completed)}`\n );\n\n if (wf.error) {\n console.log(chalk.red(` Error: ${wf.error}`));\n }\n });\n\n console.log();\n console.log(\n chalk.gray(` Showing ${historyList.length} workflow(s)`)\n );\n console.log();\n } catch (error) {\n console.error(chalk.red('Failed to get workflow history:'), String(error));\n process.exit(1);\n }\n });\n\n // Resume command (bonus)\n workflow\n .command('resume <id>')\n .description('Resume a stopped workflow')\n .action(async (id: string) => {\n const spinner = ora(`Resuming workflow ${id}...`).start();\n\n try {\n const wf = workflows.get(id);\n\n if (!wf) {\n spinner.fail(`Workflow not found: ${id}`);\n process.exit(1);\n }\n\n if (wf.status !== 'stopped') {\n spinner.warn(`Cannot resume workflow (status: ${wf.status})`);\n console.log(chalk.gray('\\n Only stopped workflows can be resumed'));\n return;\n }\n\n // Update workflow status\n wf.status = 'running';\n wf.updatedAt = new Date().toISOString();\n wf.message = 'Resumed by user';\n\n spinner.succeed(`Workflow resumed: ${chalk.cyan(id)}`);\n\n // Continue simulation\n simulateWorkflow(id);\n\n console.log(\n chalk.gray(`\\n Check status: `) +\n chalk.cyan(`kg workflow status ${id}`)\n );\n } catch (error) {\n spinner.fail('Failed to resume workflow');\n console.error(chalk.red(` ${String(error)}`));\n process.exit(1);\n }\n });\n\n return workflow;\n}\n\n/**\n * Simulate async workflow execution\n */\nfunction simulateWorkflow(id: string): void {\n const wf = workflows.get(id);\n if (!wf) return;\n\n const interval = setInterval(() => {\n const workflow = workflows.get(id);\n if (!workflow || workflow.status !== 'running') {\n clearInterval(interval);\n return;\n }\n\n workflow.progress = Math.min(workflow.progress + 10, 100);\n workflow.updatedAt = new Date().toISOString();\n\n if (workflow.progress >= 100) {\n workflow.status = 'completed';\n workflow.completedAt = new Date().toISOString();\n workflow.output = {\n processed: true,\n itemsProcessed: Math.floor(Math.random() * 100) + 10,\n };\n clearInterval(interval);\n }\n }, 1000);\n}\n\n/**\n * Simulate synchronous workflow execution\n */\nasync function simulateWorkflowSync(\n id: string,\n spinner: ReturnType<typeof ora>\n): Promise<void> {\n const wf = workflows.get(id);\n if (!wf) return;\n\n for (let i = 0; i <= 100; i += 10) {\n await sleep(300);\n wf.progress = i;\n wf.updatedAt = new Date().toISOString();\n spinner.text = `Running ${wf.type} workflow... ${i}%`;\n }\n\n wf.status = 'completed';\n wf.completedAt = new Date().toISOString();\n wf.output = {\n processed: true,\n itemsProcessed: Math.floor(Math.random() * 100) + 10,\n };\n}\n\n/**\n * Watch workflow status changes\n */\nasync function watchWorkflow(id: string): Promise<void> {\n console.log(chalk.gray('\\n Watching for changes (Ctrl+C to stop)...\\n'));\n\n while (true) {\n const wf = workflows.get(id);\n if (!wf || wf.status !== 'running') {\n if (wf) {\n printWorkflowDetails(wf);\n }\n break;\n }\n\n process.stdout.write(\n `\\r Progress: ${chalk.cyan(wf.progress + '%')} | Status: ${chalk.yellow(wf.status)}`\n );\n\n await sleep(500);\n }\n}\n\n/**\n * Print workflow result\n */\nfunction printWorkflowResult(wf: Workflow): void {\n console.log();\n console.log(chalk.white(' Result:'));\n console.log(chalk.gray(` Duration: ${calculateDuration(wf.startedAt, wf.completedAt || wf.updatedAt)}`));\n if (wf.output) {\n console.log(chalk.gray(` Output: ${JSON.stringify(wf.output)}`));\n }\n console.log();\n}\n\n/**\n * Print detailed workflow information\n */\nfunction printWorkflowDetails(wf: Workflow): void {\n const statusColor = getStatusColor(wf.status);\n\n console.log(chalk.cyan.bold(`\\n Workflow: ${wf.id}\\n`));\n\n console.log(chalk.white(' Details:'));\n console.log(chalk.gray(` Type: ${wf.type}`));\n console.log(chalk.gray(` Status: `) + statusColor(wf.status));\n console.log(chalk.gray(` Progress: ${wf.progress}%`));\n\n console.log();\n console.log(chalk.white(' Timeline:'));\n console.log(chalk.gray(` Started: ${wf.startedAt}`));\n console.log(chalk.gray(` Updated: ${wf.updatedAt}`));\n if (wf.completedAt) {\n console.log(chalk.gray(` Completed: ${wf.completedAt}`));\n console.log(chalk.gray(` Duration: ${calculateDuration(wf.startedAt, wf.completedAt)}`));\n }\n\n if (wf.message) {\n console.log();\n console.log(chalk.white(' Message:'));\n console.log(chalk.gray(` ${wf.message}`));\n }\n\n if (wf.input) {\n console.log();\n console.log(chalk.white(' Input:'));\n console.log(chalk.gray(` ${JSON.stringify(wf.input, null, 2).replace(/\\n/g, '\\n ')}`));\n }\n\n if (wf.output) {\n console.log();\n console.log(chalk.white(' Output:'));\n console.log(chalk.gray(` ${JSON.stringify(wf.output, null, 2).replace(/\\n/g, '\\n ')}`));\n }\n\n if (wf.error) {\n console.log();\n console.log(chalk.red(' Error:'));\n console.log(chalk.red(` ${wf.error}`));\n }\n\n console.log();\n}\n\n/**\n * Print workflow summary (one line)\n */\nfunction printWorkflowSummary(wf: Workflow): void {\n const statusColor = getStatusColor(wf.status);\n const progressBar = createProgressBar(wf.progress, 20);\n\n console.log(\n ` ${chalk.cyan(wf.id)} [${wf.type}] ${statusColor(wf.status)} ${progressBar} ${wf.progress}%`\n );\n}\n\n/**\n * Get chalk color function based on status\n */\nfunction getStatusColor(status: WorkflowStatus): typeof chalk.green {\n switch (status) {\n case 'completed':\n return chalk.green;\n case 'running':\n return chalk.blue;\n case 'pending':\n return chalk.yellow;\n case 'failed':\n return chalk.red;\n case 'stopped':\n return chalk.gray;\n default:\n return chalk.white;\n }\n}\n\n/**\n * Create progress bar string\n */\nfunction createProgressBar(progress: number, width: number): string {\n const filled = Math.floor((progress / 100) * width);\n const empty = width - filled;\n return chalk.green('█'.repeat(filled)) + chalk.gray('░'.repeat(empty));\n}\n\n/**\n * Format relative time\n */\nfunction formatRelativeTime(isoString: string): string {\n const date = new Date(isoString);\n const now = new Date();\n const diffMs = now.getTime() - date.getTime();\n const diffSeconds = Math.floor(diffMs / 1000);\n const diffMinutes = Math.floor(diffSeconds / 60);\n const diffHours = Math.floor(diffMinutes / 60);\n const diffDays = Math.floor(diffHours / 24);\n\n if (diffSeconds < 60) return 'just now';\n if (diffMinutes < 60) return `${diffMinutes}m ago`;\n if (diffHours < 24) return `${diffHours}h ago`;\n if (diffDays < 7) return `${diffDays}d ago`;\n\n return date.toLocaleDateString();\n}\n\n/**\n * Calculate duration between two ISO timestamps\n */\nfunction calculateDuration(start: string, end: string): string {\n const startTime = new Date(start).getTime();\n const endTime = new Date(end).getTime();\n const diffMs = endTime - startTime;\n\n if (diffMs < 1000) return `${diffMs}ms`;\n if (diffMs < 60000) return `${(diffMs / 1000).toFixed(1)}s`;\n if (diffMs < 3600000) return `${Math.floor(diffMs / 60000)}m ${Math.floor((diffMs % 60000) / 1000)}s`;\n\n const hours = Math.floor(diffMs / 3600000);\n const minutes = Math.floor((diffMs % 3600000) / 60000);\n return `${hours}h ${minutes}m`;\n}\n\n/**\n * Sleep utility\n */\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAuDnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BpC;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAsHnC"}
package/dist/cli/index.js CHANGED
@@ -9,7 +9,16 @@ import { createStatsCommand } from "./commands/stats.js";
9
9
  import { createSearchCommand } from "./commands/search.js";
10
10
  import { createConvertCommand, createFrontmatterCommand } from "./commands/convert.js";
11
11
  import { createAnalyzeCommand } from "./commands/analyze.js";
12
- const VERSION = "0.2.0";
12
+ import { createSOPCommands } from "./commands/sop.js";
13
+ import { createInitPrimitivesCommand, createAnalyzeCodebaseCommand } from "./commands/init-primitives.js";
14
+ import { createCultivateCommand } from "./commands/cultivate.js";
15
+ import { createCommitCommand } from "./commands/commit.js";
16
+ import { createConfigCommand } from "./commands/config.js";
17
+ import { createDiagnosticsCommand } from "./commands/diagnostics.js";
18
+ import { createWorkflowCommand } from "./commands/workflow.js";
19
+ import { createAuditCommand } from "./commands/audit.js";
20
+ import { createVectorCommand } from "./commands/vector.js";
21
+ const VERSION = "0.3.0";
13
22
  function createCLI() {
14
23
  const program = new Command();
15
24
  program.name("kg").description("Knowledge Graph Agent - Generate and manage knowledge graphs for Claude Code").version(VERSION, "-v, --version", "Display version number");
@@ -27,6 +36,16 @@ function createCLI() {
27
36
  program.addCommand(createConvertCommand());
28
37
  program.addCommand(createFrontmatterCommand());
29
38
  program.addCommand(createAnalyzeCommand());
39
+ program.addCommand(createSOPCommands());
40
+ program.addCommand(createInitPrimitivesCommand());
41
+ program.addCommand(createAnalyzeCodebaseCommand());
42
+ program.addCommand(createCultivateCommand());
43
+ program.addCommand(createCommitCommand());
44
+ program.addCommand(createConfigCommand());
45
+ program.addCommand(createDiagnosticsCommand());
46
+ program.addCommand(createWorkflowCommand());
47
+ program.addCommand(createAuditCommand());
48
+ program.addCommand(createVectorCommand());
30
49
  program.action(() => {
31
50
  console.log(chalk.cyan.bold("\n Knowledge Graph Agent\n"));
32
51
  console.log(chalk.gray(" Generate and manage knowledge graphs for Claude Code\n"));
@@ -43,6 +62,52 @@ function createCLI() {
43
62
  console.log(chalk.gray(" $ kg convert docs # Convert docs/ → docs-nn/"));
44
63
  console.log(chalk.gray(" $ kg frontmatter add # Add frontmatter to files"));
45
64
  console.log(chalk.gray(" $ kg frontmatter validate # Validate frontmatter\n"));
65
+ console.log(chalk.white(" AI-SDLC SOP Compliance:"));
66
+ console.log(chalk.gray(" $ kg sop init # Initialize SOP standards layer"));
67
+ console.log(chalk.gray(" $ kg sop check # Check compliance against SOPs"));
68
+ console.log(chalk.gray(" $ kg sop gaps # Analyze compliance gaps"));
69
+ console.log(chalk.gray(" $ kg sop report # Generate compliance report"));
70
+ console.log(chalk.gray(" $ kg sop list # List available SOPs\n"));
71
+ console.log(chalk.white(" Cultivation & Primitives:"));
72
+ console.log(chalk.gray(" $ kg init-primitives # Bootstrap primitives from codebase"));
73
+ console.log(chalk.gray(" $ kg analyze-codebase # Analyze dependencies & services"));
74
+ console.log(chalk.gray(" $ kg init-primitives --dry-run # Preview without writing\n"));
75
+ console.log(chalk.white(" Git Integration:"));
76
+ console.log(chalk.gray(" $ kg commit # Show status and suggested message"));
77
+ console.log(chalk.gray(" $ kg commit -a # Auto-commit with generated message"));
78
+ console.log(chalk.gray(" $ kg commit -i # Interactive commit mode"));
79
+ console.log(chalk.gray(' $ kg commit -m "message" # Commit with custom message'));
80
+ console.log(chalk.gray(" $ kg commit status # Show git status with analysis"));
81
+ console.log(chalk.gray(" $ kg commit log # Show recent commits"));
82
+ console.log(chalk.gray(" $ kg commit diff # Show diff of changes\n"));
83
+ console.log(chalk.white(" Diagnostics & Health:"));
84
+ console.log(chalk.gray(" $ kg diag run # Run full diagnostics"));
85
+ console.log(chalk.gray(" $ kg diag run --fix # Attempt to fix issues"));
86
+ console.log(chalk.gray(" $ kg diag health # Check system health"));
87
+ console.log(chalk.gray(" $ kg diag repair # Repair database issues"));
88
+ console.log(chalk.gray(" $ kg diag backup # Create database backup"));
89
+ console.log(chalk.gray(" $ kg diag backup --list # List existing backups"));
90
+ console.log(chalk.gray(" $ kg diag info # Show system information\n"));
91
+ console.log(chalk.white(" Workflow Management:"));
92
+ console.log(chalk.gray(" $ kg workflow start <type> # Start a workflow"));
93
+ console.log(chalk.gray(" $ kg workflow status [id] # Check workflow status"));
94
+ console.log(chalk.gray(" $ kg workflow list # List active workflows"));
95
+ console.log(chalk.gray(" $ kg workflow stop <id> # Stop a workflow"));
96
+ console.log(chalk.gray(" $ kg workflow history # Show workflow history\n"));
97
+ console.log(chalk.white(" Vector Operations:"));
98
+ console.log(chalk.gray(" $ kg vector search <query> # Semantic search"));
99
+ console.log(chalk.gray(" $ kg vector stats # Vector store statistics"));
100
+ console.log(chalk.gray(" $ kg vector rebuild # Rebuild vector index"));
101
+ console.log(chalk.gray(" $ kg vector traj list # List trajectories"));
102
+ console.log(chalk.gray(" $ kg vector traj show <id> # Show trajectory details"));
103
+ console.log(chalk.gray(" $ kg vector traj patterns # Show detected patterns\n"));
104
+ console.log(chalk.white(" Audit & Exochain:"));
105
+ console.log(chalk.gray(" $ kg audit query # Query the audit log"));
106
+ console.log(chalk.gray(" $ kg audit checkpoint # Create a checkpoint"));
107
+ console.log(chalk.gray(" $ kg audit verify # Verify chain integrity"));
108
+ console.log(chalk.gray(" $ kg audit sync status # Check sync status"));
109
+ console.log(chalk.gray(" $ kg audit sync peers # List sync peers"));
110
+ console.log(chalk.gray(" $ kg audit export # Export audit log\n"));
46
111
  console.log(chalk.white(" Commands:"));
47
112
  program.commands.forEach((cmd) => {
48
113
  console.log(chalk.cyan(` ${cmd.name().padEnd(20)}`), chalk.gray(cmd.description() || ""));