agent-nuvira 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +891 -0
  3. package/dist/agent-sdk/src/agent.d.ts +118 -0
  4. package/dist/agent-sdk/src/agent.d.ts.map +1 -0
  5. package/dist/agent-sdk/src/agent.js +88 -0
  6. package/dist/agent-sdk/src/agent.js.map +1 -0
  7. package/dist/agent-sdk/src/index.d.ts +33 -0
  8. package/dist/agent-sdk/src/index.d.ts.map +1 -0
  9. package/dist/agent-sdk/src/index.js +32 -0
  10. package/dist/agent-sdk/src/index.js.map +1 -0
  11. package/dist/agent-sdk/src/register.d.ts +70 -0
  12. package/dist/agent-sdk/src/register.d.ts.map +1 -0
  13. package/dist/agent-sdk/src/register.js +181 -0
  14. package/dist/agent-sdk/src/register.js.map +1 -0
  15. package/dist/agent-sdk/src/scaffold.d.ts +50 -0
  16. package/dist/agent-sdk/src/scaffold.d.ts.map +1 -0
  17. package/dist/agent-sdk/src/scaffold.js +291 -0
  18. package/dist/agent-sdk/src/scaffold.js.map +1 -0
  19. package/dist/agent-sdk/src/testing.d.ts +187 -0
  20. package/dist/agent-sdk/src/testing.d.ts.map +1 -0
  21. package/dist/agent-sdk/src/testing.js +243 -0
  22. package/dist/agent-sdk/src/testing.js.map +1 -0
  23. package/dist/agent-sdk/src/types.d.ts +202 -0
  24. package/dist/agent-sdk/src/types.d.ts.map +1 -0
  25. package/dist/agent-sdk/src/types.js +11 -0
  26. package/dist/agent-sdk/src/types.js.map +1 -0
  27. package/dist/agents/agent.d.ts +132 -0
  28. package/dist/agents/agent.d.ts.map +1 -0
  29. package/dist/agents/agent.js +19 -0
  30. package/dist/agents/agent.js.map +1 -0
  31. package/dist/agents/agents/context-gatherer.d.ts +42 -0
  32. package/dist/agents/agents/context-gatherer.d.ts.map +1 -0
  33. package/dist/agents/agents/context-gatherer.js +366 -0
  34. package/dist/agents/agents/context-gatherer.js.map +1 -0
  35. package/dist/agents/agents/debugger.d.ts +58 -0
  36. package/dist/agents/agents/debugger.d.ts.map +1 -0
  37. package/dist/agents/agents/debugger.js +257 -0
  38. package/dist/agents/agents/debugger.js.map +1 -0
  39. package/dist/agents/agents/git-agent.d.ts +34 -0
  40. package/dist/agents/agents/git-agent.d.ts.map +1 -0
  41. package/dist/agents/agents/git-agent.js +200 -0
  42. package/dist/agents/agents/git-agent.js.map +1 -0
  43. package/dist/agents/agents/github-release-agent.d.ts +65 -0
  44. package/dist/agents/agents/github-release-agent.d.ts.map +1 -0
  45. package/dist/agents/agents/github-release-agent.js +439 -0
  46. package/dist/agents/agents/github-release-agent.js.map +1 -0
  47. package/dist/agents/agents/package-agent.d.ts +33 -0
  48. package/dist/agents/agents/package-agent.d.ts.map +1 -0
  49. package/dist/agents/agents/package-agent.js +233 -0
  50. package/dist/agents/agents/package-agent.js.map +1 -0
  51. package/dist/agents/agents/planner.d.ts +26 -0
  52. package/dist/agents/agents/planner.d.ts.map +1 -0
  53. package/dist/agents/agents/planner.js +222 -0
  54. package/dist/agents/agents/planner.js.map +1 -0
  55. package/dist/agents/agents/reviewer.d.ts +34 -0
  56. package/dist/agents/agents/reviewer.d.ts.map +1 -0
  57. package/dist/agents/agents/reviewer.js +159 -0
  58. package/dist/agents/agents/reviewer.js.map +1 -0
  59. package/dist/agents/agents/runner.d.ts +73 -0
  60. package/dist/agents/agents/runner.d.ts.map +1 -0
  61. package/dist/agents/agents/runner.js +299 -0
  62. package/dist/agents/agents/runner.js.map +1 -0
  63. package/dist/agents/agents/security-agent.d.ts +33 -0
  64. package/dist/agents/agents/security-agent.d.ts.map +1 -0
  65. package/dist/agents/agents/security-agent.js +184 -0
  66. package/dist/agents/agents/security-agent.js.map +1 -0
  67. package/dist/agents/agents/tester.d.ts +96 -0
  68. package/dist/agents/agents/tester.d.ts.map +1 -0
  69. package/dist/agents/agents/tester.js +410 -0
  70. package/dist/agents/agents/tester.js.map +1 -0
  71. package/dist/agents/agents/writer.d.ts +51 -0
  72. package/dist/agents/agents/writer.d.ts.map +1 -0
  73. package/dist/agents/agents/writer.js +384 -0
  74. package/dist/agents/agents/writer.js.map +1 -0
  75. package/dist/agents/context-vault.d.ts +49 -0
  76. package/dist/agents/context-vault.d.ts.map +1 -0
  77. package/dist/agents/context-vault.js +134 -0
  78. package/dist/agents/context-vault.js.map +1 -0
  79. package/dist/agents/orchestrator.d.ts +97 -0
  80. package/dist/agents/orchestrator.d.ts.map +1 -0
  81. package/dist/agents/orchestrator.js +696 -0
  82. package/dist/agents/orchestrator.js.map +1 -0
  83. package/dist/agents/utils/file-tree.d.ts +28 -0
  84. package/dist/agents/utils/file-tree.d.ts.map +1 -0
  85. package/dist/agents/utils/file-tree.js +93 -0
  86. package/dist/agents/utils/file-tree.js.map +1 -0
  87. package/dist/cli/agent.d.ts +25 -0
  88. package/dist/cli/agent.d.ts.map +1 -0
  89. package/dist/cli/agent.js +374 -0
  90. package/dist/cli/agent.js.map +1 -0
  91. package/dist/cli/benchmark.d.ts +24 -0
  92. package/dist/cli/benchmark.d.ts.map +1 -0
  93. package/dist/cli/benchmark.js +235 -0
  94. package/dist/cli/benchmark.js.map +1 -0
  95. package/dist/cli/cache.d.ts +12 -0
  96. package/dist/cli/cache.d.ts.map +1 -0
  97. package/dist/cli/cache.js +58 -0
  98. package/dist/cli/cache.js.map +1 -0
  99. package/dist/cli/chat.d.ts +37 -0
  100. package/dist/cli/chat.d.ts.map +1 -0
  101. package/dist/cli/chat.js +393 -0
  102. package/dist/cli/chat.js.map +1 -0
  103. package/dist/cli/commands.d.ts +24 -0
  104. package/dist/cli/commands.d.ts.map +1 -0
  105. package/dist/cli/commands.js +18 -0
  106. package/dist/cli/commands.js.map +1 -0
  107. package/dist/cli/config.d.ts +19 -0
  108. package/dist/cli/config.d.ts.map +1 -0
  109. package/dist/cli/config.js +162 -0
  110. package/dist/cli/config.js.map +1 -0
  111. package/dist/cli/dashboard.d.ts +34 -0
  112. package/dist/cli/dashboard.d.ts.map +1 -0
  113. package/dist/cli/dashboard.js +126 -0
  114. package/dist/cli/dashboard.js.map +1 -0
  115. package/dist/cli/doctor.d.ts +68 -0
  116. package/dist/cli/doctor.d.ts.map +1 -0
  117. package/dist/cli/doctor.js +585 -0
  118. package/dist/cli/doctor.js.map +1 -0
  119. package/dist/cli/edit.d.ts +11 -0
  120. package/dist/cli/edit.d.ts.map +1 -0
  121. package/dist/cli/edit.js +86 -0
  122. package/dist/cli/edit.js.map +1 -0
  123. package/dist/cli/execute.d.ts +25 -0
  124. package/dist/cli/execute.d.ts.map +1 -0
  125. package/dist/cli/execute.js +186 -0
  126. package/dist/cli/execute.js.map +1 -0
  127. package/dist/cli/federation.d.ts +31 -0
  128. package/dist/cli/federation.d.ts.map +1 -0
  129. package/dist/cli/federation.js +387 -0
  130. package/dist/cli/federation.js.map +1 -0
  131. package/dist/cli/history.d.ts +22 -0
  132. package/dist/cli/history.d.ts.map +1 -0
  133. package/dist/cli/history.js +140 -0
  134. package/dist/cli/history.js.map +1 -0
  135. package/dist/cli/init.d.ts +49 -0
  136. package/dist/cli/init.d.ts.map +1 -0
  137. package/dist/cli/init.js +423 -0
  138. package/dist/cli/init.js.map +1 -0
  139. package/dist/cli/learn.d.ts +31 -0
  140. package/dist/cli/learn.d.ts.map +1 -0
  141. package/dist/cli/learn.js +320 -0
  142. package/dist/cli/learn.js.map +1 -0
  143. package/dist/cli/memory.d.ts +38 -0
  144. package/dist/cli/memory.d.ts.map +1 -0
  145. package/dist/cli/memory.js +295 -0
  146. package/dist/cli/memory.js.map +1 -0
  147. package/dist/cli/model-picker.d.ts +18 -0
  148. package/dist/cli/model-picker.d.ts.map +1 -0
  149. package/dist/cli/model-picker.js +225 -0
  150. package/dist/cli/model-picker.js.map +1 -0
  151. package/dist/cli/models.d.ts +11 -0
  152. package/dist/cli/models.d.ts.map +1 -0
  153. package/dist/cli/models.js +132 -0
  154. package/dist/cli/models.js.map +1 -0
  155. package/dist/cli/plan.d.ts +11 -0
  156. package/dist/cli/plan.d.ts.map +1 -0
  157. package/dist/cli/plan.js +94 -0
  158. package/dist/cli/plan.js.map +1 -0
  159. package/dist/cli/plugins.d.ts +15 -0
  160. package/dist/cli/plugins.d.ts.map +1 -0
  161. package/dist/cli/plugins.js +123 -0
  162. package/dist/cli/plugins.js.map +1 -0
  163. package/dist/cli/router.d.ts +20 -0
  164. package/dist/cli/router.d.ts.map +1 -0
  165. package/dist/cli/router.js +142 -0
  166. package/dist/cli/router.js.map +1 -0
  167. package/dist/cli/run.d.ts +22 -0
  168. package/dist/cli/run.d.ts.map +1 -0
  169. package/dist/cli/run.js +110 -0
  170. package/dist/cli/run.js.map +1 -0
  171. package/dist/cli/sandbox.d.ts +27 -0
  172. package/dist/cli/sandbox.d.ts.map +1 -0
  173. package/dist/cli/sandbox.js +264 -0
  174. package/dist/cli/sandbox.js.map +1 -0
  175. package/dist/cli/sdk.d.ts +27 -0
  176. package/dist/cli/sdk.d.ts.map +1 -0
  177. package/dist/cli/sdk.js +204 -0
  178. package/dist/cli/sdk.js.map +1 -0
  179. package/dist/cli/stats.d.ts +18 -0
  180. package/dist/cli/stats.d.ts.map +1 -0
  181. package/dist/cli/stats.js +78 -0
  182. package/dist/cli/stats.js.map +1 -0
  183. package/dist/cli/team.d.ts +42 -0
  184. package/dist/cli/team.d.ts.map +1 -0
  185. package/dist/cli/team.js +473 -0
  186. package/dist/cli/team.js.map +1 -0
  187. package/dist/cli/workflow.d.ts +27 -0
  188. package/dist/cli/workflow.d.ts.map +1 -0
  189. package/dist/cli/workflow.js +347 -0
  190. package/dist/cli/workflow.js.map +1 -0
  191. package/dist/config/manager.d.ts +37 -0
  192. package/dist/config/manager.d.ts.map +1 -0
  193. package/dist/config/manager.js +147 -0
  194. package/dist/config/manager.js.map +1 -0
  195. package/dist/config/types.d.ts +53 -0
  196. package/dist/config/types.d.ts.map +1 -0
  197. package/dist/config/types.js +2 -0
  198. package/dist/config/types.js.map +1 -0
  199. package/dist/context/cache.d.ts +27 -0
  200. package/dist/context/cache.d.ts.map +1 -0
  201. package/dist/context/cache.js +116 -0
  202. package/dist/context/cache.js.map +1 -0
  203. package/dist/context/history.d.ts +87 -0
  204. package/dist/context/history.d.ts.map +1 -0
  205. package/dist/context/history.js +249 -0
  206. package/dist/context/history.js.map +1 -0
  207. package/dist/context/parser.d.ts +61 -0
  208. package/dist/context/parser.d.ts.map +1 -0
  209. package/dist/context/parser.js +194 -0
  210. package/dist/context/parser.js.map +1 -0
  211. package/dist/federation/client.d.ts +49 -0
  212. package/dist/federation/client.d.ts.map +1 -0
  213. package/dist/federation/client.js +239 -0
  214. package/dist/federation/client.js.map +1 -0
  215. package/dist/federation/protocol.d.ts +155 -0
  216. package/dist/federation/protocol.d.ts.map +1 -0
  217. package/dist/federation/protocol.js +57 -0
  218. package/dist/federation/protocol.js.map +1 -0
  219. package/dist/federation/server.d.ts +25 -0
  220. package/dist/federation/server.d.ts.map +1 -0
  221. package/dist/federation/server.js +401 -0
  222. package/dist/federation/server.js.map +1 -0
  223. package/dist/index.d.ts +67 -0
  224. package/dist/index.d.ts.map +1 -0
  225. package/dist/index.js +93 -0
  226. package/dist/index.js.map +1 -0
  227. package/dist/inference/factory.d.ts +20 -0
  228. package/dist/inference/factory.d.ts.map +1 -0
  229. package/dist/inference/factory.js +46 -0
  230. package/dist/inference/factory.js.map +1 -0
  231. package/dist/inference/gemini-adapter.d.ts +17 -0
  232. package/dist/inference/gemini-adapter.d.ts.map +1 -0
  233. package/dist/inference/gemini-adapter.js +176 -0
  234. package/dist/inference/gemini-adapter.js.map +1 -0
  235. package/dist/inference/groq-adapter.d.ts +17 -0
  236. package/dist/inference/groq-adapter.d.ts.map +1 -0
  237. package/dist/inference/groq-adapter.js +103 -0
  238. package/dist/inference/groq-adapter.js.map +1 -0
  239. package/dist/inference/interface.d.ts +49 -0
  240. package/dist/inference/interface.d.ts.map +1 -0
  241. package/dist/inference/interface.js +2 -0
  242. package/dist/inference/interface.js.map +1 -0
  243. package/dist/inference/local-adapter.d.ts +35 -0
  244. package/dist/inference/local-adapter.d.ts.map +1 -0
  245. package/dist/inference/local-adapter.js +311 -0
  246. package/dist/inference/local-adapter.js.map +1 -0
  247. package/dist/inference/model-catalog.d.ts +53 -0
  248. package/dist/inference/model-catalog.d.ts.map +1 -0
  249. package/dist/inference/model-catalog.js +306 -0
  250. package/dist/inference/model-catalog.js.map +1 -0
  251. package/dist/inference/nim-adapter.d.ts +17 -0
  252. package/dist/inference/nim-adapter.d.ts.map +1 -0
  253. package/dist/inference/nim-adapter.js +103 -0
  254. package/dist/inference/nim-adapter.js.map +1 -0
  255. package/dist/inference/openrouter-adapter.d.ts +17 -0
  256. package/dist/inference/openrouter-adapter.d.ts.map +1 -0
  257. package/dist/inference/openrouter-adapter.js +105 -0
  258. package/dist/inference/openrouter-adapter.js.map +1 -0
  259. package/dist/inference/sse.d.ts +20 -0
  260. package/dist/inference/sse.d.ts.map +1 -0
  261. package/dist/inference/sse.js +91 -0
  262. package/dist/inference/sse.js.map +1 -0
  263. package/dist/learning/agent-stats.d.ts +109 -0
  264. package/dist/learning/agent-stats.d.ts.map +1 -0
  265. package/dist/learning/agent-stats.js +240 -0
  266. package/dist/learning/agent-stats.js.map +1 -0
  267. package/dist/learning/benchmark.d.ts +161 -0
  268. package/dist/learning/benchmark.d.ts.map +1 -0
  269. package/dist/learning/benchmark.js +589 -0
  270. package/dist/learning/benchmark.js.map +1 -0
  271. package/dist/learning/cost-tracker.d.ts +101 -0
  272. package/dist/learning/cost-tracker.d.ts.map +1 -0
  273. package/dist/learning/cost-tracker.js +224 -0
  274. package/dist/learning/cost-tracker.js.map +1 -0
  275. package/dist/learning/feedback.d.ts +88 -0
  276. package/dist/learning/feedback.d.ts.map +1 -0
  277. package/dist/learning/feedback.js +169 -0
  278. package/dist/learning/feedback.js.map +1 -0
  279. package/dist/learning/hybrid-router.d.ts +201 -0
  280. package/dist/learning/hybrid-router.d.ts.map +1 -0
  281. package/dist/learning/hybrid-router.js +450 -0
  282. package/dist/learning/hybrid-router.js.map +1 -0
  283. package/dist/learning/model-compare.d.ts +76 -0
  284. package/dist/learning/model-compare.d.ts.map +1 -0
  285. package/dist/learning/model-compare.js +252 -0
  286. package/dist/learning/model-compare.js.map +1 -0
  287. package/dist/learning/model-router.d.ts +68 -0
  288. package/dist/learning/model-router.d.ts.map +1 -0
  289. package/dist/learning/model-router.js +140 -0
  290. package/dist/learning/model-router.js.map +1 -0
  291. package/dist/learning/pattern-extractor.d.ts +99 -0
  292. package/dist/learning/pattern-extractor.d.ts.map +1 -0
  293. package/dist/learning/pattern-extractor.js +310 -0
  294. package/dist/learning/pattern-extractor.js.map +1 -0
  295. package/dist/learning/scorer.d.ts +51 -0
  296. package/dist/learning/scorer.d.ts.map +1 -0
  297. package/dist/learning/scorer.js +64 -0
  298. package/dist/learning/scorer.js.map +1 -0
  299. package/dist/learning/self-improver.d.ts +48 -0
  300. package/dist/learning/self-improver.d.ts.map +1 -0
  301. package/dist/learning/self-improver.js +161 -0
  302. package/dist/learning/self-improver.js.map +1 -0
  303. package/dist/memory/embedder.d.ts +65 -0
  304. package/dist/memory/embedder.d.ts.map +1 -0
  305. package/dist/memory/embedder.js +424 -0
  306. package/dist/memory/embedder.js.map +1 -0
  307. package/dist/memory/memory-integration.d.ts +56 -0
  308. package/dist/memory/memory-integration.d.ts.map +1 -0
  309. package/dist/memory/memory-integration.js +95 -0
  310. package/dist/memory/memory-integration.js.map +1 -0
  311. package/dist/memory/trajectory-store.d.ts +149 -0
  312. package/dist/memory/trajectory-store.d.ts.map +1 -0
  313. package/dist/memory/trajectory-store.js +476 -0
  314. package/dist/memory/trajectory-store.js.map +1 -0
  315. package/dist/memory/vector-store.d.ts +78 -0
  316. package/dist/memory/vector-store.d.ts.map +1 -0
  317. package/dist/memory/vector-store.js +186 -0
  318. package/dist/memory/vector-store.js.map +1 -0
  319. package/dist/plugins/agent-plugin.d.ts +73 -0
  320. package/dist/plugins/agent-plugin.d.ts.map +1 -0
  321. package/dist/plugins/agent-plugin.js +199 -0
  322. package/dist/plugins/agent-plugin.js.map +1 -0
  323. package/dist/plugins/registry.d.ts +61 -0
  324. package/dist/plugins/registry.d.ts.map +1 -0
  325. package/dist/plugins/registry.js +67 -0
  326. package/dist/plugins/registry.js.map +1 -0
  327. package/dist/sandbox/images.d.ts +31 -0
  328. package/dist/sandbox/images.d.ts.map +1 -0
  329. package/dist/sandbox/images.js +129 -0
  330. package/dist/sandbox/images.js.map +1 -0
  331. package/dist/sandbox/manager.d.ts +134 -0
  332. package/dist/sandbox/manager.d.ts.map +1 -0
  333. package/dist/sandbox/manager.js +470 -0
  334. package/dist/sandbox/manager.js.map +1 -0
  335. package/dist/sandbox/types.d.ts +113 -0
  336. package/dist/sandbox/types.d.ts.map +1 -0
  337. package/dist/sandbox/types.js +107 -0
  338. package/dist/sandbox/types.js.map +1 -0
  339. package/dist/security/scanner.d.ts +53 -0
  340. package/dist/security/scanner.d.ts.map +1 -0
  341. package/dist/security/scanner.js +271 -0
  342. package/dist/security/scanner.js.map +1 -0
  343. package/dist/team/config.d.ts +50 -0
  344. package/dist/team/config.d.ts.map +1 -0
  345. package/dist/team/config.js +108 -0
  346. package/dist/team/config.js.map +1 -0
  347. package/dist/team/memory.d.ts +63 -0
  348. package/dist/team/memory.d.ts.map +1 -0
  349. package/dist/team/memory.js +282 -0
  350. package/dist/team/memory.js.map +1 -0
  351. package/dist/team/review.d.ts +123 -0
  352. package/dist/team/review.d.ts.map +1 -0
  353. package/dist/team/review.js +293 -0
  354. package/dist/team/review.js.map +1 -0
  355. package/dist/utils/env.d.ts +19 -0
  356. package/dist/utils/env.d.ts.map +1 -0
  357. package/dist/utils/env.js +250 -0
  358. package/dist/utils/env.js.map +1 -0
  359. package/dist/utils/logger.d.ts +11 -0
  360. package/dist/utils/logger.d.ts.map +1 -0
  361. package/dist/utils/logger.js +45 -0
  362. package/dist/utils/logger.js.map +1 -0
  363. package/dist/web-dashboard/server.d.ts +59 -0
  364. package/dist/web-dashboard/server.d.ts.map +1 -0
  365. package/dist/web-dashboard/server.js +418 -0
  366. package/dist/web-dashboard/server.js.map +1 -0
  367. package/dist/workflow/registry.d.ts +127 -0
  368. package/dist/workflow/registry.d.ts.map +1 -0
  369. package/dist/workflow/registry.js +482 -0
  370. package/dist/workflow/registry.js.map +1 -0
  371. package/dist/workflow/templates.d.ts +93 -0
  372. package/dist/workflow/templates.d.ts.map +1 -0
  373. package/dist/workflow/templates.js +481 -0
  374. package/dist/workflow/templates.js.map +1 -0
  375. package/package.json +78 -0
  376. package/src/web-dashboard/public/assets/index-B08nDkSB.css +1 -0
  377. package/src/web-dashboard/public/assets/index-BKL8YOFD.js +135 -0
  378. package/src/web-dashboard/public/assets/index-BKL8YOFD.js.map +1 -0
  379. package/src/web-dashboard/public/index.html +13 -0
@@ -0,0 +1,86 @@
1
+ import { Command } from 'commander';
2
+ import { readFileSync, writeFileSync, existsSync } from 'node:fs';
3
+ import ora from 'ora';
4
+ import { BaseCommand } from './commands.js';
5
+ import { ContextParser } from '../context/parser.js';
6
+ import { logger } from '../utils/logger.js';
7
+ /**
8
+ * Edit command — edit files using AI assistance
9
+ * buff edit <file> [--provider nim] [--instruction "add error handling"]
10
+ */
11
+ export class EditCommand extends BaseCommand {
12
+ create() {
13
+ const command = new Command('edit')
14
+ .description('Edit a file using AI assistance')
15
+ .argument('<file>', 'File to edit')
16
+ .option('-i, --instruction <text>', 'Edit instruction')
17
+ .option('-p, --provider <provider>', 'Inference provider')
18
+ .option('-m, --model <model>', 'Model to use')
19
+ .option('--dry-run', 'Show proposed changes without modifying the file')
20
+ .option('--review', 'Create a review bundle capturing proposed changes instead of writing directly')
21
+ .action(async (file, options) => {
22
+ await this.execute(file, options || {});
23
+ });
24
+ return command;
25
+ }
26
+ async execute(file, options) {
27
+ if (!existsSync(file)) {
28
+ logger.error(`File not found: ${file}`);
29
+ return;
30
+ }
31
+ const { type, provider } = await this.getProvider(options || {});
32
+ const available = await provider.isAvailable();
33
+ if (!available) {
34
+ logger.error(`${provider.name} is not available. Check your configuration.`);
35
+ return;
36
+ }
37
+ const content = readFileSync(file, 'utf-8');
38
+ const instruction = options?.instruction || 'Review and improve this code. Fix bugs, improve readability, and add error handling where appropriate.';
39
+ const parser = new ContextParser({ maxTokens: 2048 });
40
+ const context = parser.parseFromString(content, file);
41
+ const contextStr = ContextParser.formatContext(context);
42
+ const prompt = `I have the following code in ${file}:\n\n${contextStr}\n\nInstruction: ${instruction}\n\nPlease provide the complete updated file content. Return ONLY the code, no explanations.`;
43
+ const spinner = ora(`Editing ${file} with ${provider.name}...`).start();
44
+ try {
45
+ const result = await provider.generate(prompt, options);
46
+ if (options?.dryRun) {
47
+ spinner.stop();
48
+ logger.highlight('\n--- Proposed Changes ---\n');
49
+ console.log(result);
50
+ logger.highlight('\n--- End ---\n');
51
+ return;
52
+ }
53
+ // Extract code block if present
54
+ let codeResult = result;
55
+ const codeBlockMatch = result.match(/```[\w]*\n([\s\S]*?)```/);
56
+ if (codeBlockMatch) {
57
+ codeResult = codeBlockMatch[1];
58
+ }
59
+ if (options?.review) {
60
+ spinner.stop();
61
+ const { createReviewFromResult } = await import('../team/review.js');
62
+ const review = createReviewFromResult(options.instruction || `Edit ${file}`, [{
63
+ path: file,
64
+ originalContent: content,
65
+ newContent: codeResult,
66
+ status: 'modified',
67
+ }], `Edit: ${options.instruction || 'Code improvement'}\n\nModified: ${file}`, {
68
+ provider: type,
69
+ model: options.model,
70
+ author: process.env.USER || 'agent-baba-d',
71
+ });
72
+ logger.highlight(`\n📋 Created review bundle: ${review.id}`);
73
+ logger.info(` Run \`buff team review show ${review.id}\` to view`);
74
+ logger.info(` Run \`buff team review approve ${review.id}\` then \`buff team review merge ${review.id}\` to apply`);
75
+ return;
76
+ }
77
+ writeFileSync(file, codeResult, 'utf-8');
78
+ spinner.succeed(`Updated ${file}`);
79
+ }
80
+ catch (err) {
81
+ spinner.fail('Edit failed');
82
+ logger.error(String(err));
83
+ }
84
+ }
85
+ }
86
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/cli/edit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Execute command — Run a multi-agent pipeline to accomplish a goal.
3
+ *
4
+ * Usage:
5
+ * agent-baba-d execute "add JWT authentication to the Express app"
6
+ * agent-baba-d execute "create a CLI tool" --provider gemini --dry-run
7
+ * agent-baba-d execute "add tests" --verbose --memory
8
+ * agent-baba-d execute "fix bug" --memory --memory-stats
9
+ */
10
+ import { Command } from 'commander';
11
+ import { BaseCommand } from './commands.js';
12
+ /**
13
+ * Execute command — orchestrates multiple agents to accomplish a goal.
14
+ */
15
+ export declare class ExecuteCommand extends BaseCommand {
16
+ create(): Command;
17
+ private execute;
18
+ private showMemoryStats;
19
+ private clearMemory;
20
+ }
21
+ /**
22
+ * Pretty-print the orchestration result to the console.
23
+ */
24
+ export declare function printOrchestrationResult(result: import('../agents/orchestrator.js').OrchestrationResult): void;
25
+ //# sourceMappingURL=execute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C;;GAEG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,MAAM,IAAI,OAAO;YAoCH,OAAO;YA4EP,eAAe;YA2Bf,WAAW;CAS1B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,2BAA2B,EAAE,mBAAmB,GAAG,IAAI,CAuD9G"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Execute command — Run a multi-agent pipeline to accomplish a goal.
3
+ *
4
+ * Usage:
5
+ * agent-baba-d execute "add JWT authentication to the Express app"
6
+ * agent-baba-d execute "create a CLI tool" --provider gemini --dry-run
7
+ * agent-baba-d execute "add tests" --verbose --memory
8
+ * agent-baba-d execute "fix bug" --memory --memory-stats
9
+ */
10
+ import { Command } from 'commander';
11
+ import ora from 'ora';
12
+ import { BaseCommand } from './commands.js';
13
+ import { Orchestrator } from '../agents/orchestrator.js';
14
+ import { logger } from '../utils/logger.js';
15
+ /**
16
+ * Execute command — orchestrates multiple agents to accomplish a goal.
17
+ */
18
+ export class ExecuteCommand extends BaseCommand {
19
+ create() {
20
+ const command = new Command('execute')
21
+ .description('Run a multi-agent pipeline to accomplish a goal')
22
+ .argument('<goal>', 'The goal to accomplish (e.g., "add JWT auth to Express app")')
23
+ .option('-p, --provider <provider>', 'Inference provider for all agents')
24
+ .option('-m, --model <model>', 'Model override for all agents')
25
+ .option('--planner-model <model>', 'Model for the Planner agent')
26
+ .option('--gatherer-model <model>', 'Model for the Context Gatherer agent')
27
+ .option('--writer-model <model>', 'Model for the Writer agent')
28
+ .option('--reviewer-model <model>', 'Model for the Reviewer agent')
29
+ .option('--dry-run', 'Preview changes without writing to disk', false)
30
+ .option('-v, --verbose', 'Show detailed agent output', false)
31
+ .option('--memory', 'Enable persistent memory (learn from past sessions)', false)
32
+ .option('--memory-stats', 'Show memory statistics and exit', false)
33
+ .option('--memory-clear', 'Clear all stored memory trajectories', false)
34
+ .option('--review', 'Create a review bundle capturing proposed changes (view with `buff team review show <id>`)', false)
35
+ .action(async (goal, options) => {
36
+ await this.execute(goal, options || {});
37
+ });
38
+ return command;
39
+ }
40
+ async execute(goal, options) {
41
+ // ── Handle memory management commands ─────────────────────────────────
42
+ if (options.memoryStats) {
43
+ await this.showMemoryStats();
44
+ return;
45
+ }
46
+ if (options.memoryClear) {
47
+ await this.clearMemory();
48
+ return;
49
+ }
50
+ // ── Setup ──────────────────────────────────────────────────────────────
51
+ if (options.verbose || options.dryRun || options.review) {
52
+ logger.info(`Goal: ${goal}`);
53
+ if (options.dryRun)
54
+ logger.info('Mode: Dry run (files will not be modified)');
55
+ if (options.review)
56
+ logger.info('Mode: Review (changes captured as review bundle)');
57
+ if (options.provider)
58
+ logger.info(`Provider: ${options.provider}`);
59
+ if (options.model)
60
+ logger.info(`Model: ${options.model}`);
61
+ if (options.memory)
62
+ logger.info('Memory: Enabled');
63
+ console.log('');
64
+ }
65
+ // ── Agent model overrides ──────────────────────────────────────────────
66
+ const agentModels = {};
67
+ if (options.plannerModel)
68
+ agentModels['planner'] = options.plannerModel;
69
+ if (options.gathererModel)
70
+ agentModels['context-gatherer'] = options.gathererModel;
71
+ if (options.writerModel)
72
+ agentModels['writer'] = options.writerModel;
73
+ if (options.reviewerModel)
74
+ agentModels['reviewer'] = options.reviewerModel;
75
+ // ── Execute ────────────────────────────────────────────────────────────
76
+ const spinner = ora({
77
+ text: 'Planning...',
78
+ spinner: 'dots',
79
+ }).start();
80
+ try {
81
+ const orchestrator = new Orchestrator(this.configManager);
82
+ const result = await orchestrator.execute(goal, {
83
+ provider: options.provider,
84
+ model: options.model,
85
+ agentModels: Object.keys(agentModels).length > 0 ? agentModels : undefined,
86
+ dryRun: options.dryRun,
87
+ verbose: options.verbose,
88
+ useMemory: options.memory,
89
+ reviewMode: options.review,
90
+ });
91
+ spinner.stop();
92
+ // ── Display Results ──────────────────────────────────────────────────
93
+ console.log('');
94
+ printOrchestrationResult(result);
95
+ }
96
+ catch (err) {
97
+ spinner.fail('Execution failed');
98
+ logger.error(String(err));
99
+ }
100
+ }
101
+ async showMemoryStats() {
102
+ try {
103
+ const { getMemoryStats } = await import('../memory/memory-integration.js');
104
+ const stats = await getMemoryStats();
105
+ logger.highlight(`${'═'.repeat(60)}`);
106
+ logger.highlight(` 🧠 Memory Statistics`);
107
+ logger.highlight(`${'═'.repeat(60)}`);
108
+ console.log(`\n Total trajectories: ${stats.total}`);
109
+ console.log(` Average quality score: ${stats.avgScore}`);
110
+ if (Object.keys(stats.byProjectFingerprint).length > 0) {
111
+ console.log(`\n By project type:`);
112
+ for (const [fp, count] of Object.entries(stats.byProjectFingerprint)) {
113
+ console.log(` ${fp}: ${count}`);
114
+ }
115
+ }
116
+ console.log('');
117
+ logger.highlight(`${'═'.repeat(60)}`);
118
+ console.log('');
119
+ }
120
+ catch (err) {
121
+ logger.error(`Failed to read memory stats: ${err}`);
122
+ }
123
+ }
124
+ async clearMemory() {
125
+ try {
126
+ const { clearMemory } = await import('../memory/memory-integration.js');
127
+ await clearMemory();
128
+ logger.success('Memory cleared successfully');
129
+ }
130
+ catch (err) {
131
+ logger.error(`Failed to clear memory: ${err}`);
132
+ }
133
+ }
134
+ }
135
+ /**
136
+ * Pretty-print the orchestration result to the console.
137
+ */
138
+ export function printOrchestrationResult(result) {
139
+ // Header
140
+ const statusIcon = result.success ? '✅' : '❌';
141
+ logger.highlight(`${'═'.repeat(60)}`);
142
+ logger.highlight(` ${statusIcon} Execution Result`);
143
+ logger.highlight(`${'═'.repeat(60)}`);
144
+ // Goal
145
+ console.log(`\n Goal: ${result.goal}`);
146
+ // Summary
147
+ console.log(`\n ${result.summary}`);
148
+ console.log(` Tasks: ${result.tasksCompleted}/${result.tasksTotal} completed`);
149
+ // Trajectory ID
150
+ if (result.trajectoryId) {
151
+ console.log(` Memory: Stored as ${result.trajectoryId}`);
152
+ }
153
+ // Agent results
154
+ if (result.agentResults.length > 0) {
155
+ console.log(`\n Agents:`);
156
+ for (const ar of result.agentResults) {
157
+ const icon = ar.success ? '✅' : '❌';
158
+ const truncatedSummary = ar.summary.length > 120
159
+ ? ar.summary.slice(0, 120) + '...'
160
+ : ar.summary;
161
+ console.log(` ${icon} ${ar.agent}: ${truncatedSummary}`);
162
+ }
163
+ }
164
+ // File changes
165
+ if (result.fileChanges && result.fileChanges !== 'No files changed.') {
166
+ console.log(`\n File Changes:`);
167
+ for (const line of result.fileChanges.split('\n')) {
168
+ console.log(` ${line}`);
169
+ }
170
+ }
171
+ // Runner output
172
+ if (result.runOutput) {
173
+ console.log(`\n Command Output:`);
174
+ for (const line of result.runOutput.split('\n')) {
175
+ console.log(` ${line}`);
176
+ }
177
+ }
178
+ // Error
179
+ if (result.error) {
180
+ console.log(`\n Error: ${result.error}`);
181
+ }
182
+ console.log('');
183
+ logger.highlight(`${'═'.repeat(60)}`);
184
+ console.log('');
185
+ }
186
+ //# sourceMappingURL=execute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/cli/execute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Federation command — Connect to and manage remote agent instances.
3
+ *
4
+ * Usage:
5
+ * buff federation status — Show connection status and info
6
+ * buff federation start — Start the federation server
7
+ * buff federation start --port 8374 — Start on a specific port
8
+ * buff federation start --daemon — Run in background (detached)
9
+ * buff federation connect <host> — Connect to a remote server
10
+ * buff federation connect <host> --port 8374
11
+ * buff federation connect <host> --secret mykey
12
+ * buff federation disconnect — Disconnect from remote server
13
+ * buff federation run <goal> — Run a task on the remote server
14
+ * buff federation run <goal> --agent writer
15
+ * buff federation health — Check remote server health
16
+ */
17
+ import { Command } from 'commander';
18
+ import { BaseCommand } from './commands.js';
19
+ export declare class FederationCommand extends BaseCommand {
20
+ private client;
21
+ create(): Command;
22
+ private showStatus;
23
+ private startServer;
24
+ private connectToServer;
25
+ private disconnectFromServer;
26
+ private runRemoteTask;
27
+ private checkHealth;
28
+ private renderHealth;
29
+ private manageConfig;
30
+ }
31
+ //# sourceMappingURL=federation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/cli/federation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAwC5C,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,OAAO,CAAC,MAAM,CAAiC;IAE/C,MAAM,IAAI,OAAO;YA4FH,UAAU;YAuCV,WAAW;YA0DX,eAAe;YA6Df,oBAAoB;YAUpB,aAAa;YAoDb,WAAW;IA2CzB,OAAO,CAAC,YAAY;YA4BN,YAAY;CAsC3B"}