@compilr-dev/cli 0.5.0 → 0.5.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 (587) hide show
  1. package/LICENSE +108 -0
  2. package/README.md +237 -69
  3. package/dist/.tsbuildinfo.app +1 -0
  4. package/dist/.tsbuildinfo.data +1 -0
  5. package/dist/.tsbuildinfo.domain +1 -0
  6. package/dist/.tsbuildinfo.foundation +1 -0
  7. package/dist/agent.d.ts +61 -4
  8. package/dist/agent.js +241 -245
  9. package/dist/anchors/index.d.ts +1 -1
  10. package/dist/anchors/index.js +1 -1
  11. package/dist/anchors/project-anchors.d.ts +2 -2
  12. package/dist/anchors/project-anchors.js +1 -1
  13. package/dist/auth/api-client.d.ts +124 -0
  14. package/dist/auth/api-client.js +261 -0
  15. package/dist/auth/index.d.ts +172 -0
  16. package/dist/auth/index.js +545 -0
  17. package/dist/auth/storage.d.ts +52 -0
  18. package/dist/auth/storage.js +118 -0
  19. package/dist/changelog/index.d.ts +16 -0
  20. package/dist/changelog/index.js +24 -0
  21. package/dist/changelog/releases.d.ts +17 -0
  22. package/dist/changelog/releases.js +63 -0
  23. package/dist/commands-v2/handlers/auth.d.ts +10 -0
  24. package/dist/commands-v2/handlers/auth.js +118 -0
  25. package/dist/commands-v2/handlers/background.d.ts +14 -0
  26. package/dist/commands-v2/handlers/background.js +276 -0
  27. package/dist/commands-v2/handlers/context.js +286 -81
  28. package/dist/commands-v2/handlers/core.d.ts +1 -0
  29. package/dist/commands-v2/handlers/core.js +133 -8
  30. package/dist/commands-v2/handlers/debug.js +18 -0
  31. package/dist/commands-v2/handlers/delegations.d.ts +8 -0
  32. package/dist/commands-v2/handlers/delegations.js +29 -0
  33. package/dist/commands-v2/handlers/files.d.ts +8 -0
  34. package/dist/commands-v2/handlers/files.js +162 -0
  35. package/dist/commands-v2/handlers/filter.d.ts +9 -0
  36. package/dist/commands-v2/handlers/filter.js +130 -0
  37. package/dist/commands-v2/handlers/games.d.ts +7 -0
  38. package/dist/commands-v2/handlers/games.js +57 -0
  39. package/dist/commands-v2/handlers/index.d.ts +13 -0
  40. package/dist/commands-v2/handlers/index.js +39 -0
  41. package/dist/commands-v2/handlers/mcp.d.ts +8 -0
  42. package/dist/commands-v2/handlers/mcp.js +39 -0
  43. package/dist/commands-v2/handlers/notifications.d.ts +9 -0
  44. package/dist/commands-v2/handlers/notifications.js +34 -0
  45. package/dist/commands-v2/handlers/project.js +295 -31
  46. package/dist/commands-v2/handlers/reset.d.ts +11 -0
  47. package/dist/commands-v2/handlers/reset.js +118 -0
  48. package/dist/commands-v2/handlers/session.d.ts +161 -0
  49. package/dist/commands-v2/handlers/session.js +805 -0
  50. package/dist/commands-v2/handlers/settings.d.ts +2 -0
  51. package/dist/commands-v2/handlers/settings.js +217 -35
  52. package/dist/commands-v2/handlers/tasks.d.ts +5 -0
  53. package/dist/commands-v2/handlers/tasks.js +36 -0
  54. package/dist/commands-v2/handlers/team.d.ts +9 -0
  55. package/dist/commands-v2/handlers/team.js +549 -0
  56. package/dist/commands-v2/handlers/terminals.d.ts +9 -0
  57. package/dist/commands-v2/handlers/terminals.js +34 -0
  58. package/dist/commands-v2/index.d.ts +3 -2
  59. package/dist/commands-v2/index.js +4 -1
  60. package/dist/commands-v2/registry.d.ts +15 -0
  61. package/dist/commands-v2/registry.js +34 -0
  62. package/dist/commands-v2/types.d.ts +81 -3
  63. package/dist/commands.js +13 -0
  64. package/dist/compilr-diff-companion.vsix +0 -0
  65. package/dist/db/index.js +98 -4
  66. package/dist/db/repositories/document-repository.d.ts +2 -0
  67. package/dist/db/repositories/document-repository.js +6 -1
  68. package/dist/db/repositories/index.d.ts +2 -0
  69. package/dist/db/repositories/index.js +1 -0
  70. package/dist/db/repositories/plan-repository.d.ts +101 -0
  71. package/dist/db/repositories/plan-repository.js +275 -0
  72. package/dist/db/repositories/project-repository.d.ts +6 -0
  73. package/dist/db/repositories/project-repository.js +41 -0
  74. package/dist/db/repositories/work-item-repository.d.ts +15 -0
  75. package/dist/db/repositories/work-item-repository.js +69 -4
  76. package/dist/db/schema.d.ts +40 -3
  77. package/dist/db/schema.js +66 -3
  78. package/dist/episodes/index.d.ts +20 -0
  79. package/dist/episodes/index.js +27 -0
  80. package/dist/episodes/recorder.d.ts +51 -0
  81. package/dist/episodes/recorder.js +195 -0
  82. package/dist/episodes/significant-work.d.ts +21 -0
  83. package/dist/episodes/significant-work.js +56 -0
  84. package/dist/episodes/store.d.ts +38 -0
  85. package/dist/episodes/store.js +199 -0
  86. package/dist/episodes/types.d.ts +35 -0
  87. package/dist/episodes/types.js +6 -0
  88. package/dist/episodes/work-at-risk.d.ts +12 -0
  89. package/dist/episodes/work-at-risk.js +38 -0
  90. package/dist/episodes/work-summary-anchor.d.ts +23 -0
  91. package/dist/episodes/work-summary-anchor.js +73 -0
  92. package/dist/games/coins.d.ts +66 -0
  93. package/dist/games/coins.js +165 -0
  94. package/dist/games/game-base.d.ts +84 -0
  95. package/dist/games/game-base.js +204 -0
  96. package/dist/games/index.d.ts +16 -0
  97. package/dist/games/index.js +49 -0
  98. package/dist/games/scores.d.ts +69 -0
  99. package/dist/games/scores.js +191 -0
  100. package/dist/games/tetris/board.d.ts +59 -0
  101. package/dist/games/tetris/board.js +170 -0
  102. package/dist/games/tetris/index.d.ts +109 -0
  103. package/dist/games/tetris/index.js +610 -0
  104. package/dist/games/tetris/pieces.d.ts +44 -0
  105. package/dist/games/tetris/pieces.js +271 -0
  106. package/dist/games/tetris/renderer.d.ts +26 -0
  107. package/dist/games/tetris/renderer.js +77 -0
  108. package/dist/guide/guide-content.d.ts +23 -0
  109. package/dist/guide/guide-content.js +196 -0
  110. package/dist/guide/index.d.ts +8 -0
  111. package/dist/guide/index.js +7 -0
  112. package/dist/guide/shared-content.d.ts +37 -0
  113. package/dist/guide/shared-content.js +1272 -0
  114. package/dist/guide/tutorial-helpers.d.ts +57 -0
  115. package/dist/guide/tutorial-helpers.js +147 -0
  116. package/dist/handlers/ask-user-handlers.d.ts +32 -0
  117. package/dist/handlers/ask-user-handlers.js +104 -0
  118. package/dist/handlers/delegation-handlers.d.ts +34 -0
  119. package/dist/handlers/delegation-handlers.js +291 -0
  120. package/dist/handlers/permission-handler.d.ts +30 -0
  121. package/dist/handlers/permission-handler.js +205 -0
  122. package/dist/index.d.ts +11 -1
  123. package/dist/index.js +448 -271
  124. package/dist/input-handlers/memory-handler.d.ts +1 -1
  125. package/dist/input-handlers/memory-handler.js +2 -1
  126. package/dist/models/index.d.ts +10 -0
  127. package/dist/models/index.js +12 -0
  128. package/dist/models/model-registry.d.ts +38 -0
  129. package/dist/models/model-registry.js +69 -0
  130. package/dist/models/model-tiers.d.ts +28 -0
  131. package/dist/models/model-tiers.js +71 -0
  132. package/dist/models/model-validation.d.ts +25 -0
  133. package/dist/models/model-validation.js +291 -0
  134. package/dist/models/ollama-models.d.ts +73 -0
  135. package/dist/models/ollama-models.js +178 -0
  136. package/dist/models/provider-types.d.ts +6 -0
  137. package/dist/models/provider-types.js +1 -0
  138. package/dist/models/providers.d.ts +35 -0
  139. package/dist/models/providers.js +58 -0
  140. package/dist/models/types.d.ts +4 -0
  141. package/dist/models/types.js +4 -0
  142. package/dist/multi-agent/activity.d.ts +21 -0
  143. package/dist/multi-agent/activity.js +34 -0
  144. package/dist/multi-agent/agent-selection.d.ts +55 -0
  145. package/dist/multi-agent/agent-selection.js +90 -0
  146. package/dist/multi-agent/artifacts.d.ts +197 -0
  147. package/dist/multi-agent/artifacts.js +379 -0
  148. package/dist/multi-agent/checkpointer.d.ts +138 -0
  149. package/dist/multi-agent/checkpointer.js +471 -0
  150. package/dist/multi-agent/collision-utils.d.ts +16 -0
  151. package/dist/multi-agent/collision-utils.js +28 -0
  152. package/dist/multi-agent/context-resolver.d.ts +97 -0
  153. package/dist/multi-agent/context-resolver.js +316 -0
  154. package/dist/multi-agent/custom-agents.d.ts +83 -0
  155. package/dist/multi-agent/custom-agents.js +227 -0
  156. package/dist/multi-agent/delegation-tracker.d.ts +157 -0
  157. package/dist/multi-agent/delegation-tracker.js +243 -0
  158. package/dist/multi-agent/file-lock-hook.d.ts +29 -0
  159. package/dist/multi-agent/file-lock-hook.js +97 -0
  160. package/dist/multi-agent/file-locks.d.ts +58 -0
  161. package/dist/multi-agent/file-locks.js +194 -0
  162. package/dist/multi-agent/index.d.ts +24 -0
  163. package/dist/multi-agent/index.js +30 -0
  164. package/dist/multi-agent/mention-parser.d.ts +64 -0
  165. package/dist/multi-agent/mention-parser.js +146 -0
  166. package/dist/multi-agent/notification-manager.d.ts +84 -0
  167. package/dist/multi-agent/notification-manager.js +224 -0
  168. package/dist/multi-agent/pending-requests.d.ts +122 -0
  169. package/dist/multi-agent/pending-requests.js +155 -0
  170. package/dist/multi-agent/session-registry.d.ts +139 -0
  171. package/dist/multi-agent/session-registry.js +514 -0
  172. package/dist/multi-agent/shared-context.d.ts +293 -0
  173. package/dist/multi-agent/shared-context.js +671 -0
  174. package/dist/multi-agent/skill-requirements.d.ts +66 -0
  175. package/dist/multi-agent/skill-requirements.js +178 -0
  176. package/dist/multi-agent/task-assignment.d.ts +69 -0
  177. package/dist/multi-agent/task-assignment.js +123 -0
  178. package/dist/multi-agent/task-suggestion.d.ts +31 -0
  179. package/dist/multi-agent/task-suggestion.js +72 -0
  180. package/dist/multi-agent/team-agent.d.ts +201 -0
  181. package/dist/multi-agent/team-agent.js +488 -0
  182. package/dist/multi-agent/team.d.ts +286 -0
  183. package/dist/multi-agent/team.js +610 -0
  184. package/dist/multi-agent/tool-config.d.ts +110 -0
  185. package/dist/multi-agent/tool-config.js +661 -0
  186. package/dist/multi-agent/types.d.ts +211 -0
  187. package/dist/multi-agent/types.js +617 -0
  188. package/dist/prompts/plan-mode-prompt.d.ts +11 -0
  189. package/dist/prompts/plan-mode-prompt.js +95 -0
  190. package/dist/repl-helpers.js +5 -2
  191. package/dist/repl-v2.d.ts +401 -2
  192. package/dist/repl-v2.js +2588 -65
  193. package/dist/session/index.d.ts +6 -0
  194. package/dist/session/index.js +6 -0
  195. package/dist/session/project-session-manager.d.ts +158 -0
  196. package/dist/session/project-session-manager.js +650 -0
  197. package/dist/settings/index.d.ts +133 -13
  198. package/dist/settings/index.js +329 -24
  199. package/dist/settings/mcp-config.d.ts +76 -0
  200. package/dist/settings/mcp-config.js +143 -0
  201. package/dist/settings/paths.d.ts +4 -0
  202. package/dist/settings/paths.js +6 -0
  203. package/dist/shared-handlers.d.ts +62 -0
  204. package/dist/shared-handlers.js +48 -0
  205. package/dist/system-prompt/builder.d.ts +5 -0
  206. package/dist/system-prompt/builder.js +4 -0
  207. package/dist/system-prompt/index.d.ts +18 -0
  208. package/dist/system-prompt/index.js +18 -0
  209. package/dist/system-prompt/modules.d.ts +5 -0
  210. package/dist/system-prompt/modules.js +4 -0
  211. package/dist/tabbed-menu.js +2 -1
  212. package/dist/templates/compilr-md-import.d.ts +16 -0
  213. package/dist/templates/compilr-md-import.js +241 -0
  214. package/dist/templates/compilr-md.js +10 -61
  215. package/dist/templates/config-json.d.ts +1 -25
  216. package/dist/templates/index.d.ts +2 -0
  217. package/dist/templates/index.js +34 -73
  218. package/dist/tool-names.d.ts +113 -0
  219. package/dist/tool-names.js +239 -0
  220. package/dist/tools/ask-user-simple.d.ts +1 -1
  221. package/dist/tools/ask-user-simple.js +2 -1
  222. package/dist/tools/ask-user.d.ts +1 -1
  223. package/dist/tools/ask-user.js +2 -1
  224. package/dist/tools/backlog.d.ts +2 -2
  225. package/dist/tools/backlog.js +1 -1
  226. package/dist/tools/db-tools.d.ts +13 -61
  227. package/dist/tools/db-tools.js +12 -13
  228. package/dist/tools/delegate-background.d.ts +27 -0
  229. package/dist/tools/delegate-background.js +115 -0
  230. package/dist/tools/delegate.d.ts +22 -0
  231. package/dist/tools/delegate.js +97 -0
  232. package/dist/tools/delegation-status.d.ts +16 -0
  233. package/dist/tools/delegation-status.js +128 -0
  234. package/dist/tools/guide-tool.d.ts +12 -0
  235. package/dist/tools/guide-tool.js +59 -0
  236. package/dist/tools/handoff.d.ts +25 -0
  237. package/dist/tools/handoff.js +99 -0
  238. package/dist/tools/meta-tools.d.ts +26 -0
  239. package/dist/tools/meta-tools.js +47 -0
  240. package/dist/tools/platform-adapter.d.ts +35 -0
  241. package/dist/tools/platform-adapter.js +404 -0
  242. package/dist/tools/project-db.d.ts +5 -73
  243. package/dist/tools/project-db.js +5 -336
  244. package/dist/tools.d.ts +67 -2
  245. package/dist/tools.js +240 -48
  246. package/dist/ui/autocomplete-controller.d.ts +42 -0
  247. package/dist/ui/autocomplete-controller.js +384 -0
  248. package/dist/ui/base/index.d.ts +1 -1
  249. package/dist/ui/base/index.js +1 -1
  250. package/dist/ui/base/overlay-base-v2.d.ts +10 -0
  251. package/dist/ui/base/overlay-base-v2.js +14 -0
  252. package/dist/ui/base/render-utils.d.ts +19 -0
  253. package/dist/ui/base/render-utils.js +25 -0
  254. package/dist/ui/base/tabbed-list-overlay-v2.d.ts +16 -1
  255. package/dist/ui/base/tabbed-list-overlay-v2.js +19 -1
  256. package/dist/ui/constants/labels.d.ts +14 -0
  257. package/dist/ui/constants/labels.js +52 -0
  258. package/dist/ui/conversation-store.d.ts +55 -0
  259. package/dist/ui/conversation-store.js +107 -0
  260. package/dist/ui/conversation.js +11 -13
  261. package/dist/ui/diff.d.ts +7 -1
  262. package/dist/ui/diff.js +85 -48
  263. package/dist/ui/ephemeral.js +3 -9
  264. package/dist/ui/file-autocomplete.d.ts +24 -0
  265. package/dist/ui/file-autocomplete.js +56 -0
  266. package/dist/ui/footer-renderer.d.ts +69 -0
  267. package/dist/ui/footer-renderer.js +431 -0
  268. package/dist/ui/footer.d.ts +74 -7
  269. package/dist/ui/footer.js +173 -16
  270. package/dist/ui/input-controller.d.ts +51 -0
  271. package/dist/ui/input-controller.js +176 -0
  272. package/dist/ui/input-prompt.d.ts +19 -0
  273. package/dist/ui/input-prompt.js +206 -14
  274. package/dist/ui/keyboard-handler.d.ts +57 -0
  275. package/dist/ui/keyboard-handler.js +557 -0
  276. package/dist/ui/live-region-facade.d.ts +42 -0
  277. package/dist/ui/live-region-facade.js +205 -0
  278. package/dist/ui/live-region.d.ts +0 -4
  279. package/dist/ui/live-region.js +6 -14
  280. package/dist/ui/mascot/renderer.d.ts +1 -1
  281. package/dist/ui/mascot/renderer.js +37 -2
  282. package/dist/ui/overlay/data/tutorial-content.d.ts +9 -0
  283. package/dist/ui/overlay/data/tutorial-content.js +9 -0
  284. package/dist/ui/overlay/data/tutorial-registry.d.ts +12 -0
  285. package/dist/ui/overlay/data/tutorial-registry.js +116 -0
  286. package/dist/ui/overlay/data/tutorial-types.d.ts +35 -0
  287. package/dist/ui/overlay/data/tutorial-types.js +6 -0
  288. package/dist/ui/overlay/data/tutorials/basics/first-conversation.d.ts +7 -0
  289. package/dist/ui/overlay/data/tutorials/basics/first-conversation.js +220 -0
  290. package/dist/ui/overlay/data/tutorials/basics/first-project.d.ts +7 -0
  291. package/dist/ui/overlay/data/tutorials/basics/first-project.js +284 -0
  292. package/dist/ui/overlay/data/tutorials/basics/navigation.d.ts +8 -0
  293. package/dist/ui/overlay/data/tutorials/basics/navigation.js +22 -0
  294. package/dist/ui/overlay/data/tutorials/basics/welcome.d.ts +7 -0
  295. package/dist/ui/overlay/data/tutorials/basics/welcome.js +174 -0
  296. package/dist/ui/overlay/data/tutorials/config/context-management.d.ts +7 -0
  297. package/dist/ui/overlay/data/tutorials/config/context-management.js +158 -0
  298. package/dist/ui/overlay/data/tutorials/config/mcp-servers.d.ts +8 -0
  299. package/dist/ui/overlay/data/tutorials/config/mcp-servers.js +155 -0
  300. package/dist/ui/overlay/data/tutorials/config/model-selection.d.ts +7 -0
  301. package/dist/ui/overlay/data/tutorials/config/model-selection.js +162 -0
  302. package/dist/ui/overlay/data/tutorials/config/permissions-safety.d.ts +7 -0
  303. package/dist/ui/overlay/data/tutorials/config/permissions-safety.js +163 -0
  304. package/dist/ui/overlay/data/tutorials/config/settings-config.d.ts +7 -0
  305. package/dist/ui/overlay/data/tutorials/config/settings-config.js +166 -0
  306. package/dist/ui/overlay/data/tutorials/planning/arch.d.ts +7 -0
  307. package/dist/ui/overlay/data/tutorials/planning/arch.js +168 -0
  308. package/dist/ui/overlay/data/tutorials/planning/backlog.d.ts +7 -0
  309. package/dist/ui/overlay/data/tutorials/planning/backlog.js +103 -0
  310. package/dist/ui/overlay/data/tutorials/planning/build.d.ts +7 -0
  311. package/dist/ui/overlay/data/tutorials/planning/build.js +173 -0
  312. package/dist/ui/overlay/data/tutorials/planning/design.d.ts +7 -0
  313. package/dist/ui/overlay/data/tutorials/planning/design.js +205 -0
  314. package/dist/ui/overlay/data/tutorials/planning/docs.d.ts +7 -0
  315. package/dist/ui/overlay/data/tutorials/planning/docs.js +143 -0
  316. package/dist/ui/overlay/data/tutorials/planning/prd.d.ts +7 -0
  317. package/dist/ui/overlay/data/tutorials/planning/prd.js +173 -0
  318. package/dist/ui/overlay/data/tutorials/planning/scaffold.d.ts +7 -0
  319. package/dist/ui/overlay/data/tutorials/planning/scaffold.js +164 -0
  320. package/dist/ui/overlay/data/tutorials/planning/sketch.d.ts +7 -0
  321. package/dist/ui/overlay/data/tutorials/planning/sketch.js +58 -0
  322. package/dist/ui/overlay/data/tutorials/projects/anchors.d.ts +7 -0
  323. package/dist/ui/overlay/data/tutorials/projects/anchors.js +248 -0
  324. package/dist/ui/overlay/data/tutorials/projects/import-project.d.ts +7 -0
  325. package/dist/ui/overlay/data/tutorials/projects/import-project.js +172 -0
  326. package/dist/ui/overlay/data/tutorials/projects/managing-projects.d.ts +8 -0
  327. package/dist/ui/overlay/data/tutorials/projects/managing-projects.js +212 -0
  328. package/dist/ui/overlay/data/tutorials/projects/new-project.d.ts +7 -0
  329. package/dist/ui/overlay/data/tutorials/projects/new-project.js +251 -0
  330. package/dist/ui/overlay/data/tutorials/projects/session-management.d.ts +7 -0
  331. package/dist/ui/overlay/data/tutorials/projects/session-management.js +169 -0
  332. package/dist/ui/overlay/data/tutorials/teams/background-execution.d.ts +7 -0
  333. package/dist/ui/overlay/data/tutorials/teams/background-execution.js +171 -0
  334. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.d.ts +8 -0
  335. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.js +147 -0
  336. package/dist/ui/overlay/data/tutorials/teams/task-assignment.d.ts +7 -0
  337. package/dist/ui/overlay/data/tutorials/teams/task-assignment.js +204 -0
  338. package/dist/ui/overlay/data/tutorials/teams/team-overview.d.ts +7 -0
  339. package/dist/ui/overlay/data/tutorials/teams/team-overview.js +165 -0
  340. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.d.ts +7 -0
  341. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.js +172 -0
  342. package/dist/ui/overlay/impl/agents-overlay-v2.js +6 -17
  343. package/dist/ui/overlay/impl/anchors-overlay-v2.js +30 -64
  344. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.d.ts +43 -0
  345. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.js +232 -0
  346. package/dist/ui/overlay/impl/artifact-overlay-v2.d.ts +40 -0
  347. package/dist/ui/overlay/impl/artifact-overlay-v2.js +115 -0
  348. package/dist/ui/overlay/impl/ask-user-overlay-v2.js +2 -5
  349. package/dist/ui/overlay/impl/background-overlay-v2.d.ts +40 -0
  350. package/dist/ui/overlay/impl/background-overlay-v2.js +147 -0
  351. package/dist/ui/overlay/impl/backlog-overlay-v2.d.ts +4 -1
  352. package/dist/ui/overlay/impl/backlog-overlay-v2.js +55 -16
  353. package/dist/ui/overlay/impl/changelog-overlay-v2.d.ts +44 -0
  354. package/dist/ui/overlay/impl/changelog-overlay-v2.js +165 -0
  355. package/dist/ui/overlay/impl/commands-overlay-v2.js +4 -6
  356. package/dist/ui/overlay/impl/config-overlay-v2.d.ts +12 -1
  357. package/dist/ui/overlay/impl/config-overlay-v2.js +164 -100
  358. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.d.ts +83 -0
  359. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.js +711 -0
  360. package/dist/ui/overlay/impl/dashboard-overlay-v2.d.ts +2 -0
  361. package/dist/ui/overlay/impl/dashboard-overlay-v2.js +26 -3
  362. package/dist/ui/overlay/impl/delegations-overlay-v2.d.ts +28 -0
  363. package/dist/ui/overlay/impl/delegations-overlay-v2.js +279 -0
  364. package/dist/ui/overlay/impl/docs-overlay-v2.js +12 -9
  365. package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +7 -0
  366. package/dist/ui/overlay/impl/document-detail-overlay-v2.js +119 -78
  367. package/dist/ui/overlay/impl/filter-overlay-v2.d.ts +41 -0
  368. package/dist/ui/overlay/impl/filter-overlay-v2.js +110 -0
  369. package/dist/ui/overlay/impl/games-overlay-v2.d.ts +31 -0
  370. package/dist/ui/overlay/impl/games-overlay-v2.js +135 -0
  371. package/dist/ui/overlay/impl/help-overlay-v2.d.ts +26 -3
  372. package/dist/ui/overlay/impl/help-overlay-v2.js +20 -42
  373. package/dist/ui/overlay/impl/login-overlay-v2.d.ts +49 -0
  374. package/dist/ui/overlay/impl/login-overlay-v2.js +277 -0
  375. package/dist/ui/overlay/impl/mcp-overlay-v2.d.ts +63 -0
  376. package/dist/ui/overlay/impl/mcp-overlay-v2.js +907 -0
  377. package/dist/ui/overlay/impl/model-overlay-v2.d.ts +57 -13
  378. package/dist/ui/overlay/impl/model-overlay-v2.js +1086 -61
  379. package/dist/ui/overlay/impl/new-overlay-v2.d.ts +37 -6
  380. package/dist/ui/overlay/impl/new-overlay-v2.js +715 -65
  381. package/dist/ui/overlay/impl/notifications-overlay-v2.d.ts +20 -0
  382. package/dist/ui/overlay/impl/notifications-overlay-v2.js +116 -0
  383. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.d.ts +76 -0
  384. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.js +728 -0
  385. package/dist/ui/overlay/impl/pending-overlay-v2.d.ts +51 -0
  386. package/dist/ui/overlay/impl/pending-overlay-v2.js +445 -0
  387. package/dist/ui/overlay/impl/permission-overlay-v2.js +5 -5
  388. package/dist/ui/overlay/impl/permissions-overlay-v2.d.ts +85 -0
  389. package/dist/ui/overlay/impl/permissions-overlay-v2.js +820 -0
  390. package/dist/ui/overlay/impl/plan-approval-overlay-v2.d.ts +35 -0
  391. package/dist/ui/overlay/impl/plan-approval-overlay-v2.js +181 -0
  392. package/dist/ui/overlay/impl/project-edit-overlay-v2.d.ts +36 -0
  393. package/dist/ui/overlay/impl/project-edit-overlay-v2.js +195 -0
  394. package/dist/ui/overlay/impl/projects-overlay-v2.d.ts +1 -0
  395. package/dist/ui/overlay/impl/projects-overlay-v2.js +278 -44
  396. package/dist/ui/overlay/impl/reset-overlay-v2.d.ts +39 -0
  397. package/dist/ui/overlay/impl/reset-overlay-v2.js +107 -0
  398. package/dist/ui/overlay/impl/resume-overlay-v2.d.ts +60 -0
  399. package/dist/ui/overlay/impl/resume-overlay-v2.js +414 -0
  400. package/dist/ui/overlay/impl/session-mode-overlay-v2.d.ts +43 -0
  401. package/dist/ui/overlay/impl/session-mode-overlay-v2.js +124 -0
  402. package/dist/ui/overlay/impl/tasks-overlay-v2.d.ts +28 -0
  403. package/dist/ui/overlay/impl/tasks-overlay-v2.js +283 -0
  404. package/dist/ui/overlay/impl/team-overlay-v2.d.ts +86 -0
  405. package/dist/ui/overlay/impl/team-overlay-v2.js +692 -0
  406. package/dist/ui/overlay/impl/terminals-overlay-v2.d.ts +26 -0
  407. package/dist/ui/overlay/impl/terminals-overlay-v2.js +217 -0
  408. package/dist/ui/overlay/impl/tools-overlay-v2.js +3 -7
  409. package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +30 -16
  410. package/dist/ui/overlay/impl/tutorial-overlay-v2.js +133 -956
  411. package/dist/ui/overlay/impl/workflow-overlay-v2.d.ts +1 -0
  412. package/dist/ui/overlay/impl/workflow-overlay-v2.js +10 -4
  413. package/dist/ui/overlay/index.d.ts +20 -1
  414. package/dist/ui/overlay/index.js +19 -0
  415. package/dist/ui/overlay/types.d.ts +5 -0
  416. package/dist/ui/overlay-manager.d.ts +43 -0
  417. package/dist/ui/overlay-manager.js +238 -0
  418. package/dist/ui/overlays.js +4 -16
  419. package/dist/ui/permission-overlay.js +6 -5
  420. package/dist/ui/status-bar-controller.d.ts +33 -0
  421. package/dist/ui/status-bar-controller.js +99 -0
  422. package/dist/ui/subagent-renderer.js +3 -19
  423. package/dist/ui/terminal-autocomplete-utils.d.ts +23 -0
  424. package/dist/ui/terminal-autocomplete-utils.js +83 -0
  425. package/dist/ui/terminal-line-builders.d.ts +17 -0
  426. package/dist/ui/terminal-line-builders.js +42 -0
  427. package/dist/ui/terminal-render-item.d.ts +16 -0
  428. package/dist/ui/terminal-render-item.js +267 -0
  429. package/dist/ui/terminal-renderer.d.ts +7 -8
  430. package/dist/ui/terminal-renderer.js +7 -8
  431. package/dist/ui/terminal-types.d.ts +179 -0
  432. package/dist/ui/terminal-types.js +34 -0
  433. package/dist/ui/terminal-ui.d.ts +144 -276
  434. package/dist/ui/terminal-ui.js +384 -1861
  435. package/dist/ui/todo-zone.d.ts +19 -1
  436. package/dist/ui/todo-zone.js +71 -13
  437. package/dist/ui/tool-formatters.js +696 -1
  438. package/dist/ui/turn-metrics.d.ts +56 -0
  439. package/dist/ui/turn-metrics.js +75 -0
  440. package/dist/ui/types.d.ts +28 -0
  441. package/dist/ui/types.js +1 -0
  442. package/dist/ui/vscode-diff-ipc.d.ts +102 -0
  443. package/dist/ui/vscode-diff-ipc.js +385 -0
  444. package/dist/utils/credentials.d.ts +24 -5
  445. package/dist/utils/credentials.js +123 -9
  446. package/dist/utils/format-tokens.d.ts +13 -0
  447. package/dist/utils/format-tokens.js +18 -0
  448. package/dist/utils/git-config.d.ts +26 -0
  449. package/dist/utils/git-config.js +54 -0
  450. package/dist/utils/message-utils.d.ts +61 -0
  451. package/dist/utils/message-utils.js +72 -0
  452. package/dist/utils/model-tiers.d.ts +8 -1
  453. package/dist/utils/model-tiers.js +38 -16
  454. package/dist/utils/open-browser.d.ts +5 -0
  455. package/dist/utils/open-browser.js +32 -0
  456. package/dist/utils/path-safety.js +3 -2
  457. package/dist/utils/project-detection.d.ts +58 -0
  458. package/dist/utils/project-detection.js +424 -0
  459. package/dist/utils/project-memory.js +2 -1
  460. package/dist/utils/project-status.d.ts +2 -2
  461. package/dist/utils/startup-perf.d.ts +18 -0
  462. package/dist/utils/startup-perf.js +60 -0
  463. package/dist/utils/token-tracker.d.ts +62 -0
  464. package/dist/utils/token-tracker.js +150 -0
  465. package/dist/utils/token-types.d.ts +23 -0
  466. package/dist/utils/token-types.js +18 -0
  467. package/dist/utils/types/config-types.d.ts +32 -0
  468. package/dist/utils/types/config-types.js +8 -0
  469. package/dist/utils/update-checker.d.ts +28 -0
  470. package/dist/utils/update-checker.js +106 -0
  471. package/dist/utils/version.d.ts +7 -0
  472. package/dist/utils/version.js +10 -0
  473. package/dist/utils/vscode-detect.d.ts +39 -0
  474. package/dist/utils/vscode-detect.js +137 -0
  475. package/package.json +27 -13
  476. package/dist/commands/handler-types.d.ts +0 -68
  477. package/dist/commands/handler-types.js +0 -8
  478. package/dist/commands/handlers/agent-commands.d.ts +0 -13
  479. package/dist/commands/handlers/agent-commands.js +0 -305
  480. package/dist/commands/handlers/design-commands.d.ts +0 -15
  481. package/dist/commands/handlers/design-commands.js +0 -334
  482. package/dist/commands/handlers/index.d.ts +0 -20
  483. package/dist/commands/handlers/index.js +0 -43
  484. package/dist/commands/handlers/overlay-commands.d.ts +0 -21
  485. package/dist/commands/handlers/overlay-commands.js +0 -287
  486. package/dist/commands/handlers/project-commands.d.ts +0 -11
  487. package/dist/commands/handlers/project-commands.js +0 -167
  488. package/dist/commands/handlers/simple-commands.d.ts +0 -19
  489. package/dist/commands/handlers/simple-commands.js +0 -144
  490. package/dist/commands/registry.d.ts +0 -50
  491. package/dist/commands/registry.js +0 -75
  492. package/dist/index.old.d.ts +0 -7
  493. package/dist/index.old.js +0 -1014
  494. package/dist/repl.d.ts +0 -149
  495. package/dist/repl.js +0 -1151
  496. package/dist/templates/claude-md.d.ts +0 -7
  497. package/dist/templates/claude-md.js +0 -189
  498. package/dist/test-autocomplete.d.ts +0 -7
  499. package/dist/test-autocomplete.js +0 -85
  500. package/dist/test-tabbed-menu.d.ts +0 -7
  501. package/dist/test-tabbed-menu.js +0 -25
  502. package/dist/tool-selector.d.ts +0 -71
  503. package/dist/tool-selector.js +0 -184
  504. package/dist/tools/anchor-tools.d.ts +0 -31
  505. package/dist/tools/anchor-tools.js +0 -255
  506. package/dist/tools/backlog-wrappers.d.ts +0 -54
  507. package/dist/tools/backlog-wrappers.js +0 -338
  508. package/dist/tools/document-db.d.ts +0 -43
  509. package/dist/tools/document-db.js +0 -220
  510. package/dist/tools/workitem-db.d.ts +0 -103
  511. package/dist/tools/workitem-db.js +0 -549
  512. package/dist/ui/agents-overlay-v2.d.ts +0 -43
  513. package/dist/ui/agents-overlay-v2.js +0 -809
  514. package/dist/ui/agents-overlay.d.ts +0 -12
  515. package/dist/ui/agents-overlay.js +0 -863
  516. package/dist/ui/anchors-overlay.d.ts +0 -12
  517. package/dist/ui/anchors-overlay.js +0 -775
  518. package/dist/ui/arch-type-overlay.d.ts +0 -15
  519. package/dist/ui/arch-type-overlay.js +0 -201
  520. package/dist/ui/ask-user-overlay-v2.d.ts +0 -26
  521. package/dist/ui/ask-user-overlay-v2.js +0 -555
  522. package/dist/ui/ask-user-simple-overlay-v2.d.ts +0 -25
  523. package/dist/ui/ask-user-simple-overlay-v2.js +0 -215
  524. package/dist/ui/backlog-overlay.d.ts +0 -32
  525. package/dist/ui/backlog-overlay.js +0 -652
  526. package/dist/ui/commands-overlay-v2.d.ts +0 -33
  527. package/dist/ui/commands-overlay-v2.js +0 -441
  528. package/dist/ui/commands-overlay.d.ts +0 -16
  529. package/dist/ui/commands-overlay.js +0 -439
  530. package/dist/ui/config-overlay.d.ts +0 -35
  531. package/dist/ui/config-overlay.js +0 -707
  532. package/dist/ui/docs-overlay.d.ts +0 -17
  533. package/dist/ui/docs-overlay.js +0 -303
  534. package/dist/ui/footer-v2.d.ts +0 -222
  535. package/dist/ui/footer-v2.js +0 -1349
  536. package/dist/ui/help-overlay-v2.d.ts +0 -34
  537. package/dist/ui/help-overlay-v2.js +0 -309
  538. package/dist/ui/help-overlay.d.ts +0 -16
  539. package/dist/ui/help-overlay.js +0 -316
  540. package/dist/ui/init-overlay-v2.d.ts +0 -34
  541. package/dist/ui/init-overlay-v2.js +0 -600
  542. package/dist/ui/init-overlay.d.ts +0 -34
  543. package/dist/ui/init-overlay.js +0 -604
  544. package/dist/ui/input-prompt-v2.d.ts +0 -180
  545. package/dist/ui/input-prompt-v2.js +0 -999
  546. package/dist/ui/iteration-limit-overlay-v2.d.ts +0 -21
  547. package/dist/ui/iteration-limit-overlay-v2.js +0 -114
  548. package/dist/ui/keys-overlay-v2.d.ts +0 -41
  549. package/dist/ui/keys-overlay-v2.js +0 -248
  550. package/dist/ui/mascot-overlay-v2.d.ts +0 -41
  551. package/dist/ui/mascot-overlay-v2.js +0 -138
  552. package/dist/ui/mascot-overlay.d.ts +0 -21
  553. package/dist/ui/mascot-overlay.js +0 -146
  554. package/dist/ui/model-overlay-v2.d.ts +0 -49
  555. package/dist/ui/model-overlay-v2.js +0 -118
  556. package/dist/ui/model-overlay.d.ts +0 -27
  557. package/dist/ui/model-overlay.js +0 -221
  558. package/dist/ui/model-warning-overlay.d.ts +0 -30
  559. package/dist/ui/model-warning-overlay.js +0 -169
  560. package/dist/ui/new-overlay.d.ts +0 -34
  561. package/dist/ui/new-overlay.js +0 -604
  562. package/dist/ui/overlay/impl/init-overlay-v2.d.ts +0 -77
  563. package/dist/ui/overlay/impl/init-overlay-v2.js +0 -593
  564. package/dist/ui/overlay/overlay-types.d.ts +0 -128
  565. package/dist/ui/overlay/overlay-types.js +0 -22
  566. package/dist/ui/overlays/help-overlay-v2.d.ts +0 -28
  567. package/dist/ui/overlays/help-overlay-v2.js +0 -198
  568. package/dist/ui/overlays/index.d.ts +0 -11
  569. package/dist/ui/overlays/index.js +0 -11
  570. package/dist/ui/permission-overlay-v2.d.ts +0 -36
  571. package/dist/ui/permission-overlay-v2.js +0 -380
  572. package/dist/ui/projects-overlay.d.ts +0 -19
  573. package/dist/ui/projects-overlay.js +0 -484
  574. package/dist/ui/theme-overlay-v2.d.ts +0 -42
  575. package/dist/ui/theme-overlay-v2.js +0 -135
  576. package/dist/ui/theme-overlay.d.ts +0 -24
  577. package/dist/ui/theme-overlay.js +0 -127
  578. package/dist/ui/tools-overlay-v2.d.ts +0 -47
  579. package/dist/ui/tools-overlay-v2.js +0 -218
  580. package/dist/ui/tools-overlay.d.ts +0 -34
  581. package/dist/ui/tools-overlay.js +0 -230
  582. package/dist/ui/tutorial-overlay-v2.d.ts +0 -31
  583. package/dist/ui/tutorial-overlay-v2.js +0 -1035
  584. package/dist/ui/tutorial-overlay.d.ts +0 -11
  585. package/dist/ui/tutorial-overlay.js +0 -1034
  586. package/dist/ui/workflow-overlay.d.ts +0 -22
  587. package/dist/ui/workflow-overlay.js +0 -636
@@ -12,4 +12,6 @@ export declare const toolsCommand: CommandHandlerV2;
12
12
  export declare const keysCommand: CommandHandlerV2;
13
13
  export declare const mascotCommand: CommandHandlerV2;
14
14
  export declare const agentsCommand: CommandHandlerV2;
15
+ export declare const updateCommand: CommandHandlerV2;
16
+ export declare const permissionsCommand: CommandHandlerV2;
15
17
  export declare const settingsCommands: CommandHandlerV2[];
@@ -3,15 +3,26 @@
3
3
  *
4
4
  * Commands for configuration: theme, config, verbose, model, tools, agents
5
5
  */
6
- import { ThemeOverlayV2, ModelOverlayV2, ToolsOverlayV2, KeysOverlayV2, MascotOverlayV2, AgentsOverlayV2, ConfigOverlayV2 } from '../../ui/overlay/index.js';
7
- import { getSetting, getSettings } from '../../settings/index.js';
6
+ import { ThemeOverlayV2, ModelOverlayV2, ToolsOverlayV2, KeysOverlayV2, MascotOverlayV2, AgentsOverlayV2, ConfigOverlayV2, PermissionsOverlayV2 } from '../../ui/overlay/index.js';
7
+ import { getSetting, getSettings, recordUpdateCheck, permissionModeToAgentMode } from '../../settings/index.js';
8
8
  import { getToolPermissionInfo } from '../../agent.js';
9
+ import { checkForUpdates, performUpdate } from '../../utils/update-checker.js';
10
+ import { getRegisteredMetaTools, TOOL_NAMES, getToolStats } from '../../tools.js';
9
11
  // =============================================================================
10
12
  // Theme Command
11
13
  // =============================================================================
12
14
  export const themeCommand = {
13
15
  name: 'theme',
14
16
  description: 'Change color theme',
17
+ details: 'Opens the theme selector overlay. Browse themes with tabs for Curated, All, Dark, and Light. Themes are terminal color schemes that change the UI appearance.',
18
+ examples: [{ code: '/theme' }],
19
+ interactions: [
20
+ 'Tab cycles: Curated → All → Dark → Light',
21
+ '↑/↓ or j/k to navigate, ←/→ for pages',
22
+ '/ to search themes by name',
23
+ '1-9,0 for quick selection (Curated tab)',
24
+ 'Enter/Space to select, q/Esc to close',
25
+ ],
15
26
  async execute(_args, ctx) {
16
27
  const themeOverlay = new ThemeOverlayV2();
17
28
  await ctx.ui.showOverlay(themeOverlay);
@@ -24,23 +35,52 @@ export const themeCommand = {
24
35
  export const configCommand = {
25
36
  name: 'config',
26
37
  description: 'Open settings panel',
38
+ details: 'Opens the configuration overlay where you can change model, theme, permissions, and other settings.',
39
+ examples: [{ code: '/config' }],
40
+ interactions: [
41
+ 'Tab cycles: Status → Config → Usage → Environment',
42
+ '↑/↓ to navigate in Config tab',
43
+ 'Enter/Space to toggle or open submenu',
44
+ 'Esc to exit',
45
+ ],
27
46
  async execute(_args, ctx) {
28
47
  // Gather current session info
29
48
  const currentModel = getSetting('defaultModel') || 'unknown';
30
49
  const currentProvider = getSetting('defaultProvider');
50
+ // Calculate tool counts from actual tool registry
51
+ const toolStats = getToolStats();
52
+ const metaTools = getRegisteredMetaTools();
53
+ // Agent gets: direct tools + 5 additional tools:
54
+ // - list_tools, get_tool_info, use_tool (meta-tool access)
55
+ // - task (subagent spawning)
56
+ // - suggest (next action suggestions)
57
+ const directToolCount = toolStats.directTools + 5;
58
+ // metaTools.length is the actual count from the registry
59
+ const totalToolCount = directToolCount + metaTools.length;
60
+ // Calculate total message count across all team agents if team exists
61
+ let messageCount = ctx.getHistory?.().length ?? 0;
62
+ if (ctx.team) {
63
+ messageCount = 0;
64
+ for (const agent of ctx.team.getAll()) {
65
+ messageCount += agent.getContextStats().messageCount;
66
+ }
67
+ }
31
68
  const configOverlay = new ConfigOverlayV2({
32
69
  version: ctx.version,
33
70
  model: currentModel,
34
71
  provider: currentProvider === 'auto' ? 'claude' : currentProvider,
35
72
  cwd: process.cwd(),
36
- toolCount: 13, // TODO: Get actual tool count from context
73
+ toolCount: totalToolCount,
74
+ directToolCount,
75
+ metaToolCount: metaTools.length,
76
+ hasTeam: ctx.team !== undefined && ctx.team.size > 1,
37
77
  startTime: ctx.startTime ?? new Date(),
38
78
  inputTokens: ctx.sessionInputTokens ?? 0,
39
79
  outputTokens: ctx.sessionOutputTokens ?? 0,
40
80
  requests: ctx.sessionRequests ?? 0,
41
81
  contextUsed: 0, // TODO: Get from context manager
42
82
  contextMax: 200000,
43
- messageCount: ctx.getHistory?.().length ?? 0,
83
+ messageCount,
44
84
  });
45
85
  const result = await ctx.ui.showOverlay(configOverlay);
46
86
  if (result?.settingsChanged) {
@@ -55,6 +95,8 @@ export const configCommand = {
55
95
  export const verboseCommand = {
56
96
  name: 'verbose',
57
97
  description: 'Toggle verbose mode',
98
+ details: 'Toggles verbose mode on or off. When enabled, shows additional debug information during agent execution.',
99
+ examples: [{ code: '/verbose' }],
58
100
  execute(_args, ctx) {
59
101
  const config = ctx.ui.getConfig();
60
102
  const newVerbose = !config.verbose;
@@ -72,6 +114,16 @@ export const verboseCommand = {
72
114
  export const modelCommand = {
73
115
  name: 'model',
74
116
  description: 'Change AI model',
117
+ details: 'Opens the model selector overlay. Choose from Claude, OpenAI, Gemini, or Ollama models. Changes within the same provider apply immediately; switching providers requires restart.',
118
+ examples: [{ code: '/model' }],
119
+ interactions: [
120
+ 'Tab/Shift+Tab to switch providers',
121
+ '1-4 for quick provider selection',
122
+ '↑/↓ or j/k to navigate models',
123
+ 'Enter to view model details',
124
+ 'In details: e Edit · t Test · a Set Active · d Reset Default',
125
+ 'Esc to go back/close',
126
+ ],
75
127
  async execute(_args, ctx) {
76
128
  const currentModel = getSetting('defaultModel') ?? undefined;
77
129
  const currentProvider = getSetting('defaultProvider');
@@ -79,21 +131,9 @@ export const modelCommand = {
79
131
  currentModel: currentModel ?? undefined,
80
132
  currentProvider: currentProvider === 'auto' ? undefined : currentProvider,
81
133
  });
82
- const result = await ctx.ui.showOverlay(modelOverlay);
83
- if (result?.modelChanged) {
84
- if (result.requiresRestart) {
85
- ctx.ui.print({
86
- type: 'warning',
87
- message: `Switched to ${result.provider ?? 'unknown'} provider. Restart required.`,
88
- });
89
- }
90
- else {
91
- ctx.ui.print({
92
- type: 'success',
93
- message: `Model changed to ${result.modelChanged}`,
94
- });
95
- }
96
- }
134
+ await ctx.ui.showOverlay(modelOverlay);
135
+ // Model changes are handled in the detail screen via setSetting()
136
+ // No need to process result here
97
137
  return true;
98
138
  },
99
139
  };
@@ -103,6 +143,13 @@ export const modelCommand = {
103
143
  export const toolsCommand = {
104
144
  name: 'tools',
105
145
  description: 'Show available tools',
146
+ details: 'Shows all tools available to the agent including file operations, bash, git, and custom tools. View tool parameters and permission levels.',
147
+ examples: [{ code: '/tools' }],
148
+ interactions: [
149
+ '↑/↓ or j/k to navigate tools',
150
+ 'Enter to view tool details',
151
+ 'Esc to close',
152
+ ],
106
153
  async execute(_args, ctx) {
107
154
  // Get tools from agent if available, otherwise use fallback list
108
155
  const tools = ctx.agent ? getAgentTools(ctx) : getDefaultTools();
@@ -113,11 +160,18 @@ export const toolsCommand = {
113
160
  };
114
161
  /**
115
162
  * Get tool definitions from the agent with full parameter and permission info.
163
+ * Includes both direct tools and meta-registry tools.
116
164
  */
117
165
  function getAgentTools(ctx) {
118
166
  if (!ctx.agent)
119
167
  return getDefaultTools();
120
- return ctx.agent.getToolDefinitions().map((t) => {
168
+ // Get direct tools from agent
169
+ const directTools = ctx.agent.getToolDefinitions();
170
+ // Get meta-registry tools
171
+ const metaTools = getRegisteredMetaTools();
172
+ // Combine and map to ToolInfo format
173
+ const allTools = [...directTools, ...metaTools.map(t => t.definition)];
174
+ return allTools.map((t) => {
121
175
  // Extract parameters from inputSchema
122
176
  const parameters = [];
123
177
  const props = t.inputSchema.properties;
@@ -140,9 +194,11 @@ function getAgentTools(ctx) {
140
194
  if (t.name === 'task' && description.includes('Available agent types:')) {
141
195
  description = description.split('Available agent types:')[0].trim();
142
196
  }
197
+ // Mark meta-registry tools (not directly callable, use via use_tool)
198
+ const isMeta = metaTools.some(mt => mt.definition.name === t.name);
143
199
  return {
144
200
  name: t.name,
145
- description,
201
+ description: isMeta ? `[via use_tool] ${description}` : description,
146
202
  parameters,
147
203
  permission,
148
204
  };
@@ -150,23 +206,32 @@ function getAgentTools(ctx) {
150
206
  }
151
207
  /**
152
208
  * Fallback tool definitions when agent is not available.
209
+ * Uses TOOL_NAMES constants for consistency across the codebase.
153
210
  */
154
211
  function getDefaultTools() {
155
- return [
156
- { name: 'read_file', description: 'Read contents of a file' },
157
- { name: 'write_file', description: 'Write contents to a file' },
158
- { name: 'edit', description: 'Edit a file with find/replace' },
159
- { name: 'glob', description: 'Find files matching a pattern' },
160
- { name: 'grep', description: 'Search for text in files' },
161
- { name: 'bash', description: 'Execute a bash command' },
162
- { name: 'task', description: 'Spawn a sub-agent for complex tasks' },
163
- { name: 'todoWrite', description: 'Write items to the todo list' },
164
- { name: 'todoRead', description: 'Read the current todo list' },
165
- { name: 'suggest', description: 'Suggest text for the input prompt' },
166
- { name: 'webFetch', description: 'Fetch content from a URL' },
167
- { name: 'askUser', description: 'Ask the user a question' },
168
- { name: 'askUserSimple', description: 'Ask the user a simple question' },
212
+ // Direct tools (always available)
213
+ const directTools = [
214
+ { name: TOOL_NAMES.READ_FILE, description: 'Read contents of a file' },
215
+ { name: TOOL_NAMES.WRITE_FILE, description: 'Write contents to a file' },
216
+ { name: TOOL_NAMES.EDIT, description: 'Edit a file with find/replace' },
217
+ { name: TOOL_NAMES.GLOB, description: 'Find files matching a pattern' },
218
+ { name: TOOL_NAMES.GREP, description: 'Search for text in files' },
219
+ { name: TOOL_NAMES.BASH, description: 'Execute a bash command' },
220
+ { name: TOOL_NAMES.BASH_OUTPUT, description: 'Get output from background shell' },
221
+ { name: TOOL_NAMES.KILL_SHELL, description: 'Kill a background shell' },
222
+ { name: TOOL_NAMES.TODO_WRITE, description: 'Write items to the todo list' },
223
+ { name: TOOL_NAMES.TODO_READ, description: 'Read the current todo list' },
224
+ { name: TOOL_NAMES.ASK_USER, description: 'Ask the user a question' },
225
+ { name: TOOL_NAMES.ASK_USER_SIMPLE, description: 'Ask the user a simple question' },
226
+ { name: TOOL_NAMES.DELEGATE, description: 'Delegate to a specialist agent' },
227
+ ];
228
+ // Meta-tools (for accessing specialized tools)
229
+ const metaToolsList = [
230
+ { name: TOOL_NAMES.LIST_TOOLS, description: 'List all available specialized tools' },
231
+ { name: TOOL_NAMES.GET_TOOL_INFO, description: 'Get detailed info about a tool' },
232
+ { name: TOOL_NAMES.USE_TOOL, description: 'Execute a specialized tool' },
169
233
  ];
234
+ return [...directTools, ...metaToolsList];
170
235
  }
171
236
  // =============================================================================
172
237
  // Keys Command
@@ -174,6 +239,14 @@ function getDefaultTools() {
174
239
  export const keysCommand = {
175
240
  name: 'keys',
176
241
  description: 'Manage API keys',
242
+ details: 'Opens an interactive overlay to view, set, and delete API keys for LLM providers (Anthropic, OpenAI, Google). Keys are encrypted and stored locally in ~/.compilr-dev/credentials.enc.',
243
+ examples: [{ code: '/keys' }],
244
+ interactions: [
245
+ '↑/↓ to navigate providers',
246
+ 'Enter to edit key',
247
+ 'd to delete stored key',
248
+ 'Esc to close',
249
+ ],
177
250
  async execute(_args, ctx) {
178
251
  const keysOverlay = new KeysOverlayV2();
179
252
  const result = await ctx.ui.showOverlay(keysOverlay);
@@ -189,6 +262,13 @@ export const keysCommand = {
189
262
  export const mascotCommand = {
190
263
  name: 'mascot',
191
264
  description: 'Select mascot expression',
265
+ details: 'Opens the mascot selector overlay. Choose the mascot expression shown in the CLI. Options include various expressions, random (changes each startup), or none.',
266
+ examples: [{ code: '/mascot' }],
267
+ interactions: [
268
+ '↑/↓ or j/k to navigate options',
269
+ 'Enter/Space to select mascot',
270
+ 'q/Esc to close without changing',
271
+ ],
192
272
  async execute(_args, ctx) {
193
273
  const currentMascot = getSettings().mascot;
194
274
  const mascotOverlay = new MascotOverlayV2({ currentMascot });
@@ -205,6 +285,14 @@ export const mascotCommand = {
205
285
  export const agentsCommand = {
206
286
  name: 'agents',
207
287
  description: 'View and manage agents',
288
+ details: 'View and configure sub-agents that can be spawned for specialized tasks like code review, testing, or exploration.',
289
+ examples: [{ code: '/agents' }],
290
+ interactions: [
291
+ 'Tab to switch: built-in ↔ custom',
292
+ '↑/↓ to navigate agents',
293
+ 'Enter to select or create new',
294
+ 'Esc to close',
295
+ ],
208
296
  async execute(_args, ctx) {
209
297
  const agentsOverlay = new AgentsOverlayV2();
210
298
  const result = await ctx.ui.showOverlay(agentsOverlay);
@@ -221,6 +309,98 @@ export const agentsCommand = {
221
309
  },
222
310
  };
223
311
  // =============================================================================
312
+ // Update Command
313
+ // =============================================================================
314
+ export const updateCommand = {
315
+ name: 'update',
316
+ description: 'Check for CLI updates',
317
+ details: 'Checks npm for new versions of the CLI. Use --install flag to automatically install updates.',
318
+ examples: [
319
+ { code: '/update', description: 'Check for updates' },
320
+ { code: '/update --install', description: 'Install available update' },
321
+ ],
322
+ async execute(args, ctx) {
323
+ ctx.ui.print({ type: 'info', message: 'Checking for updates...' });
324
+ const updateInfo = await checkForUpdates();
325
+ recordUpdateCheck();
326
+ if (!updateInfo.updateAvailable) {
327
+ ctx.ui.print({
328
+ type: 'success',
329
+ message: `You're on the latest version (v${updateInfo.currentVersion})`,
330
+ });
331
+ return true;
332
+ }
333
+ ctx.ui.print({
334
+ type: 'warning',
335
+ message: `Update available: v${updateInfo.currentVersion} → v${updateInfo.latestVersion}`,
336
+ });
337
+ // If --install flag is passed, perform the update
338
+ if (args.includes('--install') || args.includes('-i')) {
339
+ ctx.ui.print({ type: 'info', message: 'Installing update...' });
340
+ const result = await performUpdate();
341
+ ctx.ui.print({
342
+ type: result.success ? 'success' : 'error',
343
+ message: result.message,
344
+ });
345
+ }
346
+ else {
347
+ ctx.ui.print({
348
+ type: 'info',
349
+ message: 'Run "/update --install" or "npm update -g @compilr-dev/cli" to install',
350
+ });
351
+ }
352
+ return true;
353
+ },
354
+ };
355
+ // =============================================================================
356
+ // Permissions Command
357
+ // =============================================================================
358
+ export const permissionsCommand = {
359
+ name: 'permissions',
360
+ description: 'Manage tool permissions',
361
+ details: 'Opens a 3-tab overlay to manage tool permissions. Configure permission rules with wildcard patterns, set global permission modes, and view/revoke session grants.',
362
+ examples: [{ code: '/permissions' }],
363
+ interactions: [
364
+ 'Tab cycles: Rules → Mode → Session',
365
+ '↑/↓ to navigate, ←/→ for pages',
366
+ 'a to add rule, e/Enter to edit, d to delete',
367
+ 'r to reset to defaults (Rules tab)',
368
+ 'Enter/Space to select mode (Mode tab)',
369
+ 'r to revoke, c to clear all (Session tab)',
370
+ ],
371
+ async execute(_args, ctx) {
372
+ // Get session grants from agent and convert to Map<string, Date>
373
+ // The overlay expects timestamps, but PermissionManager only stores names
374
+ // Use current time as placeholder for all grants
375
+ const sessionGrants = new Map();
376
+ if (ctx.agent) {
377
+ const grants = ctx.agent.getSessionPermissions();
378
+ const now = new Date();
379
+ for (const toolName of grants) {
380
+ sessionGrants.set(toolName, now);
381
+ }
382
+ }
383
+ // Create callbacks that capture the agent reference
384
+ const agent = ctx.agent;
385
+ const permissionsOverlay = new PermissionsOverlayV2({
386
+ sessionGrants,
387
+ onRevokeGrant: agent
388
+ ? (toolName) => agent.revokeSessionPermission(toolName)
389
+ : undefined,
390
+ onClearGrants: agent
391
+ ? () => { agent.clearSessionPermissions(); }
392
+ : undefined,
393
+ onModeChange: (newMode) => {
394
+ // Sync UI mode when permission mode changes in overlay
395
+ const uiMode = permissionModeToAgentMode(newMode);
396
+ ctx.ui.setMode(uiMode);
397
+ },
398
+ });
399
+ await ctx.ui.showOverlay(permissionsOverlay);
400
+ return true;
401
+ },
402
+ };
403
+ // =============================================================================
224
404
  // Export All Settings Commands
225
405
  // =============================================================================
226
406
  export const settingsCommands = [
@@ -232,4 +412,6 @@ export const settingsCommands = [
232
412
  keysCommand,
233
413
  mascotCommand,
234
414
  agentsCommand,
415
+ updateCommand,
416
+ permissionsCommand,
235
417
  ];
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tasks Command Handler - View and manage background shell tasks
3
+ */
4
+ import type { CommandHandlerV2 } from '../types.js';
5
+ export declare const tasksCommand: CommandHandlerV2;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Tasks Command Handler - View and manage background shell tasks
3
+ */
4
+ import { TasksOverlayV2 } from '../../ui/overlay/impl/tasks-overlay-v2.js';
5
+ export const tasksCommand = {
6
+ name: 'tasks',
7
+ aliases: ['bg', 'background'],
8
+ description: 'View and manage background shell tasks',
9
+ details: `
10
+ Shows background shell processes started via the bash tool with run_in_background=true.
11
+
12
+ From the overlay you can:
13
+ - View running and completed tasks
14
+ - See task output
15
+ - Kill running tasks
16
+ - Clear completed tasks
17
+
18
+ Keyboard shortcut: Ctrl+B opens this overlay.
19
+ `.trim(),
20
+ examples: [
21
+ { code: '/tasks', description: 'Open background tasks overlay' },
22
+ { code: '/bg', description: 'Alias for /tasks' },
23
+ ],
24
+ interactions: [
25
+ '↑↓ or j/k to navigate task list',
26
+ 'Enter to view task output',
27
+ 'x to kill running task',
28
+ 'c to clear completed tasks',
29
+ 'r to refresh output (in detail view)',
30
+ ],
31
+ async execute(_args, ctx) {
32
+ const overlay = new TasksOverlayV2();
33
+ await ctx.ui.showOverlay(overlay);
34
+ return true;
35
+ },
36
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Team Commands for REPL V2
3
+ *
4
+ * Commands for managing multi-agent teams.
5
+ */
6
+ import type { CommandHandlerV2 } from '../types.js';
7
+ export declare const teamCommand: CommandHandlerV2;
8
+ export declare const artifactCommand: CommandHandlerV2;
9
+ export declare const teamCommands: CommandHandlerV2[];