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,204 @@
1
+ /**
2
+ * SDK Command — Create and manage custom agents with the Agent-Baba-D SDK.
3
+ *
4
+ * Usage:
5
+ * buff sdk scaffold <outDir> <agentName> [description] — Generate a new agent project
6
+ * buff sdk scaffold --template basic-agent ... — Use a minimal template
7
+ * buff sdk scaffold --template agent-pack ... — Multi-agent package template
8
+ * buff sdk templates — List available templates
9
+ * buff sdk info — Show SDK package info
10
+ *
11
+ * The scaffold subcommand creates a complete, ready-to-extend agent package with:
12
+ * - TypeScript configuration
13
+ * - A custom agent class extending Agent
14
+ * - Unit tests using the SDK testing utilities
15
+ * - Package.json with build/test scripts
16
+ */
17
+ import { Command } from 'commander';
18
+ import { join } from 'node:path';
19
+ import { existsSync } from 'node:fs';
20
+ import { BaseCommand } from './commands.js';
21
+ import { logger } from '../utils/logger.js';
22
+ import { scaffold, listTemplates } from '../agent-sdk/src/scaffold.js';
23
+ import { registerAgent, unregisterAgent } from '../agent-sdk/src/register.js';
24
+ // ─── SDKCommand ─────────────────────────────────────────────────────────────
25
+ export class SDKCommand extends BaseCommand {
26
+ create() {
27
+ const command = new Command('sdk')
28
+ .description('Create and manage custom agents with the Agent-Baba-D SDK');
29
+ // ── scaffold subcommand ─────────────────────────────────────────────
30
+ const scaffoldCmd = new Command('scaffold')
31
+ .description('Generate a new custom agent project')
32
+ .argument('<outDir>', 'Output directory for the new agent project')
33
+ .argument('<agentName>', 'Agent class name in PascalCase (e.g. CodeFormatter)')
34
+ .argument('[description]', 'Description of what the agent does', 'A custom agent')
35
+ .option('-t, --template <template>', 'Template type: basic-agent, full-agent, or agent-pack', 'full-agent')
36
+ .option('--agent-type <type>', 'Agent type identifier for task plans (default: kebab-case of name)')
37
+ .action(async (outDir, agentName, description, options) => {
38
+ await this.handleScaffold(outDir, agentName, description, options);
39
+ });
40
+ command.addCommand(scaffoldCmd);
41
+ // ── templates subcommand ────────────────────────────────────────────
42
+ const templatesCmd = new Command('templates')
43
+ .description('List available scaffold templates')
44
+ .action(() => {
45
+ this.handleListTemplates();
46
+ });
47
+ command.addCommand(templatesCmd);
48
+ // ── info subcommand ────────────────────────────────────────────
49
+ const infoCmd = new Command('info')
50
+ .description('Show SDK package info and version')
51
+ .action(() => {
52
+ this.handleInfo();
53
+ });
54
+ command.addCommand(infoCmd);
55
+ // ── register subcommand ─────────────────────────────────────────
56
+ const registerCmd = new Command('register')
57
+ .description('Register a custom agent with the orchestrator')
58
+ .argument('<className>', 'Exported class name (e.g. CodeFormatter)')
59
+ .argument('<agentType>', 'Agent type for task plans (e.g. code-formatter)')
60
+ .argument('<sourceModule>', 'Import module path relative to orchestrator.ts (e.g. ./agents/my-agent.js)')
61
+ .option('-i, --icon <emoji>', 'Emoji icon for the agent (default: 🧩)', '🧩')
62
+ .option('--orchestrator-path <path>', 'Path to orchestrator.ts (auto-detected if not set)')
63
+ .action(async (className, agentType, sourceModule, options) => {
64
+ await this.handleRegister(className, agentType, sourceModule, options);
65
+ });
66
+ command.addCommand(registerCmd);
67
+ // ── unregister subcommand ───────────────────────────────────────
68
+ const unregisterCmd = new Command('unregister')
69
+ .description('Remove a custom agent from the orchestrator')
70
+ .argument('<agentType>', 'Agent type to remove (e.g. code-formatter)')
71
+ .option('--orchestrator-path <path>', 'Path to orchestrator.ts (auto-detected if not set)')
72
+ .action(async (agentType, options) => {
73
+ await this.handleUnregister(agentType, options);
74
+ });
75
+ command.addCommand(unregisterCmd);
76
+ return command;
77
+ }
78
+ // ─── Handlers ─────────────────────────────────────────────────────────
79
+ async handleScaffold(outDir, agentName, description, options) {
80
+ const resolvedDir = join(process.cwd(), outDir);
81
+ // Validate template
82
+ const validTemplates = listTemplates().map((t) => t.name);
83
+ const template = options.template || 'full-agent';
84
+ if (!validTemplates.includes(template)) {
85
+ logger.error(`Unknown template: "${template}". Valid templates: ${validTemplates.join(', ')}`);
86
+ return;
87
+ }
88
+ // Validate agent name
89
+ if (!agentName.match(/^[A-Z][a-zA-Z0-9]*$/)) {
90
+ logger.error(`Invalid agent name "${agentName}". Must be in PascalCase (e.g. "CodeFormatter", "MyAgent").`);
91
+ return;
92
+ }
93
+ if (existsSync(resolvedDir)) {
94
+ logger.error(`Output directory already exists: ${resolvedDir}`);
95
+ return;
96
+ }
97
+ logger.info(`Generating ${template} agent: ${agentName}...`);
98
+ try {
99
+ const files = scaffold({
100
+ outDir: resolvedDir,
101
+ agentName,
102
+ description: description || 'A custom agent',
103
+ template: template,
104
+ agentType: options.agentType,
105
+ });
106
+ logger.success(`Created ${files.length} files in ${outDir}/`);
107
+ console.log('');
108
+ for (const file of files) {
109
+ const relativePath = file.replace(resolvedDir, '').replace(/^\//, '');
110
+ console.log(` 📄 ${relativePath}`);
111
+ }
112
+ console.log('');
113
+ logger.success('Next steps:');
114
+ console.log('');
115
+ console.log(` cd ${outDir}`);
116
+ console.log(' npm install');
117
+ console.log(' npm run build');
118
+ console.log(' npm test');
119
+ console.log('');
120
+ logger.info('To register this agent with the orchestrator, add it to the createAgent() switch in src/agents/orchestrator.ts');
121
+ }
122
+ catch (err) {
123
+ const msg = err instanceof Error ? err.message : String(err);
124
+ logger.error(`Failed to scaffold agent: ${msg}`);
125
+ }
126
+ }
127
+ handleListTemplates() {
128
+ const templates = listTemplates();
129
+ logger.highlight('Available scaffold templates:');
130
+ console.log('');
131
+ for (const t of templates) {
132
+ console.log(` ${t.name}`);
133
+ console.log(` ${t.description}`);
134
+ console.log('');
135
+ }
136
+ logger.info('Use: buff sdk scaffold <outDir> <agentName> [description] --template <name>');
137
+ }
138
+ handleInfo() {
139
+ logger.highlight('@agent-baba-d/sdk');
140
+ console.log('');
141
+ console.log(' Build custom agents for the Agent-Baba-D multi-agent system.');
142
+ console.log('');
143
+ console.log(' Subcommands:');
144
+ console.log(' scaffold Generate a new custom agent project');
145
+ console.log(' templates List available scaffold templates');
146
+ console.log(' info Show this information');
147
+ console.log('');
148
+ console.log(' Entry points:');
149
+ console.log(' @agent-baba-d/sdk Base Agent class + core types');
150
+ console.log(' @agent-baba-d/sdk/testing Testing utilities');
151
+ console.log('');
152
+ console.log(' API Docs: https://github.com/imdheerajKube/agent-baba-d');
153
+ }
154
+ async handleRegister(className, agentType, sourceModule, options) {
155
+ // Validate className (must be PascalCase)
156
+ if (!className.match(/^[A-Z][a-zA-Z0-9]*$/)) {
157
+ logger.error(`Invalid class name "${className}". Must be in PascalCase (e.g. "CodeFormatter").`);
158
+ return;
159
+ }
160
+ // Validate agentType (must be kebab-case)
161
+ if (!agentType.match(/^[a-z][a-z0-9-]*$/)) {
162
+ logger.error(`Invalid agent type "${agentType}". Must be kebab-case (e.g. "code-formatter").`);
163
+ return;
164
+ }
165
+ logger.info(`Registering agent '${agentType}' (${className}) from ${sourceModule}...`);
166
+ const result = registerAgent({
167
+ sourceModule,
168
+ className,
169
+ agentType,
170
+ icon: options.icon,
171
+ orchestratorPath: options.orchestratorPath,
172
+ });
173
+ if (result.success) {
174
+ logger.success(result.message);
175
+ if (result.modifiedFiles.length > 0) {
176
+ console.log('');
177
+ logger.success('Next steps:');
178
+ console.log('');
179
+ console.log(' Add the agent to a task plan in your workflow or CLI command:');
180
+ console.log(` { agentType: '${agentType}', description: '...', dependsOn: [] }`);
181
+ console.log('');
182
+ console.log(' Or use it directly in a goal:');
183
+ console.log(` buff execute "Run ${agentType} on the project"`);
184
+ }
185
+ }
186
+ else {
187
+ logger.error(result.message);
188
+ }
189
+ }
190
+ async handleUnregister(agentType, options) {
191
+ logger.info(`Unregistering agent '${agentType}'...`);
192
+ const result = unregisterAgent({
193
+ agentType,
194
+ orchestratorPath: options.orchestratorPath,
195
+ });
196
+ if (result.success) {
197
+ logger.success(result.message);
198
+ }
199
+ else {
200
+ logger.error(result.message);
201
+ }
202
+ }
203
+ }
204
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/cli/sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Stats command — View usage statistics and cost tracking.
3
+ *
4
+ * Usage:
5
+ * buff stats — Show all stats summary
6
+ * buff stats cost — Show cost tracking details
7
+ * buff stats cost --clear — Reset cost tracking data
8
+ * buff stats history — Show conversation history stats
9
+ */
10
+ import { Command } from 'commander';
11
+ import { BaseCommand } from './commands.js';
12
+ export declare class StatsCommand extends BaseCommand {
13
+ create(): Command;
14
+ private showCost;
15
+ private showHistoryStats;
16
+ private showAllStats;
17
+ }
18
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/cli/stats.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,qBAAa,YAAa,SAAQ,WAAW;IAC3C,MAAM,IAAI,OAAO;YA+BH,QAAQ;IAWtB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,YAAY;CAYrB"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Stats command — View usage statistics and cost tracking.
3
+ *
4
+ * Usage:
5
+ * buff stats — Show all stats summary
6
+ * buff stats cost — Show cost tracking details
7
+ * buff stats cost --clear — Reset cost tracking data
8
+ * buff stats history — Show conversation history stats
9
+ */
10
+ import { Command } from 'commander';
11
+ import { BaseCommand } from './commands.js';
12
+ import { getCostTracker } from '../learning/cost-tracker.js';
13
+ import { getChatHistory } from '../context/history.js';
14
+ import { logger } from '../utils/logger.js';
15
+ export class StatsCommand extends BaseCommand {
16
+ create() {
17
+ const command = new Command('stats')
18
+ .description('View usage statistics and cost tracking');
19
+ // ── cost ─────────────────────────────────────────────────────────────
20
+ const costCmd = new Command('cost')
21
+ .description('Show API cost tracking details')
22
+ .option('--clear', 'Reset all cost tracking data')
23
+ .action(async (options) => {
24
+ await this.showCost(options);
25
+ });
26
+ command.addCommand(costCmd);
27
+ // ── history ──────────────────────────────────────────────────────────
28
+ const historyCmd = new Command('history')
29
+ .description('Show conversation history statistics')
30
+ .action(() => {
31
+ this.showHistoryStats();
32
+ });
33
+ command.addCommand(historyCmd);
34
+ // Default: show all stats
35
+ command.action(() => {
36
+ this.showAllStats();
37
+ });
38
+ return command;
39
+ }
40
+ async showCost(options) {
41
+ if (options?.clear) {
42
+ getCostTracker().clear();
43
+ logger.success('Cost tracking data cleared.');
44
+ return;
45
+ }
46
+ const tracker = getCostTracker();
47
+ console.log(`\n${tracker.formatSummary()}`);
48
+ }
49
+ showHistoryStats() {
50
+ const history = getChatHistory();
51
+ const total = history.count();
52
+ const recent = history.getRecentSessions(7);
53
+ logger.highlight(`${'═'.repeat(60)}`);
54
+ logger.highlight(' 📝 Conversation History');
55
+ logger.highlight(`${'═'.repeat(60)}`);
56
+ console.log(`\n Total sessions: ${total}`);
57
+ console.log(` Recent (7 days): ${recent.length}`);
58
+ if (recent.length > 0) {
59
+ console.log(`\n Recent sessions:`);
60
+ for (const session of recent.slice(0, 10)) {
61
+ console.log(history.formatSessionSummary(session));
62
+ }
63
+ }
64
+ console.log('');
65
+ }
66
+ showAllStats() {
67
+ this.showHistoryStats();
68
+ const tracker = getCostTracker();
69
+ const summary = tracker.getSummary();
70
+ if (summary.totalRequests > 0) {
71
+ console.log(`\n${tracker.formatSummary()}`);
72
+ }
73
+ else {
74
+ logger.info('No cost data yet. Start using providers to track costs.');
75
+ }
76
+ }
77
+ }
78
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/cli/stats.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Team command — Team collaboration with shared memory, config, and review workflow.
3
+ *
4
+ * Usage:
5
+ * buff team init [name] — Initialize team config in working directory
6
+ * buff team init --repo <url> — Init with remote team repository
7
+ * buff team join <repo-url> — Clone and join an existing team repo
8
+ * buff team sync — Sync team memory with remote (pull + push)
9
+ * buff team status — Show team configuration and memory status
10
+ * buff team share — Share local trajectories with team
11
+ * buff team review list — List all review bundles
12
+ * buff team review show <id> — Show a specific review bundle
13
+ * buff team review approve <id> — Approve a review
14
+ * buff team review reject <id> [reason] — Reject a review
15
+ * buff team review merge <id> — Merge an approved review into working dir
16
+ * buff team review create <title> <goal> — Create a review bundle from files
17
+ *
18
+ * The team system enables multiple developers to:
19
+ * - Share agent execution trajectories via git
20
+ * - Use project-level .buffconfig.json for shared provider defaults
21
+ * - Review agent-generated changes before applying them
22
+ * - Collaborate on workflow templates and coding patterns
23
+ */
24
+ import { Command } from 'commander';
25
+ import { BaseCommand } from './commands.js';
26
+ export declare class TeamCommand extends BaseCommand {
27
+ create(): Command;
28
+ private handleInit;
29
+ private handleJoin;
30
+ private handleSync;
31
+ private handleStatus;
32
+ private handleShare;
33
+ private handleReviewList;
34
+ private handleReviewShow;
35
+ private handleReviewApprove;
36
+ private handleReviewRequestChanges;
37
+ private handleReviewReject;
38
+ private handleReviewMerge;
39
+ private handleReviewCreate;
40
+ private reviewStatusIcon;
41
+ }
42
+ //# sourceMappingURL=team.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/cli/team.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA4B5C,qBAAa,WAAY,SAAQ,WAAW;IAC1C,MAAM,IAAI,OAAO;YAuHH,UAAU;YAqDV,UAAU;YAkCV,UAAU;YAwCV,YAAY;YA0EZ,WAAW;YAqBX,gBAAgB;YA0BhB,gBAAgB;YAgDhB,mBAAmB;YAmBnB,0BAA0B;YAe1B,kBAAkB;YAQlB,iBAAiB;YAQjB,kBAAkB;IAsDhC,OAAO,CAAC,gBAAgB;CAUzB"}