@calliopelabs/cli 0.8.20 → 2.0.2

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 (402) hide show
  1. package/dist/agents/agent-config-loader.d.ts +60 -0
  2. package/dist/agents/agent-config-loader.d.ts.map +1 -0
  3. package/dist/agents/agent-config-loader.js +402 -0
  4. package/dist/agents/agent-config-loader.js.map +1 -0
  5. package/dist/agents/agent-config-presets.d.ts +10 -0
  6. package/dist/agents/agent-config-presets.d.ts.map +1 -0
  7. package/dist/agents/agent-config-presets.js +940 -0
  8. package/dist/agents/agent-config-presets.js.map +1 -0
  9. package/dist/agents/agent-config-types.d.ts +145 -0
  10. package/dist/agents/agent-config-types.d.ts.map +1 -0
  11. package/dist/agents/agent-config-types.js +12 -0
  12. package/dist/agents/agent-config-types.js.map +1 -0
  13. package/dist/{agterm → agents}/agent-detection.d.ts +1 -1
  14. package/dist/{agterm → agents}/agent-detection.d.ts.map +1 -1
  15. package/dist/{agterm → agents}/agent-detection.js +21 -5
  16. package/dist/agents/agent-detection.js.map +1 -0
  17. package/dist/agents/aggregator.d.ts +19 -0
  18. package/dist/agents/aggregator.d.ts.map +1 -0
  19. package/dist/agents/aggregator.js +141 -0
  20. package/dist/agents/aggregator.js.map +1 -0
  21. package/dist/{agterm → agents}/cli-backend.d.ts +1 -1
  22. package/dist/{agterm → agents}/cli-backend.d.ts.map +1 -1
  23. package/dist/{agterm → agents}/cli-backend.js +90 -12
  24. package/dist/agents/cli-backend.js.map +1 -0
  25. package/dist/agents/council-types.d.ts +113 -0
  26. package/dist/agents/council-types.d.ts.map +1 -0
  27. package/dist/agents/council-types.js +81 -0
  28. package/dist/agents/council-types.js.map +1 -0
  29. package/dist/agents/council.d.ts +107 -0
  30. package/dist/agents/council.d.ts.map +1 -0
  31. package/dist/agents/council.js +586 -0
  32. package/dist/agents/council.js.map +1 -0
  33. package/dist/agents/decomposer.d.ts +33 -0
  34. package/dist/agents/decomposer.d.ts.map +1 -0
  35. package/dist/agents/decomposer.js +138 -0
  36. package/dist/agents/decomposer.js.map +1 -0
  37. package/dist/agents/dynamic-tools.d.ts +52 -0
  38. package/dist/agents/dynamic-tools.d.ts.map +1 -0
  39. package/dist/agents/dynamic-tools.js +395 -0
  40. package/dist/agents/dynamic-tools.js.map +1 -0
  41. package/dist/agents/index.d.ts +29 -0
  42. package/dist/agents/index.d.ts.map +1 -0
  43. package/dist/agents/index.js +29 -0
  44. package/dist/agents/index.js.map +1 -0
  45. package/dist/agents/installer.d.ts +39 -0
  46. package/dist/agents/installer.d.ts.map +1 -0
  47. package/dist/agents/installer.js +205 -0
  48. package/dist/agents/installer.js.map +1 -0
  49. package/dist/{agterm → agents}/orchestrator.d.ts +7 -2
  50. package/dist/agents/orchestrator.d.ts.map +1 -0
  51. package/dist/{agterm → agents}/orchestrator.js +22 -2
  52. package/dist/agents/orchestrator.js.map +1 -0
  53. package/dist/agents/sdk-backend.d.ts +63 -0
  54. package/dist/agents/sdk-backend.d.ts.map +1 -0
  55. package/dist/agents/sdk-backend.js +489 -0
  56. package/dist/agents/sdk-backend.js.map +1 -0
  57. package/dist/agents/swarm-types.d.ts +83 -0
  58. package/dist/agents/swarm-types.d.ts.map +1 -0
  59. package/dist/agents/swarm-types.js +20 -0
  60. package/dist/agents/swarm-types.js.map +1 -0
  61. package/dist/agents/swarm.d.ts +74 -0
  62. package/dist/agents/swarm.d.ts.map +1 -0
  63. package/dist/agents/swarm.js +307 -0
  64. package/dist/agents/swarm.js.map +1 -0
  65. package/dist/{agterm → agents}/tools.d.ts +7 -5
  66. package/dist/agents/tools.d.ts.map +1 -0
  67. package/dist/agents/tools.js +776 -0
  68. package/dist/agents/tools.js.map +1 -0
  69. package/dist/{agterm → agents}/types.d.ts +14 -2
  70. package/dist/agents/types.d.ts.map +1 -0
  71. package/dist/{agterm → agents}/types.js +2 -2
  72. package/dist/agents/types.js.map +1 -0
  73. package/dist/api-server.d.ts +26 -0
  74. package/dist/api-server.d.ts.map +1 -0
  75. package/dist/api-server.js +230 -0
  76. package/dist/api-server.js.map +1 -0
  77. package/dist/auto-checkpoint.d.ts +35 -0
  78. package/dist/auto-checkpoint.d.ts.map +1 -0
  79. package/dist/auto-checkpoint.js +143 -0
  80. package/dist/auto-checkpoint.js.map +1 -0
  81. package/dist/auto-compressor.d.ts +44 -0
  82. package/dist/auto-compressor.d.ts.map +1 -0
  83. package/dist/auto-compressor.js +145 -0
  84. package/dist/auto-compressor.js.map +1 -0
  85. package/dist/background-jobs.d.ts +45 -0
  86. package/dist/background-jobs.d.ts.map +1 -0
  87. package/dist/background-jobs.js +122 -0
  88. package/dist/background-jobs.js.map +1 -0
  89. package/dist/bin.d.ts +6 -2
  90. package/dist/bin.d.ts.map +1 -1
  91. package/dist/bin.js +127 -24
  92. package/dist/bin.js.map +1 -1
  93. package/dist/checkpoint.d.ts +49 -0
  94. package/dist/checkpoint.d.ts.map +1 -0
  95. package/dist/checkpoint.js +219 -0
  96. package/dist/checkpoint.js.map +1 -0
  97. package/dist/circuit-breaker/breaker.d.ts +80 -0
  98. package/dist/circuit-breaker/breaker.d.ts.map +1 -0
  99. package/dist/circuit-breaker/breaker.js +408 -0
  100. package/dist/circuit-breaker/breaker.js.map +1 -0
  101. package/dist/circuit-breaker/defaults.d.ts +8 -0
  102. package/dist/circuit-breaker/defaults.d.ts.map +1 -0
  103. package/dist/circuit-breaker/defaults.js +35 -0
  104. package/dist/circuit-breaker/defaults.js.map +1 -0
  105. package/dist/circuit-breaker/index.d.ts +9 -0
  106. package/dist/circuit-breaker/index.d.ts.map +1 -0
  107. package/dist/circuit-breaker/index.js +8 -0
  108. package/dist/circuit-breaker/index.js.map +1 -0
  109. package/dist/circuit-breaker/types.d.ts +77 -0
  110. package/dist/circuit-breaker/types.d.ts.map +1 -0
  111. package/dist/circuit-breaker/types.js +8 -0
  112. package/dist/circuit-breaker/types.js.map +1 -0
  113. package/dist/circuit-breaker.d.ts +8 -0
  114. package/dist/circuit-breaker.d.ts.map +1 -0
  115. package/dist/circuit-breaker.js +7 -0
  116. package/dist/circuit-breaker.js.map +1 -0
  117. package/dist/cli/agent.d.ts +9 -0
  118. package/dist/cli/agent.d.ts.map +1 -0
  119. package/dist/cli/agent.js +262 -0
  120. package/dist/cli/agent.js.map +1 -0
  121. package/dist/cli/commands.d.ts +12 -0
  122. package/dist/cli/commands.d.ts.map +1 -0
  123. package/dist/{cli.js → cli/commands.js} +285 -422
  124. package/dist/cli/commands.js.map +1 -0
  125. package/dist/cli/index.d.ts +8 -0
  126. package/dist/cli/index.d.ts.map +1 -0
  127. package/dist/cli/index.js +222 -0
  128. package/dist/cli/index.js.map +1 -0
  129. package/dist/cli/types.d.ts +30 -0
  130. package/dist/cli/types.d.ts.map +1 -0
  131. package/dist/cli/types.js +20 -0
  132. package/dist/cli/types.js.map +1 -0
  133. package/dist/companions.d.ts +54 -0
  134. package/dist/companions.d.ts.map +1 -0
  135. package/dist/companions.js +440 -0
  136. package/dist/companions.js.map +1 -0
  137. package/dist/config.d.ts +23 -1
  138. package/dist/config.d.ts.map +1 -1
  139. package/dist/config.js +95 -22
  140. package/dist/config.js.map +1 -1
  141. package/dist/diff.d.ts +27 -0
  142. package/dist/diff.d.ts.map +1 -1
  143. package/dist/diff.js +415 -10
  144. package/dist/diff.js.map +1 -1
  145. package/dist/errors.d.ts.map +1 -1
  146. package/dist/errors.js +20 -11
  147. package/dist/errors.js.map +1 -1
  148. package/dist/git-status.d.ts +23 -0
  149. package/dist/git-status.d.ts.map +1 -0
  150. package/dist/git-status.js +92 -0
  151. package/dist/git-status.js.map +1 -0
  152. package/dist/headless.d.ts +25 -0
  153. package/dist/headless.d.ts.map +1 -0
  154. package/dist/headless.js +182 -0
  155. package/dist/headless.js.map +1 -0
  156. package/dist/hud/api.d.ts +35 -0
  157. package/dist/hud/api.d.ts.map +1 -0
  158. package/dist/hud/api.js +448 -0
  159. package/dist/hud/api.js.map +1 -0
  160. package/dist/hud/palettes.d.ts +9 -0
  161. package/dist/hud/palettes.d.ts.map +1 -0
  162. package/dist/hud/palettes.js +280 -0
  163. package/dist/hud/palettes.js.map +1 -0
  164. package/dist/hud/skins.d.ts +12 -0
  165. package/dist/hud/skins.d.ts.map +1 -0
  166. package/dist/hud/skins.js +365 -0
  167. package/dist/hud/skins.js.map +1 -0
  168. package/dist/hud/theme-packs/api.d.ts +51 -0
  169. package/dist/hud/theme-packs/api.d.ts.map +1 -0
  170. package/dist/hud/theme-packs/api.js +145 -0
  171. package/dist/hud/theme-packs/api.js.map +1 -0
  172. package/dist/hud/theme-packs/index.d.ts +18 -0
  173. package/dist/hud/theme-packs/index.d.ts.map +1 -0
  174. package/dist/hud/theme-packs/index.js +38 -0
  175. package/dist/hud/theme-packs/index.js.map +1 -0
  176. package/dist/hud/theme-packs/types.d.ts +29 -0
  177. package/dist/hud/theme-packs/types.d.ts.map +1 -0
  178. package/dist/hud/theme-packs/types.js +9 -0
  179. package/dist/hud/theme-packs/types.js.map +1 -0
  180. package/dist/hud/types.d.ts +182 -0
  181. package/dist/hud/types.d.ts.map +1 -0
  182. package/dist/hud/types.js +7 -0
  183. package/dist/hud/types.js.map +1 -0
  184. package/dist/idle-eviction.d.ts +34 -0
  185. package/dist/idle-eviction.d.ts.map +1 -0
  186. package/dist/idle-eviction.js +78 -0
  187. package/dist/idle-eviction.js.map +1 -0
  188. package/dist/index.d.ts +9 -3
  189. package/dist/index.d.ts.map +1 -1
  190. package/dist/index.js +9 -3
  191. package/dist/index.js.map +1 -1
  192. package/dist/iteration-ledger.d.ts +105 -0
  193. package/dist/iteration-ledger.d.ts.map +1 -0
  194. package/dist/iteration-ledger.js +237 -0
  195. package/dist/iteration-ledger.js.map +1 -0
  196. package/dist/markdown.d.ts.map +1 -1
  197. package/dist/markdown.js +1 -27
  198. package/dist/markdown.js.map +1 -1
  199. package/dist/mcp.d.ts +35 -0
  200. package/dist/mcp.d.ts.map +1 -1
  201. package/dist/mcp.js +291 -7
  202. package/dist/mcp.js.map +1 -1
  203. package/dist/memory.d.ts.map +1 -1
  204. package/dist/memory.js +12 -2
  205. package/dist/memory.js.map +1 -1
  206. package/dist/model-detection.d.ts +5 -0
  207. package/dist/model-detection.d.ts.map +1 -1
  208. package/dist/model-detection.js +278 -10
  209. package/dist/model-detection.js.map +1 -1
  210. package/dist/model-router.d.ts.map +1 -1
  211. package/dist/model-router.js +33 -11
  212. package/dist/model-router.js.map +1 -1
  213. package/dist/plugins.d.ts +8 -0
  214. package/dist/plugins.d.ts.map +1 -1
  215. package/dist/plugins.js +97 -6
  216. package/dist/plugins.js.map +1 -1
  217. package/dist/providers/anthropic.d.ts +10 -0
  218. package/dist/providers/anthropic.d.ts.map +1 -0
  219. package/dist/providers/anthropic.js +221 -0
  220. package/dist/providers/anthropic.js.map +1 -0
  221. package/dist/providers/bedrock.d.ts +17 -0
  222. package/dist/providers/bedrock.d.ts.map +1 -0
  223. package/dist/providers/bedrock.js +574 -0
  224. package/dist/providers/bedrock.js.map +1 -0
  225. package/dist/providers/compat.d.ts +13 -0
  226. package/dist/providers/compat.d.ts.map +1 -0
  227. package/dist/providers/compat.js +202 -0
  228. package/dist/providers/compat.js.map +1 -0
  229. package/dist/providers/google.d.ts +10 -0
  230. package/dist/providers/google.d.ts.map +1 -0
  231. package/dist/providers/google.js +203 -0
  232. package/dist/providers/google.js.map +1 -0
  233. package/dist/providers/index.d.ts +23 -0
  234. package/dist/providers/index.d.ts.map +1 -0
  235. package/dist/providers/index.js +145 -0
  236. package/dist/providers/index.js.map +1 -0
  237. package/dist/providers/ollama.d.ts +17 -0
  238. package/dist/providers/ollama.d.ts.map +1 -0
  239. package/dist/providers/ollama.js +289 -0
  240. package/dist/providers/ollama.js.map +1 -0
  241. package/dist/providers/openai.d.ts +121 -0
  242. package/dist/providers/openai.d.ts.map +1 -0
  243. package/dist/providers/openai.js +485 -0
  244. package/dist/providers/openai.js.map +1 -0
  245. package/dist/providers/types.d.ts +63 -0
  246. package/dist/providers/types.d.ts.map +1 -0
  247. package/dist/providers/types.js +164 -0
  248. package/dist/providers/types.js.map +1 -0
  249. package/dist/sandbox-native.d.ts +59 -0
  250. package/dist/sandbox-native.d.ts.map +1 -0
  251. package/dist/sandbox-native.js +292 -0
  252. package/dist/sandbox-native.js.map +1 -0
  253. package/dist/sandbox.d.ts +2 -2
  254. package/dist/sandbox.d.ts.map +1 -1
  255. package/dist/sandbox.js +59 -13
  256. package/dist/sandbox.js.map +1 -1
  257. package/dist/scope.d.ts +3 -1
  258. package/dist/scope.d.ts.map +1 -1
  259. package/dist/scope.js +13 -1
  260. package/dist/scope.js.map +1 -1
  261. package/dist/session-timeout.d.ts +31 -0
  262. package/dist/session-timeout.d.ts.map +1 -0
  263. package/dist/session-timeout.js +100 -0
  264. package/dist/session-timeout.js.map +1 -0
  265. package/dist/setup.d.ts.map +1 -1
  266. package/dist/setup.js +29 -17
  267. package/dist/setup.js.map +1 -1
  268. package/dist/smart-router.d.ts +73 -0
  269. package/dist/smart-router.d.ts.map +1 -0
  270. package/dist/smart-router.js +332 -0
  271. package/dist/smart-router.js.map +1 -0
  272. package/dist/storage.d.ts +19 -0
  273. package/dist/storage.d.ts.map +1 -1
  274. package/dist/storage.js +164 -1
  275. package/dist/storage.js.map +1 -1
  276. package/dist/streaming.d.ts +4 -0
  277. package/dist/streaming.d.ts.map +1 -1
  278. package/dist/streaming.js +12 -0
  279. package/dist/streaming.js.map +1 -1
  280. package/dist/styles.d.ts +32 -0
  281. package/dist/styles.d.ts.map +1 -1
  282. package/dist/styles.js +91 -0
  283. package/dist/styles.js.map +1 -1
  284. package/dist/summarization.d.ts +1 -1
  285. package/dist/summarization.js +4 -4
  286. package/dist/summarization.js.map +1 -1
  287. package/dist/terminal-image.d.ts +115 -0
  288. package/dist/terminal-image.d.ts.map +1 -0
  289. package/dist/terminal-image.js +766 -0
  290. package/dist/terminal-image.js.map +1 -0
  291. package/dist/terminal-recording.d.ts +55 -0
  292. package/dist/terminal-recording.d.ts.map +1 -0
  293. package/dist/terminal-recording.js +182 -0
  294. package/dist/terminal-recording.js.map +1 -0
  295. package/dist/themes.d.ts +19 -35
  296. package/dist/themes.d.ts.map +1 -1
  297. package/dist/themes.js +101 -210
  298. package/dist/themes.js.map +1 -1
  299. package/dist/tmux.d.ts +35 -0
  300. package/dist/tmux.d.ts.map +1 -0
  301. package/dist/tmux.js +106 -0
  302. package/dist/tmux.js.map +1 -0
  303. package/dist/tools.d.ts +3 -3
  304. package/dist/tools.d.ts.map +1 -1
  305. package/dist/tools.js +587 -45
  306. package/dist/tools.js.map +1 -1
  307. package/dist/trust.d.ts +53 -0
  308. package/dist/trust.d.ts.map +1 -0
  309. package/dist/trust.js +154 -0
  310. package/dist/trust.js.map +1 -0
  311. package/dist/types.d.ts +7 -3
  312. package/dist/types.d.ts.map +1 -1
  313. package/dist/types.js +70 -32
  314. package/dist/types.js.map +1 -1
  315. package/dist/ui/agent.d.ts +61 -0
  316. package/dist/ui/agent.d.ts.map +1 -0
  317. package/dist/ui/agent.js +768 -0
  318. package/dist/ui/agent.js.map +1 -0
  319. package/dist/ui/chat-input.d.ts +32 -0
  320. package/dist/ui/chat-input.d.ts.map +1 -0
  321. package/dist/ui/chat-input.js +355 -0
  322. package/dist/ui/chat-input.js.map +1 -0
  323. package/dist/ui/commands.d.ts +92 -0
  324. package/dist/ui/commands.d.ts.map +1 -0
  325. package/dist/ui/commands.js +3006 -0
  326. package/dist/ui/commands.js.map +1 -0
  327. package/dist/ui/completions.d.ts +22 -0
  328. package/dist/ui/completions.d.ts.map +1 -0
  329. package/dist/ui/completions.js +215 -0
  330. package/dist/ui/completions.js.map +1 -0
  331. package/dist/ui/components.d.ts +38 -0
  332. package/dist/ui/components.d.ts.map +1 -0
  333. package/dist/ui/components.js +422 -0
  334. package/dist/ui/components.js.map +1 -0
  335. package/dist/ui/context.d.ts +12 -0
  336. package/dist/ui/context.d.ts.map +1 -0
  337. package/dist/ui/context.js +102 -0
  338. package/dist/ui/context.js.map +1 -0
  339. package/dist/ui/error-boundary.d.ts +33 -0
  340. package/dist/ui/error-boundary.d.ts.map +1 -0
  341. package/dist/ui/error-boundary.js +94 -0
  342. package/dist/ui/error-boundary.js.map +1 -0
  343. package/dist/ui/frame.d.ts +13 -0
  344. package/dist/ui/frame.d.ts.map +1 -0
  345. package/dist/ui/frame.js +89 -0
  346. package/dist/ui/frame.js.map +1 -0
  347. package/dist/ui/index.d.ts +12 -0
  348. package/dist/ui/index.d.ts.map +1 -0
  349. package/dist/ui/index.js +928 -0
  350. package/dist/ui/index.js.map +1 -0
  351. package/dist/ui/messages.d.ts +19 -0
  352. package/dist/ui/messages.d.ts.map +1 -0
  353. package/dist/ui/messages.js +181 -0
  354. package/dist/ui/messages.js.map +1 -0
  355. package/dist/ui/modals.d.ts +52 -0
  356. package/dist/ui/modals.d.ts.map +1 -0
  357. package/dist/ui/modals.js +204 -0
  358. package/dist/ui/modals.js.map +1 -0
  359. package/dist/ui/pack-picker.d.ts +12 -0
  360. package/dist/ui/pack-picker.d.ts.map +1 -0
  361. package/dist/ui/pack-picker.js +101 -0
  362. package/dist/ui/pack-picker.js.map +1 -0
  363. package/dist/ui/status-bar.d.ts +20 -0
  364. package/dist/ui/status-bar.d.ts.map +1 -0
  365. package/dist/ui/status-bar.js +41 -0
  366. package/dist/ui/status-bar.js.map +1 -0
  367. package/dist/ui/theme-picker.d.ts +24 -0
  368. package/dist/ui/theme-picker.d.ts.map +1 -0
  369. package/dist/ui/theme-picker.js +190 -0
  370. package/dist/ui/theme-picker.js.map +1 -0
  371. package/dist/ui/types.d.ts +62 -0
  372. package/dist/ui/types.d.ts.map +1 -0
  373. package/dist/ui/types.js +7 -0
  374. package/dist/ui/types.js.map +1 -0
  375. package/dist/version-check.d.ts.map +1 -1
  376. package/dist/version-check.js +1 -9
  377. package/dist/version-check.js.map +1 -1
  378. package/package.json +8 -3
  379. package/dist/agterm/agent-detection.js.map +0 -1
  380. package/dist/agterm/cli-backend.js.map +0 -1
  381. package/dist/agterm/index.d.ts +0 -12
  382. package/dist/agterm/index.d.ts.map +0 -1
  383. package/dist/agterm/index.js +0 -15
  384. package/dist/agterm/index.js.map +0 -1
  385. package/dist/agterm/orchestrator.d.ts.map +0 -1
  386. package/dist/agterm/orchestrator.js.map +0 -1
  387. package/dist/agterm/tools.d.ts.map +0 -1
  388. package/dist/agterm/tools.js +0 -278
  389. package/dist/agterm/tools.js.map +0 -1
  390. package/dist/agterm/types.d.ts.map +0 -1
  391. package/dist/agterm/types.js.map +0 -1
  392. package/dist/cli.d.ts +0 -14
  393. package/dist/cli.d.ts.map +0 -1
  394. package/dist/cli.js.map +0 -1
  395. package/dist/providers.d.ts +0 -51
  396. package/dist/providers.d.ts.map +0 -1
  397. package/dist/providers.js +0 -1146
  398. package/dist/providers.js.map +0 -1
  399. package/dist/ui-cli.d.ts +0 -17
  400. package/dist/ui-cli.d.ts.map +0 -1
  401. package/dist/ui-cli.js +0 -3730
  402. package/dist/ui-cli.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-config-presets.js","sourceRoot":"","sources":["../../src/agents/agent-config-presets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Agent & Team Configuration Types
3
+ *
4
+ * Type definitions for .calliope/agents/ YAML-based agent and team definitions.
5
+ */
6
+ import type { TaskExecutor, SubAgentType } from './types.js';
7
+ import type { DecompositionStrategy, AggregationStrategy } from './swarm-types.js';
8
+ import type { CouncilMode, TieBreaker } from './council-types.js';
9
+ /**
10
+ * An agent definition loaded from YAML or built-in presets.
11
+ * Combines system prompt, executor engine, provider, model, and limits.
12
+ */
13
+ export interface AgentDefinition {
14
+ name: string;
15
+ description?: string;
16
+ /** Executor backend: cli, claude-sdk, openai-sdk, google-adk */
17
+ engine: TaskExecutor;
18
+ /** LLM provider: anthropic, openai, google, ollama, etc. */
19
+ provider?: string;
20
+ /** Model name: claude-sonnet-4-20250514, gpt-4o, gemini-2.0-flash, etc. */
21
+ model?: string;
22
+ /** System prompt / instructions for this agent */
23
+ instructions?: string;
24
+ /** Role label for swarm/team contexts */
25
+ role?: string;
26
+ /** Weight for scoring in competitive mode (default: 1.0) */
27
+ weight?: number;
28
+ /** Tool restrictions */
29
+ tools?: {
30
+ enabled?: string[];
31
+ disabled?: string[];
32
+ };
33
+ /** Execution limits */
34
+ limits?: {
35
+ /** Timeout in milliseconds (0 = use global default) */
36
+ timeout?: number;
37
+ /** Maximum LLM turns/iterations */
38
+ maxIterations?: number;
39
+ };
40
+ /** Source location of this definition */
41
+ _source?: 'builtin' | 'global' | 'project';
42
+ _filePath?: string;
43
+ }
44
+ /**
45
+ * A team member that references a named agent definition
46
+ */
47
+ export interface TeamMemberRef {
48
+ /** Name of an AgentDefinition to reference */
49
+ agent: string;
50
+ /** Override the agent's role */
51
+ role?: string;
52
+ /** Override the agent's weight */
53
+ weight?: number;
54
+ /** Override display name */
55
+ nameOverride?: string;
56
+ }
57
+ /**
58
+ * A team member defined inline (no external reference)
59
+ */
60
+ export interface TeamMemberInline {
61
+ /** Display name for this member */
62
+ name: string;
63
+ engine?: TaskExecutor;
64
+ provider?: string;
65
+ model?: string;
66
+ instructions?: string;
67
+ role?: string;
68
+ weight?: number;
69
+ }
70
+ /**
71
+ * A team member — either a reference to a named agent or an inline definition.
72
+ * Discriminated by presence of 'agent' (ref) vs 'name' (inline) key.
73
+ */
74
+ export type TeamMember = TeamMemberRef | TeamMemberInline;
75
+ /**
76
+ * Check if a team member is a reference
77
+ */
78
+ export declare function isTeamMemberRef(m: TeamMember): m is TeamMemberRef;
79
+ /**
80
+ * A team definition loaded from YAML or built-in presets.
81
+ * Composes multiple agents with coordination strategy.
82
+ */
83
+ export interface TeamDefinition {
84
+ name: string;
85
+ description?: string;
86
+ /** Coordination mode */
87
+ mode: CouncilMode;
88
+ /** Team members (refs or inline) */
89
+ members: TeamMember[];
90
+ /** Swarm-specific settings (used with /swarm --team) */
91
+ swarm?: {
92
+ strategy?: DecompositionStrategy;
93
+ aggregation?: AggregationStrategy;
94
+ maxWorkers?: number;
95
+ };
96
+ /** Council-specific settings (used with /council --team) */
97
+ council?: {
98
+ tieBreaker?: TieBreaker;
99
+ maxRounds?: number;
100
+ consensusThreshold?: number;
101
+ };
102
+ /** Prompt prefix injected before the user's prompt */
103
+ promptPrefix?: string;
104
+ /** Source location */
105
+ _source?: 'builtin' | 'global' | 'project';
106
+ _filePath?: string;
107
+ }
108
+ /**
109
+ * A fully resolved team member with all fields populated
110
+ */
111
+ export interface ResolvedTeamMember {
112
+ name: string;
113
+ agent: SubAgentType;
114
+ engine: TaskExecutor;
115
+ provider?: string;
116
+ model?: string;
117
+ instructions?: string;
118
+ role?: string;
119
+ weight: number;
120
+ limits?: {
121
+ timeout?: number;
122
+ maxIterations?: number;
123
+ };
124
+ }
125
+ /**
126
+ * A fully resolved team with all member references dereferenced
127
+ */
128
+ export interface ResolvedTeam {
129
+ name: string;
130
+ description?: string;
131
+ mode: CouncilMode;
132
+ members: ResolvedTeamMember[];
133
+ swarm?: {
134
+ strategy?: DecompositionStrategy;
135
+ aggregation?: AggregationStrategy;
136
+ maxWorkers?: number;
137
+ };
138
+ council?: {
139
+ tieBreaker?: TieBreaker;
140
+ maxRounds?: number;
141
+ consensusThreshold?: number;
142
+ };
143
+ promptPrefix?: string;
144
+ }
145
+ //# sourceMappingURL=agent-config-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-config-types.d.ts","sourceRoot":"","sources":["../../src/agents/agent-config-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Agent & Team Configuration Types
3
+ *
4
+ * Type definitions for .calliope/agents/ YAML-based agent and team definitions.
5
+ */
6
+ /**
7
+ * Check if a team member is a reference
8
+ */
9
+ export function isTeamMemberRef(m) {
10
+ return 'agent' in m && typeof m.agent === 'string';
11
+ }
12
+ //# sourceMappingURL=agent-config-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-config-types.js","sourceRoot":"","sources":["../../src/agents/agent-config-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0FH;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,CAAa;IAC3C,OAAO,OAAO,IAAI,CAAC,IAAI,OAAQ,CAAmB,CAAC,KAAK,KAAK,QAAQ,CAAC;AACxE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * AGTerm Agent Detection
2
+ * Calliope Agents — Agent Detection
3
3
  *
4
4
  * Detect which agent CLIs are installed and available.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"agent-detection.d.ts","sourceRoot":"","sources":["../../src/agterm/agent-detection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAsB7D;;;GAGG;AACH,wBAAgB,YAAY,IAAI,YAAY,EAAE,CA4B7C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAInD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAG7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAGpF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAO7C"}
1
+ {"version":3,"file":"agent-detection.d.ts","sourceRoot":"","sources":["../../src/agents/agent-detection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAsB7D;;;GAGG;AACH,wBAAgB,YAAY,IAAI,YAAY,EAAE,CA4C7C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,EAAE,CAInD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAG7D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAGpF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAO7C"}
@@ -1,16 +1,16 @@
1
1
  /**
2
- * AGTerm Agent Detection
2
+ * Calliope Agents — Agent Detection
3
3
  *
4
4
  * Detect which agent CLIs are installed and available.
5
5
  */
6
- import { execSync } from 'child_process';
6
+ import { execFileSync } from 'child_process';
7
7
  import { AGENT_CLI_MAP } from './types.js';
8
8
  /**
9
9
  * Check if a command exists in PATH
10
10
  */
11
11
  function commandExists(command) {
12
12
  try {
13
- execSync(`which ${command}`, { stdio: 'ignore' });
13
+ execFileSync('which', [command], { stdio: 'ignore' });
14
14
  return true;
15
15
  }
16
16
  catch {
@@ -32,14 +32,30 @@ export function detectAgents() {
32
32
  for (const [type, config] of Object.entries(AGENT_CLI_MAP)) {
33
33
  const agentType = type;
34
34
  const exists = commandExists(config.command);
35
- const hasKey = hasEnvVar(config.envVar);
35
+ // Calliope works with any provider, not just Anthropic
36
+ let hasKey;
37
+ if (agentType === 'calliope') {
38
+ hasKey = hasEnvVar('ANTHROPIC_API_KEY') ||
39
+ hasEnvVar('OPENAI_API_KEY') ||
40
+ hasEnvVar('GOOGLE_API_KEY') ||
41
+ hasEnvVar('OLLAMA_BASE_URL') ||
42
+ hasEnvVar('OPENROUTER_API_KEY') ||
43
+ hasEnvVar('TOGETHER_API_KEY') ||
44
+ hasEnvVar('GROQ_API_KEY') ||
45
+ hasEnvVar('MISTRAL_API_KEY');
46
+ }
47
+ else {
48
+ hasKey = hasEnvVar(config.envVar);
49
+ }
36
50
  let available = exists && hasKey;
37
51
  let reason;
38
52
  if (!exists) {
39
53
  reason = `${config.command} not found in PATH`;
40
54
  }
41
55
  else if (!hasKey) {
42
- reason = `${config.envVar} not set`;
56
+ reason = agentType === 'calliope'
57
+ ? 'No API keys or Ollama configured'
58
+ : `${config.envVar} not set`;
43
59
  }
44
60
  agents.push({
45
61
  type: agentType,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-detection.js","sourceRoot":"","sources":["../../src/agents/agent-detection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Calliope Agents — Aggregator
3
+ *
4
+ * Aggregates results from completed swarm subtasks using various strategies.
5
+ */
6
+ import type { AggregationStrategy, SwarmSubtask } from './swarm-types.js';
7
+ /**
8
+ * Aggregate subtask results using the specified strategy
9
+ */
10
+ export declare function aggregateResults(subtasks: SwarmSubtask[], strategy: AggregationStrategy, originalPrompt: string): string;
11
+ /**
12
+ * Build an aggregation prompt for the overseer to synthesize results
13
+ * (Used when strategy is 'summarize' and we want LLM-powered aggregation)
14
+ */
15
+ export declare function buildAggregationPrompt(originalPrompt: string, subtaskResults: {
16
+ prompt: string;
17
+ result: string;
18
+ }[]): string;
19
+ //# sourceMappingURL=aggregator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../src/agents/aggregator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EAAE,EACxB,QAAQ,EAAE,mBAAmB,EAC7B,cAAc,EAAE,MAAM,GACrB,MAAM,CAwCR;AAuFD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,GACnD,MAAM,CAiBR"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Calliope Agents — Aggregator
3
+ *
4
+ * Aggregates results from completed swarm subtasks using various strategies.
5
+ */
6
+ /**
7
+ * Aggregate subtask results using the specified strategy
8
+ */
9
+ export function aggregateResults(subtasks, strategy, originalPrompt) {
10
+ const completed = subtasks
11
+ .filter(s => s.status === 'completed' && s.result)
12
+ .sort((a, b) => a.index - b.index);
13
+ const failed = subtasks.filter(s => s.status === 'failed');
14
+ if (completed.length === 0) {
15
+ const errors = failed.map(s => ` Subtask ${s.index + 1}: ${s.error || 'unknown error'}`);
16
+ return `All subtasks failed.\n${errors.join('\n')}`;
17
+ }
18
+ let result;
19
+ switch (strategy) {
20
+ case 'concatenate':
21
+ result = aggregateConcatenate(completed);
22
+ break;
23
+ case 'merge-dedupe':
24
+ result = aggregateMergeDedupe(completed);
25
+ break;
26
+ case 'summarize':
27
+ result = aggregateSummarize(completed, originalPrompt);
28
+ break;
29
+ case 'structured':
30
+ result = aggregateStructured(completed, originalPrompt);
31
+ break;
32
+ default:
33
+ result = aggregateConcatenate(completed);
34
+ }
35
+ // Append failure summary if any subtasks failed
36
+ if (failed.length > 0) {
37
+ result += `\n\n---\nNote: ${failed.length} subtask(s) failed:\n`;
38
+ for (const f of failed) {
39
+ result += ` - Subtask ${f.index + 1} (${f.prompt.slice(0, 60)}...): ${f.error || 'unknown'}\n`;
40
+ }
41
+ }
42
+ return result;
43
+ }
44
+ /**
45
+ * Concatenate: Simple ordered concatenation with headers
46
+ */
47
+ function aggregateConcatenate(subtasks) {
48
+ return subtasks
49
+ .map(s => {
50
+ const header = subtasks.length > 1
51
+ ? `## Subtask ${s.index + 1}: ${s.prompt.slice(0, 80)}\n\n`
52
+ : '';
53
+ return `${header}${s.result}`;
54
+ })
55
+ .join('\n\n---\n\n');
56
+ }
57
+ /**
58
+ * Merge-Dedupe: Combine results and remove duplicate content
59
+ */
60
+ function aggregateMergeDedupe(subtasks) {
61
+ const seenLines = new Set();
62
+ const mergedLines = [];
63
+ for (const subtask of subtasks) {
64
+ if (!subtask.result)
65
+ continue;
66
+ const lines = subtask.result.split('\n');
67
+ for (const line of lines) {
68
+ const normalized = line.trim().toLowerCase();
69
+ if (normalized.length === 0) {
70
+ mergedLines.push('');
71
+ continue;
72
+ }
73
+ if (!seenLines.has(normalized)) {
74
+ seenLines.add(normalized);
75
+ mergedLines.push(line);
76
+ }
77
+ }
78
+ }
79
+ return mergedLines.join('\n');
80
+ }
81
+ /**
82
+ * Summarize: Create a summary with key points from each subtask
83
+ */
84
+ function aggregateSummarize(subtasks, originalPrompt) {
85
+ const sections = [
86
+ `# Summary: ${originalPrompt.slice(0, 100)}`,
87
+ '',
88
+ ];
89
+ for (const subtask of subtasks) {
90
+ if (!subtask.result)
91
+ continue;
92
+ // Extract first paragraph or first 300 chars as key finding
93
+ const firstParagraph = subtask.result.split('\n\n')[0] || subtask.result.slice(0, 300);
94
+ sections.push(`**${subtask.prompt.slice(0, 80)}:**`);
95
+ sections.push(firstParagraph);
96
+ sections.push('');
97
+ }
98
+ return sections.join('\n');
99
+ }
100
+ /**
101
+ * Structured: Organize results into a structured report
102
+ */
103
+ function aggregateStructured(subtasks, originalPrompt) {
104
+ const sections = [
105
+ `# ${originalPrompt.slice(0, 100)}`,
106
+ '',
107
+ `**Tasks completed:** ${subtasks.length}`,
108
+ '',
109
+ '---',
110
+ '',
111
+ ];
112
+ for (const subtask of subtasks) {
113
+ if (!subtask.result)
114
+ continue;
115
+ sections.push(`### ${subtask.index + 1}. ${subtask.prompt.slice(0, 100)}`);
116
+ sections.push('');
117
+ sections.push(subtask.result);
118
+ sections.push('');
119
+ }
120
+ return sections.join('\n');
121
+ }
122
+ /**
123
+ * Build an aggregation prompt for the overseer to synthesize results
124
+ * (Used when strategy is 'summarize' and we want LLM-powered aggregation)
125
+ */
126
+ export function buildAggregationPrompt(originalPrompt, subtaskResults) {
127
+ let prompt = `You are an aggregation agent. Your job is to synthesize the results of multiple subtasks into a cohesive response.
128
+
129
+ Original task: ${originalPrompt}
130
+
131
+ Subtask results:
132
+ `;
133
+ for (let i = 0; i < subtaskResults.length; i++) {
134
+ prompt += `\n--- Subtask ${i + 1}: ${subtaskResults[i].prompt} ---\n`;
135
+ prompt += subtaskResults[i].result;
136
+ prompt += '\n';
137
+ }
138
+ prompt += `\n---\n\nSynthesize these results into a single, coherent response that addresses the original task. Remove redundancy, resolve conflicts, and present findings clearly.`;
139
+ return prompt;
140
+ }
141
+ //# sourceMappingURL=aggregator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../src/agents/aggregator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * AGTerm CLI Backend
2
+ * Calliope Agents — CLI Backend
3
3
  *
4
4
  * Process spawning and execution for sub-agents.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cli-backend.d.ts","sourceRoot":"","sources":["../../src/agterm/cli-backend.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAgB,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA6BzE;;;GAGG;AACH,wBAAuB,YAAY,CACjC,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,MAAuB,GAC/B,aAAa,CAAC,UAAU,CAAC,CA2I3B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQlD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAKnC"}
1
+ {"version":3,"file":"cli-backend.d.ts","sourceRoot":"","sources":["../../src/agents/cli-backend.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAgB,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAsGzE;;;GAGG;AACH,wBAAuB,YAAY,CACjC,IAAI,EAAE,YAAY,EAClB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,MAAuB,GAC/B,aAAa,CAAC,UAAU,CAAC,CA0J3B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQlD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAKnC"}
@@ -1,24 +1,90 @@
1
1
  /**
2
- * AGTerm CLI Backend
2
+ * Calliope Agents — CLI Backend
3
3
  *
4
4
  * Process spawning and execution for sub-agents.
5
5
  */
6
6
  import { spawn } from 'child_process';
7
+ import { AGENT_CLI_MAP } from './types.js';
7
8
  import { getAgentCLI } from './agent-detection.js';
8
9
  /**
9
10
  * Map of currently running tasks
10
11
  */
11
12
  const runningTasks = new Map();
12
13
  /**
13
- * Get environment variables for an agent
14
- * Passes through existing env with terminal settings
14
+ * Max output size per sub-agent (100K chars) to prevent context blowout
15
15
  */
16
- function getAgentEnv() {
17
- return {
18
- ...process.env,
16
+ const MAX_AGENT_OUTPUT = 100_000;
17
+ /**
18
+ * Safe environment variable allowlist for sub-agents.
19
+ * Only pass essential system vars + the specific API key the agent needs.
20
+ * This prevents credential leakage across provider boundaries.
21
+ */
22
+ const SAFE_ENV_VARS = [
23
+ 'PATH', 'HOME', 'USER', 'SHELL', 'LANG', 'LC_ALL', 'LC_CTYPE',
24
+ 'TMPDIR', 'XDG_CONFIG_HOME', 'XDG_DATA_HOME', 'XDG_CACHE_HOME',
25
+ 'NODE_ENV', 'NO_COLOR', 'FORCE_COLOR',
26
+ ];
27
+ /**
28
+ * Provider-to-env-var mapping for calliope subagent provider routing
29
+ */
30
+ const PROVIDER_ENV_VARS = {
31
+ anthropic: 'ANTHROPIC_API_KEY',
32
+ openai: 'OPENAI_API_KEY',
33
+ google: 'GOOGLE_API_KEY',
34
+ openrouter: 'OPENROUTER_API_KEY',
35
+ together: 'TOGETHER_API_KEY',
36
+ groq: 'GROQ_API_KEY',
37
+ fireworks: 'FIREWORKS_API_KEY',
38
+ mistral: 'MISTRAL_API_KEY',
39
+ ollama: 'OLLAMA_BASE_URL',
40
+ ai21: 'AI21_API_KEY',
41
+ huggingface: 'HUGGINGFACE_API_KEY',
42
+ litellm: 'LITELLM_BASE_URL',
43
+ bedrock: 'BEDROCK_API_KEY',
44
+ };
45
+ /**
46
+ * Get environment variables for an agent.
47
+ * Only passes safe system vars + the specific API key for this agent type.
48
+ * Prevents credential leakage (e.g., Anthropic key leaking to Gemini sub-agent).
49
+ *
50
+ * For calliope subagents, also passes CALLIOPE_PROVIDER and CALLIOPE_MODEL
51
+ * to control which provider/model the subagent uses.
52
+ */
53
+ function getAgentEnv(task) {
54
+ const env = {
19
55
  TERM: 'xterm-256color',
20
56
  COLORTERM: 'truecolor',
21
57
  };
58
+ // Copy safe system vars
59
+ for (const key of SAFE_ENV_VARS) {
60
+ if (process.env[key]) {
61
+ env[key] = process.env[key];
62
+ }
63
+ }
64
+ // Only pass the API key this specific agent needs
65
+ const agentConfig = AGENT_CLI_MAP[task.agent];
66
+ if (agentConfig && process.env[agentConfig.envVar]) {
67
+ env[agentConfig.envVar] = process.env[agentConfig.envVar];
68
+ }
69
+ // For calliope subagents, pass provider/model selection and the required API key
70
+ if (task.agent === 'calliope') {
71
+ if (task.provider) {
72
+ env['CALLIOPE_PROVIDER'] = task.provider;
73
+ // Also pass the API key for the selected provider
74
+ const providerEnvVar = PROVIDER_ENV_VARS[task.provider];
75
+ if (providerEnvVar && process.env[providerEnvVar]) {
76
+ env[providerEnvVar] = process.env[providerEnvVar];
77
+ }
78
+ // For ollama, also pass base URL
79
+ if (task.provider === 'ollama' && process.env['OLLAMA_BASE_URL']) {
80
+ env['OLLAMA_BASE_URL'] = process.env['OLLAMA_BASE_URL'];
81
+ }
82
+ }
83
+ if (task.model) {
84
+ env['CALLIOPE_MODEL'] = task.model;
85
+ }
86
+ }
87
+ return env;
22
88
  }
23
89
  /**
24
90
  * Execute an agent task
@@ -27,16 +93,20 @@ function getAgentEnv() {
27
93
  export async function* executeAgent(task, cwd, timeout = 15 * 60 * 1000 // 15 minutes default
28
94
  ) {
29
95
  const { command, args } = getAgentCLI(task.agent);
30
- const env = getAgentEnv();
96
+ const env = getAgentEnv(task);
31
97
  // Emit start event
32
98
  yield {
33
99
  type: 'start',
34
100
  taskId: task.id,
35
101
  timestamp: new Date(),
36
102
  };
103
+ // Prepend system prompt to task prompt for CLI backends (they lack separate system prompt channel)
104
+ const effectivePrompt = task.systemPrompt
105
+ ? `[Agent Instructions]\n${task.systemPrompt}\n---\n${task.prompt}`
106
+ : task.prompt;
37
107
  // Build final args - calliope and claude take prompt as argument, others via stdin
38
108
  const finalArgs = (task.agent === 'claude' || task.agent === 'calliope')
39
- ? [...args, task.prompt]
109
+ ? [...args, effectivePrompt]
40
110
  : args;
41
111
  const proc = spawn(command, finalArgs, {
42
112
  cwd,
@@ -51,7 +121,7 @@ export async function* executeAgent(task, cwd, timeout = 15 * 60 * 1000 // 15 mi
51
121
  });
52
122
  // For agents that don't accept prompt as argument, write to stdin
53
123
  if (task.agent !== 'claude' && task.agent !== 'calliope' && proc.stdin) {
54
- proc.stdin.write(task.prompt + '\n');
124
+ proc.stdin.write(effectivePrompt + '\n');
55
125
  proc.stdin.end();
56
126
  }
57
127
  // Set up event queue for async iteration
@@ -78,8 +148,15 @@ export async function* executeAgent(task, cwd, timeout = 15 * 60 * 1000 // 15 mi
78
148
  proc.stdout?.on('data', (data) => {
79
149
  const content = data.toString();
80
150
  const running = runningTasks.get(task.id);
81
- if (running)
82
- running.output += content;
151
+ if (running) {
152
+ if (running.output.length < MAX_AGENT_OUTPUT) {
153
+ running.output += content;
154
+ if (running.output.length > MAX_AGENT_OUTPUT) {
155
+ running.output = running.output.slice(0, MAX_AGENT_OUTPUT) +
156
+ '\n\n[Sub-agent output truncated at 100K chars]';
157
+ }
158
+ }
159
+ }
83
160
  events.push({
84
161
  type: 'text',
85
162
  taskId: task.id,
@@ -92,8 +169,9 @@ export async function* executeAgent(task, cwd, timeout = 15 * 60 * 1000 // 15 mi
92
169
  proc.stderr?.on('data', (data) => {
93
170
  const content = data.toString();
94
171
  const running = runningTasks.get(task.id);
95
- if (running)
172
+ if (running && running.output.length < MAX_AGENT_OUTPUT) {
96
173
  running.output += content;
174
+ }
97
175
  events.push({
98
176
  type: 'text',
99
177
  taskId: task.id,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-backend.js","sourceRoot":"","sources":["../../src/agents/cli-backend.ts"],"names":[],"mappings":"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"}