@octo-cyber/ai 0.5.4 → 0.5.6

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 (329) hide show
  1. package/dist/shared/IClaudeCodeSessionManager.d.ts +151 -0
  2. package/dist/shared/IClaudeCodeSessionManager.d.ts.map +1 -0
  3. package/dist/shared/IClaudeCodeSessionManager.js +6 -0
  4. package/dist/shared/IClaudeCodeSessionManager.js.map +1 -0
  5. package/dist/src/BranchDecisionEngine.d.ts +73 -0
  6. package/dist/src/BranchDecisionEngine.d.ts.map +1 -0
  7. package/dist/src/BranchDecisionEngine.js +195 -0
  8. package/dist/src/BranchDecisionEngine.js.map +1 -0
  9. package/dist/src/agent/agent-approval.controller.d.ts +20 -0
  10. package/dist/src/agent/agent-approval.controller.d.ts.map +1 -0
  11. package/dist/src/agent/agent-approval.controller.js +101 -0
  12. package/dist/src/agent/agent-approval.controller.js.map +1 -0
  13. package/dist/src/agent/agent-approval.entity.d.ts +15 -0
  14. package/dist/src/agent/agent-approval.entity.d.ts.map +1 -0
  15. package/dist/src/agent/agent-approval.entity.js +63 -0
  16. package/dist/src/agent/agent-approval.entity.js.map +1 -0
  17. package/dist/src/agent/agent-approval.service.d.ts +35 -0
  18. package/dist/src/agent/agent-approval.service.d.ts.map +1 -0
  19. package/dist/src/agent/agent-approval.service.js +109 -0
  20. package/dist/src/agent/agent-approval.service.js.map +1 -0
  21. package/dist/src/agent/agent-gateway.controller.d.ts +30 -0
  22. package/dist/src/agent/agent-gateway.controller.d.ts.map +1 -0
  23. package/dist/src/agent/agent-gateway.controller.js +112 -0
  24. package/dist/src/agent/agent-gateway.controller.js.map +1 -0
  25. package/dist/src/agent/agent-gateway.service.d.ts +33 -0
  26. package/dist/src/agent/agent-gateway.service.d.ts.map +1 -0
  27. package/dist/src/agent/agent-gateway.service.js +84 -0
  28. package/dist/src/agent/agent-gateway.service.js.map +1 -0
  29. package/dist/src/agent/agent-registry.service.d.ts +30 -0
  30. package/dist/src/agent/agent-registry.service.d.ts.map +1 -0
  31. package/dist/src/agent/agent-registry.service.js +45 -0
  32. package/dist/src/agent/agent-registry.service.js.map +1 -0
  33. package/dist/src/agent/agent-run.controller.d.ts +42 -0
  34. package/dist/src/agent/agent-run.controller.d.ts.map +1 -0
  35. package/dist/src/agent/agent-run.controller.js +195 -0
  36. package/dist/src/agent/agent-run.controller.js.map +1 -0
  37. package/dist/src/agent/agent-run.entity.d.ts +35 -0
  38. package/dist/src/agent/agent-run.entity.d.ts.map +1 -0
  39. package/dist/src/agent/agent-run.entity.js +98 -0
  40. package/dist/src/agent/agent-run.entity.js.map +1 -0
  41. package/dist/src/agent/agent-run.service.d.ts +48 -0
  42. package/dist/src/agent/agent-run.service.d.ts.map +1 -0
  43. package/dist/src/agent/agent-run.service.js +155 -0
  44. package/dist/src/agent/agent-run.service.js.map +1 -0
  45. package/dist/src/agent/agent-session.controller.d.ts +20 -0
  46. package/dist/src/agent/agent-session.controller.d.ts.map +1 -0
  47. package/dist/src/agent/agent-session.controller.js +97 -0
  48. package/dist/src/agent/agent-session.controller.js.map +1 -0
  49. package/dist/src/agent/agent-session.entity.d.ts +13 -0
  50. package/dist/src/agent/agent-session.entity.d.ts.map +1 -0
  51. package/dist/src/agent/agent-session.entity.js +57 -0
  52. package/dist/src/agent/agent-session.entity.js.map +1 -0
  53. package/dist/src/agent/agent-session.service.d.ts +38 -0
  54. package/dist/src/agent/agent-session.service.d.ts.map +1 -0
  55. package/dist/src/agent/agent-session.service.js +112 -0
  56. package/dist/src/agent/agent-session.service.js.map +1 -0
  57. package/dist/src/agent/coding-tools.d.ts +7 -0
  58. package/dist/src/agent/coding-tools.d.ts.map +1 -0
  59. package/dist/src/agent/coding-tools.js +181 -0
  60. package/dist/src/agent/coding-tools.js.map +1 -0
  61. package/dist/src/agent/computer-use-tools.d.ts +15 -0
  62. package/dist/src/agent/computer-use-tools.d.ts.map +1 -0
  63. package/dist/src/agent/computer-use-tools.js +256 -0
  64. package/dist/src/agent/computer-use-tools.js.map +1 -0
  65. package/dist/src/agent/external-agent.controller.d.ts +41 -0
  66. package/dist/src/agent/external-agent.controller.d.ts.map +1 -0
  67. package/dist/src/agent/external-agent.controller.js +129 -0
  68. package/dist/src/agent/external-agent.controller.js.map +1 -0
  69. package/dist/src/agent/external-agent.entity.d.ts +22 -0
  70. package/dist/src/agent/external-agent.entity.d.ts.map +1 -0
  71. package/dist/src/agent/external-agent.entity.js +75 -0
  72. package/dist/src/agent/external-agent.entity.js.map +1 -0
  73. package/dist/src/agent/external-agent.service.d.ts +60 -0
  74. package/dist/src/agent/external-agent.service.d.ts.map +1 -0
  75. package/dist/src/agent/external-agent.service.js +143 -0
  76. package/dist/src/agent/external-agent.service.js.map +1 -0
  77. package/dist/src/ai.module.d.ts +22 -0
  78. package/dist/src/ai.module.d.ts.map +1 -0
  79. package/dist/src/ai.module.js +178 -0
  80. package/dist/src/ai.module.js.map +1 -0
  81. package/dist/{cli → src/cli}/adapters/antigravity.adapter.d.ts +2 -0
  82. package/dist/src/cli/adapters/antigravity.adapter.d.ts.map +1 -0
  83. package/dist/{cli → src/cli}/adapters/antigravity.adapter.js +78 -0
  84. package/dist/src/cli/adapters/antigravity.adapter.js.map +1 -0
  85. package/dist/src/cli/adapters/claude-cli.adapter.d.ts.map +1 -0
  86. package/dist/{cli → src/cli}/adapters/claude-cli.adapter.js +2 -0
  87. package/dist/src/cli/adapters/claude-cli.adapter.js.map +1 -0
  88. package/dist/src/cli/adapters/cli-proxy-api.adapter.d.ts +32 -0
  89. package/dist/src/cli/adapters/cli-proxy-api.adapter.d.ts.map +1 -0
  90. package/dist/src/cli/adapters/cli-proxy-api.adapter.js +239 -0
  91. package/dist/src/cli/adapters/cli-proxy-api.adapter.js.map +1 -0
  92. package/dist/src/cli/adapters/codex-cli.adapter.d.ts.map +1 -0
  93. package/dist/src/cli/adapters/codex-cli.adapter.js.map +1 -0
  94. package/dist/src/cli/adapters/detect-cli.d.ts.map +1 -0
  95. package/dist/src/cli/adapters/detect-cli.js.map +1 -0
  96. package/dist/src/cli/adapters/gemini-cli.adapter.d.ts.map +1 -0
  97. package/dist/src/cli/adapters/gemini-cli.adapter.js.map +1 -0
  98. package/dist/src/cli/adapters/index.d.ts.map +1 -0
  99. package/dist/src/cli/adapters/index.js.map +1 -0
  100. package/dist/{cli → src/cli}/cli-executor.service.d.ts +2 -0
  101. package/dist/src/cli/cli-executor.service.d.ts.map +1 -0
  102. package/dist/{cli → src/cli}/cli-executor.service.js +21 -1
  103. package/dist/src/cli/cli-executor.service.js.map +1 -0
  104. package/dist/src/cli/cli-registry.service.d.ts.map +1 -0
  105. package/dist/{cli → src/cli}/cli-registry.service.js +3 -1
  106. package/dist/src/cli/cli-registry.service.js.map +1 -0
  107. package/dist/{cli → src/cli}/controllers/ai-cli.controller.d.ts +4 -0
  108. package/dist/src/cli/controllers/ai-cli.controller.d.ts.map +1 -0
  109. package/dist/{cli → src/cli}/controllers/ai-cli.controller.js +33 -4
  110. package/dist/src/cli/controllers/ai-cli.controller.js.map +1 -0
  111. package/dist/{cli → src/cli}/index.d.ts +1 -1
  112. package/dist/src/cli/index.d.ts.map +1 -0
  113. package/dist/src/cli/index.js.map +1 -0
  114. package/dist/{cli → src/cli}/types.d.ts +23 -1
  115. package/dist/src/cli/types.d.ts.map +1 -0
  116. package/dist/{skill → src/cli}/types.js.map +1 -1
  117. package/dist/{cli → src/cli}/workspace.service.d.ts +11 -3
  118. package/dist/src/cli/workspace.service.d.ts.map +1 -0
  119. package/dist/{cli → src/cli}/workspace.service.js +61 -6
  120. package/dist/src/cli/workspace.service.js.map +1 -0
  121. package/dist/src/computer-use/computer-use.controller.d.ts +23 -0
  122. package/dist/src/computer-use/computer-use.controller.d.ts.map +1 -0
  123. package/dist/src/computer-use/computer-use.controller.js +87 -0
  124. package/dist/src/computer-use/computer-use.controller.js.map +1 -0
  125. package/dist/src/index.d.ts +12 -0
  126. package/dist/src/index.d.ts.map +1 -0
  127. package/dist/src/index.js +51 -0
  128. package/dist/src/index.js.map +1 -0
  129. package/dist/src/orchestrator/orchestrator-plan.entity.d.ts +31 -0
  130. package/dist/src/orchestrator/orchestrator-plan.entity.d.ts.map +1 -0
  131. package/dist/src/orchestrator/orchestrator-plan.entity.js +69 -0
  132. package/dist/src/orchestrator/orchestrator-plan.entity.js.map +1 -0
  133. package/dist/src/orchestrator/orchestrator-plan.service.d.ts +27 -0
  134. package/dist/src/orchestrator/orchestrator-plan.service.d.ts.map +1 -0
  135. package/dist/src/orchestrator/orchestrator-plan.service.js +201 -0
  136. package/dist/src/orchestrator/orchestrator-plan.service.js.map +1 -0
  137. package/dist/src/orchestrator/orchestrator.controller.d.ts +29 -0
  138. package/dist/src/orchestrator/orchestrator.controller.d.ts.map +1 -0
  139. package/dist/src/orchestrator/orchestrator.controller.js +144 -0
  140. package/dist/src/orchestrator/orchestrator.controller.js.map +1 -0
  141. package/dist/src/orchestrator/workflow-feedback.entity.d.ts +12 -0
  142. package/dist/src/orchestrator/workflow-feedback.entity.d.ts.map +1 -0
  143. package/dist/src/orchestrator/workflow-feedback.entity.js +49 -0
  144. package/dist/src/orchestrator/workflow-feedback.entity.js.map +1 -0
  145. package/dist/src/orchestrator/workflow-feedback.service.d.ts +14 -0
  146. package/dist/src/orchestrator/workflow-feedback.service.d.ts.map +1 -0
  147. package/dist/src/orchestrator/workflow-feedback.service.js +51 -0
  148. package/dist/src/orchestrator/workflow-feedback.service.js.map +1 -0
  149. package/dist/src/session/claude-code-session-manager.service.d.ts +28 -0
  150. package/dist/src/session/claude-code-session-manager.service.d.ts.map +1 -0
  151. package/dist/src/session/claude-code-session-manager.service.js +177 -0
  152. package/dist/src/session/claude-code-session-manager.service.js.map +1 -0
  153. package/dist/src/skill/controllers/skill-market.controller.d.ts +18 -0
  154. package/dist/src/skill/controllers/skill-market.controller.d.ts.map +1 -0
  155. package/dist/src/skill/controllers/skill-market.controller.js +128 -0
  156. package/dist/src/skill/controllers/skill-market.controller.js.map +1 -0
  157. package/dist/{skill → src/skill}/controllers/skill.controller.d.ts +4 -0
  158. package/dist/src/skill/controllers/skill.controller.d.ts.map +1 -0
  159. package/dist/{skill → src/skill}/controllers/skill.controller.js +31 -0
  160. package/dist/src/skill/controllers/skill.controller.js.map +1 -0
  161. package/dist/src/skill/entities/octo-skill.entity.d.ts.map +1 -0
  162. package/dist/src/skill/entities/octo-skill.entity.js.map +1 -0
  163. package/dist/{skill → src/skill}/index.d.ts +3 -1
  164. package/dist/src/skill/index.d.ts.map +1 -0
  165. package/dist/{skill → src/skill}/index.js +5 -1
  166. package/dist/src/skill/index.js.map +1 -0
  167. package/dist/src/skill/services/skill-generator.service.d.ts.map +1 -0
  168. package/dist/src/skill/services/skill-generator.service.js.map +1 -0
  169. package/dist/{skill → src/skill}/services/skill-installer.service.d.ts +27 -0
  170. package/dist/src/skill/services/skill-installer.service.d.ts.map +1 -0
  171. package/dist/{skill → src/skill}/services/skill-installer.service.js +108 -0
  172. package/dist/src/skill/services/skill-installer.service.js.map +1 -0
  173. package/dist/src/skill/services/skill-market-helpers.d.ts +25 -0
  174. package/dist/src/skill/services/skill-market-helpers.d.ts.map +1 -0
  175. package/dist/src/skill/services/skill-market-helpers.js +22 -0
  176. package/dist/src/skill/services/skill-market-helpers.js.map +1 -0
  177. package/dist/src/skill/services/skill-market.service.d.ts +60 -0
  178. package/dist/src/skill/services/skill-market.service.d.ts.map +1 -0
  179. package/dist/src/skill/services/skill-market.service.js +228 -0
  180. package/dist/src/skill/services/skill-market.service.js.map +1 -0
  181. package/dist/{skill → src/skill}/services/skill-registry.service.d.ts +1 -0
  182. package/dist/src/skill/services/skill-registry.service.d.ts.map +1 -0
  183. package/dist/{skill → src/skill}/services/skill-registry.service.js +18 -6
  184. package/dist/src/skill/services/skill-registry.service.js.map +1 -0
  185. package/dist/{skill → src/skill}/types.d.ts +32 -1
  186. package/dist/src/skill/types.d.ts.map +1 -0
  187. package/dist/{cli → src/skill}/types.js.map +1 -1
  188. package/dist/src/workflow-design/DocumentExtractorAgent.d.ts +47 -0
  189. package/dist/src/workflow-design/DocumentExtractorAgent.d.ts.map +1 -0
  190. package/dist/src/workflow-design/DocumentExtractorAgent.js +118 -0
  191. package/dist/src/workflow-design/DocumentExtractorAgent.js.map +1 -0
  192. package/dist/src/workflow-design/N8nNodeKnowledgeBase.d.ts +26 -0
  193. package/dist/src/workflow-design/N8nNodeKnowledgeBase.d.ts.map +1 -0
  194. package/dist/src/workflow-design/N8nNodeKnowledgeBase.js +362 -0
  195. package/dist/src/workflow-design/N8nNodeKnowledgeBase.js.map +1 -0
  196. package/dist/src/workflow-design/OctoAgentClient.d.ts +42 -0
  197. package/dist/src/workflow-design/OctoAgentClient.d.ts.map +1 -0
  198. package/dist/src/workflow-design/OctoAgentClient.js +191 -0
  199. package/dist/src/workflow-design/OctoAgentClient.js.map +1 -0
  200. package/dist/src/workflow-design/WorkflowDesignOrchestrator.d.ts +45 -0
  201. package/dist/src/workflow-design/WorkflowDesignOrchestrator.d.ts.map +1 -0
  202. package/dist/src/workflow-design/WorkflowDesignOrchestrator.js +265 -0
  203. package/dist/src/workflow-design/WorkflowDesignOrchestrator.js.map +1 -0
  204. package/dist/src/workflow-design/agents/ActionChainAgent.d.ts +9 -0
  205. package/dist/src/workflow-design/agents/ActionChainAgent.d.ts.map +1 -0
  206. package/dist/src/workflow-design/agents/ActionChainAgent.js +79 -0
  207. package/dist/src/workflow-design/agents/ActionChainAgent.js.map +1 -0
  208. package/dist/src/workflow-design/agents/CodeScriptAgent.d.ts +15 -0
  209. package/dist/src/workflow-design/agents/CodeScriptAgent.d.ts.map +1 -0
  210. package/dist/src/workflow-design/agents/CodeScriptAgent.js +96 -0
  211. package/dist/src/workflow-design/agents/CodeScriptAgent.js.map +1 -0
  212. package/dist/src/workflow-design/agents/LogicFlowAgent.d.ts +9 -0
  213. package/dist/src/workflow-design/agents/LogicFlowAgent.d.ts.map +1 -0
  214. package/dist/src/workflow-design/agents/LogicFlowAgent.js +78 -0
  215. package/dist/src/workflow-design/agents/LogicFlowAgent.js.map +1 -0
  216. package/dist/src/workflow-design/agents/TriggerAnalystAgent.d.ts +9 -0
  217. package/dist/src/workflow-design/agents/TriggerAnalystAgent.d.ts.map +1 -0
  218. package/dist/src/workflow-design/agents/TriggerAnalystAgent.js +65 -0
  219. package/dist/src/workflow-design/agents/TriggerAnalystAgent.js.map +1 -0
  220. package/dist/src/workflow-design/agents/WorkflowValidatorAgent.d.ts +9 -0
  221. package/dist/src/workflow-design/agents/WorkflowValidatorAgent.d.ts.map +1 -0
  222. package/dist/src/workflow-design/agents/WorkflowValidatorAgent.js +117 -0
  223. package/dist/src/workflow-design/agents/WorkflowValidatorAgent.js.map +1 -0
  224. package/dist/src/workflow-design/index.d.ts +12 -0
  225. package/dist/src/workflow-design/index.d.ts.map +1 -0
  226. package/dist/src/workflow-design/index.js +23 -0
  227. package/dist/src/workflow-design/index.js.map +1 -0
  228. package/dist/src/workflow-design/types.d.ts +155 -0
  229. package/dist/src/workflow-design/types.d.ts.map +1 -0
  230. package/dist/src/workflow-design/types.js +6 -0
  231. package/dist/src/workflow-design/types.js.map +1 -0
  232. package/package.json +21 -15
  233. package/web/components/CreateWorkspaceDialog.tsx +157 -0
  234. package/web/components/DirBrowser.tsx +85 -0
  235. package/web/components/GithubTokenDialog.tsx +152 -0
  236. package/web/components/LocalPathSection.tsx +91 -0
  237. package/web/components/MarketInstallDialog.tsx +196 -0
  238. package/web/components/MarketSkillCard.tsx +74 -0
  239. package/web/components/RepoList.tsx +97 -0
  240. package/web/components/SearchResultsGrid.tsx +55 -0
  241. package/web/components/SkillCard.tsx +4 -1
  242. package/web/components/ToolCard.tsx +88 -0
  243. package/web/components/WorkspaceCard.tsx +146 -0
  244. package/web/components/WorkspaceItem.tsx +65 -0
  245. package/web/components/WorkspaceSelect.tsx +94 -0
  246. package/web/index.ts +18 -1
  247. package/web/manifest.ts +7 -0
  248. package/web/messages/en-US.json +231 -7
  249. package/web/messages/zh-CN.json +234 -7
  250. package/web/pages/AgentMarketPage.tsx +318 -0
  251. package/web/pages/AgentRunsPage.tsx +162 -0
  252. package/web/pages/AgentsPage.tsx +239 -0
  253. package/web/pages/AiCliToolsPage.tsx +17 -128
  254. package/web/pages/ApprovalsPage.tsx +260 -0
  255. package/web/pages/OrchestratorPage.tsx +384 -0
  256. package/web/pages/SessionsPage.tsx +248 -0
  257. package/web/pages/SkillMarketPage.tsx +25 -0
  258. package/web/pages/WorkspaceSection.tsx +13 -113
  259. package/web/pages/WorkspacesPage.tsx +29 -254
  260. package/web/services/agent-approval.service.ts +35 -0
  261. package/web/services/agent-gateway.service.ts +41 -0
  262. package/web/services/agent-run.service.ts +48 -0
  263. package/web/services/agent-session.service.ts +30 -0
  264. package/web/services/ai-cli-service.ts +33 -0
  265. package/web/services/external-agent.service.ts +38 -0
  266. package/web/services/orchestrator.service.ts +52 -0
  267. package/web/services/skill-market-service.ts +88 -0
  268. package/web/services/skill-service.ts +12 -0
  269. package/dist/ai.module.d.ts +0 -4
  270. package/dist/ai.module.d.ts.map +0 -1
  271. package/dist/ai.module.js +0 -59
  272. package/dist/ai.module.js.map +0 -1
  273. package/dist/cli/adapters/antigravity.adapter.d.ts.map +0 -1
  274. package/dist/cli/adapters/antigravity.adapter.js.map +0 -1
  275. package/dist/cli/adapters/claude-cli.adapter.d.ts.map +0 -1
  276. package/dist/cli/adapters/claude-cli.adapter.js.map +0 -1
  277. package/dist/cli/adapters/codex-cli.adapter.d.ts.map +0 -1
  278. package/dist/cli/adapters/codex-cli.adapter.js.map +0 -1
  279. package/dist/cli/adapters/detect-cli.d.ts.map +0 -1
  280. package/dist/cli/adapters/detect-cli.js.map +0 -1
  281. package/dist/cli/adapters/gemini-cli.adapter.d.ts.map +0 -1
  282. package/dist/cli/adapters/gemini-cli.adapter.js.map +0 -1
  283. package/dist/cli/adapters/index.d.ts.map +0 -1
  284. package/dist/cli/adapters/index.js.map +0 -1
  285. package/dist/cli/cli-executor.service.d.ts.map +0 -1
  286. package/dist/cli/cli-executor.service.js.map +0 -1
  287. package/dist/cli/cli-registry.service.d.ts.map +0 -1
  288. package/dist/cli/cli-registry.service.js.map +0 -1
  289. package/dist/cli/controllers/ai-cli.controller.d.ts.map +0 -1
  290. package/dist/cli/controllers/ai-cli.controller.js.map +0 -1
  291. package/dist/cli/index.d.ts.map +0 -1
  292. package/dist/cli/index.js.map +0 -1
  293. package/dist/cli/types.d.ts.map +0 -1
  294. package/dist/cli/workspace.service.d.ts.map +0 -1
  295. package/dist/cli/workspace.service.js.map +0 -1
  296. package/dist/index.d.ts +0 -5
  297. package/dist/index.d.ts.map +0 -1
  298. package/dist/index.js +0 -23
  299. package/dist/index.js.map +0 -1
  300. package/dist/skill/controllers/skill.controller.d.ts.map +0 -1
  301. package/dist/skill/controllers/skill.controller.js.map +0 -1
  302. package/dist/skill/entities/octo-skill.entity.d.ts.map +0 -1
  303. package/dist/skill/entities/octo-skill.entity.js.map +0 -1
  304. package/dist/skill/index.d.ts.map +0 -1
  305. package/dist/skill/index.js.map +0 -1
  306. package/dist/skill/services/skill-generator.service.d.ts.map +0 -1
  307. package/dist/skill/services/skill-generator.service.js.map +0 -1
  308. package/dist/skill/services/skill-installer.service.d.ts.map +0 -1
  309. package/dist/skill/services/skill-installer.service.js.map +0 -1
  310. package/dist/skill/services/skill-registry.service.d.ts.map +0 -1
  311. package/dist/skill/services/skill-registry.service.js.map +0 -1
  312. package/dist/skill/types.d.ts.map +0 -1
  313. /package/dist/{cli → src/cli}/adapters/claude-cli.adapter.d.ts +0 -0
  314. /package/dist/{cli → src/cli}/adapters/codex-cli.adapter.d.ts +0 -0
  315. /package/dist/{cli → src/cli}/adapters/codex-cli.adapter.js +0 -0
  316. /package/dist/{cli → src/cli}/adapters/detect-cli.d.ts +0 -0
  317. /package/dist/{cli → src/cli}/adapters/detect-cli.js +0 -0
  318. /package/dist/{cli → src/cli}/adapters/gemini-cli.adapter.d.ts +0 -0
  319. /package/dist/{cli → src/cli}/adapters/gemini-cli.adapter.js +0 -0
  320. /package/dist/{cli → src/cli}/adapters/index.d.ts +0 -0
  321. /package/dist/{cli → src/cli}/adapters/index.js +0 -0
  322. /package/dist/{cli → src/cli}/cli-registry.service.d.ts +0 -0
  323. /package/dist/{cli → src/cli}/index.js +0 -0
  324. /package/dist/{cli → src/cli}/types.js +0 -0
  325. /package/dist/{skill → src/skill}/entities/octo-skill.entity.d.ts +0 -0
  326. /package/dist/{skill → src/skill}/entities/octo-skill.entity.js +0 -0
  327. /package/dist/{skill → src/skill}/services/skill-generator.service.d.ts +0 -0
  328. /package/dist/{skill → src/skill}/services/skill-generator.service.js +0 -0
  329. /package/dist/{skill → src/skill}/types.js +0 -0
@@ -0,0 +1,47 @@
1
+ import { OctoAgentClient } from './OctoAgentClient.js';
2
+ export interface InvoiceLineItem {
3
+ description: string;
4
+ quantity: number | null;
5
+ unitPrice: number | null;
6
+ amount: number | null;
7
+ }
8
+ export interface InvoiceData {
9
+ invoiceNumber: string | null;
10
+ date: string | null;
11
+ vendor: string | null;
12
+ totalAmount: number | null;
13
+ currency: string | null;
14
+ subtotal: number | null;
15
+ taxAmount: number | null;
16
+ lineItems: InvoiceLineItem[];
17
+ }
18
+ export interface ContractParty {
19
+ name: string;
20
+ role: string | null;
21
+ }
22
+ export interface ContractData {
23
+ title: string | null;
24
+ parties: ContractParty[];
25
+ effectiveDate: string | null;
26
+ expiryDate: string | null;
27
+ value: number | null;
28
+ currency: string | null;
29
+ keyTerms: string[];
30
+ }
31
+ export declare class DocumentExtractorAgent {
32
+ private readonly client;
33
+ constructor(client: OctoAgentClient);
34
+ /**
35
+ * Extract structured invoice data from a base64-encoded image.
36
+ * @param imageBase64 Base64-encoded image data (no data: URI prefix).
37
+ * @param mediaType MIME type e.g. 'image/jpeg', 'image/png'.
38
+ */
39
+ extractInvoice(imageBase64: string, mediaType: string): Promise<InvoiceData>;
40
+ /**
41
+ * Extract structured contract data from a base64-encoded image.
42
+ * @param imageBase64 Base64-encoded image data (no data: URI prefix).
43
+ * @param mediaType MIME type e.g. 'image/jpeg', 'image/png'.
44
+ */
45
+ extractContract(imageBase64: string, mediaType?: string): Promise<ContractData>;
46
+ }
47
+ //# sourceMappingURL=DocumentExtractorAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentExtractorAgent.d.ts","sourceRoot":"","sources":["../../../src/workflow-design/DocumentExtractorAgent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAyDD,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAEpD;;;;OAIG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA0BlF;;;;OAIG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,SAAe,GAAG,OAAO,CAAC,YAAY,CAAC;CAyB5F"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DocumentExtractorAgent = void 0;
4
+ const OctoAgentClient_js_1 = require("./OctoAgentClient.js");
5
+ const INVOICE_SYSTEM = {
6
+ type: 'text',
7
+ text: `You are a document data extraction specialist.
8
+ Extract structured data from the provided invoice image and return ONLY a JSON object.
9
+ The JSON must match this shape exactly:
10
+ {
11
+ "invoiceNumber": "string or null",
12
+ "date": "ISO date string (YYYY-MM-DD) or null",
13
+ "vendor": "vendor/supplier name or null",
14
+ "totalAmount": number or null,
15
+ "currency": "3-letter ISO code e.g. USD, CNY, EUR or null",
16
+ "subtotal": number or null,
17
+ "taxAmount": number or null,
18
+ "lineItems": [
19
+ {
20
+ "description": "item description",
21
+ "quantity": number or null,
22
+ "unitPrice": number or null,
23
+ "amount": number or null
24
+ }
25
+ ]
26
+ }
27
+ Return null for any field you cannot determine from the image. Do not guess.`,
28
+ cache_control: { type: 'ephemeral' },
29
+ };
30
+ const CONTRACT_SYSTEM = {
31
+ type: 'text',
32
+ text: `You are a document data extraction specialist.
33
+ Extract structured data from the provided contract image and return ONLY a JSON object.
34
+ The JSON must match this shape exactly:
35
+ {
36
+ "title": "contract title or null",
37
+ "parties": [{ "name": "party name", "role": "role e.g. Buyer/Seller/Licensor or null" }],
38
+ "effectiveDate": "ISO date string (YYYY-MM-DD) or null",
39
+ "expiryDate": "ISO date string (YYYY-MM-DD) or null",
40
+ "value": number or null,
41
+ "currency": "3-letter ISO code or null",
42
+ "keyTerms": ["brief description of key term or obligation"]
43
+ }
44
+ Return null for any field you cannot determine. Keep keyTerms concise (max 10 items).`,
45
+ cache_control: { type: 'ephemeral' },
46
+ };
47
+ function toMediaType(raw) {
48
+ const normalised = raw.toLowerCase().replace('jpg', 'jpeg');
49
+ const supported = ['image/jpeg', 'image/png', 'image/gif', 'image/webp'];
50
+ if (supported.includes(normalised)) {
51
+ return normalised;
52
+ }
53
+ return 'image/jpeg';
54
+ }
55
+ class DocumentExtractorAgent {
56
+ client;
57
+ constructor(client) {
58
+ this.client = client;
59
+ }
60
+ /**
61
+ * Extract structured invoice data from a base64-encoded image.
62
+ * @param imageBase64 Base64-encoded image data (no data: URI prefix).
63
+ * @param mediaType MIME type e.g. 'image/jpeg', 'image/png'.
64
+ */
65
+ async extractInvoice(imageBase64, mediaType) {
66
+ const imageBlock = {
67
+ type: 'image',
68
+ source: {
69
+ type: 'base64',
70
+ media_type: toMediaType(mediaType),
71
+ data: imageBase64,
72
+ },
73
+ };
74
+ const response = await this.client.anthropic.messages.create({
75
+ model: 'claude-sonnet-4-5',
76
+ system: [INVOICE_SYSTEM],
77
+ messages: [
78
+ {
79
+ role: 'user',
80
+ content: [imageBlock, { type: 'text', text: 'Extract all invoice data from this image.' }],
81
+ },
82
+ ],
83
+ max_tokens: 2048,
84
+ });
85
+ const textBlock = response.content.find((b) => b.type === 'text');
86
+ return OctoAgentClient_js_1.OctoAgentClient.parseJsonFromReply(textBlock?.text ?? '{}');
87
+ }
88
+ /**
89
+ * Extract structured contract data from a base64-encoded image.
90
+ * @param imageBase64 Base64-encoded image data (no data: URI prefix).
91
+ * @param mediaType MIME type e.g. 'image/jpeg', 'image/png'.
92
+ */
93
+ async extractContract(imageBase64, mediaType = 'image/jpeg') {
94
+ const imageBlock = {
95
+ type: 'image',
96
+ source: {
97
+ type: 'base64',
98
+ media_type: toMediaType(mediaType),
99
+ data: imageBase64,
100
+ },
101
+ };
102
+ const response = await this.client.anthropic.messages.create({
103
+ model: 'claude-sonnet-4-5',
104
+ system: [CONTRACT_SYSTEM],
105
+ messages: [
106
+ {
107
+ role: 'user',
108
+ content: [imageBlock, { type: 'text', text: 'Extract all contract data from this image.' }],
109
+ },
110
+ ],
111
+ max_tokens: 2048,
112
+ });
113
+ const textBlock = response.content.find((b) => b.type === 'text');
114
+ return OctoAgentClient_js_1.OctoAgentClient.parseJsonFromReply(textBlock?.text ?? '{}');
115
+ }
116
+ }
117
+ exports.DocumentExtractorAgent = DocumentExtractorAgent;
118
+ //# sourceMappingURL=DocumentExtractorAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocumentExtractorAgent.js","sourceRoot":"","sources":["../../../src/workflow-design/DocumentExtractorAgent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { CachedTextBlock, NodeCategory, NodeTemplate } from './types.js';
2
+ export declare class N8nNodeKnowledgeBase {
3
+ private static readonly templates;
4
+ /** Return templates matching the given categories. */
5
+ static getByCategories(categories: NodeCategory[]): NodeTemplate[];
6
+ /** Return all templates. */
7
+ static getAll(): NodeTemplate[];
8
+ /** Find a template by its n8n type string. */
9
+ static findByType(type: string): NodeTemplate | undefined;
10
+ /**
11
+ * Build a compact prompt fragment listing the relevant nodes.
12
+ * Orchestrator calls this to inject node knowledge into sub-agent prompts.
13
+ */
14
+ static buildPromptSection(categories: NodeCategory[]): string;
15
+ /**
16
+ * Build a prompt section as a cached content block for use with Anthropic SDK.
17
+ * Applying cache_control saves ~90% cost when the same knowledge is passed repeatedly.
18
+ */
19
+ static buildCachedBlock(categories: NodeCategory[]): CachedTextBlock;
20
+ /**
21
+ * Infer relevant categories from a free-text intent description.
22
+ * Used by the Orchestrator to pick which node docs to inject.
23
+ */
24
+ static inferCategories(intent: string): NodeCategory[];
25
+ }
26
+ //# sourceMappingURL=N8nNodeKnowledgeBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"N8nNodeKnowledgeBase.d.ts","sourceRoot":"","sources":["../../../src/workflow-design/N8nNodeKnowledgeBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkT9E,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAEnE,sDAAsD;IACtD,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE;IAIlE,4BAA4B;IAC5B,MAAM,CAAC,MAAM,IAAI,YAAY,EAAE;IAI/B,8CAA8C;IAC9C,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIzD;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM;IAU7D;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,eAAe;IAQpE;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;CAmBvD"}
@@ -0,0 +1,362 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.N8nNodeKnowledgeBase = void 0;
4
+ // ============================================================
5
+ // Embedded n8n node knowledge base
6
+ // No external fetch — all data is inlined here.
7
+ // ============================================================
8
+ const NODE_TEMPLATES = [
9
+ // ----------------------------------------------------------
10
+ // Triggers
11
+ // ----------------------------------------------------------
12
+ {
13
+ type: 'n8n-nodes-base.manualTrigger',
14
+ displayName: 'Manual Trigger',
15
+ category: 'trigger',
16
+ coreParams: [],
17
+ description: 'Manually start the workflow from the n8n editor.',
18
+ },
19
+ {
20
+ type: 'n8n-nodes-base.scheduleTrigger',
21
+ displayName: 'Schedule Trigger (Cron)',
22
+ category: 'trigger',
23
+ coreParams: ['rule', 'cronExpression', 'interval'],
24
+ description: 'Trigger on a fixed schedule or cron expression.',
25
+ },
26
+ {
27
+ type: 'n8n-nodes-base.webhook',
28
+ displayName: 'Webhook',
29
+ category: 'trigger',
30
+ coreParams: ['httpMethod', 'path', 'authentication', 'responseMode'],
31
+ description: 'Receive HTTP requests and start the workflow.',
32
+ },
33
+ {
34
+ type: 'n8n-nodes-base.emailTrigger',
35
+ displayName: 'Email Trigger (IMAP)',
36
+ category: 'trigger',
37
+ coreParams: ['mailbox', 'credentials', 'format'],
38
+ description: 'Trigger when a new email arrives in an IMAP mailbox.',
39
+ },
40
+ {
41
+ type: 'n8n-nodes-base.n8nTrigger',
42
+ displayName: 'n8n Trigger (Workflow Event)',
43
+ category: 'trigger',
44
+ coreParams: ['events'],
45
+ description: 'Trigger on internal n8n events (workflow updated, etc.).',
46
+ },
47
+ // ----------------------------------------------------------
48
+ // HTTP / API
49
+ // ----------------------------------------------------------
50
+ {
51
+ type: 'n8n-nodes-base.httpRequest',
52
+ displayName: 'HTTP Request',
53
+ category: 'http',
54
+ coreParams: ['method', 'url', 'authentication', 'headers', 'body', 'qs'],
55
+ description: 'Make any HTTP/REST API call.',
56
+ },
57
+ {
58
+ type: 'n8n-nodes-base.respondToWebhook',
59
+ displayName: 'Webhook Response',
60
+ category: 'http',
61
+ coreParams: ['respondWith', 'responseBody', 'responseCode', 'responseHeaders'],
62
+ description: 'Send a response back to the caller of a Webhook trigger.',
63
+ },
64
+ // ----------------------------------------------------------
65
+ // Data processing
66
+ // ----------------------------------------------------------
67
+ {
68
+ type: 'n8n-nodes-base.set',
69
+ displayName: 'Set',
70
+ category: 'data',
71
+ coreParams: ['values', 'keepOnlySet'],
72
+ description: 'Set, rename, or delete fields on items.',
73
+ },
74
+ {
75
+ type: 'n8n-nodes-base.code',
76
+ displayName: 'Code (Function)',
77
+ category: 'data',
78
+ coreParams: ['jsCode', 'mode'],
79
+ description: 'Run custom JavaScript code against the input items.',
80
+ },
81
+ {
82
+ type: 'n8n-nodes-base.itemLists',
83
+ displayName: 'Item Lists',
84
+ category: 'data',
85
+ coreParams: ['operation', 'fieldToSplitOut', 'fieldsToAggregate'],
86
+ description: 'Split, aggregate, or deduplicate item lists.',
87
+ },
88
+ {
89
+ type: 'n8n-nodes-base.extractFromFile',
90
+ displayName: 'JSON Parse / Extract',
91
+ category: 'data',
92
+ coreParams: ['operation', 'dataPropertyName'],
93
+ description: 'Parse JSON strings or extract data from binary files.',
94
+ },
95
+ // ----------------------------------------------------------
96
+ // Conditional / flow control
97
+ // ----------------------------------------------------------
98
+ {
99
+ type: 'n8n-nodes-base.if',
100
+ displayName: 'IF',
101
+ category: 'control',
102
+ coreParams: ['conditions'],
103
+ description: 'Route items down true/false branches based on conditions.',
104
+ },
105
+ {
106
+ type: 'n8n-nodes-base.switch',
107
+ displayName: 'Switch',
108
+ category: 'control',
109
+ coreParams: ['mode', 'rules'],
110
+ description: 'Route items to one of multiple outputs based on value.',
111
+ },
112
+ {
113
+ type: 'n8n-nodes-base.merge',
114
+ displayName: 'Merge',
115
+ category: 'control',
116
+ coreParams: ['mode', 'joinMode'],
117
+ description: 'Merge items from two branches.',
118
+ },
119
+ {
120
+ type: 'n8n-nodes-base.wait',
121
+ displayName: 'Wait',
122
+ category: 'control',
123
+ coreParams: ['resume', 'amount', 'unit'],
124
+ description: 'Pause the workflow execution for a specified time.',
125
+ },
126
+ {
127
+ type: 'n8n-nodes-base.errorTrigger',
128
+ displayName: 'Error Trigger',
129
+ category: 'control',
130
+ coreParams: [],
131
+ description: 'Trigger a separate error-handling workflow on failure.',
132
+ },
133
+ // ----------------------------------------------------------
134
+ // Notifications
135
+ // ----------------------------------------------------------
136
+ {
137
+ type: 'n8n-nodes-base.emailSend',
138
+ displayName: 'Send Email (SMTP)',
139
+ category: 'notification',
140
+ coreParams: ['fromEmail', 'toEmail', 'subject', 'text', 'html', 'credentials'],
141
+ description: 'Send an email via SMTP.',
142
+ },
143
+ {
144
+ type: 'n8n-nodes-base.gmail',
145
+ displayName: 'Gmail',
146
+ category: 'notification',
147
+ coreParams: ['operation', 'to', 'subject', 'message', 'credentials'],
148
+ description: 'Send or manage Gmail messages.',
149
+ },
150
+ {
151
+ type: 'n8n-nodes-base.slack',
152
+ displayName: 'Slack',
153
+ category: 'notification',
154
+ coreParams: ['operation', 'channel', 'text', 'credentials'],
155
+ description: 'Post messages or manage Slack channels.',
156
+ },
157
+ {
158
+ type: 'n8n-nodes-base.telegram',
159
+ displayName: 'Telegram',
160
+ category: 'notification',
161
+ coreParams: ['operation', 'chatId', 'text', 'credentials'],
162
+ description: 'Send messages via Telegram Bot API.',
163
+ },
164
+ // ----------------------------------------------------------
165
+ // Databases
166
+ // ----------------------------------------------------------
167
+ {
168
+ type: 'n8n-nodes-base.postgres',
169
+ displayName: 'Postgres',
170
+ category: 'database',
171
+ coreParams: ['operation', 'query', 'table', 'columns', 'credentials'],
172
+ description: 'Execute queries against a PostgreSQL database.',
173
+ },
174
+ {
175
+ type: 'n8n-nodes-base.mySql',
176
+ displayName: 'MySQL',
177
+ category: 'database',
178
+ coreParams: ['operation', 'query', 'table', 'credentials'],
179
+ description: 'Execute queries against a MySQL/MariaDB database.',
180
+ },
181
+ {
182
+ type: 'n8n-nodes-base.redis',
183
+ displayName: 'Redis',
184
+ category: 'database',
185
+ coreParams: ['operation', 'key', 'value', 'credentials'],
186
+ description: 'Get/set/delete keys in a Redis store.',
187
+ },
188
+ {
189
+ type: 'n8n-nodes-base.mongoDb',
190
+ displayName: 'MongoDB',
191
+ category: 'database',
192
+ coreParams: ['operation', 'collection', 'query', 'credentials'],
193
+ description: 'Interact with a MongoDB collection.',
194
+ },
195
+ // ----------------------------------------------------------
196
+ // Files
197
+ // ----------------------------------------------------------
198
+ {
199
+ type: 'n8n-nodes-base.readBinaryFiles',
200
+ displayName: 'Read Binary Files',
201
+ category: 'file',
202
+ coreParams: ['filePath'],
203
+ description: 'Read one or more files from the local filesystem.',
204
+ },
205
+ {
206
+ type: 'n8n-nodes-base.writeBinaryFile',
207
+ displayName: 'Write Binary File',
208
+ category: 'file',
209
+ coreParams: ['fileName', 'dataPropertyName'],
210
+ description: 'Write binary data to a local file.',
211
+ },
212
+ {
213
+ type: 'n8n-nodes-base.awsS3',
214
+ displayName: 'S3',
215
+ category: 'file',
216
+ coreParams: ['operation', 'bucketName', 'fileName', 'credentials'],
217
+ description: 'Upload/download objects in AWS S3 or compatible storage.',
218
+ },
219
+ // ----------------------------------------------------------
220
+ // AI / LLM (n8n v1.x)
221
+ // ----------------------------------------------------------
222
+ {
223
+ type: '@n8n/n8n-nodes-langchain.openAi',
224
+ displayName: 'OpenAI',
225
+ category: 'ai',
226
+ coreParams: ['operation', 'model', 'prompt', 'credentials'],
227
+ description: 'Call OpenAI Chat Completions, Embeddings, or DALL-E. (n8n v1.x)',
228
+ },
229
+ {
230
+ type: '@n8n/n8n-nodes-langchain.lmChatAnthropic',
231
+ displayName: 'Anthropic (Claude)',
232
+ category: 'ai',
233
+ coreParams: ['model', 'credentials'],
234
+ description: 'Use Claude as a LangChain chat model inside an AI Agent. (n8n v1.x)',
235
+ },
236
+ {
237
+ type: '@n8n/n8n-nodes-langchain.agent',
238
+ displayName: 'AI Agent (LangChain)',
239
+ category: 'ai',
240
+ coreParams: ['agentType', 'text', 'options'],
241
+ description: 'Orchestrate tools with a LangChain agent loop. (n8n v1.x)',
242
+ },
243
+ {
244
+ type: '@n8n/n8n-nodes-langchain.chainLlm',
245
+ displayName: 'LLM Chain',
246
+ category: 'ai',
247
+ coreParams: ['prompt', 'model'],
248
+ description: 'Simple single-step LLM chain. (n8n v1.x)',
249
+ },
250
+ // ----------------------------------------------------------
251
+ // Octo custom nodes
252
+ // ----------------------------------------------------------
253
+ {
254
+ type: 'octoAgent',
255
+ displayName: 'Octo Agent',
256
+ category: 'ai',
257
+ coreParams: ['prompt', 'maxRounds', 'timeout'],
258
+ description: 'AI agent with universal computer control — takes screenshots, reads any screen content, ' +
259
+ 'clicks, types, scrolls, and presses keys to automate any desktop application. ' +
260
+ 'Input: prompt (task description). Output: { success, output, prompt }. ' +
261
+ 'Use when the task requires interacting with GUI applications, reading screen content, ' +
262
+ 'or automating workflows that have no API.',
263
+ },
264
+ {
265
+ type: 'octoClaudeCliTool',
266
+ displayName: 'Octo Claude CLI',
267
+ category: 'ai',
268
+ coreParams: ['toolDescription', 'workingDir', 'timeout'],
269
+ description: 'Execute Claude CLI as an AI Agent tool via Octo for code generation and analysis.',
270
+ },
271
+ {
272
+ type: 'octoGeminiCliTool',
273
+ displayName: 'Octo Gemini CLI',
274
+ category: 'ai',
275
+ coreParams: ['toolDescription', 'workingDir', 'timeout'],
276
+ description: 'Execute Gemini CLI as an AI Agent tool via Octo.',
277
+ },
278
+ {
279
+ type: 'octoNotification',
280
+ displayName: 'Octo Notification',
281
+ category: 'notification',
282
+ coreParams: ['title', 'content', 'channel', 'userId'],
283
+ description: 'Send a notification via Octo notification center.',
284
+ },
285
+ {
286
+ type: 'octoKnowledge',
287
+ displayName: 'Octo Knowledge',
288
+ category: 'ai',
289
+ coreParams: ['operation', 'query', 'groupId'],
290
+ description: 'Search or retrieve notes from the Octo knowledge base.',
291
+ },
292
+ ];
293
+ // ============================================================
294
+ // Public API
295
+ // ============================================================
296
+ class N8nNodeKnowledgeBase {
297
+ static templates = NODE_TEMPLATES;
298
+ /** Return templates matching the given categories. */
299
+ static getByCategories(categories) {
300
+ return this.templates.filter((t) => categories.includes(t.category));
301
+ }
302
+ /** Return all templates. */
303
+ static getAll() {
304
+ return this.templates;
305
+ }
306
+ /** Find a template by its n8n type string. */
307
+ static findByType(type) {
308
+ return this.templates.find((t) => t.type === type);
309
+ }
310
+ /**
311
+ * Build a compact prompt fragment listing the relevant nodes.
312
+ * Orchestrator calls this to inject node knowledge into sub-agent prompts.
313
+ */
314
+ static buildPromptSection(categories) {
315
+ const nodes = this.getByCategories(categories);
316
+ if (nodes.length === 0)
317
+ return '';
318
+ const lines = nodes.map((n) => `- ${n.displayName} (type: \`${n.type}\`): ${n.description} Core params: ${n.coreParams.join(', ') || 'none'}.`);
319
+ return `## Available n8n Nodes\n${lines.join('\n')}`;
320
+ }
321
+ /**
322
+ * Build a prompt section as a cached content block for use with Anthropic SDK.
323
+ * Applying cache_control saves ~90% cost when the same knowledge is passed repeatedly.
324
+ */
325
+ static buildCachedBlock(categories) {
326
+ return {
327
+ type: 'text',
328
+ text: this.buildPromptSection(categories),
329
+ cache_control: { type: 'ephemeral' },
330
+ };
331
+ }
332
+ /**
333
+ * Infer relevant categories from a free-text intent description.
334
+ * Used by the Orchestrator to pick which node docs to inject.
335
+ */
336
+ static inferCategories(intent) {
337
+ const lower = intent.toLowerCase();
338
+ const categories = new Set();
339
+ // Always include triggers and data processing
340
+ categories.add('trigger');
341
+ categories.add('data');
342
+ if (/http|api|rest|fetch|request|webhook|url/.test(lower))
343
+ categories.add('http');
344
+ if (/email|mail|gmail|smtp/.test(lower))
345
+ categories.add('notification');
346
+ if (/slack|telegram|notify|notification|alert|message/.test(lower))
347
+ categories.add('notification');
348
+ if (/if|condition|branch|switch|route|filter|check/.test(lower))
349
+ categories.add('control');
350
+ if (/error|retry|fail|fallback/.test(lower))
351
+ categories.add('control');
352
+ if (/postgres|mysql|sqlite|db|database|sql|mongo|redis/.test(lower))
353
+ categories.add('database');
354
+ if (/file|upload|download|s3|storage|binary/.test(lower))
355
+ categories.add('file');
356
+ if (/ai|llm|gpt|claude|openai|anthropic|langchain|agent|chat/.test(lower))
357
+ categories.add('ai');
358
+ return Array.from(categories);
359
+ }
360
+ }
361
+ exports.N8nNodeKnowledgeBase = N8nNodeKnowledgeBase;
362
+ //# sourceMappingURL=N8nNodeKnowledgeBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"N8nNodeKnowledgeBase.js","sourceRoot":"","sources":["../../../src/workflow-design/N8nNodeKnowledgeBase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import Anthropic from '@anthropic-ai/sdk';
2
+ import type { MessageParam } from '@anthropic-ai/sdk/resources';
3
+ import type { AgentRunOptions, Message, Tool, SystemContent } from './types.js';
4
+ export declare class OctoAgentClient {
5
+ private readonly model;
6
+ /**
7
+ * Exposed for test injection:
8
+ * vi.spyOn(client.anthropic.messages, 'create').mockResolvedValue(...)
9
+ */
10
+ readonly anthropic: Anthropic;
11
+ constructor(model?: string, baseUrl?: string);
12
+ /**
13
+ * Single-turn LLM call.
14
+ * @param messages Conversation turns (user/assistant only — no system).
15
+ * @param system System instructions: plain string or cached content blocks.
16
+ * @param tools Optional tool definitions (ignored in the Anthropic call here;
17
+ * use run() for tool-calling loops).
18
+ * @returns The assistant's text reply.
19
+ */
20
+ singleCall(messages: Message[], system: SystemContent, tools?: Tool[]): Promise<string>;
21
+ /**
22
+ * Run a full agent loop.
23
+ * Sends systemPrompt + userMessage, processes tool_calls until the model
24
+ * stops calling tools or maxRounds is reached.
25
+ *
26
+ * @returns The accumulated text output from all assistant turns.
27
+ */
28
+ run(options: AgentRunOptions): Promise<string>;
29
+ /**
30
+ * Streaming text generation — yields tokens as they arrive.
31
+ * @param messages Conversation turns (user/assistant).
32
+ * @param systemPrompt System instructions.
33
+ * @returns AsyncIterable of text chunks.
34
+ */
35
+ stream(messages: MessageParam[], systemPrompt: SystemContent): AsyncIterable<string>;
36
+ /**
37
+ * Parse a JSON block from an LLM response.
38
+ * The model often wraps JSON in markdown fences — this strips them.
39
+ */
40
+ static parseJsonFromReply<T>(reply: string): T;
41
+ }
42
+ //# sourceMappingURL=OctoAgentClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OctoAgentClient.d.ts","sourceRoot":"","sources":["../../../src/workflow-design/OctoAgentClient.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAiD,MAAM,6BAA6B,CAAC;AAC/G,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAkB,aAAa,EAAE,MAAM,YAAY,CAAC;AAuChG,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;gBAElB,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAQ5C;;;;;;;OAOG;IACG,UAAU,CACd,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,aAAa,EACrB,KAAK,CAAC,EAAE,IAAI,EAAE,GACb,OAAO,CAAC,MAAM,CAAC;IA4BlB;;;;;;OAMG;IACG,GAAG,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAqFpD;;;;;OAKG;IACI,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,YAAY,EAAE,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;IAgB3F;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;CAY/C"}