@octo-cyber/ai 0.5.5 → 0.5.7

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 (426) hide show
  1. package/dist/BranchDecisionEngine.d.ts +73 -0
  2. package/dist/BranchDecisionEngine.d.ts.map +1 -0
  3. package/dist/BranchDecisionEngine.js +195 -0
  4. package/dist/BranchDecisionEngine.js.map +1 -0
  5. package/dist/agent/coding-tools.d.ts +7 -0
  6. package/dist/agent/coding-tools.d.ts.map +1 -0
  7. package/dist/agent/coding-tools.js +181 -0
  8. package/dist/agent/coding-tools.js.map +1 -0
  9. package/dist/ai.module.d.ts +14 -2
  10. package/dist/ai.module.d.ts.map +1 -1
  11. package/dist/ai.module.js +61 -14
  12. package/dist/ai.module.js.map +1 -1
  13. package/dist/cli/adapters/antigravity.adapter.d.ts +2 -0
  14. package/dist/cli/adapters/antigravity.adapter.d.ts.map +1 -1
  15. package/dist/cli/adapters/antigravity.adapter.js +78 -0
  16. package/dist/cli/adapters/antigravity.adapter.js.map +1 -1
  17. package/dist/cli/adapters/claude-cli.adapter.d.ts.map +1 -1
  18. package/dist/cli/adapters/claude-cli.adapter.js +2 -0
  19. package/dist/cli/adapters/claude-cli.adapter.js.map +1 -1
  20. package/dist/cli/adapters/cli-proxy-api.adapter.d.ts +32 -0
  21. package/dist/cli/adapters/cli-proxy-api.adapter.d.ts.map +1 -0
  22. package/dist/cli/adapters/cli-proxy-api.adapter.js +239 -0
  23. package/dist/cli/adapters/cli-proxy-api.adapter.js.map +1 -0
  24. package/dist/cli/cli-executor.service.d.ts +2 -0
  25. package/dist/cli/cli-executor.service.d.ts.map +1 -1
  26. package/dist/cli/cli-executor.service.js +21 -1
  27. package/dist/cli/cli-executor.service.js.map +1 -1
  28. package/dist/cli/cli-registry.service.d.ts.map +1 -1
  29. package/dist/cli/cli-registry.service.js +3 -1
  30. package/dist/cli/cli-registry.service.js.map +1 -1
  31. package/dist/cli/controllers/ai-cli.controller.d.ts +4 -0
  32. package/dist/cli/controllers/ai-cli.controller.d.ts.map +1 -1
  33. package/dist/cli/controllers/ai-cli.controller.js +33 -4
  34. package/dist/cli/controllers/ai-cli.controller.js.map +1 -1
  35. package/dist/cli/index.d.ts +1 -1
  36. package/dist/cli/index.d.ts.map +1 -1
  37. package/dist/cli/index.js.map +1 -1
  38. package/dist/cli/types.d.ts +23 -1
  39. package/dist/cli/types.d.ts.map +1 -1
  40. package/dist/cli/workspace.service.d.ts +11 -3
  41. package/dist/cli/workspace.service.d.ts.map +1 -1
  42. package/dist/cli/workspace.service.js +61 -6
  43. package/dist/cli/workspace.service.js.map +1 -1
  44. package/dist/index.d.ts +5 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +22 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/session/claude-code-session-manager.service.d.ts +28 -0
  49. package/dist/session/claude-code-session-manager.service.d.ts.map +1 -0
  50. package/dist/session/claude-code-session-manager.service.js +177 -0
  51. package/dist/session/claude-code-session-manager.service.js.map +1 -0
  52. package/dist/shared/IClaudeCodeSessionManager.d.ts +151 -0
  53. package/dist/shared/IClaudeCodeSessionManager.d.ts.map +1 -0
  54. package/dist/shared/IClaudeCodeSessionManager.js +6 -0
  55. package/dist/shared/IClaudeCodeSessionManager.js.map +1 -0
  56. package/dist/skill/controllers/skill-market.controller.d.ts +18 -0
  57. package/dist/skill/controllers/skill-market.controller.d.ts.map +1 -0
  58. package/dist/skill/controllers/skill-market.controller.js +128 -0
  59. package/dist/skill/controllers/skill-market.controller.js.map +1 -0
  60. package/dist/skill/controllers/skill.controller.d.ts +4 -0
  61. package/dist/skill/controllers/skill.controller.d.ts.map +1 -1
  62. package/dist/skill/controllers/skill.controller.js +31 -0
  63. package/dist/skill/controllers/skill.controller.js.map +1 -1
  64. package/dist/skill/index.d.ts +3 -1
  65. package/dist/skill/index.d.ts.map +1 -1
  66. package/dist/skill/index.js +5 -1
  67. package/dist/skill/index.js.map +1 -1
  68. package/dist/skill/services/skill-installer.service.d.ts +27 -0
  69. package/dist/skill/services/skill-installer.service.d.ts.map +1 -1
  70. package/dist/skill/services/skill-installer.service.js +108 -0
  71. package/dist/skill/services/skill-installer.service.js.map +1 -1
  72. package/dist/skill/services/skill-market.service.d.ts +60 -0
  73. package/dist/skill/services/skill-market.service.d.ts.map +1 -0
  74. package/dist/skill/services/skill-market.service.js +244 -0
  75. package/dist/skill/services/skill-market.service.js.map +1 -0
  76. package/dist/skill/services/skill-registry.service.js +4 -4
  77. package/dist/skill/services/skill-registry.service.js.map +1 -1
  78. package/dist/skill/types.d.ts +32 -1
  79. package/dist/skill/types.d.ts.map +1 -1
  80. package/dist/src/BranchDecisionEngine.d.ts +73 -0
  81. package/dist/src/BranchDecisionEngine.d.ts.map +1 -0
  82. package/dist/src/BranchDecisionEngine.js +195 -0
  83. package/dist/src/BranchDecisionEngine.js.map +1 -0
  84. package/dist/src/agent/agent-approval.controller.d.ts +20 -0
  85. package/dist/src/agent/agent-approval.controller.d.ts.map +1 -0
  86. package/dist/src/agent/agent-approval.controller.js +101 -0
  87. package/dist/src/agent/agent-approval.controller.js.map +1 -0
  88. package/dist/src/agent/agent-approval.entity.d.ts +15 -0
  89. package/dist/src/agent/agent-approval.entity.d.ts.map +1 -0
  90. package/dist/src/agent/agent-approval.entity.js +63 -0
  91. package/dist/src/agent/agent-approval.entity.js.map +1 -0
  92. package/dist/src/agent/agent-approval.service.d.ts +35 -0
  93. package/dist/src/agent/agent-approval.service.d.ts.map +1 -0
  94. package/dist/src/agent/agent-approval.service.js +109 -0
  95. package/dist/src/agent/agent-approval.service.js.map +1 -0
  96. package/dist/src/agent/agent-gateway.controller.d.ts +30 -0
  97. package/dist/src/agent/agent-gateway.controller.d.ts.map +1 -0
  98. package/dist/src/agent/agent-gateway.controller.js +112 -0
  99. package/dist/src/agent/agent-gateway.controller.js.map +1 -0
  100. package/dist/src/agent/agent-gateway.service.d.ts +33 -0
  101. package/dist/src/agent/agent-gateway.service.d.ts.map +1 -0
  102. package/dist/src/agent/agent-gateway.service.js +84 -0
  103. package/dist/src/agent/agent-gateway.service.js.map +1 -0
  104. package/dist/src/agent/agent-registry.service.d.ts +30 -0
  105. package/dist/src/agent/agent-registry.service.d.ts.map +1 -0
  106. package/dist/src/agent/agent-registry.service.js +45 -0
  107. package/dist/src/agent/agent-registry.service.js.map +1 -0
  108. package/dist/src/agent/agent-run-persistence.service.d.ts +82 -0
  109. package/dist/src/agent/agent-run-persistence.service.d.ts.map +1 -0
  110. package/dist/src/agent/agent-run-persistence.service.js +171 -0
  111. package/dist/src/agent/agent-run-persistence.service.js.map +1 -0
  112. package/dist/src/agent/agent-run-step.entity.d.ts +23 -0
  113. package/dist/src/agent/agent-run-step.entity.d.ts.map +1 -0
  114. package/dist/src/agent/agent-run-step.entity.js +76 -0
  115. package/dist/src/agent/agent-run-step.entity.js.map +1 -0
  116. package/dist/src/agent/agent-run.controller.d.ts +42 -0
  117. package/dist/src/agent/agent-run.controller.d.ts.map +1 -0
  118. package/dist/src/agent/agent-run.controller.js +195 -0
  119. package/dist/src/agent/agent-run.controller.js.map +1 -0
  120. package/dist/src/agent/agent-run.entity.d.ts +35 -0
  121. package/dist/src/agent/agent-run.entity.d.ts.map +1 -0
  122. package/dist/src/agent/agent-run.entity.js +98 -0
  123. package/dist/src/agent/agent-run.entity.js.map +1 -0
  124. package/dist/src/agent/agent-run.service.d.ts +48 -0
  125. package/dist/src/agent/agent-run.service.d.ts.map +1 -0
  126. package/dist/src/agent/agent-run.service.js +155 -0
  127. package/dist/src/agent/agent-run.service.js.map +1 -0
  128. package/dist/src/agent/agent-session.controller.d.ts +20 -0
  129. package/dist/src/agent/agent-session.controller.d.ts.map +1 -0
  130. package/dist/src/agent/agent-session.controller.js +97 -0
  131. package/dist/src/agent/agent-session.controller.js.map +1 -0
  132. package/dist/src/agent/agent-session.entity.d.ts +13 -0
  133. package/dist/src/agent/agent-session.entity.d.ts.map +1 -0
  134. package/dist/src/agent/agent-session.entity.js +57 -0
  135. package/dist/src/agent/agent-session.entity.js.map +1 -0
  136. package/dist/src/agent/agent-session.service.d.ts +38 -0
  137. package/dist/src/agent/agent-session.service.d.ts.map +1 -0
  138. package/dist/src/agent/agent-session.service.js +112 -0
  139. package/dist/src/agent/agent-session.service.js.map +1 -0
  140. package/dist/src/agent/coding-tools.d.ts +7 -0
  141. package/dist/src/agent/coding-tools.d.ts.map +1 -0
  142. package/dist/src/agent/coding-tools.js +181 -0
  143. package/dist/src/agent/coding-tools.js.map +1 -0
  144. package/dist/src/agent/computer-use-tools.d.ts +15 -0
  145. package/dist/src/agent/computer-use-tools.d.ts.map +1 -0
  146. package/dist/src/agent/computer-use-tools.js +256 -0
  147. package/dist/src/agent/computer-use-tools.js.map +1 -0
  148. package/dist/src/agent/external-agent.controller.d.ts +41 -0
  149. package/dist/src/agent/external-agent.controller.d.ts.map +1 -0
  150. package/dist/src/agent/external-agent.controller.js +129 -0
  151. package/dist/src/agent/external-agent.controller.js.map +1 -0
  152. package/dist/src/agent/external-agent.entity.d.ts +22 -0
  153. package/dist/src/agent/external-agent.entity.d.ts.map +1 -0
  154. package/dist/src/agent/external-agent.entity.js +75 -0
  155. package/dist/src/agent/external-agent.entity.js.map +1 -0
  156. package/dist/src/agent/external-agent.service.d.ts +60 -0
  157. package/dist/src/agent/external-agent.service.d.ts.map +1 -0
  158. package/dist/src/agent/external-agent.service.js +143 -0
  159. package/dist/src/agent/external-agent.service.js.map +1 -0
  160. package/dist/src/ai.module.d.ts +22 -0
  161. package/dist/src/ai.module.d.ts.map +1 -0
  162. package/dist/src/ai.module.js +178 -0
  163. package/dist/src/ai.module.js.map +1 -0
  164. package/dist/src/cli/adapters/antigravity.adapter.d.ts +31 -0
  165. package/dist/src/cli/adapters/antigravity.adapter.d.ts.map +1 -0
  166. package/dist/src/cli/adapters/antigravity.adapter.js +248 -0
  167. package/dist/src/cli/adapters/antigravity.adapter.js.map +1 -0
  168. package/dist/src/cli/adapters/claude-cli.adapter.d.ts +23 -0
  169. package/dist/src/cli/adapters/claude-cli.adapter.d.ts.map +1 -0
  170. package/dist/src/cli/adapters/claude-cli.adapter.js +81 -0
  171. package/dist/src/cli/adapters/claude-cli.adapter.js.map +1 -0
  172. package/dist/src/cli/adapters/cli-proxy-api.adapter.d.ts +32 -0
  173. package/dist/src/cli/adapters/cli-proxy-api.adapter.d.ts.map +1 -0
  174. package/dist/src/cli/adapters/cli-proxy-api.adapter.js +239 -0
  175. package/dist/src/cli/adapters/cli-proxy-api.adapter.js.map +1 -0
  176. package/dist/src/cli/adapters/codex-cli.adapter.d.ts +22 -0
  177. package/dist/src/cli/adapters/codex-cli.adapter.d.ts.map +1 -0
  178. package/dist/src/cli/adapters/codex-cli.adapter.js +76 -0
  179. package/dist/src/cli/adapters/codex-cli.adapter.js.map +1 -0
  180. package/dist/src/cli/adapters/detect-cli.d.ts +11 -0
  181. package/dist/src/cli/adapters/detect-cli.d.ts.map +1 -0
  182. package/dist/src/cli/adapters/detect-cli.js +40 -0
  183. package/dist/src/cli/adapters/detect-cli.js.map +1 -0
  184. package/dist/src/cli/adapters/gemini-cli.adapter.d.ts +21 -0
  185. package/dist/src/cli/adapters/gemini-cli.adapter.d.ts.map +1 -0
  186. package/dist/src/cli/adapters/gemini-cli.adapter.js +72 -0
  187. package/dist/src/cli/adapters/gemini-cli.adapter.js.map +1 -0
  188. package/dist/src/cli/adapters/index.d.ts +4 -0
  189. package/dist/src/cli/adapters/index.d.ts.map +1 -0
  190. package/dist/src/cli/adapters/index.js +10 -0
  191. package/dist/src/cli/adapters/index.js.map +1 -0
  192. package/dist/src/cli/cli-executor.service.d.ts +25 -0
  193. package/dist/src/cli/cli-executor.service.d.ts.map +1 -0
  194. package/dist/src/cli/cli-executor.service.js +170 -0
  195. package/dist/src/cli/cli-executor.service.js.map +1 -0
  196. package/dist/src/cli/cli-registry.service.d.ts +38 -0
  197. package/dist/src/cli/cli-registry.service.d.ts.map +1 -0
  198. package/dist/src/cli/cli-registry.service.js +114 -0
  199. package/dist/src/cli/cli-registry.service.js.map +1 -0
  200. package/dist/src/cli/controllers/ai-cli.controller.d.ts +40 -0
  201. package/dist/src/cli/controllers/ai-cli.controller.d.ts.map +1 -0
  202. package/dist/src/cli/controllers/ai-cli.controller.js +208 -0
  203. package/dist/src/cli/controllers/ai-cli.controller.js.map +1 -0
  204. package/dist/src/cli/index.d.ts +8 -0
  205. package/dist/src/cli/index.d.ts.map +1 -0
  206. package/dist/src/cli/index.js +17 -0
  207. package/dist/src/cli/index.js.map +1 -0
  208. package/dist/src/cli/types.d.ts +153 -0
  209. package/dist/src/cli/types.d.ts.map +1 -0
  210. package/dist/src/cli/types.js +9 -0
  211. package/dist/src/cli/types.js.map +1 -0
  212. package/dist/src/cli/workspace.service.d.ts +42 -0
  213. package/dist/src/cli/workspace.service.d.ts.map +1 -0
  214. package/dist/src/cli/workspace.service.js +249 -0
  215. package/dist/src/cli/workspace.service.js.map +1 -0
  216. package/dist/src/computer-use/computer-use.controller.d.ts +23 -0
  217. package/dist/src/computer-use/computer-use.controller.d.ts.map +1 -0
  218. package/dist/src/computer-use/computer-use.controller.js +87 -0
  219. package/dist/src/computer-use/computer-use.controller.js.map +1 -0
  220. package/dist/src/index.d.ts +12 -0
  221. package/dist/src/index.d.ts.map +1 -0
  222. package/dist/src/index.js +51 -0
  223. package/dist/src/index.js.map +1 -0
  224. package/dist/src/orchestrator/orchestrator-plan.entity.d.ts +31 -0
  225. package/dist/src/orchestrator/orchestrator-plan.entity.d.ts.map +1 -0
  226. package/dist/src/orchestrator/orchestrator-plan.entity.js +69 -0
  227. package/dist/src/orchestrator/orchestrator-plan.entity.js.map +1 -0
  228. package/dist/src/orchestrator/orchestrator-plan.service.d.ts +27 -0
  229. package/dist/src/orchestrator/orchestrator-plan.service.d.ts.map +1 -0
  230. package/dist/src/orchestrator/orchestrator-plan.service.js +201 -0
  231. package/dist/src/orchestrator/orchestrator-plan.service.js.map +1 -0
  232. package/dist/src/orchestrator/orchestrator.controller.d.ts +29 -0
  233. package/dist/src/orchestrator/orchestrator.controller.d.ts.map +1 -0
  234. package/dist/src/orchestrator/orchestrator.controller.js +144 -0
  235. package/dist/src/orchestrator/orchestrator.controller.js.map +1 -0
  236. package/dist/src/orchestrator/workflow-feedback.entity.d.ts +12 -0
  237. package/dist/src/orchestrator/workflow-feedback.entity.d.ts.map +1 -0
  238. package/dist/src/orchestrator/workflow-feedback.entity.js +49 -0
  239. package/dist/src/orchestrator/workflow-feedback.entity.js.map +1 -0
  240. package/dist/src/orchestrator/workflow-feedback.service.d.ts +14 -0
  241. package/dist/src/orchestrator/workflow-feedback.service.d.ts.map +1 -0
  242. package/dist/src/orchestrator/workflow-feedback.service.js +51 -0
  243. package/dist/src/orchestrator/workflow-feedback.service.js.map +1 -0
  244. package/dist/src/session/claude-code-session-manager.service.d.ts +28 -0
  245. package/dist/src/session/claude-code-session-manager.service.d.ts.map +1 -0
  246. package/dist/src/session/claude-code-session-manager.service.js +177 -0
  247. package/dist/src/session/claude-code-session-manager.service.js.map +1 -0
  248. package/dist/src/skill/controllers/skill-market.controller.d.ts +18 -0
  249. package/dist/src/skill/controllers/skill-market.controller.d.ts.map +1 -0
  250. package/dist/src/skill/controllers/skill-market.controller.js +128 -0
  251. package/dist/src/skill/controllers/skill-market.controller.js.map +1 -0
  252. package/dist/src/skill/controllers/skill.controller.d.ts +37 -0
  253. package/dist/src/skill/controllers/skill.controller.d.ts.map +1 -0
  254. package/dist/src/skill/controllers/skill.controller.js +295 -0
  255. package/dist/src/skill/controllers/skill.controller.js.map +1 -0
  256. package/dist/src/skill/entities/octo-skill.entity.d.ts +22 -0
  257. package/dist/src/skill/entities/octo-skill.entity.d.ts.map +1 -0
  258. package/dist/src/skill/entities/octo-skill.entity.js +91 -0
  259. package/dist/src/skill/entities/octo-skill.entity.js.map +1 -0
  260. package/dist/src/skill/index.d.ts +9 -0
  261. package/dist/src/skill/index.d.ts.map +1 -0
  262. package/dist/src/skill/index.js +21 -0
  263. package/dist/src/skill/index.js.map +1 -0
  264. package/dist/src/skill/services/skill-generator.service.d.ts +47 -0
  265. package/dist/src/skill/services/skill-generator.service.d.ts.map +1 -0
  266. package/dist/src/skill/services/skill-generator.service.js +232 -0
  267. package/dist/src/skill/services/skill-generator.service.js.map +1 -0
  268. package/dist/src/skill/services/skill-installer.service.d.ts +65 -0
  269. package/dist/src/skill/services/skill-installer.service.d.ts.map +1 -0
  270. package/dist/src/skill/services/skill-installer.service.js +258 -0
  271. package/dist/src/skill/services/skill-installer.service.js.map +1 -0
  272. package/dist/src/skill/services/skill-market-helpers.d.ts +25 -0
  273. package/dist/src/skill/services/skill-market-helpers.d.ts.map +1 -0
  274. package/dist/src/skill/services/skill-market-helpers.js +22 -0
  275. package/dist/src/skill/services/skill-market-helpers.js.map +1 -0
  276. package/dist/src/skill/services/skill-market-utils.d.ts +25 -0
  277. package/dist/src/skill/services/skill-market-utils.d.ts.map +1 -0
  278. package/dist/src/skill/services/skill-market-utils.js +22 -0
  279. package/dist/src/skill/services/skill-market-utils.js.map +1 -0
  280. package/dist/src/skill/services/skill-market.service.d.ts +60 -0
  281. package/dist/src/skill/services/skill-market.service.d.ts.map +1 -0
  282. package/dist/src/skill/services/skill-market.service.js +228 -0
  283. package/dist/src/skill/services/skill-market.service.js.map +1 -0
  284. package/dist/src/skill/services/skill-registry.service.d.ts +61 -0
  285. package/dist/src/skill/services/skill-registry.service.d.ts.map +1 -0
  286. package/dist/src/skill/services/skill-registry.service.js +159 -0
  287. package/dist/src/skill/services/skill-registry.service.js.map +1 -0
  288. package/dist/src/skill/types.d.ts +76 -0
  289. package/dist/src/skill/types.d.ts.map +1 -0
  290. package/dist/src/skill/types.js +6 -0
  291. package/dist/src/skill/types.js.map +1 -0
  292. package/dist/src/workflow-design/DocumentExtractorAgent.d.ts +47 -0
  293. package/dist/src/workflow-design/DocumentExtractorAgent.d.ts.map +1 -0
  294. package/dist/src/workflow-design/DocumentExtractorAgent.js +118 -0
  295. package/dist/src/workflow-design/DocumentExtractorAgent.js.map +1 -0
  296. package/dist/src/workflow-design/N8nNodeKnowledgeBase.d.ts +26 -0
  297. package/dist/src/workflow-design/N8nNodeKnowledgeBase.d.ts.map +1 -0
  298. package/dist/src/workflow-design/N8nNodeKnowledgeBase.js +362 -0
  299. package/dist/src/workflow-design/N8nNodeKnowledgeBase.js.map +1 -0
  300. package/dist/src/workflow-design/OctoAgentClient.d.ts +42 -0
  301. package/dist/src/workflow-design/OctoAgentClient.d.ts.map +1 -0
  302. package/dist/src/workflow-design/OctoAgentClient.js +191 -0
  303. package/dist/src/workflow-design/OctoAgentClient.js.map +1 -0
  304. package/dist/src/workflow-design/WorkflowAssembler.d.ts +10 -0
  305. package/dist/src/workflow-design/WorkflowAssembler.d.ts.map +1 -0
  306. package/dist/src/workflow-design/WorkflowAssembler.js +81 -0
  307. package/dist/src/workflow-design/WorkflowAssembler.js.map +1 -0
  308. package/dist/src/workflow-design/WorkflowDesignOrchestrator.d.ts +45 -0
  309. package/dist/src/workflow-design/WorkflowDesignOrchestrator.d.ts.map +1 -0
  310. package/dist/src/workflow-design/WorkflowDesignOrchestrator.js +265 -0
  311. package/dist/src/workflow-design/WorkflowDesignOrchestrator.js.map +1 -0
  312. package/dist/src/workflow-design/agents/ActionChainAgent.d.ts +9 -0
  313. package/dist/src/workflow-design/agents/ActionChainAgent.d.ts.map +1 -0
  314. package/dist/src/workflow-design/agents/ActionChainAgent.js +79 -0
  315. package/dist/src/workflow-design/agents/ActionChainAgent.js.map +1 -0
  316. package/dist/src/workflow-design/agents/CodeScriptAgent.d.ts +15 -0
  317. package/dist/src/workflow-design/agents/CodeScriptAgent.d.ts.map +1 -0
  318. package/dist/src/workflow-design/agents/CodeScriptAgent.js +96 -0
  319. package/dist/src/workflow-design/agents/CodeScriptAgent.js.map +1 -0
  320. package/dist/src/workflow-design/agents/LogicFlowAgent.d.ts +9 -0
  321. package/dist/src/workflow-design/agents/LogicFlowAgent.d.ts.map +1 -0
  322. package/dist/src/workflow-design/agents/LogicFlowAgent.js +78 -0
  323. package/dist/src/workflow-design/agents/LogicFlowAgent.js.map +1 -0
  324. package/dist/src/workflow-design/agents/TriggerAnalystAgent.d.ts +9 -0
  325. package/dist/src/workflow-design/agents/TriggerAnalystAgent.d.ts.map +1 -0
  326. package/dist/src/workflow-design/agents/TriggerAnalystAgent.js +65 -0
  327. package/dist/src/workflow-design/agents/TriggerAnalystAgent.js.map +1 -0
  328. package/dist/src/workflow-design/agents/WorkflowValidatorAgent.d.ts +9 -0
  329. package/dist/src/workflow-design/agents/WorkflowValidatorAgent.d.ts.map +1 -0
  330. package/dist/src/workflow-design/agents/WorkflowValidatorAgent.js +117 -0
  331. package/dist/src/workflow-design/agents/WorkflowValidatorAgent.js.map +1 -0
  332. package/dist/src/workflow-design/index.d.ts +12 -0
  333. package/dist/src/workflow-design/index.d.ts.map +1 -0
  334. package/dist/src/workflow-design/index.js +23 -0
  335. package/dist/src/workflow-design/index.js.map +1 -0
  336. package/dist/src/workflow-design/n8n-node-templates-data.d.ts +4 -0
  337. package/dist/src/workflow-design/n8n-node-templates-data.d.ts.map +1 -0
  338. package/dist/src/workflow-design/n8n-node-templates-data.js +290 -0
  339. package/dist/src/workflow-design/n8n-node-templates-data.js.map +1 -0
  340. package/dist/src/workflow-design/types.d.ts +155 -0
  341. package/dist/src/workflow-design/types.d.ts.map +1 -0
  342. package/dist/src/workflow-design/types.js +6 -0
  343. package/dist/src/workflow-design/types.js.map +1 -0
  344. package/dist/workflow-design/DocumentExtractorAgent.d.ts +47 -0
  345. package/dist/workflow-design/DocumentExtractorAgent.d.ts.map +1 -0
  346. package/dist/workflow-design/DocumentExtractorAgent.js +118 -0
  347. package/dist/workflow-design/DocumentExtractorAgent.js.map +1 -0
  348. package/dist/workflow-design/N8nNodeKnowledgeBase.d.ts +26 -0
  349. package/dist/workflow-design/N8nNodeKnowledgeBase.d.ts.map +1 -0
  350. package/dist/workflow-design/N8nNodeKnowledgeBase.js +320 -0
  351. package/dist/workflow-design/N8nNodeKnowledgeBase.js.map +1 -0
  352. package/dist/workflow-design/OctoAgentClient.d.ts +42 -0
  353. package/dist/workflow-design/OctoAgentClient.d.ts.map +1 -0
  354. package/dist/workflow-design/OctoAgentClient.js +166 -0
  355. package/dist/workflow-design/OctoAgentClient.js.map +1 -0
  356. package/dist/workflow-design/WorkflowDesignOrchestrator.d.ts +45 -0
  357. package/dist/workflow-design/WorkflowDesignOrchestrator.d.ts.map +1 -0
  358. package/dist/workflow-design/WorkflowDesignOrchestrator.js +265 -0
  359. package/dist/workflow-design/WorkflowDesignOrchestrator.js.map +1 -0
  360. package/dist/workflow-design/agents/ActionChainAgent.d.ts +9 -0
  361. package/dist/workflow-design/agents/ActionChainAgent.d.ts.map +1 -0
  362. package/dist/workflow-design/agents/ActionChainAgent.js +79 -0
  363. package/dist/workflow-design/agents/ActionChainAgent.js.map +1 -0
  364. package/dist/workflow-design/agents/CodeScriptAgent.d.ts +15 -0
  365. package/dist/workflow-design/agents/CodeScriptAgent.d.ts.map +1 -0
  366. package/dist/workflow-design/agents/CodeScriptAgent.js +96 -0
  367. package/dist/workflow-design/agents/CodeScriptAgent.js.map +1 -0
  368. package/dist/workflow-design/agents/LogicFlowAgent.d.ts +9 -0
  369. package/dist/workflow-design/agents/LogicFlowAgent.d.ts.map +1 -0
  370. package/dist/workflow-design/agents/LogicFlowAgent.js +78 -0
  371. package/dist/workflow-design/agents/LogicFlowAgent.js.map +1 -0
  372. package/dist/workflow-design/agents/TriggerAnalystAgent.d.ts +9 -0
  373. package/dist/workflow-design/agents/TriggerAnalystAgent.d.ts.map +1 -0
  374. package/dist/workflow-design/agents/TriggerAnalystAgent.js +65 -0
  375. package/dist/workflow-design/agents/TriggerAnalystAgent.js.map +1 -0
  376. package/dist/workflow-design/agents/WorkflowValidatorAgent.d.ts +9 -0
  377. package/dist/workflow-design/agents/WorkflowValidatorAgent.d.ts.map +1 -0
  378. package/dist/workflow-design/agents/WorkflowValidatorAgent.js +117 -0
  379. package/dist/workflow-design/agents/WorkflowValidatorAgent.js.map +1 -0
  380. package/dist/workflow-design/index.d.ts +12 -0
  381. package/dist/workflow-design/index.d.ts.map +1 -0
  382. package/dist/workflow-design/index.js +23 -0
  383. package/dist/workflow-design/index.js.map +1 -0
  384. package/dist/workflow-design/types.d.ts +155 -0
  385. package/dist/workflow-design/types.d.ts.map +1 -0
  386. package/dist/workflow-design/types.js +6 -0
  387. package/dist/workflow-design/types.js.map +1 -0
  388. package/package.json +21 -14
  389. package/web/components/CreateWorkspaceDialog.tsx +157 -0
  390. package/web/components/DirBrowser.tsx +85 -0
  391. package/web/components/GithubTokenDialog.tsx +152 -0
  392. package/web/components/LocalPathSection.tsx +91 -0
  393. package/web/components/MarketInstallDialog.tsx +196 -0
  394. package/web/components/MarketSkillCard.tsx +74 -0
  395. package/web/components/RepoList.tsx +97 -0
  396. package/web/components/SearchResultsGrid.tsx +55 -0
  397. package/web/components/SkillCard.tsx +4 -1
  398. package/web/components/ToolCard.tsx +88 -0
  399. package/web/components/WorkspaceCard.tsx +146 -0
  400. package/web/components/WorkspaceItem.tsx +65 -0
  401. package/web/components/WorkspaceSelect.tsx +94 -0
  402. package/web/dist/module.iife.js +254 -0
  403. package/web/dynamic-entry.tsx +94 -0
  404. package/web/index.ts +18 -1
  405. package/web/manifest.ts +7 -0
  406. package/web/messages/en-US.json +231 -7
  407. package/web/messages/zh-CN.json +234 -7
  408. package/web/pages/AgentMarketPage.tsx +318 -0
  409. package/web/pages/AgentRunsPage.tsx +162 -0
  410. package/web/pages/AgentsPage.tsx +239 -0
  411. package/web/pages/AiCliToolsPage.tsx +17 -128
  412. package/web/pages/ApprovalsPage.tsx +260 -0
  413. package/web/pages/OrchestratorPage.tsx +384 -0
  414. package/web/pages/SessionsPage.tsx +248 -0
  415. package/web/pages/SkillMarketPage.tsx +25 -0
  416. package/web/pages/WorkspaceSection.tsx +13 -113
  417. package/web/pages/WorkspacesPage.tsx +29 -254
  418. package/web/services/agent-approval.service.ts +35 -0
  419. package/web/services/agent-gateway.service.ts +41 -0
  420. package/web/services/agent-run.service.ts +48 -0
  421. package/web/services/agent-session.service.ts +30 -0
  422. package/web/services/ai-cli-service.ts +33 -0
  423. package/web/services/external-agent.service.ts +38 -0
  424. package/web/services/orchestrator.service.ts +52 -0
  425. package/web/services/skill-market-service.ts +88 -0
  426. package/web/services/skill-service.ts +12 -0
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CliExecutorService = void 0;
10
+ const node_child_process_1 = require("node:child_process");
11
+ const core_1 = require("@octo-cyber/core");
12
+ const cli_registry_service_js_1 = require("./cli-registry.service.js");
13
+ const DEFAULT_TIMEOUT_MS = 300_000;
14
+ const MAX_TIMEOUT_MS = 1_800_000; // 30 minutes — async design tasks can run long
15
+ const MAX_CONCURRENT = 3;
16
+ /**
17
+ * Unified CLI executor service.
18
+ *
19
+ * Spawns AI CLI processes, captures output, enforces timeouts,
20
+ * and limits concurrency. Uses registered adapters via CliRegistryService
21
+ * to build tool-specific arguments and parse output.
22
+ */
23
+ let CliExecutorService = class CliExecutorService {
24
+ logger = core_1.Container.get(core_1.LoggerService);
25
+ registry = core_1.Container.get(cli_registry_service_js_1.CliRegistryService);
26
+ activeCount = 0;
27
+ waitQueue = [];
28
+ /** Execute an AI CLI tool */
29
+ async execute(options) {
30
+ const adapter = this.registry.getAdapter(options.tool);
31
+ if (!adapter) {
32
+ return this.createErrorResult(options.tool, `No adapter registered for tool: ${options.tool}`);
33
+ }
34
+ const toolInfo = await this.registry.getToolInfo(options.tool);
35
+ if (!toolInfo?.isAvailable) {
36
+ return this.createErrorResult(options.tool, `Tool not available: ${options.tool}. Is it installed?`);
37
+ }
38
+ await this.acquireSlot();
39
+ try {
40
+ if (adapter.executionType === 'http' && adapter.executeHttp) {
41
+ return await adapter.executeHttp(options);
42
+ }
43
+ return await this.executeInternal(options, toolInfo.executablePath);
44
+ }
45
+ finally {
46
+ this.releaseSlot();
47
+ }
48
+ }
49
+ /** Execute an AI CLI tool with streaming output (for http-type adapters only) */
50
+ async executeStream(options, onChunk) {
51
+ const adapter = this.registry.getAdapter(options.tool);
52
+ if (!adapter?.executeHttpStream) {
53
+ return this.createErrorResult(options.tool, `Streaming not supported by tool: ${options.tool}`);
54
+ }
55
+ const toolInfo = await this.registry.getToolInfo(options.tool);
56
+ if (!toolInfo?.isAvailable) {
57
+ return this.createErrorResult(options.tool, `Tool not available: ${options.tool}`);
58
+ }
59
+ await this.acquireSlot();
60
+ try {
61
+ return await adapter.executeHttpStream(options, onChunk);
62
+ }
63
+ finally {
64
+ this.releaseSlot();
65
+ }
66
+ }
67
+ /** Current number of active executions */
68
+ get activeExecutions() {
69
+ return this.activeCount;
70
+ }
71
+ // ─── Private ────────────────────────────────────────────────
72
+ async executeInternal(options, executablePath) {
73
+ const adapter = this.registry.getAdapter(options.tool);
74
+ const args = adapter.buildArgs(options);
75
+ const env = {
76
+ ...process.env,
77
+ ...adapter.buildEnv(options),
78
+ ...options.env,
79
+ };
80
+ // Allow CLI tools to run even when Octo server is started from a Claude Code session
81
+ delete env.CLAUDECODE;
82
+ const timeoutMs = Math.min(options.timeoutMs ?? DEFAULT_TIMEOUT_MS, MAX_TIMEOUT_MS);
83
+ const workingDir = options.workingDir ?? process.cwd();
84
+ this.logger.info(`[CliExecutor] Executing ${options.tool}: ${executablePath} (timeout: ${timeoutMs}ms)`);
85
+ const startTime = Date.now();
86
+ return new Promise((resolve) => {
87
+ const child = (0, node_child_process_1.spawn)(executablePath, args, {
88
+ cwd: workingDir,
89
+ env,
90
+ stdio: ['pipe', 'pipe', 'pipe'],
91
+ });
92
+ let stdout = '';
93
+ let stderr = '';
94
+ let isTimedOut = false;
95
+ child.stdout.on('data', (data) => {
96
+ stdout += data.toString();
97
+ });
98
+ child.stderr.on('data', (data) => {
99
+ stderr += data.toString();
100
+ });
101
+ // Send prompt via stdin for security (avoid shell injection)
102
+ if (options.prompt) {
103
+ child.stdin.write(options.prompt);
104
+ child.stdin.end();
105
+ }
106
+ const timer = setTimeout(() => {
107
+ isTimedOut = true;
108
+ child.kill('SIGTERM');
109
+ // Force kill after 5 seconds if SIGTERM is ignored
110
+ setTimeout(() => {
111
+ if (!child.killed) {
112
+ child.kill('SIGKILL');
113
+ }
114
+ }, 5000);
115
+ }, timeoutMs);
116
+ child.on('close', (exitCode) => {
117
+ clearTimeout(timer);
118
+ const durationMs = Date.now() - startTime;
119
+ if (isTimedOut) {
120
+ this.logger.warn(`[CliExecutor] ${options.tool} timed out after ${durationMs}ms`);
121
+ resolve(this.createErrorResult(options.tool, `Execution timed out after ${timeoutMs}ms`, exitCode ?? 124, durationMs));
122
+ return;
123
+ }
124
+ const result = adapter.parseOutput(stdout, stderr, exitCode ?? 1, durationMs);
125
+ this.logger.info(`[CliExecutor] ${options.tool} completed in ${durationMs}ms (exit: ${exitCode})`);
126
+ resolve(result);
127
+ });
128
+ child.on('error', (err) => {
129
+ clearTimeout(timer);
130
+ const durationMs = Date.now() - startTime;
131
+ this.logger.error(`[CliExecutor] ${options.tool} process error: ${err.message}`);
132
+ resolve(this.createErrorResult(options.tool, `Process error: ${err.message}`, 1, durationMs));
133
+ });
134
+ });
135
+ }
136
+ createErrorResult(tool, error, exitCode = 1, durationMs = 0) {
137
+ return {
138
+ success: false,
139
+ output: '',
140
+ error,
141
+ exitCode,
142
+ durationMs,
143
+ tool,
144
+ };
145
+ }
146
+ // ─── Concurrency control (simple semaphore) ─────────────────
147
+ acquireSlot() {
148
+ if (this.activeCount < MAX_CONCURRENT) {
149
+ this.activeCount++;
150
+ return Promise.resolve();
151
+ }
152
+ return new Promise((resolve) => {
153
+ this.waitQueue.push(() => {
154
+ this.activeCount++;
155
+ resolve();
156
+ });
157
+ });
158
+ }
159
+ releaseSlot() {
160
+ this.activeCount--;
161
+ const next = this.waitQueue.shift();
162
+ if (next)
163
+ next();
164
+ }
165
+ };
166
+ exports.CliExecutorService = CliExecutorService;
167
+ exports.CliExecutorService = CliExecutorService = __decorate([
168
+ (0, core_1.Service)()
169
+ ], CliExecutorService);
170
+ //# sourceMappingURL=cli-executor.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-executor.service.js","sourceRoot":"","sources":["../../../src/cli/cli-executor.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { ICliAdapter, CliToolInfo, CliToolName } from './types.js';
2
+ /**
3
+ * Registry of available AI CLI tools.
4
+ *
5
+ * Manages CLI adapter registration, tool detection, and health checks.
6
+ * Adapters are registered at module initialization time;
7
+ * detection runs lazily on first query or explicitly via refresh().
8
+ */
9
+ export declare class CliRegistryService {
10
+ private readonly logger;
11
+ private readonly adapters;
12
+ private readonly toolInfoCache;
13
+ private hasDetected;
14
+ /** Register a CLI adapter */
15
+ registerAdapter(adapter: ICliAdapter): void;
16
+ /** Get adapter by tool name */
17
+ getAdapter(name: CliToolName): ICliAdapter | undefined;
18
+ /** Get all registered adapter names */
19
+ getRegisteredTools(): CliToolName[];
20
+ /** Check if a specific tool is available (installed and detected) */
21
+ isToolAvailable(name: CliToolName): Promise<boolean>;
22
+ /** Get info for a specific tool */
23
+ getToolInfo(name: CliToolName): Promise<CliToolInfo | null>;
24
+ /** Get info for all registered tools */
25
+ getAvailableTools(): Promise<CliToolInfo[]>;
26
+ /** Force re-detection of all tools */
27
+ refresh(): Promise<CliToolInfo[]>;
28
+ /**
29
+ * Health check for a specific tool.
30
+ * Re-detects the tool regardless of cache.
31
+ */
32
+ healthCheck(name: CliToolName): Promise<CliToolInfo | null>;
33
+ /** Get available models for a specific tool */
34
+ getModels(name: CliToolName): Promise<string[]>;
35
+ private ensureDetected;
36
+ private detectSingleTool;
37
+ }
38
+ //# sourceMappingURL=cli-registry.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-registry.service.d.ts","sourceRoot":"","sources":["../../../src/cli/cli-registry.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAExE;;;;;;GAMG;AACH,qBACa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuC;IACrE,OAAO,CAAC,WAAW,CAAS;IAE5B,6BAA6B;IAC7B,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAO3C,+BAA+B;IAC/B,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS;IAItD,uCAAuC;IACvC,kBAAkB,IAAI,WAAW,EAAE;IAInC,qEAAqE;IAC/D,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAM1D,mCAAmC;IAC7B,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAKjE,wCAAwC;IAClC,iBAAiB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAKjD,sCAAsC;IAChC,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAMvC;;;OAGG;IACG,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IASjE,+CAA+C;IACzC,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAQvC,cAAc;YAmBd,gBAAgB;CAoB/B"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CliRegistryService = void 0;
10
+ const core_1 = require("@octo-cyber/core");
11
+ /**
12
+ * Registry of available AI CLI tools.
13
+ *
14
+ * Manages CLI adapter registration, tool detection, and health checks.
15
+ * Adapters are registered at module initialization time;
16
+ * detection runs lazily on first query or explicitly via refresh().
17
+ */
18
+ let CliRegistryService = class CliRegistryService {
19
+ logger = core_1.Container.get(core_1.LoggerService);
20
+ adapters = new Map();
21
+ toolInfoCache = new Map();
22
+ hasDetected = false;
23
+ /** Register a CLI adapter */
24
+ registerAdapter(adapter) {
25
+ this.adapters.set(adapter.toolName, adapter);
26
+ this.logger.info(`[CliRegistry] Registered adapter: ${adapter.displayName}`);
27
+ }
28
+ /** Get adapter by tool name */
29
+ getAdapter(name) {
30
+ return this.adapters.get(name);
31
+ }
32
+ /** Get all registered adapter names */
33
+ getRegisteredTools() {
34
+ return [...this.adapters.keys()];
35
+ }
36
+ /** Check if a specific tool is available (installed and detected) */
37
+ async isToolAvailable(name) {
38
+ await this.ensureDetected();
39
+ const info = this.toolInfoCache.get(name);
40
+ return info?.isAvailable ?? false;
41
+ }
42
+ /** Get info for a specific tool */
43
+ async getToolInfo(name) {
44
+ await this.ensureDetected();
45
+ return this.toolInfoCache.get(name) ?? null;
46
+ }
47
+ /** Get info for all registered tools */
48
+ async getAvailableTools() {
49
+ await this.ensureDetected();
50
+ return [...this.toolInfoCache.values()];
51
+ }
52
+ /** Force re-detection of all tools */
53
+ async refresh() {
54
+ this.hasDetected = false;
55
+ this.toolInfoCache.clear();
56
+ return this.getAvailableTools();
57
+ }
58
+ /**
59
+ * Health check for a specific tool.
60
+ * Re-detects the tool regardless of cache.
61
+ */
62
+ async healthCheck(name) {
63
+ const adapter = this.adapters.get(name);
64
+ if (!adapter)
65
+ return null;
66
+ const info = await this.detectSingleTool(adapter);
67
+ this.toolInfoCache.set(name, info);
68
+ return info;
69
+ }
70
+ /** Get available models for a specific tool */
71
+ async getModels(name) {
72
+ const adapter = this.adapters.get(name);
73
+ if (!adapter?.listModels)
74
+ return [];
75
+ return adapter.listModels();
76
+ }
77
+ // ─── Private ────────────────────────────────────────────────
78
+ async ensureDetected() {
79
+ if (this.hasDetected)
80
+ return;
81
+ const detectionPromises = [...this.adapters.values()].map((adapter) => this.detectSingleTool(adapter));
82
+ const results = await Promise.all(detectionPromises);
83
+ for (const info of results) {
84
+ this.toolInfoCache.set(info.name, info);
85
+ }
86
+ this.hasDetected = true;
87
+ const available = results.filter((r) => r.isAvailable);
88
+ this.logger.info(`[CliRegistry] Detection complete: ${available.length}/${results.length} tools available`);
89
+ }
90
+ async detectSingleTool(adapter) {
91
+ const toolType = adapter.executionType === 'spawn' ? 'cli' : 'api';
92
+ try {
93
+ const info = await adapter.detectInstallation();
94
+ if (info)
95
+ return { ...info, toolType };
96
+ }
97
+ catch (err) {
98
+ this.logger.warn(`[CliRegistry] Detection failed for ${adapter.toolName}: ${err}`);
99
+ }
100
+ return {
101
+ name: adapter.toolName,
102
+ displayName: adapter.displayName,
103
+ version: '',
104
+ executablePath: '',
105
+ isAvailable: false,
106
+ toolType,
107
+ };
108
+ }
109
+ };
110
+ exports.CliRegistryService = CliRegistryService;
111
+ exports.CliRegistryService = CliRegistryService = __decorate([
112
+ (0, core_1.Service)()
113
+ ], CliRegistryService);
114
+ //# sourceMappingURL=cli-registry.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-registry.service.js","sourceRoot":"","sources":["../../../src/cli/cli-registry.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { Request, Response } from '@octo-cyber/core';
2
+ /**
3
+ * REST API controller for AI CLI operations.
4
+ *
5
+ * Endpoints:
6
+ * - GET /api/v1/ai-cli/tools — List available CLI tools
7
+ * - GET /api/v1/ai-cli/tools/:name/health — Health check for a tool
8
+ * - GET /api/v1/ai-cli/tools/:name/models — List models for a tool
9
+ * - POST /api/v1/ai-cli/execute — Execute a CLI tool
10
+ * - GET /api/v1/ai-cli/workspaces — List workspaces
11
+ * - POST /api/v1/ai-cli/workspaces — Create workspace (local or github)
12
+ * - POST /api/v1/ai-cli/workspaces/:id/pull — Pull latest for github workspace
13
+ * - POST /api/v1/ai-cli/workspaces/:id/delete — Delete workspace
14
+ */
15
+ export declare class AiCliController {
16
+ private registry;
17
+ private executor;
18
+ private workspace;
19
+ /** List all registered CLI tools with availability status */
20
+ listTools(_req: Request, res: Response): Promise<void>;
21
+ /** Health check for a specific CLI tool */
22
+ healthCheck(req: Request, res: Response): Promise<void>;
23
+ /** List available models for a specific tool */
24
+ listModels(req: Request, res: Response): Promise<void>;
25
+ /** Execute an AI CLI tool */
26
+ execute(req: Request, res: Response): Promise<void>;
27
+ /** Browse directories at a given path */
28
+ browseDir(req: Request, res: Response): Promise<void>;
29
+ /** Detect git info for a directory */
30
+ detectGit(req: Request, res: Response): Promise<void>;
31
+ /** List all workspaces */
32
+ listWorkspaces(_req: Request, res: Response): Promise<void>;
33
+ /** Create a new workspace (local or github) */
34
+ createWorkspace(req: Request, res: Response): Promise<void>;
35
+ /** Pull latest changes for a github workspace */
36
+ pullWorkspace(req: Request, res: Response): Promise<void>;
37
+ /** Delete a workspace */
38
+ deleteWorkspace(req: Request, res: Response): Promise<void>;
39
+ }
40
+ //# sourceMappingURL=ai-cli.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-cli.controller.d.ts","sourceRoot":"","sources":["../../../../src/cli/controllers/ai-cli.controller.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQ1D;;;;;;;;;;;;GAYG;AACH,qBACa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,SAAS,CAAmC;IAEpD,6DAA6D;IAEvD,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D,2CAA2C;IAErC,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7D,gDAAgD;IAE1C,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D,6BAA6B;IAEvB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BzD,yCAAyC;IAEnC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,sCAAsC;IAEhC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D,0BAA0B;IAEpB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE,+CAA+C;IAEzC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BjE,iDAAiD;IAE3C,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/D,yBAAyB;IAEnB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAKlE"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AiCliController = void 0;
13
+ const node_os_1 = require("node:os");
14
+ const core_1 = require("@octo-cyber/core");
15
+ const cli_registry_service_js_1 = require("../cli-registry.service.js");
16
+ const cli_executor_service_js_1 = require("../cli-executor.service.js");
17
+ const workspace_service_js_1 = require("../workspace.service.js");
18
+ const VALID_TOOLS = new Set(['claude', 'gemini', 'codex', 'antigravity', 'cli-proxy-api']);
19
+ /**
20
+ * REST API controller for AI CLI operations.
21
+ *
22
+ * Endpoints:
23
+ * - GET /api/v1/ai-cli/tools — List available CLI tools
24
+ * - GET /api/v1/ai-cli/tools/:name/health — Health check for a tool
25
+ * - GET /api/v1/ai-cli/tools/:name/models — List models for a tool
26
+ * - POST /api/v1/ai-cli/execute — Execute a CLI tool
27
+ * - GET /api/v1/ai-cli/workspaces — List workspaces
28
+ * - POST /api/v1/ai-cli/workspaces — Create workspace (local or github)
29
+ * - POST /api/v1/ai-cli/workspaces/:id/pull — Pull latest for github workspace
30
+ * - POST /api/v1/ai-cli/workspaces/:id/delete — Delete workspace
31
+ */
32
+ let AiCliController = class AiCliController {
33
+ registry = core_1.Container.get(cli_registry_service_js_1.CliRegistryService);
34
+ executor = core_1.Container.get(cli_executor_service_js_1.CliExecutorService);
35
+ workspace = core_1.Container.get(workspace_service_js_1.WorkspaceService);
36
+ /** List all registered CLI tools with availability status */
37
+ async listTools(_req, res) {
38
+ const tools = await this.registry.getAvailableTools();
39
+ res.json(core_1.ApiResponse.ok(tools));
40
+ }
41
+ /** Health check for a specific CLI tool */
42
+ async healthCheck(req, res) {
43
+ const name = req.params.name;
44
+ if (!VALID_TOOLS.has(name)) {
45
+ throw core_1.AppError.badRequest(`Invalid tool name: ${name}`);
46
+ }
47
+ const info = await this.registry.healthCheck(name);
48
+ if (!info) {
49
+ throw core_1.AppError.notFound(`Tool not registered: ${name}`);
50
+ }
51
+ res.json(core_1.ApiResponse.ok(info));
52
+ }
53
+ /** List available models for a specific tool */
54
+ async listModels(req, res) {
55
+ const name = req.params.name;
56
+ if (!VALID_TOOLS.has(name)) {
57
+ throw core_1.AppError.badRequest(`Invalid tool name: ${name}`);
58
+ }
59
+ const models = await this.registry.getModels(name);
60
+ res.json(core_1.ApiResponse.ok(models));
61
+ }
62
+ /** Execute an AI CLI tool */
63
+ async execute(req, res) {
64
+ const { tool, prompt, model, workingDir, timeoutMs, args, jsonOutput } = req.body;
65
+ if (!tool || !VALID_TOOLS.has(tool)) {
66
+ throw core_1.AppError.badRequest(`Invalid or missing tool. Must be one of: ${[...VALID_TOOLS].join(', ')}`);
67
+ }
68
+ if (!prompt || typeof prompt !== 'string') {
69
+ throw core_1.AppError.badRequest('Missing or invalid prompt');
70
+ }
71
+ const result = await this.executor.execute({
72
+ tool: tool,
73
+ prompt,
74
+ model: model && typeof model === 'string' ? model : undefined,
75
+ workingDir: workingDir || (0, node_os_1.tmpdir)(),
76
+ timeoutMs: timeoutMs ? Number(timeoutMs) : undefined,
77
+ args: Array.isArray(args) ? args : undefined,
78
+ jsonOutput: Boolean(jsonOutput),
79
+ });
80
+ res.json(core_1.ApiResponse.ok(result));
81
+ }
82
+ /** Browse directories at a given path */
83
+ async browseDir(req, res) {
84
+ const dirPath = req.query.path || '/';
85
+ const entries = await this.workspace.browseDir(dirPath);
86
+ res.json(core_1.ApiResponse.ok(entries));
87
+ }
88
+ /** Detect git info for a directory */
89
+ async detectGit(req, res) {
90
+ const { path: dirPath } = req.body;
91
+ if (!dirPath || typeof dirPath !== 'string') {
92
+ throw core_1.AppError.badRequest('Directory path is required');
93
+ }
94
+ const info = await this.workspace.detectGitInfo(dirPath);
95
+ res.json(core_1.ApiResponse.ok(info));
96
+ }
97
+ /** List all workspaces */
98
+ async listWorkspaces(_req, res) {
99
+ const workspaces = await this.workspace.listWorkspaces();
100
+ res.json(core_1.ApiResponse.ok(workspaces));
101
+ }
102
+ /** Create a new workspace (local or github) */
103
+ async createWorkspace(req, res) {
104
+ const { type, name, localPath, repoUrl, branch, description } = req.body;
105
+ if (!name || typeof name !== 'string') {
106
+ throw core_1.AppError.badRequest('Workspace name is required');
107
+ }
108
+ if (type === 'local') {
109
+ if (!localPath || typeof localPath !== 'string') {
110
+ throw core_1.AppError.badRequest('Local workspace requires a localPath');
111
+ }
112
+ const ws = await this.workspace.createLocalWorkspace(name, localPath, {
113
+ description, repoUrl, branch,
114
+ });
115
+ res.status(201).json(core_1.ApiResponse.ok(ws, 'Workspace created'));
116
+ }
117
+ else if (type === 'github') {
118
+ if (!repoUrl || typeof repoUrl !== 'string') {
119
+ throw core_1.AppError.badRequest('GitHub workspace requires a repoUrl');
120
+ }
121
+ if (!branch || typeof branch !== 'string') {
122
+ throw core_1.AppError.badRequest('GitHub workspace requires a branch');
123
+ }
124
+ const ws = await this.workspace.createGithubWorkspace(name, repoUrl, branch, description);
125
+ res.status(201).json(core_1.ApiResponse.ok(ws, 'Workspace created'));
126
+ }
127
+ else {
128
+ throw core_1.AppError.badRequest('Invalid workspace type. Must be "local" or "github"');
129
+ }
130
+ }
131
+ /** Pull latest changes for a github workspace */
132
+ async pullWorkspace(req, res) {
133
+ const id = req.params.id;
134
+ await this.workspace.pullWorkspace(id);
135
+ res.json(core_1.ApiResponse.ok(null, 'Workspace pulled'));
136
+ }
137
+ /** Delete a workspace */
138
+ async deleteWorkspace(req, res) {
139
+ const id = req.params.id;
140
+ await this.workspace.deleteWorkspace(id);
141
+ res.json(core_1.ApiResponse.ok(null, 'Workspace deleted'));
142
+ }
143
+ };
144
+ exports.AiCliController = AiCliController;
145
+ __decorate([
146
+ (0, core_1.Get)('/tools'),
147
+ __metadata("design:type", Function),
148
+ __metadata("design:paramtypes", [Object, Object]),
149
+ __metadata("design:returntype", Promise)
150
+ ], AiCliController.prototype, "listTools", null);
151
+ __decorate([
152
+ (0, core_1.Get)('/tools/:name/health'),
153
+ __metadata("design:type", Function),
154
+ __metadata("design:paramtypes", [Object, Object]),
155
+ __metadata("design:returntype", Promise)
156
+ ], AiCliController.prototype, "healthCheck", null);
157
+ __decorate([
158
+ (0, core_1.Get)('/tools/:name/models'),
159
+ __metadata("design:type", Function),
160
+ __metadata("design:paramtypes", [Object, Object]),
161
+ __metadata("design:returntype", Promise)
162
+ ], AiCliController.prototype, "listModels", null);
163
+ __decorate([
164
+ (0, core_1.Post)('/execute'),
165
+ __metadata("design:type", Function),
166
+ __metadata("design:paramtypes", [Object, Object]),
167
+ __metadata("design:returntype", Promise)
168
+ ], AiCliController.prototype, "execute", null);
169
+ __decorate([
170
+ (0, core_1.Get)('/browse-dir'),
171
+ __metadata("design:type", Function),
172
+ __metadata("design:paramtypes", [Object, Object]),
173
+ __metadata("design:returntype", Promise)
174
+ ], AiCliController.prototype, "browseDir", null);
175
+ __decorate([
176
+ (0, core_1.Post)('/detect-git'),
177
+ __metadata("design:type", Function),
178
+ __metadata("design:paramtypes", [Object, Object]),
179
+ __metadata("design:returntype", Promise)
180
+ ], AiCliController.prototype, "detectGit", null);
181
+ __decorate([
182
+ (0, core_1.Get)('/workspaces'),
183
+ __metadata("design:type", Function),
184
+ __metadata("design:paramtypes", [Object, Object]),
185
+ __metadata("design:returntype", Promise)
186
+ ], AiCliController.prototype, "listWorkspaces", null);
187
+ __decorate([
188
+ (0, core_1.Post)('/workspaces'),
189
+ __metadata("design:type", Function),
190
+ __metadata("design:paramtypes", [Object, Object]),
191
+ __metadata("design:returntype", Promise)
192
+ ], AiCliController.prototype, "createWorkspace", null);
193
+ __decorate([
194
+ (0, core_1.Post)('/workspaces/:id/pull'),
195
+ __metadata("design:type", Function),
196
+ __metadata("design:paramtypes", [Object, Object]),
197
+ __metadata("design:returntype", Promise)
198
+ ], AiCliController.prototype, "pullWorkspace", null);
199
+ __decorate([
200
+ (0, core_1.Post)('/workspaces/:id/delete'),
201
+ __metadata("design:type", Function),
202
+ __metadata("design:paramtypes", [Object, Object]),
203
+ __metadata("design:returntype", Promise)
204
+ ], AiCliController.prototype, "deleteWorkspace", null);
205
+ exports.AiCliController = AiCliController = __decorate([
206
+ (0, core_1.Controller)('/api/v1/ai-cli')
207
+ ], AiCliController);
208
+ //# sourceMappingURL=ai-cli.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-cli.controller.js","sourceRoot":"","sources":["../../../../src/cli/controllers/ai-cli.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export type { CliToolName, CliToolInfo, CliExecuteOptions, CliExecuteResult, ICliAdapter, FileInput, FileOutput, WorkspaceType, WorkspaceMetadata, Workspace, DetectedGitInfo, DirEntry, } from './types.js';
2
+ export { CliRegistryService } from './cli-registry.service.js';
3
+ export { CliExecutorService } from './cli-executor.service.js';
4
+ export { WorkspaceService } from './workspace.service.js';
5
+ export { ClaudeCliAdapter } from './adapters/claude-cli.adapter.js';
6
+ export { GeminiCliAdapter } from './adapters/gemini-cli.adapter.js';
7
+ export { CodexCliAdapter } from './adapters/codex-cli.adapter.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,QAAQ,GACT,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CodexCliAdapter = exports.GeminiCliAdapter = exports.ClaudeCliAdapter = exports.WorkspaceService = exports.CliExecutorService = exports.CliRegistryService = void 0;
4
+ var cli_registry_service_js_1 = require("./cli-registry.service.js");
5
+ Object.defineProperty(exports, "CliRegistryService", { enumerable: true, get: function () { return cli_registry_service_js_1.CliRegistryService; } });
6
+ var cli_executor_service_js_1 = require("./cli-executor.service.js");
7
+ Object.defineProperty(exports, "CliExecutorService", { enumerable: true, get: function () { return cli_executor_service_js_1.CliExecutorService; } });
8
+ var workspace_service_js_1 = require("./workspace.service.js");
9
+ Object.defineProperty(exports, "WorkspaceService", { enumerable: true, get: function () { return workspace_service_js_1.WorkspaceService; } });
10
+ // Adapters
11
+ var claude_cli_adapter_js_1 = require("./adapters/claude-cli.adapter.js");
12
+ Object.defineProperty(exports, "ClaudeCliAdapter", { enumerable: true, get: function () { return claude_cli_adapter_js_1.ClaudeCliAdapter; } });
13
+ var gemini_cli_adapter_js_1 = require("./adapters/gemini-cli.adapter.js");
14
+ Object.defineProperty(exports, "GeminiCliAdapter", { enumerable: true, get: function () { return gemini_cli_adapter_js_1.GeminiCliAdapter; } });
15
+ var codex_cli_adapter_js_1 = require("./adapters/codex-cli.adapter.js");
16
+ Object.defineProperty(exports, "CodexCliAdapter", { enumerable: true, get: function () { return codex_cli_adapter_js_1.CodexCliAdapter; } });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/index.ts"],"names":[],"mappings":";;;AAeA,qEAA+D;AAAtD,6HAAA,kBAAkB,OAAA;AAC3B,qEAA+D;AAAtD,6HAAA,kBAAkB,OAAA;AAC3B,+DAA0D;AAAjD,wHAAA,gBAAgB,OAAA;AAEzB,WAAW;AACX,0EAAoE;AAA3D,yHAAA,gBAAgB,OAAA;AACzB,0EAAoE;AAA3D,yHAAA,gBAAgB,OAAA;AACzB,wEAAkE;AAAzD,uHAAA,eAAe,OAAA"}