@compass-ai/nova 1.0.73 → 1.0.74

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 (973) hide show
  1. package/dist/acp/agent.d.ts +318 -0
  2. package/dist/acp/agent.d.ts.map +1 -0
  3. package/dist/acp/agent.js +795 -0
  4. package/dist/acp/agent.js.map +1 -0
  5. package/dist/acp/backpressure-writer.d.ts +49 -0
  6. package/dist/acp/backpressure-writer.d.ts.map +1 -0
  7. package/dist/acp/backpressure-writer.js +153 -0
  8. package/dist/acp/backpressure-writer.js.map +1 -0
  9. package/dist/acp/event-adapter.d.ts +242 -0
  10. package/dist/acp/event-adapter.d.ts.map +1 -0
  11. package/dist/acp/event-adapter.js +456 -0
  12. package/dist/acp/event-adapter.js.map +1 -0
  13. package/dist/acp/index.d.ts +30 -0
  14. package/dist/acp/index.d.ts.map +1 -0
  15. package/dist/acp/index.js +36 -0
  16. package/dist/acp/index.js.map +1 -0
  17. package/dist/acp/modes.d.ts +56 -0
  18. package/dist/acp/modes.d.ts.map +1 -0
  19. package/dist/acp/modes.js +135 -0
  20. package/dist/acp/modes.js.map +1 -0
  21. package/dist/acp/session-manager.d.ts +170 -0
  22. package/dist/acp/session-manager.d.ts.map +1 -0
  23. package/dist/acp/session-manager.js +381 -0
  24. package/dist/acp/session-manager.js.map +1 -0
  25. package/dist/acp/text-coalescer.d.ts +45 -0
  26. package/dist/acp/text-coalescer.d.ts.map +1 -0
  27. package/dist/acp/text-coalescer.js +110 -0
  28. package/dist/acp/text-coalescer.js.map +1 -0
  29. package/dist/acp/tool-bridge.d.ts +156 -0
  30. package/dist/acp/tool-bridge.d.ts.map +1 -0
  31. package/dist/acp/tool-bridge.js +381 -0
  32. package/dist/acp/tool-bridge.js.map +1 -0
  33. package/dist/acp/types.d.ts +314 -0
  34. package/dist/acp/types.d.ts.map +1 -0
  35. package/dist/acp/types.js +8 -0
  36. package/dist/acp/types.js.map +1 -0
  37. package/dist/cli.d.ts +9 -0
  38. package/dist/cli.d.ts.map +1 -0
  39. package/dist/cli.js +185 -184
  40. package/dist/cli.js.map +1 -0
  41. package/dist/commands/acp.d.ts +26 -0
  42. package/dist/commands/acp.d.ts.map +1 -0
  43. package/dist/commands/acp.js +492 -0
  44. package/dist/commands/acp.js.map +1 -0
  45. package/dist/commands/cache.d.ts +33 -0
  46. package/dist/commands/cache.d.ts.map +1 -0
  47. package/dist/commands/cache.js +537 -0
  48. package/dist/commands/cache.js.map +1 -0
  49. package/dist/commands/config.d.ts +10 -0
  50. package/dist/commands/config.d.ts.map +1 -0
  51. package/dist/commands/config.js +367 -0
  52. package/dist/commands/config.js.map +1 -0
  53. package/dist/commands/consent.d.ts +21 -0
  54. package/dist/commands/consent.d.ts.map +1 -0
  55. package/dist/commands/consent.js +334 -0
  56. package/dist/commands/consent.js.map +1 -0
  57. package/dist/commands/data.d.ts +24 -0
  58. package/dist/commands/data.d.ts.map +1 -0
  59. package/dist/commands/data.js +586 -0
  60. package/dist/commands/data.js.map +1 -0
  61. package/dist/commands/index.d.ts +145 -0
  62. package/dist/commands/index.d.ts.map +1 -0
  63. package/dist/commands/index.js +210 -0
  64. package/dist/commands/index.js.map +1 -0
  65. package/dist/commands/init.d.ts +106 -0
  66. package/dist/commands/init.d.ts.map +1 -0
  67. package/dist/commands/init.js +349 -0
  68. package/dist/commands/init.js.map +1 -0
  69. package/dist/commands/logs.d.ts +13 -0
  70. package/dist/commands/logs.d.ts.map +1 -0
  71. package/dist/commands/logs.js +359 -0
  72. package/dist/commands/logs.js.map +1 -0
  73. package/dist/commands/mcp.d.ts +20 -0
  74. package/dist/commands/mcp.d.ts.map +1 -0
  75. package/dist/commands/mcp.js +687 -0
  76. package/dist/commands/mcp.js.map +1 -0
  77. package/dist/commands/reset.d.ts +20 -0
  78. package/dist/commands/reset.d.ts.map +1 -0
  79. package/dist/commands/reset.js +372 -0
  80. package/dist/commands/reset.js.map +1 -0
  81. package/dist/commands/setup.d.ts +74 -0
  82. package/dist/commands/setup.d.ts.map +1 -0
  83. package/dist/commands/setup.js +863 -0
  84. package/dist/commands/setup.js.map +1 -0
  85. package/dist/commands/slash/agents.d.ts +40 -0
  86. package/dist/commands/slash/agents.d.ts.map +1 -0
  87. package/dist/commands/slash/agents.js +519 -0
  88. package/dist/commands/slash/agents.js.map +1 -0
  89. package/dist/commands/slash/approve.d.ts +46 -0
  90. package/dist/commands/slash/approve.d.ts.map +1 -0
  91. package/dist/commands/slash/approve.js +239 -0
  92. package/dist/commands/slash/approve.js.map +1 -0
  93. package/dist/commands/slash/attach.d.ts +70 -0
  94. package/dist/commands/slash/attach.d.ts.map +1 -0
  95. package/dist/commands/slash/attach.js +333 -0
  96. package/dist/commands/slash/attach.js.map +1 -0
  97. package/dist/commands/slash/clear.d.ts +47 -0
  98. package/dist/commands/slash/clear.d.ts.map +1 -0
  99. package/dist/commands/slash/clear.js +261 -0
  100. package/dist/commands/slash/clear.js.map +1 -0
  101. package/dist/commands/slash/commit.d.ts +40 -0
  102. package/dist/commands/slash/commit.d.ts.map +1 -0
  103. package/dist/commands/slash/commit.js +337 -0
  104. package/dist/commands/slash/commit.js.map +1 -0
  105. package/dist/commands/slash/compact.d.ts +48 -0
  106. package/dist/commands/slash/compact.d.ts.map +1 -0
  107. package/dist/commands/slash/compact.js +288 -0
  108. package/dist/commands/slash/compact.js.map +1 -0
  109. package/dist/commands/slash/config.d.ts +20 -0
  110. package/dist/commands/slash/config.d.ts.map +1 -0
  111. package/dist/commands/slash/config.js +136 -0
  112. package/dist/commands/slash/config.js.map +1 -0
  113. package/dist/commands/slash/context.d.ts +49 -0
  114. package/dist/commands/slash/context.d.ts.map +1 -0
  115. package/dist/commands/slash/context.js +430 -0
  116. package/dist/commands/slash/context.js.map +1 -0
  117. package/dist/commands/slash/cost.d.ts +34 -0
  118. package/dist/commands/slash/cost.d.ts.map +1 -0
  119. package/dist/commands/slash/cost.js +312 -0
  120. package/dist/commands/slash/cost.js.map +1 -0
  121. package/dist/commands/slash/custom.d.ts +41 -0
  122. package/dist/commands/slash/custom.d.ts.map +1 -0
  123. package/dist/commands/slash/custom.js +126 -0
  124. package/dist/commands/slash/custom.js.map +1 -0
  125. package/dist/commands/slash/exit.d.ts +25 -0
  126. package/dist/commands/slash/exit.d.ts.map +1 -0
  127. package/dist/commands/slash/exit.js +186 -0
  128. package/dist/commands/slash/exit.js.map +1 -0
  129. package/dist/commands/slash/export.d.ts +27 -0
  130. package/dist/commands/slash/export.d.ts.map +1 -0
  131. package/dist/commands/slash/export.js +318 -0
  132. package/dist/commands/slash/export.js.map +1 -0
  133. package/dist/commands/slash/files.d.ts +47 -0
  134. package/dist/commands/slash/files.d.ts.map +1 -0
  135. package/dist/commands/slash/files.js +521 -0
  136. package/dist/commands/slash/files.js.map +1 -0
  137. package/dist/commands/slash/help.d.ts +50 -0
  138. package/dist/commands/slash/help.d.ts.map +1 -0
  139. package/dist/commands/slash/help.js +282 -0
  140. package/dist/commands/slash/help.js.map +1 -0
  141. package/dist/commands/slash/index-cmd.d.ts +41 -0
  142. package/dist/commands/slash/index-cmd.d.ts.map +1 -0
  143. package/dist/commands/slash/index-cmd.js +349 -0
  144. package/dist/commands/slash/index-cmd.js.map +1 -0
  145. package/dist/commands/slash/index.d.ts +97 -0
  146. package/dist/commands/slash/index.d.ts.map +1 -0
  147. package/dist/commands/slash/index.js +251 -0
  148. package/dist/commands/slash/index.js.map +1 -0
  149. package/dist/commands/slash/login.d.ts +23 -0
  150. package/dist/commands/slash/login.d.ts.map +1 -0
  151. package/dist/commands/slash/login.js +175 -0
  152. package/dist/commands/slash/login.js.map +1 -0
  153. package/dist/commands/slash/logout.d.ts +23 -0
  154. package/dist/commands/slash/logout.d.ts.map +1 -0
  155. package/dist/commands/slash/logout.js +153 -0
  156. package/dist/commands/slash/logout.js.map +1 -0
  157. package/dist/commands/slash/logs.d.ts +29 -0
  158. package/dist/commands/slash/logs.d.ts.map +1 -0
  159. package/dist/commands/slash/logs.js +423 -0
  160. package/dist/commands/slash/logs.js.map +1 -0
  161. package/dist/commands/slash/mcp.d.ts +29 -0
  162. package/dist/commands/slash/mcp.d.ts.map +1 -0
  163. package/dist/commands/slash/mcp.js +1026 -0
  164. package/dist/commands/slash/mcp.js.map +1 -0
  165. package/dist/commands/slash/model.d.ts +60 -0
  166. package/dist/commands/slash/model.d.ts.map +1 -0
  167. package/dist/commands/slash/model.js +466 -0
  168. package/dist/commands/slash/model.js.map +1 -0
  169. package/dist/commands/slash/personality.d.ts +40 -0
  170. package/dist/commands/slash/personality.d.ts.map +1 -0
  171. package/dist/commands/slash/personality.js +272 -0
  172. package/dist/commands/slash/personality.js.map +1 -0
  173. package/dist/commands/slash/purge.d.ts +42 -0
  174. package/dist/commands/slash/purge.d.ts.map +1 -0
  175. package/dist/commands/slash/purge.js +233 -0
  176. package/dist/commands/slash/purge.js.map +1 -0
  177. package/dist/commands/slash/reset.d.ts +44 -0
  178. package/dist/commands/slash/reset.d.ts.map +1 -0
  179. package/dist/commands/slash/reset.js +326 -0
  180. package/dist/commands/slash/reset.js.map +1 -0
  181. package/dist/commands/slash/skills.d.ts +40 -0
  182. package/dist/commands/slash/skills.d.ts.map +1 -0
  183. package/dist/commands/slash/skills.js +207 -0
  184. package/dist/commands/slash/skills.js.map +1 -0
  185. package/dist/commands/slash/tokens.d.ts +34 -0
  186. package/dist/commands/slash/tokens.d.ts.map +1 -0
  187. package/dist/commands/slash/tokens.js +205 -0
  188. package/dist/commands/slash/tokens.js.map +1 -0
  189. package/dist/commands/slash/unleash.d.ts +50 -0
  190. package/dist/commands/slash/unleash.d.ts.map +1 -0
  191. package/dist/commands/slash/unleash.js +262 -0
  192. package/dist/commands/slash/unleash.js.map +1 -0
  193. package/dist/commands/slash/update.d.ts +34 -0
  194. package/dist/commands/slash/update.d.ts.map +1 -0
  195. package/dist/commands/slash/update.js +364 -0
  196. package/dist/commands/slash/update.js.map +1 -0
  197. package/dist/commands/slash/wrap.d.ts +18 -0
  198. package/dist/commands/slash/wrap.d.ts.map +1 -0
  199. package/dist/commands/slash/wrap.js +21 -0
  200. package/dist/commands/slash/wrap.js.map +1 -0
  201. package/dist/commands/tokens.d.ts +26 -0
  202. package/dist/commands/tokens.d.ts.map +1 -0
  203. package/dist/commands/tokens.js +245 -0
  204. package/dist/commands/tokens.js.map +1 -0
  205. package/dist/constants/builtin-agents.d.ts +27 -0
  206. package/dist/constants/builtin-agents.d.ts.map +1 -0
  207. package/dist/constants/builtin-agents.js +710 -0
  208. package/dist/constants/builtin-agents.js.map +1 -0
  209. package/dist/constants/builtin-skills.d.ts +32 -0
  210. package/dist/constants/builtin-skills.d.ts.map +1 -0
  211. package/dist/constants/builtin-skills.js +389 -0
  212. package/dist/constants/builtin-skills.js.map +1 -0
  213. package/dist/constants/defaults.d.ts +448 -0
  214. package/dist/constants/defaults.d.ts.map +1 -0
  215. package/dist/constants/defaults.js +829 -0
  216. package/dist/constants/defaults.js.map +1 -0
  217. package/dist/constants/index.d.ts +27 -0
  218. package/dist/constants/index.d.ts.map +1 -0
  219. package/dist/constants/index.js +85 -0
  220. package/dist/constants/index.js.map +1 -0
  221. package/dist/constants/install-hints.d.ts +7 -0
  222. package/dist/constants/install-hints.d.ts.map +1 -0
  223. package/dist/constants/install-hints.js +123 -0
  224. package/dist/constants/install-hints.js.map +1 -0
  225. package/dist/constants/models.d.ts +255 -0
  226. package/dist/constants/models.d.ts.map +1 -0
  227. package/dist/constants/models.js +596 -0
  228. package/dist/constants/models.js.map +1 -0
  229. package/dist/constants/schedule.d.ts +43 -0
  230. package/dist/constants/schedule.d.ts.map +1 -0
  231. package/dist/constants/schedule.js +110 -0
  232. package/dist/constants/schedule.js.map +1 -0
  233. package/dist/constants/system-utilities.d.ts +57 -0
  234. package/dist/constants/system-utilities.d.ts.map +1 -0
  235. package/dist/constants/system-utilities.js +421 -0
  236. package/dist/constants/system-utilities.js.map +1 -0
  237. package/dist/constants/token-limits.d.ts +102 -0
  238. package/dist/constants/token-limits.d.ts.map +1 -0
  239. package/dist/constants/token-limits.js +286 -0
  240. package/dist/constants/token-limits.js.map +1 -0
  241. package/dist/core/autocomplete.d.ts +132 -0
  242. package/dist/core/autocomplete.d.ts.map +1 -0
  243. package/dist/core/autocomplete.js +653 -0
  244. package/dist/core/autocomplete.js.map +1 -0
  245. package/dist/core/command-parser.d.ts +301 -0
  246. package/dist/core/command-parser.d.ts.map +1 -0
  247. package/dist/core/command-parser.js +526 -0
  248. package/dist/core/command-parser.js.map +1 -0
  249. package/dist/core/context-builder.d.ts +264 -0
  250. package/dist/core/context-builder.d.ts.map +1 -0
  251. package/dist/core/context-builder.js +1018 -0
  252. package/dist/core/context-builder.js.map +1 -0
  253. package/dist/core/event-emitter.d.ts +411 -0
  254. package/dist/core/event-emitter.d.ts.map +1 -0
  255. package/dist/core/event-emitter.js +138 -0
  256. package/dist/core/event-emitter.js.map +1 -0
  257. package/dist/core/history-manager.d.ts +62 -0
  258. package/dist/core/history-manager.d.ts.map +1 -0
  259. package/dist/core/history-manager.js +151 -0
  260. package/dist/core/history-manager.js.map +1 -0
  261. package/dist/core/slash-command-handler.d.ts +352 -0
  262. package/dist/core/slash-command-handler.d.ts.map +1 -0
  263. package/dist/core/slash-command-handler.js +563 -0
  264. package/dist/core/slash-command-handler.js.map +1 -0
  265. package/dist/core/task-processor.d.ts +179 -0
  266. package/dist/core/task-processor.d.ts.map +1 -0
  267. package/dist/core/task-processor.js +519 -0
  268. package/dist/core/task-processor.js.map +1 -0
  269. package/dist/index.d.ts +90 -0
  270. package/dist/index.d.ts.map +1 -0
  271. package/dist/index.js +4 -3
  272. package/dist/index.js.map +1 -0
  273. package/dist/prompts/agent-prompt-generator.d.ts +26 -0
  274. package/dist/prompts/agent-prompt-generator.d.ts.map +1 -0
  275. package/dist/prompts/agent-prompt-generator.js +244 -0
  276. package/dist/prompts/agent-prompt-generator.js.map +1 -0
  277. package/dist/prompts/commit-message.d.ts +35 -0
  278. package/dist/prompts/commit-message.d.ts.map +1 -0
  279. package/dist/prompts/commit-message.js +187 -0
  280. package/dist/prompts/commit-message.js.map +1 -0
  281. package/dist/prompts/conversation.d.ts +51 -0
  282. package/dist/prompts/conversation.d.ts.map +1 -0
  283. package/dist/prompts/conversation.js +115 -0
  284. package/dist/prompts/conversation.js.map +1 -0
  285. package/dist/prompts/index.d.ts +39 -0
  286. package/dist/prompts/index.d.ts.map +1 -0
  287. package/dist/prompts/index.js +74 -0
  288. package/dist/prompts/index.js.map +1 -0
  289. package/dist/prompts/memory.d.ts +6 -0
  290. package/dist/prompts/memory.d.ts.map +1 -0
  291. package/dist/prompts/memory.js +29 -0
  292. package/dist/prompts/memory.js.map +1 -0
  293. package/dist/prompts/personality.d.ts +77 -0
  294. package/dist/prompts/personality.d.ts.map +1 -0
  295. package/dist/prompts/personality.js +393 -0
  296. package/dist/prompts/personality.js.map +1 -0
  297. package/dist/prompts/plan-generator.d.ts +144 -0
  298. package/dist/prompts/plan-generator.d.ts.map +1 -0
  299. package/dist/prompts/plan-generator.js +553 -0
  300. package/dist/prompts/plan-generator.js.map +1 -0
  301. package/dist/prompts/system.d.ts +95 -0
  302. package/dist/prompts/system.d.ts.map +1 -0
  303. package/dist/prompts/system.js +461 -0
  304. package/dist/prompts/system.js.map +1 -0
  305. package/dist/prompts/task-processor.d.ts +94 -0
  306. package/dist/prompts/task-processor.d.ts.map +1 -0
  307. package/dist/prompts/task-processor.js +554 -0
  308. package/dist/prompts/task-processor.js.map +1 -0
  309. package/dist/prompts/unguarded.d.ts +78 -0
  310. package/dist/prompts/unguarded.d.ts.map +1 -0
  311. package/dist/prompts/unguarded.js +418 -0
  312. package/dist/prompts/unguarded.js.map +1 -0
  313. package/dist/prompts/utils.d.ts +73 -0
  314. package/dist/prompts/utils.d.ts.map +1 -0
  315. package/dist/prompts/utils.js +114 -0
  316. package/dist/prompts/utils.js.map +1 -0
  317. package/dist/prompts/workflow.d.ts +241 -0
  318. package/dist/prompts/workflow.d.ts.map +1 -0
  319. package/dist/prompts/workflow.js +608 -0
  320. package/dist/prompts/workflow.js.map +1 -0
  321. package/dist/services/action-logger.d.ts +383 -0
  322. package/dist/services/action-logger.d.ts.map +1 -0
  323. package/dist/services/action-logger.js +544 -0
  324. package/dist/services/action-logger.js.map +1 -0
  325. package/dist/services/agent-budget-allocator.d.ts +111 -0
  326. package/dist/services/agent-budget-allocator.d.ts.map +1 -0
  327. package/dist/services/agent-budget-allocator.js +278 -0
  328. package/dist/services/agent-budget-allocator.js.map +1 -0
  329. package/dist/services/agent-manager.d.ts +181 -0
  330. package/dist/services/agent-manager.d.ts.map +1 -0
  331. package/dist/services/agent-manager.js +749 -0
  332. package/dist/services/agent-manager.js.map +1 -0
  333. package/dist/services/agent-spawner.d.ts +138 -0
  334. package/dist/services/agent-spawner.d.ts.map +1 -0
  335. package/dist/services/agent-spawner.js +748 -0
  336. package/dist/services/agent-spawner.js.map +1 -0
  337. package/dist/services/agent-state-service.d.ts +145 -0
  338. package/dist/services/agent-state-service.d.ts.map +1 -0
  339. package/dist/services/agent-state-service.js +247 -0
  340. package/dist/services/agent-state-service.js.map +1 -0
  341. package/dist/services/anthropic-client.d.ts +357 -0
  342. package/dist/services/anthropic-client.d.ts.map +1 -0
  343. package/dist/services/anthropic-client.js +1451 -0
  344. package/dist/services/anthropic-client.js.map +1 -0
  345. package/dist/services/approval-manager.d.ts +385 -0
  346. package/dist/services/approval-manager.d.ts.map +1 -0
  347. package/dist/services/approval-manager.js +1044 -0
  348. package/dist/services/approval-manager.js.map +1 -0
  349. package/dist/services/audit-logger.d.ts +245 -0
  350. package/dist/services/audit-logger.d.ts.map +1 -0
  351. package/dist/services/audit-logger.js +324 -0
  352. package/dist/services/audit-logger.js.map +1 -0
  353. package/dist/services/backup-manager.d.ts +136 -0
  354. package/dist/services/backup-manager.d.ts.map +1 -0
  355. package/dist/services/backup-manager.js +260 -0
  356. package/dist/services/backup-manager.js.map +1 -0
  357. package/dist/services/cache-service.d.ts +247 -0
  358. package/dist/services/cache-service.d.ts.map +1 -0
  359. package/dist/services/cache-service.js +558 -0
  360. package/dist/services/cache-service.js.map +1 -0
  361. package/dist/services/chat-archival-service.d.ts +108 -0
  362. package/dist/services/chat-archival-service.d.ts.map +1 -0
  363. package/dist/services/chat-archival-service.js +465 -0
  364. package/dist/services/chat-archival-service.js.map +1 -0
  365. package/dist/services/codebase-indexer.d.ts +272 -0
  366. package/dist/services/codebase-indexer.d.ts.map +1 -0
  367. package/dist/services/codebase-indexer.js +863 -0
  368. package/dist/services/codebase-indexer.js.map +1 -0
  369. package/dist/services/compass-auth-service.d.ts +204 -0
  370. package/dist/services/compass-auth-service.d.ts.map +1 -0
  371. package/dist/services/compass-auth-service.js +391 -0
  372. package/dist/services/compass-auth-service.js.map +1 -0
  373. package/dist/services/complexity-classifier.d.ts +208 -0
  374. package/dist/services/complexity-classifier.d.ts.map +1 -0
  375. package/dist/services/complexity-classifier.js +1410 -0
  376. package/dist/services/complexity-classifier.js.map +1 -0
  377. package/dist/services/config-manager.d.ts +278 -0
  378. package/dist/services/config-manager.d.ts.map +1 -0
  379. package/dist/services/config-manager.js +651 -0
  380. package/dist/services/config-manager.js.map +1 -0
  381. package/dist/services/consent-manager.d.ts +239 -0
  382. package/dist/services/consent-manager.d.ts.map +1 -0
  383. package/dist/services/consent-manager.js +516 -0
  384. package/dist/services/consent-manager.js.map +1 -0
  385. package/dist/services/conversation-compactor.d.ts +223 -0
  386. package/dist/services/conversation-compactor.d.ts.map +1 -0
  387. package/dist/services/conversation-compactor.js +750 -0
  388. package/dist/services/conversation-compactor.js.map +1 -0
  389. package/dist/services/cost-tracker.d.ts +167 -0
  390. package/dist/services/cost-tracker.d.ts.map +1 -0
  391. package/dist/services/cost-tracker.js +199 -0
  392. package/dist/services/cost-tracker.js.map +1 -0
  393. package/dist/services/credential-store.d.ts +273 -0
  394. package/dist/services/credential-store.d.ts.map +1 -0
  395. package/dist/services/credential-store.js +877 -0
  396. package/dist/services/credential-store.js.map +1 -0
  397. package/dist/services/custom-command-service.d.ts +112 -0
  398. package/dist/services/custom-command-service.d.ts.map +1 -0
  399. package/dist/services/custom-command-service.js +464 -0
  400. package/dist/services/custom-command-service.js.map +1 -0
  401. package/dist/services/default-statusline-renderer.d.ts +60 -0
  402. package/dist/services/default-statusline-renderer.d.ts.map +1 -0
  403. package/dist/services/default-statusline-renderer.js +110 -0
  404. package/dist/services/default-statusline-renderer.js.map +1 -0
  405. package/dist/services/enhanced-context-gatherer.d.ts +116 -0
  406. package/dist/services/enhanced-context-gatherer.d.ts.map +1 -0
  407. package/dist/services/enhanced-context-gatherer.js +605 -0
  408. package/dist/services/enhanced-context-gatherer.js.map +1 -0
  409. package/dist/services/file-hash-tracker.d.ts +95 -0
  410. package/dist/services/file-hash-tracker.d.ts.map +1 -0
  411. package/dist/services/file-hash-tracker.js +199 -0
  412. package/dist/services/file-hash-tracker.js.map +1 -0
  413. package/dist/services/file-service.d.ts +274 -0
  414. package/dist/services/file-service.d.ts.map +1 -0
  415. package/dist/services/file-service.js +876 -0
  416. package/dist/services/file-service.js.map +1 -0
  417. package/dist/services/git-service.d.ts +536 -0
  418. package/dist/services/git-service.d.ts.map +1 -0
  419. package/dist/services/git-service.js +1215 -0
  420. package/dist/services/git-service.js.map +1 -0
  421. package/dist/services/hook-service.d.ts +148 -0
  422. package/dist/services/hook-service.d.ts.map +1 -0
  423. package/dist/services/hook-service.js +705 -0
  424. package/dist/services/hook-service.js.map +1 -0
  425. package/dist/services/ide-state-service.d.ts +114 -0
  426. package/dist/services/ide-state-service.d.ts.map +1 -0
  427. package/dist/services/ide-state-service.js +204 -0
  428. package/dist/services/ide-state-service.js.map +1 -0
  429. package/dist/services/interactive-clarifier.d.ts +90 -0
  430. package/dist/services/interactive-clarifier.d.ts.map +1 -0
  431. package/dist/services/interactive-clarifier.js +446 -0
  432. package/dist/services/interactive-clarifier.js.map +1 -0
  433. package/dist/services/iteration-scoper.d.ts +225 -0
  434. package/dist/services/iteration-scoper.d.ts.map +1 -0
  435. package/dist/services/iteration-scoper.js +387 -0
  436. package/dist/services/iteration-scoper.js.map +1 -0
  437. package/dist/services/llm-plan-generator.d.ts +44 -0
  438. package/dist/services/llm-plan-generator.d.ts.map +1 -0
  439. package/dist/services/llm-plan-generator.js +863 -0
  440. package/dist/services/llm-plan-generator.js.map +1 -0
  441. package/dist/services/llm-system-prompt-generator.d.ts +85 -0
  442. package/dist/services/llm-system-prompt-generator.d.ts.map +1 -0
  443. package/dist/services/llm-system-prompt-generator.js +257 -0
  444. package/dist/services/llm-system-prompt-generator.js.map +1 -0
  445. package/dist/services/log-interpreter.d.ts +190 -0
  446. package/dist/services/log-interpreter.d.ts.map +1 -0
  447. package/dist/services/log-interpreter.js +520 -0
  448. package/dist/services/log-interpreter.js.map +1 -0
  449. package/dist/services/mcp-config-manager.d.ts +141 -0
  450. package/dist/services/mcp-config-manager.d.ts.map +1 -0
  451. package/dist/services/mcp-config-manager.js +678 -0
  452. package/dist/services/mcp-config-manager.js.map +1 -0
  453. package/dist/services/mcp-oauth-service.d.ts +170 -0
  454. package/dist/services/mcp-oauth-service.d.ts.map +1 -0
  455. package/dist/services/mcp-oauth-service.js +892 -0
  456. package/dist/services/mcp-oauth-service.js.map +1 -0
  457. package/dist/services/mcp-plugin-support.d.ts +81 -0
  458. package/dist/services/mcp-plugin-support.d.ts.map +1 -0
  459. package/dist/services/mcp-plugin-support.js +305 -0
  460. package/dist/services/mcp-plugin-support.js.map +1 -0
  461. package/dist/services/mcp-server-manager.d.ts +134 -0
  462. package/dist/services/mcp-server-manager.d.ts.map +1 -0
  463. package/dist/services/mcp-server-manager.js +613 -0
  464. package/dist/services/mcp-server-manager.js.map +1 -0
  465. package/dist/services/mcp-tool-integration.d.ts +119 -0
  466. package/dist/services/mcp-tool-integration.d.ts.map +1 -0
  467. package/dist/services/mcp-tool-integration.js +381 -0
  468. package/dist/services/mcp-tool-integration.js.map +1 -0
  469. package/dist/services/mcp-transport.d.ts +105 -0
  470. package/dist/services/mcp-transport.d.ts.map +1 -0
  471. package/dist/services/mcp-transport.js +1316 -0
  472. package/dist/services/mcp-transport.js.map +1 -0
  473. package/dist/services/memory-service.d.ts +55 -0
  474. package/dist/services/memory-service.d.ts.map +1 -0
  475. package/dist/services/memory-service.js +251 -0
  476. package/dist/services/memory-service.js.map +1 -0
  477. package/dist/services/model-availability.d.ts +64 -0
  478. package/dist/services/model-availability.d.ts.map +1 -0
  479. package/dist/services/model-availability.js +114 -0
  480. package/dist/services/model-availability.js.map +1 -0
  481. package/dist/services/plan-generator.d.ts +98 -0
  482. package/dist/services/plan-generator.d.ts.map +1 -0
  483. package/dist/services/plan-generator.js +658 -0
  484. package/dist/services/plan-generator.js.map +1 -0
  485. package/dist/services/plan-mode-fallback.d.ts +80 -0
  486. package/dist/services/plan-mode-fallback.d.ts.map +1 -0
  487. package/dist/services/plan-mode-fallback.js +307 -0
  488. package/dist/services/plan-mode-fallback.js.map +1 -0
  489. package/dist/services/plan-mode-handler.d.ts +42 -0
  490. package/dist/services/plan-mode-handler.d.ts.map +1 -0
  491. package/dist/services/plan-mode-handler.js +388 -0
  492. package/dist/services/plan-mode-handler.js.map +1 -0
  493. package/dist/services/plan-persistence.d.ts +203 -0
  494. package/dist/services/plan-persistence.d.ts.map +1 -0
  495. package/dist/services/plan-persistence.js +538 -0
  496. package/dist/services/plan-persistence.js.map +1 -0
  497. package/dist/services/prompt-preprocessor.d.ts +73 -0
  498. package/dist/services/prompt-preprocessor.d.ts.map +1 -0
  499. package/dist/services/prompt-preprocessor.js +146 -0
  500. package/dist/services/prompt-preprocessor.js.map +1 -0
  501. package/dist/services/rating-service.d.ts +84 -0
  502. package/dist/services/rating-service.d.ts.map +1 -0
  503. package/dist/services/rating-service.js +171 -0
  504. package/dist/services/rating-service.js.map +1 -0
  505. package/dist/services/rating-state-manager.d.ts +131 -0
  506. package/dist/services/rating-state-manager.d.ts.map +1 -0
  507. package/dist/services/rating-state-manager.js +270 -0
  508. package/dist/services/rating-state-manager.js.map +1 -0
  509. package/dist/services/sdk-runner.d.ts +113 -0
  510. package/dist/services/sdk-runner.d.ts.map +1 -0
  511. package/dist/services/sdk-runner.js +1424 -0
  512. package/dist/services/sdk-runner.js.map +1 -0
  513. package/dist/services/session-manager.d.ts +528 -0
  514. package/dist/services/session-manager.d.ts.map +1 -0
  515. package/dist/services/session-manager.js +1184 -0
  516. package/dist/services/session-manager.js.map +1 -0
  517. package/dist/services/shell-executor.d.ts +337 -0
  518. package/dist/services/shell-executor.d.ts.map +1 -0
  519. package/dist/services/shell-executor.js +1201 -0
  520. package/dist/services/shell-executor.js.map +1 -0
  521. package/dist/services/skill-service.d.ts +149 -0
  522. package/dist/services/skill-service.d.ts.map +1 -0
  523. package/dist/services/skill-service.js +594 -0
  524. package/dist/services/skill-service.js.map +1 -0
  525. package/dist/services/statusline-executor.d.ts +102 -0
  526. package/dist/services/statusline-executor.d.ts.map +1 -0
  527. package/dist/services/statusline-executor.js +305 -0
  528. package/dist/services/statusline-executor.js.map +1 -0
  529. package/dist/services/step-tracker.d.ts +356 -0
  530. package/dist/services/step-tracker.d.ts.map +1 -0
  531. package/dist/services/step-tracker.js +634 -0
  532. package/dist/services/step-tracker.js.map +1 -0
  533. package/dist/services/system-event-logger.d.ts +473 -0
  534. package/dist/services/system-event-logger.d.ts.map +1 -0
  535. package/dist/services/system-event-logger.js +790 -0
  536. package/dist/services/system-event-logger.js.map +1 -0
  537. package/dist/services/system-utility-detector.d.ts +91 -0
  538. package/dist/services/system-utility-detector.d.ts.map +1 -0
  539. package/dist/services/system-utility-detector.js +238 -0
  540. package/dist/services/system-utility-detector.js.map +1 -0
  541. package/dist/services/team-context-store.d.ts +100 -0
  542. package/dist/services/team-context-store.d.ts.map +1 -0
  543. package/dist/services/team-context-store.js +513 -0
  544. package/dist/services/team-context-store.js.map +1 -0
  545. package/dist/services/temp-file-service.d.ts +164 -0
  546. package/dist/services/temp-file-service.d.ts.map +1 -0
  547. package/dist/services/temp-file-service.js +303 -0
  548. package/dist/services/temp-file-service.js.map +1 -0
  549. package/dist/services/token-limit-enforcer.d.ts +53 -0
  550. package/dist/services/token-limit-enforcer.d.ts.map +1 -0
  551. package/dist/services/token-limit-enforcer.js +90 -0
  552. package/dist/services/token-limit-enforcer.js.map +1 -0
  553. package/dist/services/token-limit-store.d.ts +105 -0
  554. package/dist/services/token-limit-store.d.ts.map +1 -0
  555. package/dist/services/token-limit-store.js +288 -0
  556. package/dist/services/token-limit-store.js.map +1 -0
  557. package/dist/services/token-tracker.d.ts +290 -0
  558. package/dist/services/token-tracker.d.ts.map +1 -0
  559. package/dist/services/token-tracker.js +751 -0
  560. package/dist/services/token-tracker.js.map +1 -0
  561. package/dist/services/tool-registry.d.ts +302 -0
  562. package/dist/services/tool-registry.d.ts.map +1 -0
  563. package/dist/services/tool-registry.js +606 -0
  564. package/dist/services/tool-registry.js.map +1 -0
  565. package/dist/services/tools-logger.d.ts +152 -0
  566. package/dist/services/tools-logger.d.ts.map +1 -0
  567. package/dist/services/tools-logger.js +222 -0
  568. package/dist/services/tools-logger.js.map +1 -0
  569. package/dist/services/update-plan-handler.d.ts +56 -0
  570. package/dist/services/update-plan-handler.d.ts.map +1 -0
  571. package/dist/services/update-plan-handler.js +372 -0
  572. package/dist/services/update-plan-handler.js.map +1 -0
  573. package/dist/services/update-service.d.ts +197 -0
  574. package/dist/services/update-service.d.ts.map +1 -0
  575. package/dist/services/update-service.js +749 -0
  576. package/dist/services/update-service.js.map +1 -0
  577. package/dist/services/verifier.d.ts +113 -0
  578. package/dist/services/verifier.d.ts.map +1 -0
  579. package/dist/services/verifier.js +541 -0
  580. package/dist/services/verifier.js.map +1 -0
  581. package/dist/services/workflow-manager.d.ts +277 -0
  582. package/dist/services/workflow-manager.d.ts.map +1 -0
  583. package/dist/services/workflow-manager.js +616 -0
  584. package/dist/services/workflow-manager.js.map +1 -0
  585. package/dist/services/workflow-orchestrator.d.ts +148 -0
  586. package/dist/services/workflow-orchestrator.d.ts.map +1 -0
  587. package/dist/services/workflow-orchestrator.js +617 -0
  588. package/dist/services/workflow-orchestrator.js.map +1 -0
  589. package/dist/services/worktree-manager.d.ts +36 -0
  590. package/dist/services/worktree-manager.d.ts.map +1 -0
  591. package/dist/services/worktree-manager.js +185 -0
  592. package/dist/services/worktree-manager.js.map +1 -0
  593. package/dist/templates/ascii-art.d.ts +136 -0
  594. package/dist/templates/ascii-art.d.ts.map +1 -0
  595. package/dist/templates/ascii-art.js +286 -0
  596. package/dist/templates/ascii-art.js.map +1 -0
  597. package/dist/templates/help.d.ts +186 -0
  598. package/dist/templates/help.d.ts.map +1 -0
  599. package/dist/templates/help.js +588 -0
  600. package/dist/templates/help.js.map +1 -0
  601. package/dist/templates/prompts/workflow-prompts.d.ts +9 -0
  602. package/dist/templates/prompts/workflow-prompts.d.ts.map +1 -0
  603. package/dist/templates/prompts/workflow-prompts.js +9 -0
  604. package/dist/templates/prompts/workflow-prompts.js.map +1 -0
  605. package/dist/tools/agent-tools.d.ts +9 -0
  606. package/dist/tools/agent-tools.d.ts.map +1 -0
  607. package/dist/tools/agent-tools.js +349 -0
  608. package/dist/tools/agent-tools.js.map +1 -0
  609. package/dist/tools/edit-replacers.d.ts +90 -0
  610. package/dist/tools/edit-replacers.d.ts.map +1 -0
  611. package/dist/tools/edit-replacers.js +553 -0
  612. package/dist/tools/edit-replacers.js.map +1 -0
  613. package/dist/tools/file-tools.d.ts +13 -0
  614. package/dist/tools/file-tools.d.ts.map +1 -0
  615. package/dist/tools/file-tools.js +954 -0
  616. package/dist/tools/file-tools.js.map +1 -0
  617. package/dist/tools/git-tools.d.ts +9 -0
  618. package/dist/tools/git-tools.d.ts.map +1 -0
  619. package/dist/tools/git-tools.js +261 -0
  620. package/dist/tools/git-tools.js.map +1 -0
  621. package/dist/tools/index.d.ts +13 -0
  622. package/dist/tools/index.d.ts.map +1 -0
  623. package/dist/tools/index.js +70 -0
  624. package/dist/tools/index.js.map +1 -0
  625. package/dist/tools/network-tools.d.ts +8 -0
  626. package/dist/tools/network-tools.d.ts.map +1 -0
  627. package/dist/tools/network-tools.js +261 -0
  628. package/dist/tools/network-tools.js.map +1 -0
  629. package/dist/tools/openai-tools.d.ts +16 -0
  630. package/dist/tools/openai-tools.d.ts.map +1 -0
  631. package/dist/tools/openai-tools.js +385 -0
  632. package/dist/tools/openai-tools.js.map +1 -0
  633. package/dist/tools/plan-tools.d.ts +9 -0
  634. package/dist/tools/plan-tools.d.ts.map +1 -0
  635. package/dist/tools/plan-tools.js +223 -0
  636. package/dist/tools/plan-tools.js.map +1 -0
  637. package/dist/tools/schedule-tools.d.ts +9 -0
  638. package/dist/tools/schedule-tools.d.ts.map +1 -0
  639. package/dist/tools/schedule-tools.js +405 -0
  640. package/dist/tools/schedule-tools.js.map +1 -0
  641. package/dist/tools/search-tools.d.ts +8 -0
  642. package/dist/tools/search-tools.d.ts.map +1 -0
  643. package/dist/tools/search-tools.js +357 -0
  644. package/dist/tools/search-tools.js.map +1 -0
  645. package/dist/tools/shared-utils.d.ts +91 -0
  646. package/dist/tools/shared-utils.d.ts.map +1 -0
  647. package/dist/tools/shared-utils.js +385 -0
  648. package/dist/tools/shared-utils.js.map +1 -0
  649. package/dist/tools/shell-tools.d.ts +9 -0
  650. package/dist/tools/shell-tools.d.ts.map +1 -0
  651. package/dist/tools/shell-tools.js +409 -0
  652. package/dist/tools/shell-tools.js.map +1 -0
  653. package/dist/tools/skill-tools.d.ts +13 -0
  654. package/dist/tools/skill-tools.d.ts.map +1 -0
  655. package/dist/tools/skill-tools.js +244 -0
  656. package/dist/tools/skill-tools.js.map +1 -0
  657. package/dist/tools/swarm-tools.d.ts +9 -0
  658. package/dist/tools/swarm-tools.d.ts.map +1 -0
  659. package/dist/tools/swarm-tools.js +422 -0
  660. package/dist/tools/swarm-tools.js.map +1 -0
  661. package/dist/tools/user-tools.d.ts +13 -0
  662. package/dist/tools/user-tools.d.ts.map +1 -0
  663. package/dist/tools/user-tools.js +232 -0
  664. package/dist/tools/user-tools.js.map +1 -0
  665. package/dist/types/agent-process.d.ts +244 -0
  666. package/dist/types/agent-process.d.ts.map +1 -0
  667. package/dist/types/agent-process.js +93 -0
  668. package/dist/types/agent-process.js.map +1 -0
  669. package/dist/types/agent.d.ts +358 -0
  670. package/dist/types/agent.d.ts.map +1 -0
  671. package/dist/types/agent.js +171 -0
  672. package/dist/types/agent.js.map +1 -0
  673. package/dist/types/anthropic.d.ts +438 -0
  674. package/dist/types/anthropic.d.ts.map +1 -0
  675. package/dist/types/anthropic.js +9 -0
  676. package/dist/types/anthropic.js.map +1 -0
  677. package/dist/types/approval.d.ts +332 -0
  678. package/dist/types/approval.d.ts.map +1 -0
  679. package/dist/types/approval.js +44 -0
  680. package/dist/types/approval.js.map +1 -0
  681. package/dist/types/autocomplete.d.ts +57 -0
  682. package/dist/types/autocomplete.d.ts.map +1 -0
  683. package/dist/types/autocomplete.js +7 -0
  684. package/dist/types/autocomplete.js.map +1 -0
  685. package/dist/types/chat-archive.d.ts +161 -0
  686. package/dist/types/chat-archive.d.ts.map +1 -0
  687. package/dist/types/chat-archive.js +36 -0
  688. package/dist/types/chat-archive.js.map +1 -0
  689. package/dist/types/config.d.ts +268 -0
  690. package/dist/types/config.d.ts.map +1 -0
  691. package/dist/types/config.js +188 -0
  692. package/dist/types/config.js.map +1 -0
  693. package/dist/types/consent.d.ts +191 -0
  694. package/dist/types/consent.d.ts.map +1 -0
  695. package/dist/types/consent.js +119 -0
  696. package/dist/types/consent.js.map +1 -0
  697. package/dist/types/custom-command.d.ts +139 -0
  698. package/dist/types/custom-command.d.ts.map +1 -0
  699. package/dist/types/custom-command.js +7 -0
  700. package/dist/types/custom-command.js.map +1 -0
  701. package/dist/types/git.d.ts +20 -0
  702. package/dist/types/git.d.ts.map +1 -0
  703. package/dist/types/git.js +2 -0
  704. package/dist/types/git.js.map +1 -0
  705. package/dist/types/hook.d.ts +342 -0
  706. package/dist/types/hook.d.ts.map +1 -0
  707. package/dist/types/hook.js +84 -0
  708. package/dist/types/hook.js.map +1 -0
  709. package/dist/types/index.d.ts +86 -0
  710. package/dist/types/index.d.ts.map +1 -0
  711. package/dist/types/index.js +71 -0
  712. package/dist/types/index.js.map +1 -0
  713. package/dist/types/mcp.d.ts +456 -0
  714. package/dist/types/mcp.d.ts.map +1 -0
  715. package/dist/types/mcp.js +94 -0
  716. package/dist/types/mcp.js.map +1 -0
  717. package/dist/types/rating.d.ts +110 -0
  718. package/dist/types/rating.d.ts.map +1 -0
  719. package/dist/types/rating.js +53 -0
  720. package/dist/types/rating.js.map +1 -0
  721. package/dist/types/schedule.d.ts +91 -0
  722. package/dist/types/schedule.d.ts.map +1 -0
  723. package/dist/types/schedule.js +8 -0
  724. package/dist/types/schedule.js.map +1 -0
  725. package/dist/types/session.d.ts +361 -0
  726. package/dist/types/session.d.ts.map +1 -0
  727. package/dist/types/session.js +9 -0
  728. package/dist/types/session.js.map +1 -0
  729. package/dist/types/skill.d.ts +258 -0
  730. package/dist/types/skill.d.ts.map +1 -0
  731. package/dist/types/skill.js +79 -0
  732. package/dist/types/skill.js.map +1 -0
  733. package/dist/types/statusline.d.ts +212 -0
  734. package/dist/types/statusline.d.ts.map +1 -0
  735. package/dist/types/statusline.js +8 -0
  736. package/dist/types/statusline.js.map +1 -0
  737. package/dist/types/stream.d.ts +61 -0
  738. package/dist/types/stream.d.ts.map +1 -0
  739. package/dist/types/stream.js +17 -0
  740. package/dist/types/stream.js.map +1 -0
  741. package/dist/types/swarm.d.ts +132 -0
  742. package/dist/types/swarm.d.ts.map +1 -0
  743. package/dist/types/swarm.js +21 -0
  744. package/dist/types/swarm.js.map +1 -0
  745. package/dist/types/token-limits.d.ts +107 -0
  746. package/dist/types/token-limits.d.ts.map +1 -0
  747. package/dist/types/token-limits.js +57 -0
  748. package/dist/types/token-limits.js.map +1 -0
  749. package/dist/types/token.d.ts +329 -0
  750. package/dist/types/token.d.ts.map +1 -0
  751. package/dist/types/token.js +9 -0
  752. package/dist/types/token.js.map +1 -0
  753. package/dist/types/update.d.ts +189 -0
  754. package/dist/types/update.d.ts.map +1 -0
  755. package/dist/types/update.js +55 -0
  756. package/dist/types/update.js.map +1 -0
  757. package/dist/types/workflow.d.ts +396 -0
  758. package/dist/types/workflow.d.ts.map +1 -0
  759. package/dist/types/workflow.js +46 -0
  760. package/dist/types/workflow.js.map +1 -0
  761. package/dist/ui/App.d.ts +62 -0
  762. package/dist/ui/App.d.ts.map +1 -0
  763. package/dist/ui/App.js +511 -0
  764. package/dist/ui/App.js.map +1 -0
  765. package/dist/ui/InteractiveSession.d.ts +34 -0
  766. package/dist/ui/InteractiveSession.d.ts.map +1 -0
  767. package/dist/ui/InteractiveSession.js +3611 -0
  768. package/dist/ui/InteractiveSession.js.map +1 -0
  769. package/dist/ui/MCPApprovalPrompt.d.ts +27 -0
  770. package/dist/ui/MCPApprovalPrompt.d.ts.map +1 -0
  771. package/dist/ui/MCPApprovalPrompt.js +51 -0
  772. package/dist/ui/MCPApprovalPrompt.js.map +1 -0
  773. package/dist/ui/SetupWizard.d.ts +26 -0
  774. package/dist/ui/SetupWizard.d.ts.map +1 -0
  775. package/dist/ui/SetupWizard.js +396 -0
  776. package/dist/ui/SetupWizard.js.map +1 -0
  777. package/dist/ui/components/AgentCreationWizard.d.ts +36 -0
  778. package/dist/ui/components/AgentCreationWizard.d.ts.map +1 -0
  779. package/dist/ui/components/AgentCreationWizard.js +619 -0
  780. package/dist/ui/components/AgentCreationWizard.js.map +1 -0
  781. package/dist/ui/components/AgentManager.d.ts +41 -0
  782. package/dist/ui/components/AgentManager.d.ts.map +1 -0
  783. package/dist/ui/components/AgentManager.js +343 -0
  784. package/dist/ui/components/AgentManager.js.map +1 -0
  785. package/dist/ui/components/ApprovalDialog.d.ts +18 -0
  786. package/dist/ui/components/ApprovalDialog.d.ts.map +1 -0
  787. package/dist/ui/components/ApprovalDialog.js +439 -0
  788. package/dist/ui/components/ApprovalDialog.js.map +1 -0
  789. package/dist/ui/components/AsciiArt.d.ts +54 -0
  790. package/dist/ui/components/AsciiArt.d.ts.map +1 -0
  791. package/dist/ui/components/AsciiArt.js +89 -0
  792. package/dist/ui/components/AsciiArt.js.map +1 -0
  793. package/dist/ui/components/ClarificationWizard.d.ts +36 -0
  794. package/dist/ui/components/ClarificationWizard.d.ts.map +1 -0
  795. package/dist/ui/components/ClarificationWizard.js +407 -0
  796. package/dist/ui/components/ClarificationWizard.js.map +1 -0
  797. package/dist/ui/components/CompassSpinner.d.ts +15 -0
  798. package/dist/ui/components/CompassSpinner.d.ts.map +1 -0
  799. package/dist/ui/components/CompassSpinner.js +50 -0
  800. package/dist/ui/components/CompassSpinner.js.map +1 -0
  801. package/dist/ui/components/ConfirmationSelector.d.ts +45 -0
  802. package/dist/ui/components/ConfirmationSelector.d.ts.map +1 -0
  803. package/dist/ui/components/ConfirmationSelector.js +106 -0
  804. package/dist/ui/components/ConfirmationSelector.js.map +1 -0
  805. package/dist/ui/components/ContextUsage.d.ts +76 -0
  806. package/dist/ui/components/ContextUsage.d.ts.map +1 -0
  807. package/dist/ui/components/ContextUsage.js +188 -0
  808. package/dist/ui/components/ContextUsage.js.map +1 -0
  809. package/dist/ui/components/DiffPreview.d.ts +13 -0
  810. package/dist/ui/components/DiffPreview.d.ts.map +1 -0
  811. package/dist/ui/components/DiffPreview.js +30 -0
  812. package/dist/ui/components/DiffPreview.js.map +1 -0
  813. package/dist/ui/components/ExecutionModeSelector.d.ts +45 -0
  814. package/dist/ui/components/ExecutionModeSelector.d.ts.map +1 -0
  815. package/dist/ui/components/ExecutionModeSelector.js +120 -0
  816. package/dist/ui/components/ExecutionModeSelector.js.map +1 -0
  817. package/dist/ui/components/FileTree.d.ts +47 -0
  818. package/dist/ui/components/FileTree.d.ts.map +1 -0
  819. package/dist/ui/components/FileTree.js +258 -0
  820. package/dist/ui/components/FileTree.js.map +1 -0
  821. package/dist/ui/components/HelpMenu.d.ts +49 -0
  822. package/dist/ui/components/HelpMenu.d.ts.map +1 -0
  823. package/dist/ui/components/HelpMenu.js +91 -0
  824. package/dist/ui/components/HelpMenu.js.map +1 -0
  825. package/dist/ui/components/InterleavedStream.d.ts +42 -0
  826. package/dist/ui/components/InterleavedStream.d.ts.map +1 -0
  827. package/dist/ui/components/InterleavedStream.js +1500 -0
  828. package/dist/ui/components/InterleavedStream.js.map +1 -0
  829. package/dist/ui/components/ModelSelector.d.ts +81 -0
  830. package/dist/ui/components/ModelSelector.d.ts.map +1 -0
  831. package/dist/ui/components/ModelSelector.js +305 -0
  832. package/dist/ui/components/ModelSelector.js.map +1 -0
  833. package/dist/ui/components/PlanApprovalDialog.d.ts +21 -0
  834. package/dist/ui/components/PlanApprovalDialog.d.ts.map +1 -0
  835. package/dist/ui/components/PlanApprovalDialog.js +189 -0
  836. package/dist/ui/components/PlanApprovalDialog.js.map +1 -0
  837. package/dist/ui/components/PlanExecutionTracker.d.ts +53 -0
  838. package/dist/ui/components/PlanExecutionTracker.d.ts.map +1 -0
  839. package/dist/ui/components/PlanExecutionTracker.js +113 -0
  840. package/dist/ui/components/PlanExecutionTracker.js.map +1 -0
  841. package/dist/ui/components/ProgressIndicator.d.ts +151 -0
  842. package/dist/ui/components/ProgressIndicator.d.ts.map +1 -0
  843. package/dist/ui/components/ProgressIndicator.js +171 -0
  844. package/dist/ui/components/ProgressIndicator.js.map +1 -0
  845. package/dist/ui/components/Prompt.d.ts +47 -0
  846. package/dist/ui/components/Prompt.d.ts.map +1 -0
  847. package/dist/ui/components/Prompt.js +632 -0
  848. package/dist/ui/components/Prompt.js.map +1 -0
  849. package/dist/ui/components/RatingPanel.d.ts +45 -0
  850. package/dist/ui/components/RatingPanel.d.ts.map +1 -0
  851. package/dist/ui/components/RatingPanel.js +119 -0
  852. package/dist/ui/components/RatingPanel.js.map +1 -0
  853. package/dist/ui/components/StatusLine.d.ts +43 -0
  854. package/dist/ui/components/StatusLine.d.ts.map +1 -0
  855. package/dist/ui/components/StatusLine.js +44 -0
  856. package/dist/ui/components/StatusLine.js.map +1 -0
  857. package/dist/ui/components/StreamingResponse.d.ts +45 -0
  858. package/dist/ui/components/StreamingResponse.d.ts.map +1 -0
  859. package/dist/ui/components/StreamingResponse.js +56 -0
  860. package/dist/ui/components/StreamingResponse.js.map +1 -0
  861. package/dist/ui/components/TokenUsage.d.ts +89 -0
  862. package/dist/ui/components/TokenUsage.d.ts.map +1 -0
  863. package/dist/ui/components/TokenUsage.js +99 -0
  864. package/dist/ui/components/TokenUsage.js.map +1 -0
  865. package/dist/ui/components/ToolSummary.d.ts +77 -0
  866. package/dist/ui/components/ToolSummary.d.ts.map +1 -0
  867. package/dist/ui/components/ToolSummary.js +162 -0
  868. package/dist/ui/components/ToolSummary.js.map +1 -0
  869. package/dist/ui/components/UpdateNotification.d.ts +65 -0
  870. package/dist/ui/components/UpdateNotification.d.ts.map +1 -0
  871. package/dist/ui/components/UpdateNotification.js +166 -0
  872. package/dist/ui/components/UpdateNotification.js.map +1 -0
  873. package/dist/ui/diff-renderer.d.ts +18 -0
  874. package/dist/ui/diff-renderer.d.ts.map +1 -0
  875. package/dist/ui/diff-renderer.js +206 -0
  876. package/dist/ui/diff-renderer.js.map +1 -0
  877. package/dist/ui/themes/markdown-theme.d.ts +48 -0
  878. package/dist/ui/themes/markdown-theme.d.ts.map +1 -0
  879. package/dist/ui/themes/markdown-theme.js +79 -0
  880. package/dist/ui/themes/markdown-theme.js.map +1 -0
  881. package/dist/ui/themes/ui-theme.d.ts +301 -0
  882. package/dist/ui/themes/ui-theme.d.ts.map +1 -0
  883. package/dist/ui/themes/ui-theme.js +204 -0
  884. package/dist/ui/themes/ui-theme.js.map +1 -0
  885. package/dist/utils/attachment-handler.d.ts +129 -0
  886. package/dist/utils/attachment-handler.d.ts.map +1 -0
  887. package/dist/utils/attachment-handler.js +280 -0
  888. package/dist/utils/attachment-handler.js.map +1 -0
  889. package/dist/utils/backup-cleanup.d.ts +28 -0
  890. package/dist/utils/backup-cleanup.d.ts.map +1 -0
  891. package/dist/utils/backup-cleanup.js +99 -0
  892. package/dist/utils/backup-cleanup.js.map +1 -0
  893. package/dist/utils/clipboard-handler.d.ts +82 -0
  894. package/dist/utils/clipboard-handler.d.ts.map +1 -0
  895. package/dist/utils/clipboard-handler.js +311 -0
  896. package/dist/utils/clipboard-handler.js.map +1 -0
  897. package/dist/utils/cloud-detection.d.ts +14 -0
  898. package/dist/utils/cloud-detection.d.ts.map +1 -0
  899. package/dist/utils/cloud-detection.js +92 -0
  900. package/dist/utils/cloud-detection.js.map +1 -0
  901. package/dist/utils/command-parser.d.ts +56 -0
  902. package/dist/utils/command-parser.d.ts.map +1 -0
  903. package/dist/utils/command-parser.js +206 -0
  904. package/dist/utils/command-parser.js.map +1 -0
  905. package/dist/utils/console-capture.d.ts +30 -0
  906. package/dist/utils/console-capture.d.ts.map +1 -0
  907. package/dist/utils/console-capture.js +88 -0
  908. package/dist/utils/console-capture.js.map +1 -0
  909. package/dist/utils/cron-parser.d.ts +52 -0
  910. package/dist/utils/cron-parser.d.ts.map +1 -0
  911. package/dist/utils/cron-parser.js +455 -0
  912. package/dist/utils/cron-parser.js.map +1 -0
  913. package/dist/utils/crypto.d.ts +351 -0
  914. package/dist/utils/crypto.d.ts.map +1 -0
  915. package/dist/utils/crypto.js +615 -0
  916. package/dist/utils/crypto.js.map +1 -0
  917. package/dist/utils/diff.d.ts +311 -0
  918. package/dist/utils/diff.d.ts.map +1 -0
  919. package/dist/utils/diff.js +566 -0
  920. package/dist/utils/diff.js.map +1 -0
  921. package/dist/utils/editor.d.ts +12 -0
  922. package/dist/utils/editor.d.ts.map +1 -0
  923. package/dist/utils/editor.js +30 -0
  924. package/dist/utils/editor.js.map +1 -0
  925. package/dist/utils/file-system.d.ts +512 -0
  926. package/dist/utils/file-system.d.ts.map +1 -0
  927. package/dist/utils/file-system.js +798 -0
  928. package/dist/utils/file-system.js.map +1 -0
  929. package/dist/utils/format.d.ts +318 -0
  930. package/dist/utils/format.d.ts.map +1 -0
  931. package/dist/utils/format.js +587 -0
  932. package/dist/utils/format.js.map +1 -0
  933. package/dist/utils/ignore-patterns.d.ts +93 -0
  934. package/dist/utils/ignore-patterns.d.ts.map +1 -0
  935. package/dist/utils/ignore-patterns.js +710 -0
  936. package/dist/utils/ignore-patterns.js.map +1 -0
  937. package/dist/utils/log-cleanup.d.ts +16 -0
  938. package/dist/utils/log-cleanup.d.ts.map +1 -0
  939. package/dist/utils/log-cleanup.js +51 -0
  940. package/dist/utils/log-cleanup.js.map +1 -0
  941. package/dist/utils/logger.d.ts +305 -0
  942. package/dist/utils/logger.d.ts.map +1 -0
  943. package/dist/utils/logger.js +447 -0
  944. package/dist/utils/logger.js.map +1 -0
  945. package/dist/utils/path.d.ts +406 -0
  946. package/dist/utils/path.d.ts.map +1 -0
  947. package/dist/utils/path.js +549 -0
  948. package/dist/utils/path.js.map +1 -0
  949. package/dist/utils/schedule-file.d.ts +63 -0
  950. package/dist/utils/schedule-file.d.ts.map +1 -0
  951. package/dist/utils/schedule-file.js +244 -0
  952. package/dist/utils/schedule-file.js.map +1 -0
  953. package/dist/utils/task-id.d.ts +29 -0
  954. package/dist/utils/task-id.d.ts.map +1 -0
  955. package/dist/utils/task-id.js +53 -0
  956. package/dist/utils/task-id.js.map +1 -0
  957. package/dist/utils/temp-cleanup.d.ts +46 -0
  958. package/dist/utils/temp-cleanup.d.ts.map +1 -0
  959. package/dist/utils/temp-cleanup.js +95 -0
  960. package/dist/utils/temp-cleanup.js.map +1 -0
  961. package/dist/utils/terminal-output.d.ts +34 -0
  962. package/dist/utils/terminal-output.d.ts.map +1 -0
  963. package/dist/utils/terminal-output.js +40 -0
  964. package/dist/utils/terminal-output.js.map +1 -0
  965. package/dist/utils/token-counter.d.ts +224 -0
  966. package/dist/utils/token-counter.d.ts.map +1 -0
  967. package/dist/utils/token-counter.js +332 -0
  968. package/dist/utils/token-counter.js.map +1 -0
  969. package/dist/utils/tool-mapper.d.ts +70 -0
  970. package/dist/utils/tool-mapper.d.ts.map +1 -0
  971. package/dist/utils/tool-mapper.js +234 -0
  972. package/dist/utils/tool-mapper.js.map +1 -0
  973. package/package.json +1 -1
@@ -0,0 +1,749 @@
1
+ /**
2
+ * Agent manager service for discovering, parsing, and managing agents.
3
+ *
4
+ * Agents are defined as Markdown files with YAML frontmatter in:
5
+ * - .compass/agents/ (project-level, highest priority)
6
+ * - ~/.compass/agents/ (user-level)
7
+ *
8
+ * Agents can also be passed via CLI --agents flag or are built-in defaults.
9
+ *
10
+ * Priority order (highest to lowest):
11
+ * 1. Project agents
12
+ * 2. CLI agents
13
+ * 3. User agents
14
+ * 4. Built-in agents
15
+ */
16
+ import fs from 'fs-extra';
17
+ import path from 'path';
18
+ import { glob } from 'glob';
19
+ import { v4 as uuidv4 } from 'uuid';
20
+ import { getGlobalCompassDir, getProjectCompassDir } from '../utils/path.js';
21
+ import { AGENTS_DIR, MAX_AGENT_DEPTH } from '../constants/defaults.js';
22
+ import { BUILTIN_AGENTS } from '../constants/builtin-agents.js';
23
+ import { logger } from '../utils/logger.js';
24
+ import { AGENT_SOURCE_PRIORITY, isValidAgentFrontmatter, parseToolsList, } from '../types/agent.js';
25
+ import { normalizeToolsList } from '../utils/tool-mapper.js';
26
+ // =============================================================================
27
+ // Module State
28
+ // =============================================================================
29
+ /** Cache for discovered agents */
30
+ let cachedAgents = null;
31
+ let cacheTimestamp = 0;
32
+ const CACHE_TTL_MS = 5000; // 5 seconds
33
+ /** CLI agents registered via --agents flag */
34
+ let cliAgents = [];
35
+ /** Current project root for agent discovery */
36
+ let currentProjectRoot = process.cwd();
37
+ // =============================================================================
38
+ // Path Utilities
39
+ // =============================================================================
40
+ /**
41
+ * Gets the project agents directory path.
42
+ * Uses the currentProjectRoot set via setProjectRoot() or --cwd flag.
43
+ */
44
+ export function getProjectAgentsDir() {
45
+ return path.join(getProjectCompassDir(currentProjectRoot), AGENTS_DIR);
46
+ }
47
+ /**
48
+ * Gets the user agents directory path.
49
+ */
50
+ export function getUserAgentsDir() {
51
+ return path.join(getGlobalCompassDir(), AGENTS_DIR);
52
+ }
53
+ /**
54
+ * Sets the project root for agent discovery.
55
+ */
56
+ export function setProjectRoot(projectRoot) {
57
+ if (currentProjectRoot !== projectRoot) {
58
+ currentProjectRoot = projectRoot;
59
+ invalidateAgentCache();
60
+ }
61
+ }
62
+ /**
63
+ * Gets the current project root.
64
+ * Returns the value set via setProjectRoot() or --cwd flag, defaulting to process.cwd().
65
+ */
66
+ export function getProjectRoot() {
67
+ return currentProjectRoot;
68
+ }
69
+ // =============================================================================
70
+ // Permission Mode Mapping
71
+ // =============================================================================
72
+ /**
73
+ * Maps Anthropic permission modes to Compass permission modes.
74
+ *
75
+ * Anthropic modes: default, acceptEdits, dontAsk, bypassPermissions, plan
76
+ * Compass modes: default, acceptEditsAsk, bypassPermissions, plan, ignore
77
+ *
78
+ * @param mode - Permission mode (Anthropic or Compass format)
79
+ * @returns Compass-compatible permission mode
80
+ */
81
+ function normalizePermissionMode(mode) {
82
+ // Direct matches (Compass modes)
83
+ const compassModes = [
84
+ 'default',
85
+ 'acceptEditsAsk',
86
+ 'bypassPermissions',
87
+ 'plan',
88
+ 'ignore',
89
+ ];
90
+ if (compassModes.includes(mode)) {
91
+ return mode;
92
+ }
93
+ // Map Anthropic modes to Compass modes
94
+ const anthropicToCompass = {
95
+ 'acceptEdits': 'acceptEditsAsk', // Anthropic's acceptEdits -> Compass's acceptEditsAsk
96
+ 'dontAsk': 'bypassPermissions', // Anthropic's dontAsk -> Compass's bypassPermissions
97
+ };
98
+ return anthropicToCompass[mode] || 'default';
99
+ }
100
+ // =============================================================================
101
+ // Frontmatter Parsing
102
+ // =============================================================================
103
+ /**
104
+ * Parses YAML frontmatter from markdown content.
105
+ * Uses a simple regex-based approach for portability.
106
+ *
107
+ * @param content - The markdown file content
108
+ * @returns Object containing parsed frontmatter and system prompt (body)
109
+ */
110
+ export function parseAgentFrontmatter(content) {
111
+ const frontmatterRegex = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/;
112
+ const match = content.match(frontmatterRegex);
113
+ if (!match) {
114
+ return { frontmatter: {}, systemPrompt: content };
115
+ }
116
+ const [, yamlContent, body] = match;
117
+ const frontmatter = {};
118
+ // Parse simple YAML key-value pairs
119
+ const lines = yamlContent.split(/\r?\n/);
120
+ for (const line of lines) {
121
+ // Skip empty lines and comments
122
+ if (!line.trim() || line.trim().startsWith('#')) {
123
+ continue;
124
+ }
125
+ // Check for key-value pair
126
+ const kvMatch = line.match(/^([a-zA-Z-]+):\s*(.*)$/);
127
+ if (kvMatch) {
128
+ const [, key, value] = kvMatch;
129
+ let parsedValue = value.trim();
130
+ // Remove quotes if present
131
+ parsedValue = parsedValue.replace(/^["']|["']$/g, '');
132
+ // Map key to frontmatter property
133
+ switch (key.toLowerCase()) {
134
+ case 'name':
135
+ frontmatter.name = parsedValue;
136
+ break;
137
+ case 'description':
138
+ frontmatter.description = parsedValue;
139
+ break;
140
+ case 'tools':
141
+ frontmatter.tools = parsedValue;
142
+ break;
143
+ case 'disallowedtools':
144
+ case 'disallowed-tools':
145
+ case 'disallowedTools':
146
+ frontmatter.disallowedTools = parsedValue;
147
+ break;
148
+ case 'model':
149
+ frontmatter.model = parsedValue;
150
+ break;
151
+ case 'permissionmode':
152
+ case 'permissionMode':
153
+ case 'permission-mode':
154
+ frontmatter.permissionMode = normalizePermissionMode(parsedValue);
155
+ break;
156
+ case 'skills':
157
+ frontmatter.skills = parsedValue;
158
+ break;
159
+ case 'standalone':
160
+ frontmatter.standalone = parsedValue.toLowerCase() === 'true';
161
+ break;
162
+ case 'mcpservers':
163
+ case 'mcp-servers':
164
+ case 'mcpServers':
165
+ frontmatter.mcpServers = parsedValue;
166
+ break;
167
+ }
168
+ }
169
+ }
170
+ return { frontmatter, systemPrompt: body.trim() };
171
+ }
172
+ /**
173
+ * Serializes agent frontmatter to YAML string.
174
+ */
175
+ export function serializeAgentFrontmatter(frontmatter) {
176
+ const lines = ['---'];
177
+ lines.push(`name: ${frontmatter.name}`);
178
+ lines.push(`description: ${frontmatter.description}`);
179
+ if (frontmatter.tools) {
180
+ lines.push(`tools: ${frontmatter.tools}`);
181
+ }
182
+ if (frontmatter.disallowedTools) {
183
+ lines.push(`disallowedTools: ${frontmatter.disallowedTools}`);
184
+ }
185
+ if (frontmatter.model) {
186
+ lines.push(`model: ${frontmatter.model}`);
187
+ }
188
+ if (frontmatter.permissionMode && frontmatter.permissionMode !== 'default') {
189
+ lines.push(`permissionMode: ${frontmatter.permissionMode}`);
190
+ }
191
+ if (frontmatter.skills) {
192
+ lines.push(`skills: ${frontmatter.skills}`);
193
+ }
194
+ if (frontmatter.standalone) {
195
+ lines.push(`standalone: true`);
196
+ }
197
+ if (frontmatter.mcpServers) {
198
+ lines.push(`mcpServers: ${frontmatter.mcpServers}`);
199
+ }
200
+ lines.push('---');
201
+ return lines.join('\n');
202
+ }
203
+ /**
204
+ * Serializes a complete agent to markdown format.
205
+ */
206
+ export function serializeAgent(agent) {
207
+ const frontmatter = serializeAgentFrontmatter(agent.rawFrontmatter);
208
+ return `${frontmatter}\n\n${agent.systemPrompt}`;
209
+ }
210
+ // =============================================================================
211
+ // Agent File Parsing
212
+ // =============================================================================
213
+ /**
214
+ * Parses an agent file and creates an AgentDefinition.
215
+ *
216
+ * @param filePath - Absolute path to the .md file
217
+ * @param source - Where this agent was found
218
+ * @returns Parsed agent definition
219
+ */
220
+ export async function parseAgentFile(filePath, source) {
221
+ try {
222
+ const content = await fs.readFile(filePath, 'utf-8');
223
+ const { frontmatter, systemPrompt } = parseAgentFrontmatter(content);
224
+ // Validate required fields
225
+ if (!frontmatter.name || !frontmatter.description) {
226
+ logger.warn(`Agent file missing required fields (name, description): ${filePath}`);
227
+ return null;
228
+ }
229
+ if (!isValidAgentFrontmatter(frontmatter)) {
230
+ const issues = [];
231
+ // Check required fields
232
+ if (typeof frontmatter.name !== 'string' || frontmatter.name.length === 0) {
233
+ issues.push('missing or empty "name" field');
234
+ }
235
+ if (typeof frontmatter.description !== 'string' || frontmatter.description.length === 0) {
236
+ issues.push('missing or empty "description" field');
237
+ }
238
+ // Check optional field types
239
+ if (frontmatter.tools !== undefined && typeof frontmatter.tools !== 'string') {
240
+ issues.push(`"tools" must be a string, got ${typeof frontmatter.tools}`);
241
+ }
242
+ if (frontmatter.model !== undefined && typeof frontmatter.model !== 'string') {
243
+ issues.push(`"model" must be a string, got ${typeof frontmatter.model}`);
244
+ }
245
+ if (frontmatter.permissionMode !== undefined) {
246
+ const validModes = [
247
+ // Compass modes
248
+ 'default', 'acceptEditsAsk', 'bypassPermissions', 'plan', 'ignore',
249
+ // Anthropic modes (for compatibility)
250
+ 'acceptEdits', 'dontAsk'
251
+ ];
252
+ if (!validModes.includes(frontmatter.permissionMode)) {
253
+ issues.push(`"permissionMode" must be one of: ${validModes.join(', ')} (got "${frontmatter.permissionMode}")`);
254
+ }
255
+ }
256
+ if (frontmatter.skills !== undefined && typeof frontmatter.skills !== 'string') {
257
+ issues.push(`"skills" must be a string, got ${typeof frontmatter.skills}`);
258
+ }
259
+ if (frontmatter.standalone !== undefined && typeof frontmatter.standalone !== 'boolean') {
260
+ issues.push(`"standalone" must be a boolean, got ${typeof frontmatter.standalone}`);
261
+ }
262
+ if (frontmatter.mcpServers !== undefined && typeof frontmatter.mcpServers !== 'string') {
263
+ issues.push(`"mcpServers" must be a string, got ${typeof frontmatter.mcpServers}`);
264
+ }
265
+ logger.warn(`Invalid agent frontmatter in: ${filePath}\nIssues: ${issues.join(', ')}`);
266
+ return null;
267
+ }
268
+ const validFrontmatter = frontmatter;
269
+ // Parse and normalize tool lists (supports both Nova and Roo-Cline/Claude.dev formats)
270
+ const parsedAllowedTools = parseToolsList(validFrontmatter.tools);
271
+ const parsedDisallowedTools = parseToolsList(validFrontmatter.disallowedTools);
272
+ return {
273
+ id: `${source}-${validFrontmatter.name}`,
274
+ name: validFrontmatter.name,
275
+ description: validFrontmatter.description,
276
+ systemPrompt,
277
+ source,
278
+ filePath,
279
+ allowedTools: normalizeToolsList(parsedAllowedTools, true),
280
+ disallowedTools: normalizeToolsList(parsedDisallowedTools, true),
281
+ model: validFrontmatter.model,
282
+ permissionMode: validFrontmatter.permissionMode || 'default',
283
+ skills: parseToolsList(validFrontmatter.skills),
284
+ standalone: validFrontmatter.standalone,
285
+ mcpServers: parseToolsList(validFrontmatter.mcpServers),
286
+ isActive: true, // Will be updated during priority resolution
287
+ rawFrontmatter: validFrontmatter,
288
+ };
289
+ }
290
+ catch (error) {
291
+ logger.warn(`Failed to parse agent file: ${filePath}`, error);
292
+ return null;
293
+ }
294
+ }
295
+ // =============================================================================
296
+ // Agent Discovery
297
+ // =============================================================================
298
+ /**
299
+ * Discovers agents from a specific directory.
300
+ *
301
+ * @param directory - Directory to search
302
+ * @param source - Source type for discovered agents
303
+ * @returns Array of discovered agents
304
+ */
305
+ async function discoverAgentsInDirectory(directory, source) {
306
+ const agents = [];
307
+ if (!(await fs.pathExists(directory))) {
308
+ return agents;
309
+ }
310
+ try {
311
+ const files = await glob('**/*.md', {
312
+ cwd: directory,
313
+ nodir: true,
314
+ absolute: true,
315
+ });
316
+ for (const filePath of files) {
317
+ const agent = await parseAgentFile(filePath, source);
318
+ if (agent) {
319
+ agents.push(agent);
320
+ logger.debug(`Discovered ${source} agent: ${agent.name}`, {
321
+ path: filePath,
322
+ model: agent.model,
323
+ tools: agent.allowedTools?.length ?? 'all',
324
+ });
325
+ }
326
+ }
327
+ }
328
+ catch (error) {
329
+ logger.warn(`Failed to discover agents in ${directory}`, error);
330
+ }
331
+ return agents;
332
+ }
333
+ /**
334
+ * Resolves agent priorities and marks inactive agents.
335
+ *
336
+ * @param agents - All discovered agents
337
+ * @returns Discovery result with priority resolution
338
+ */
339
+ function resolveAgentPriorities(agents) {
340
+ const bySource = {
341
+ project: [],
342
+ cli: [],
343
+ user: [],
344
+ builtin: [],
345
+ };
346
+ // Group by source
347
+ for (const agent of agents) {
348
+ bySource[agent.source].push(agent);
349
+ }
350
+ // Build active agents map (higher priority wins)
351
+ const activeByName = new Map();
352
+ const overrides = new Map();
353
+ // Process in priority order (lowest first, so higher overwrites)
354
+ for (const source of AGENT_SOURCE_PRIORITY) {
355
+ for (const agent of bySource[source]) {
356
+ const existing = activeByName.get(agent.name.toLowerCase());
357
+ if (existing) {
358
+ overrides.set(existing.id, agent.id);
359
+ }
360
+ activeByName.set(agent.name.toLowerCase(), agent);
361
+ }
362
+ }
363
+ // Mark active status on all agents
364
+ const active = [];
365
+ for (const agent of agents) {
366
+ const isActive = activeByName.get(agent.name.toLowerCase())?.id === agent.id;
367
+ agent.isActive = isActive;
368
+ if (isActive) {
369
+ active.push(agent);
370
+ }
371
+ }
372
+ return {
373
+ all: agents,
374
+ active,
375
+ bySource,
376
+ overrides,
377
+ };
378
+ }
379
+ /**
380
+ * Discovers all agents from all sources.
381
+ *
382
+ * @param forceRefresh - Force refresh the cache
383
+ * @returns Discovery result with all agents
384
+ */
385
+ export async function discoverAgents(forceRefresh = false) {
386
+ // Check cache
387
+ if (!forceRefresh && cachedAgents && Date.now() - cacheTimestamp < CACHE_TTL_MS) {
388
+ return cachedAgents;
389
+ }
390
+ const allAgents = [];
391
+ // 1. Built-in agents (lowest priority)
392
+ allAgents.push(...BUILTIN_AGENTS.map((agent) => ({ ...agent })));
393
+ // 2. User agents
394
+ const userAgents = await discoverAgentsInDirectory(getUserAgentsDir(), 'user');
395
+ allAgents.push(...userAgents);
396
+ // 3. CLI agents
397
+ allAgents.push(...cliAgents);
398
+ // 4. Project agents (highest priority)
399
+ const projectAgents = await discoverAgentsInDirectory(getProjectAgentsDir(), 'project');
400
+ allAgents.push(...projectAgents);
401
+ // Resolve priorities
402
+ const result = resolveAgentPriorities(allAgents);
403
+ // Update cache
404
+ cachedAgents = result;
405
+ cacheTimestamp = Date.now();
406
+ logger.info(`Discovered ${result.active.length} active agents (${result.all.length} total)`);
407
+ return result;
408
+ }
409
+ /**
410
+ * Invalidates the agent cache.
411
+ */
412
+ export function invalidateAgentCache() {
413
+ cachedAgents = null;
414
+ cacheTimestamp = 0;
415
+ }
416
+ // =============================================================================
417
+ // CLI Agents
418
+ // =============================================================================
419
+ /**
420
+ * Registers agents from CLI --agents flag.
421
+ *
422
+ * @param agentsMap - Map of agent names to configurations
423
+ */
424
+ export function registerCLIAgents(agentsMap) {
425
+ cliAgents = [];
426
+ for (const [name, config] of Object.entries(agentsMap)) {
427
+ if (!config.description || !config.prompt) {
428
+ logger.warn(`CLI agent "${name}" missing required fields (description, prompt)`);
429
+ continue;
430
+ }
431
+ // Normalize tool lists (supports both Nova and Roo-Cline/Claude.dev formats)
432
+ const normalizedAllowedTools = normalizeToolsList(config.tools, true);
433
+ const normalizedDisallowedTools = normalizeToolsList(config.disallowedTools, true);
434
+ const agent = {
435
+ id: `cli-${name}`,
436
+ name,
437
+ description: config.description,
438
+ systemPrompt: config.prompt,
439
+ source: 'cli',
440
+ allowedTools: normalizedAllowedTools,
441
+ disallowedTools: normalizedDisallowedTools,
442
+ model: config.model,
443
+ permissionMode: config.permissionMode || 'default',
444
+ skills: config.skills,
445
+ standalone: config.standalone,
446
+ mcpServers: config.mcpServers,
447
+ isActive: true,
448
+ rawFrontmatter: {
449
+ name,
450
+ description: config.description,
451
+ tools: normalizedAllowedTools ? normalizedAllowedTools.join(', ') : undefined,
452
+ disallowedTools: normalizedDisallowedTools ? normalizedDisallowedTools.join(', ') : undefined,
453
+ model: config.model,
454
+ permissionMode: config.permissionMode,
455
+ skills: config.skills ? config.skills.join(', ') : undefined,
456
+ standalone: config.standalone,
457
+ mcpServers: config.mcpServers ? config.mcpServers.join(', ') : undefined,
458
+ },
459
+ };
460
+ cliAgents.push(agent);
461
+ logger.debug(`Registered CLI agent: ${name}`);
462
+ }
463
+ invalidateAgentCache();
464
+ }
465
+ /**
466
+ * Clears all CLI agents.
467
+ */
468
+ export function clearCLIAgents() {
469
+ cliAgents = [];
470
+ invalidateAgentCache();
471
+ }
472
+ // =============================================================================
473
+ // Agent Lookup
474
+ // =============================================================================
475
+ /**
476
+ * Gets all active agents.
477
+ */
478
+ export async function getActiveAgents() {
479
+ const result = await discoverAgents();
480
+ return result.active;
481
+ }
482
+ /**
483
+ * Gets an agent by name (only active agents).
484
+ */
485
+ export async function getAgentByName(name) {
486
+ const result = await discoverAgents();
487
+ return result.active.find((agent) => agent.name.toLowerCase() === name.toLowerCase());
488
+ }
489
+ /**
490
+ * Gets an agent by ID (includes inactive agents).
491
+ */
492
+ export async function getAgentById(id) {
493
+ const result = await discoverAgents();
494
+ return result.all.find((agent) => agent.id === id);
495
+ }
496
+ /**
497
+ * Checks if an agent exists (active only).
498
+ */
499
+ export async function hasAgent(name) {
500
+ const agent = await getAgentByName(name);
501
+ return agent !== undefined;
502
+ }
503
+ /**
504
+ * Determines the safety tier label for an agent based on its allowed tools.
505
+ */
506
+ function getAgentSafetyTier(agent) {
507
+ if (!agent.allowedTools) {
508
+ return 'all tools';
509
+ }
510
+ const tools = new Set(agent.allowedTools.map(t => t.toLowerCase()));
511
+ const hasEdit = tools.has('edit') || tools.has('write');
512
+ const hasBash = tools.has('bash');
513
+ if (!hasEdit && !hasBash)
514
+ return 'read-only';
515
+ if (!hasEdit && hasBash)
516
+ return 'read + inspect';
517
+ if (hasEdit && hasBash)
518
+ return 'read + write + execute';
519
+ return 'read + write';
520
+ }
521
+ /**
522
+ * Formats active agents as a list for inclusion in system prompts.
523
+ * Returns a formatted string describing available sub-agents for task delegation.
524
+ * Includes safety tier and budget information to help the LLM make informed decisions.
525
+ */
526
+ export async function formatAgentsForPrompt() {
527
+ const { DEFAULT_AGENT_BUDGETS } = await import('./agent-budget-allocator.js');
528
+ const agents = await getActiveAgents();
529
+ if (agents.length === 0) {
530
+ return 'No specialized sub-agents are currently available.';
531
+ }
532
+ const agentDescriptions = agents.map(agent => {
533
+ const budget = DEFAULT_AGENT_BUDGETS[agent.name] || DEFAULT_AGENT_BUDGETS['default'];
534
+ const tier = getAgentSafetyTier(agent);
535
+ const model = agent.model || 'sonnet';
536
+ return `- **${agent.name}** [${tier}, ${model}, ${budget.maxTurns} turns]: ${agent.description}`;
537
+ }).join('\n');
538
+ return `The following specialized sub-agents are available via \`spawn_task\`:
539
+ ${agentDescriptions}
540
+
541
+ Agents marked **read-only** cannot run shell commands — provide any needed diffs, logs, or CLI output in the \`context\` parameter.`;
542
+ }
543
+ // =============================================================================
544
+ // Agent CRUD Operations
545
+ // =============================================================================
546
+ /**
547
+ * Creates a new agent file.
548
+ *
549
+ * @param agent - Agent definition to create
550
+ * @param location - Where to save ('project' or 'user')
551
+ * @returns The created agent's file path
552
+ */
553
+ export async function createAgent(agent, location = 'project') {
554
+ const baseDir = location === 'project' ? getProjectAgentsDir() : getUserAgentsDir();
555
+ const fileName = `${agent.name}.md`;
556
+ const filePath = path.join(baseDir, fileName);
557
+ // Ensure directory exists
558
+ await fs.ensureDir(baseDir);
559
+ // Check if file already exists
560
+ if (await fs.pathExists(filePath)) {
561
+ throw new Error(`Agent file already exists: ${filePath}`);
562
+ }
563
+ // Build frontmatter
564
+ const frontmatter = {
565
+ name: agent.name,
566
+ description: agent.description,
567
+ tools: agent.allowedTools ? agent.allowedTools.join(', ') : undefined,
568
+ disallowedTools: agent.disallowedTools ? agent.disallowedTools.join(', ') : undefined,
569
+ model: agent.model,
570
+ permissionMode: agent.permissionMode !== 'default' ? agent.permissionMode : undefined,
571
+ skills: agent.skills ? agent.skills.join(', ') : undefined,
572
+ };
573
+ // Serialize and write
574
+ const content = `${serializeAgentFrontmatter(frontmatter)}\n\n${agent.systemPrompt}`;
575
+ await fs.writeFile(filePath, content, 'utf-8');
576
+ logger.info(`Created agent: ${agent.name} at ${filePath}`);
577
+ invalidateAgentCache();
578
+ return filePath;
579
+ }
580
+ /**
581
+ * Updates an existing agent.
582
+ *
583
+ * @param agentId - ID of the agent to update
584
+ * @param updates - Fields to update
585
+ */
586
+ export async function updateAgent(agentId, updates) {
587
+ const agent = await getAgentById(agentId);
588
+ if (!agent) {
589
+ throw new Error(`Agent not found: ${agentId}`);
590
+ }
591
+ if (!agent.filePath) {
592
+ throw new Error(`Cannot update ${agent.source} agent "${agent.name}" - no file path`);
593
+ }
594
+ if (agent.source === 'builtin' || agent.source === 'cli') {
595
+ throw new Error(`Cannot update ${agent.source} agent "${agent.name}"`);
596
+ }
597
+ // Apply updates (normalize tool names if provided)
598
+ const normalizedAllowedTools = updates.tools ? normalizeToolsList(updates.tools, true) : undefined;
599
+ const normalizedDisallowedTools = updates.disallowedTools ? normalizeToolsList(updates.disallowedTools, true) : undefined;
600
+ const updatedAgent = {
601
+ ...agent,
602
+ description: updates.description ?? agent.description,
603
+ systemPrompt: updates.systemPrompt ?? agent.systemPrompt,
604
+ allowedTools: normalizedAllowedTools ?? agent.allowedTools,
605
+ disallowedTools: normalizedDisallowedTools ?? agent.disallowedTools,
606
+ model: updates.model ?? agent.model,
607
+ permissionMode: updates.permissionMode ?? agent.permissionMode,
608
+ skills: updates.skills ?? agent.skills,
609
+ rawFrontmatter: {
610
+ ...agent.rawFrontmatter,
611
+ description: updates.description ?? agent.rawFrontmatter.description,
612
+ tools: normalizedAllowedTools ? normalizedAllowedTools.join(', ') : agent.rawFrontmatter.tools,
613
+ disallowedTools: normalizedDisallowedTools ? normalizedDisallowedTools.join(', ') : agent.rawFrontmatter.disallowedTools,
614
+ model: updates.model ?? agent.rawFrontmatter.model,
615
+ permissionMode: updates.permissionMode ?? agent.rawFrontmatter.permissionMode,
616
+ skills: updates.skills ? updates.skills.join(', ') : agent.rawFrontmatter.skills,
617
+ },
618
+ };
619
+ // Write updated content
620
+ const content = serializeAgent(updatedAgent);
621
+ await fs.writeFile(agent.filePath, content, 'utf-8');
622
+ logger.info(`Updated agent: ${agent.name}`);
623
+ invalidateAgentCache();
624
+ }
625
+ /**
626
+ * Deletes an agent file.
627
+ *
628
+ * @param agentId - ID of the agent to delete
629
+ */
630
+ export async function deleteAgent(agentId) {
631
+ const agent = await getAgentById(agentId);
632
+ if (!agent) {
633
+ throw new Error(`Agent not found: ${agentId}`);
634
+ }
635
+ if (!agent.filePath) {
636
+ throw new Error(`Cannot delete ${agent.source} agent "${agent.name}" - no file path`);
637
+ }
638
+ if (agent.source === 'builtin') {
639
+ throw new Error(`Cannot delete built-in agent "${agent.name}"`);
640
+ }
641
+ if (agent.source === 'cli') {
642
+ throw new Error(`Cannot delete CLI agent "${agent.name}" - it was passed via --agents flag`);
643
+ }
644
+ await fs.remove(agent.filePath);
645
+ logger.info(`Deleted agent: ${agent.name} from ${agent.filePath}`);
646
+ invalidateAgentCache();
647
+ }
648
+ // =============================================================================
649
+ // Execution Context
650
+ // =============================================================================
651
+ /**
652
+ * Creates an execution context for an agent.
653
+ *
654
+ * @param agent - The agent to execute
655
+ * @param parentContext - Optional parent context for sub-agents
656
+ * @returns Execution context
657
+ */
658
+ export function createExecutionContext(agent, parentContext) {
659
+ const depth = parentContext ? parentContext.depth + 1 : 0;
660
+ const parentChain = parentContext
661
+ ? [...parentContext.parentChain, parentContext.agent.name]
662
+ : [];
663
+ return {
664
+ agent,
665
+ executionId: uuidv4(),
666
+ parentAgentId: parentContext?.executionId,
667
+ parentChain,
668
+ depth,
669
+ maxDepth: MAX_AGENT_DEPTH,
670
+ };
671
+ }
672
+ /**
673
+ * Validates an execution context for cycle detection.
674
+ *
675
+ * @param context - Context to validate
676
+ * @returns Error message if invalid, undefined if valid
677
+ */
678
+ export function validateExecutionContext(context) {
679
+ // Check depth limit
680
+ if (context.depth > context.maxDepth) {
681
+ return `Maximum agent nesting depth (${context.maxDepth}) exceeded`;
682
+ }
683
+ // Check for cycles (same agent appearing twice in chain)
684
+ if (context.parentChain.includes(context.agent.name)) {
685
+ return `Circular agent reference detected: ${context.agent.name} already in chain [${context.parentChain.join(' -> ')}]`;
686
+ }
687
+ return undefined;
688
+ }
689
+ // =============================================================================
690
+ // Initialization
691
+ // =============================================================================
692
+ /**
693
+ * Initializes the agent manager.
694
+ *
695
+ * @param projectRoot - Project root directory
696
+ * @param cliAgentsJson - Optional CLI agents JSON string
697
+ */
698
+ export async function initializeAgentManager(projectRoot, cliAgentsJson) {
699
+ setProjectRoot(projectRoot);
700
+ // Parse CLI agents if provided
701
+ if (cliAgentsJson) {
702
+ try {
703
+ const parsed = JSON.parse(cliAgentsJson);
704
+ registerCLIAgents(parsed);
705
+ }
706
+ catch (error) {
707
+ logger.error('Failed to parse --agents JSON', error);
708
+ throw new Error(`Invalid --agents JSON: ${error instanceof Error ? error.message : 'Unknown error'}`);
709
+ }
710
+ }
711
+ // Pre-warm the cache
712
+ await discoverAgents(true);
713
+ }
714
+ // =============================================================================
715
+ // Export Default
716
+ // =============================================================================
717
+ export default {
718
+ // Path utilities
719
+ getProjectAgentsDir,
720
+ getUserAgentsDir,
721
+ setProjectRoot,
722
+ getProjectRoot,
723
+ // Discovery
724
+ discoverAgents,
725
+ invalidateAgentCache,
726
+ // CLI agents
727
+ registerCLIAgents,
728
+ clearCLIAgents,
729
+ // Lookup
730
+ getActiveAgents,
731
+ getAgentByName,
732
+ getAgentById,
733
+ hasAgent,
734
+ // CRUD
735
+ createAgent,
736
+ updateAgent,
737
+ deleteAgent,
738
+ // Execution
739
+ createExecutionContext,
740
+ validateExecutionContext,
741
+ // Initialization
742
+ initializeAgentManager,
743
+ // Parsing utilities
744
+ parseAgentFrontmatter,
745
+ parseAgentFile,
746
+ serializeAgent,
747
+ serializeAgentFrontmatter,
748
+ };
749
+ //# sourceMappingURL=agent-manager.js.map