@compilr-dev/cli 0.5.0 → 0.5.1

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 (591) hide show
  1. package/README.md +236 -68
  2. package/dist/.tsbuildinfo.app +1 -0
  3. package/dist/.tsbuildinfo.data +1 -0
  4. package/dist/.tsbuildinfo.domain +1 -0
  5. package/dist/.tsbuildinfo.foundation +1 -0
  6. package/dist/agent.d.ts +61 -4
  7. package/dist/agent.js +241 -245
  8. package/dist/anchors/index.d.ts +1 -1
  9. package/dist/anchors/index.js +1 -1
  10. package/dist/anchors/project-anchors.d.ts +2 -2
  11. package/dist/anchors/project-anchors.js +1 -1
  12. package/dist/auth/api-client.d.ts +124 -0
  13. package/dist/auth/api-client.js +261 -0
  14. package/dist/auth/index.d.ts +172 -0
  15. package/dist/auth/index.js +545 -0
  16. package/dist/auth/storage.d.ts +52 -0
  17. package/dist/auth/storage.js +118 -0
  18. package/dist/changelog/index.d.ts +16 -0
  19. package/dist/changelog/index.js +24 -0
  20. package/dist/changelog/releases.d.ts +17 -0
  21. package/dist/changelog/releases.js +63 -0
  22. package/dist/commands-v2/handlers/auth.d.ts +10 -0
  23. package/dist/commands-v2/handlers/auth.js +118 -0
  24. package/dist/commands-v2/handlers/background.d.ts +14 -0
  25. package/dist/commands-v2/handlers/background.js +276 -0
  26. package/dist/commands-v2/handlers/context.js +266 -81
  27. package/dist/commands-v2/handlers/core.d.ts +1 -0
  28. package/dist/commands-v2/handlers/core.js +133 -8
  29. package/dist/commands-v2/handlers/debug.js +18 -0
  30. package/dist/commands-v2/handlers/delegations.d.ts +8 -0
  31. package/dist/commands-v2/handlers/delegations.js +29 -0
  32. package/dist/commands-v2/handlers/files.d.ts +8 -0
  33. package/dist/commands-v2/handlers/files.js +162 -0
  34. package/dist/commands-v2/handlers/filter.d.ts +9 -0
  35. package/dist/commands-v2/handlers/filter.js +130 -0
  36. package/dist/commands-v2/handlers/games.d.ts +7 -0
  37. package/dist/commands-v2/handlers/games.js +57 -0
  38. package/dist/commands-v2/handlers/index.d.ts +13 -0
  39. package/dist/commands-v2/handlers/index.js +39 -0
  40. package/dist/commands-v2/handlers/mcp.d.ts +8 -0
  41. package/dist/commands-v2/handlers/mcp.js +39 -0
  42. package/dist/commands-v2/handlers/notifications.d.ts +9 -0
  43. package/dist/commands-v2/handlers/notifications.js +34 -0
  44. package/dist/commands-v2/handlers/project.js +244 -23
  45. package/dist/commands-v2/handlers/reset.d.ts +11 -0
  46. package/dist/commands-v2/handlers/reset.js +118 -0
  47. package/dist/commands-v2/handlers/session.d.ts +161 -0
  48. package/dist/commands-v2/handlers/session.js +805 -0
  49. package/dist/commands-v2/handlers/settings.d.ts +2 -0
  50. package/dist/commands-v2/handlers/settings.js +217 -35
  51. package/dist/commands-v2/handlers/tasks.d.ts +5 -0
  52. package/dist/commands-v2/handlers/tasks.js +36 -0
  53. package/dist/commands-v2/handlers/team.d.ts +9 -0
  54. package/dist/commands-v2/handlers/team.js +549 -0
  55. package/dist/commands-v2/handlers/terminals.d.ts +9 -0
  56. package/dist/commands-v2/handlers/terminals.js +34 -0
  57. package/dist/commands-v2/index.d.ts +3 -2
  58. package/dist/commands-v2/index.js +4 -1
  59. package/dist/commands-v2/registry.d.ts +15 -0
  60. package/dist/commands-v2/registry.js +34 -0
  61. package/dist/commands-v2/types.d.ts +81 -3
  62. package/dist/commands.js +13 -0
  63. package/dist/compilr-diff-companion.vsix +0 -0
  64. package/dist/db/index.js +98 -4
  65. package/dist/db/repositories/document-repository.d.ts +2 -0
  66. package/dist/db/repositories/document-repository.js +5 -1
  67. package/dist/db/repositories/index.d.ts +2 -0
  68. package/dist/db/repositories/index.js +1 -0
  69. package/dist/db/repositories/plan-repository.d.ts +101 -0
  70. package/dist/db/repositories/plan-repository.js +275 -0
  71. package/dist/db/repositories/project-repository.d.ts +6 -0
  72. package/dist/db/repositories/project-repository.js +41 -0
  73. package/dist/db/repositories/work-item-repository.d.ts +15 -0
  74. package/dist/db/repositories/work-item-repository.js +69 -4
  75. package/dist/db/schema.d.ts +40 -3
  76. package/dist/db/schema.js +66 -3
  77. package/dist/episodes/index.d.ts +20 -0
  78. package/dist/episodes/index.js +27 -0
  79. package/dist/episodes/recorder.d.ts +51 -0
  80. package/dist/episodes/recorder.js +195 -0
  81. package/dist/episodes/significant-work.d.ts +21 -0
  82. package/dist/episodes/significant-work.js +56 -0
  83. package/dist/episodes/store.d.ts +38 -0
  84. package/dist/episodes/store.js +199 -0
  85. package/dist/episodes/types.d.ts +35 -0
  86. package/dist/episodes/types.js +6 -0
  87. package/dist/episodes/work-at-risk.d.ts +12 -0
  88. package/dist/episodes/work-at-risk.js +38 -0
  89. package/dist/episodes/work-summary-anchor.d.ts +23 -0
  90. package/dist/episodes/work-summary-anchor.js +73 -0
  91. package/dist/games/coins.d.ts +66 -0
  92. package/dist/games/coins.js +165 -0
  93. package/dist/games/game-base.d.ts +84 -0
  94. package/dist/games/game-base.js +204 -0
  95. package/dist/games/index.d.ts +16 -0
  96. package/dist/games/index.js +49 -0
  97. package/dist/games/scores.d.ts +69 -0
  98. package/dist/games/scores.js +191 -0
  99. package/dist/games/tetris/board.d.ts +59 -0
  100. package/dist/games/tetris/board.js +170 -0
  101. package/dist/games/tetris/index.d.ts +109 -0
  102. package/dist/games/tetris/index.js +610 -0
  103. package/dist/games/tetris/pieces.d.ts +44 -0
  104. package/dist/games/tetris/pieces.js +271 -0
  105. package/dist/games/tetris/renderer.d.ts +26 -0
  106. package/dist/games/tetris/renderer.js +77 -0
  107. package/dist/guide/guide-content.d.ts +23 -0
  108. package/dist/guide/guide-content.js +196 -0
  109. package/dist/guide/index.d.ts +8 -0
  110. package/dist/guide/index.js +7 -0
  111. package/dist/guide/shared-content.d.ts +37 -0
  112. package/dist/guide/shared-content.js +1272 -0
  113. package/dist/guide/tutorial-helpers.d.ts +57 -0
  114. package/dist/guide/tutorial-helpers.js +147 -0
  115. package/dist/handlers/ask-user-handlers.d.ts +32 -0
  116. package/dist/handlers/ask-user-handlers.js +104 -0
  117. package/dist/handlers/delegation-handlers.d.ts +34 -0
  118. package/dist/handlers/delegation-handlers.js +291 -0
  119. package/dist/handlers/permission-handler.d.ts +30 -0
  120. package/dist/handlers/permission-handler.js +205 -0
  121. package/dist/index.d.ts +11 -1
  122. package/dist/index.js +448 -271
  123. package/dist/input-handlers/memory-handler.d.ts +1 -1
  124. package/dist/input-handlers/memory-handler.js +2 -1
  125. package/dist/models/index.d.ts +10 -0
  126. package/dist/models/index.js +12 -0
  127. package/dist/models/model-registry.d.ts +38 -0
  128. package/dist/models/model-registry.js +69 -0
  129. package/dist/models/model-tiers.d.ts +28 -0
  130. package/dist/models/model-tiers.js +71 -0
  131. package/dist/models/model-validation.d.ts +25 -0
  132. package/dist/models/model-validation.js +291 -0
  133. package/dist/models/ollama-models.d.ts +73 -0
  134. package/dist/models/ollama-models.js +178 -0
  135. package/dist/models/provider-types.d.ts +6 -0
  136. package/dist/models/provider-types.js +1 -0
  137. package/dist/models/providers.d.ts +35 -0
  138. package/dist/models/providers.js +58 -0
  139. package/dist/models/types.d.ts +4 -0
  140. package/dist/models/types.js +4 -0
  141. package/dist/multi-agent/activity.d.ts +21 -0
  142. package/dist/multi-agent/activity.js +34 -0
  143. package/dist/multi-agent/agent-selection.d.ts +55 -0
  144. package/dist/multi-agent/agent-selection.js +90 -0
  145. package/dist/multi-agent/artifacts.d.ts +197 -0
  146. package/dist/multi-agent/artifacts.js +379 -0
  147. package/dist/multi-agent/checkpointer.d.ts +138 -0
  148. package/dist/multi-agent/checkpointer.js +471 -0
  149. package/dist/multi-agent/collision-utils.d.ts +16 -0
  150. package/dist/multi-agent/collision-utils.js +28 -0
  151. package/dist/multi-agent/context-resolver.d.ts +97 -0
  152. package/dist/multi-agent/context-resolver.js +316 -0
  153. package/dist/multi-agent/custom-agents.d.ts +83 -0
  154. package/dist/multi-agent/custom-agents.js +227 -0
  155. package/dist/multi-agent/delegation-tracker.d.ts +157 -0
  156. package/dist/multi-agent/delegation-tracker.js +243 -0
  157. package/dist/multi-agent/file-lock-hook.d.ts +29 -0
  158. package/dist/multi-agent/file-lock-hook.js +97 -0
  159. package/dist/multi-agent/file-locks.d.ts +58 -0
  160. package/dist/multi-agent/file-locks.js +194 -0
  161. package/dist/multi-agent/index.d.ts +24 -0
  162. package/dist/multi-agent/index.js +30 -0
  163. package/dist/multi-agent/mention-parser.d.ts +64 -0
  164. package/dist/multi-agent/mention-parser.js +146 -0
  165. package/dist/multi-agent/notification-manager.d.ts +84 -0
  166. package/dist/multi-agent/notification-manager.js +224 -0
  167. package/dist/multi-agent/pending-requests.d.ts +122 -0
  168. package/dist/multi-agent/pending-requests.js +155 -0
  169. package/dist/multi-agent/session-registry.d.ts +139 -0
  170. package/dist/multi-agent/session-registry.js +514 -0
  171. package/dist/multi-agent/shared-context.d.ts +293 -0
  172. package/dist/multi-agent/shared-context.js +671 -0
  173. package/dist/multi-agent/skill-requirements.d.ts +66 -0
  174. package/dist/multi-agent/skill-requirements.js +178 -0
  175. package/dist/multi-agent/task-assignment.d.ts +69 -0
  176. package/dist/multi-agent/task-assignment.js +123 -0
  177. package/dist/multi-agent/task-suggestion.d.ts +31 -0
  178. package/dist/multi-agent/task-suggestion.js +72 -0
  179. package/dist/multi-agent/team-agent.d.ts +201 -0
  180. package/dist/multi-agent/team-agent.js +488 -0
  181. package/dist/multi-agent/team.d.ts +286 -0
  182. package/dist/multi-agent/team.js +610 -0
  183. package/dist/multi-agent/tool-config.d.ts +110 -0
  184. package/dist/multi-agent/tool-config.js +661 -0
  185. package/dist/multi-agent/types.d.ts +211 -0
  186. package/dist/multi-agent/types.js +617 -0
  187. package/dist/prompts/plan-mode-prompt.d.ts +11 -0
  188. package/dist/prompts/plan-mode-prompt.js +95 -0
  189. package/dist/repl-helpers.js +3 -2
  190. package/dist/repl-v2.d.ts +401 -2
  191. package/dist/repl-v2.js +2577 -65
  192. package/dist/session/index.d.ts +6 -0
  193. package/dist/session/index.js +6 -0
  194. package/dist/session/project-session-manager.d.ts +158 -0
  195. package/dist/session/project-session-manager.js +650 -0
  196. package/dist/settings/index.d.ts +133 -13
  197. package/dist/settings/index.js +329 -24
  198. package/dist/settings/mcp-config.d.ts +76 -0
  199. package/dist/settings/mcp-config.js +143 -0
  200. package/dist/settings/paths.d.ts +4 -0
  201. package/dist/settings/paths.js +6 -0
  202. package/dist/shared-handlers.d.ts +62 -0
  203. package/dist/shared-handlers.js +48 -0
  204. package/dist/system-prompt/builder.d.ts +5 -0
  205. package/dist/system-prompt/builder.js +4 -0
  206. package/dist/system-prompt/index.d.ts +18 -0
  207. package/dist/system-prompt/index.js +18 -0
  208. package/dist/system-prompt/modules.d.ts +5 -0
  209. package/dist/system-prompt/modules.js +4 -0
  210. package/dist/tabbed-menu.js +2 -1
  211. package/dist/templates/compilr-md-import.d.ts +16 -0
  212. package/dist/templates/compilr-md-import.js +241 -0
  213. package/dist/templates/compilr-md.js +10 -61
  214. package/dist/templates/config-json.d.ts +1 -25
  215. package/dist/templates/index.d.ts +2 -0
  216. package/dist/templates/index.js +34 -73
  217. package/dist/tool-names.d.ts +108 -0
  218. package/dist/tool-names.js +227 -0
  219. package/dist/tools/anchor-tools.d.ts +4 -4
  220. package/dist/tools/anchor-tools.js +1 -1
  221. package/dist/tools/artifact-tools.d.ts +42 -0
  222. package/dist/tools/artifact-tools.js +328 -0
  223. package/dist/tools/ask-user-simple.d.ts +1 -1
  224. package/dist/tools/ask-user-simple.js +2 -1
  225. package/dist/tools/ask-user.d.ts +1 -1
  226. package/dist/tools/ask-user.js +2 -1
  227. package/dist/tools/backlog-wrappers.d.ts +5 -3
  228. package/dist/tools/backlog-wrappers.js +16 -1
  229. package/dist/tools/backlog.d.ts +2 -2
  230. package/dist/tools/backlog.js +1 -1
  231. package/dist/tools/db-tools.d.ts +8 -61
  232. package/dist/tools/db-tools.js +8 -13
  233. package/dist/tools/delegate-background.d.ts +27 -0
  234. package/dist/tools/delegate-background.js +115 -0
  235. package/dist/tools/delegate.d.ts +22 -0
  236. package/dist/tools/delegate.js +97 -0
  237. package/dist/tools/delegation-status.d.ts +16 -0
  238. package/dist/tools/delegation-status.js +128 -0
  239. package/dist/tools/document-db.d.ts +5 -5
  240. package/dist/tools/document-db.js +1 -1
  241. package/dist/tools/guide-tool.d.ts +12 -0
  242. package/dist/tools/guide-tool.js +59 -0
  243. package/dist/tools/handoff.d.ts +25 -0
  244. package/dist/tools/handoff.js +99 -0
  245. package/dist/tools/meta-tools.d.ts +26 -0
  246. package/dist/tools/meta-tools.js +47 -0
  247. package/dist/tools/plan-tools.d.ts +54 -0
  248. package/dist/tools/plan-tools.js +338 -0
  249. package/dist/tools/platform-adapter.d.ts +29 -0
  250. package/dist/tools/platform-adapter.js +394 -0
  251. package/dist/tools/project-db.d.ts +5 -73
  252. package/dist/tools/project-db.js +5 -336
  253. package/dist/tools/recall-work-tool.d.ts +18 -0
  254. package/dist/tools/recall-work-tool.js +82 -0
  255. package/dist/tools/workitem-db.d.ts +43 -11
  256. package/dist/tools/workitem-db.js +186 -5
  257. package/dist/tools.d.ts +67 -2
  258. package/dist/tools.js +237 -47
  259. package/dist/ui/autocomplete-controller.d.ts +42 -0
  260. package/dist/ui/autocomplete-controller.js +384 -0
  261. package/dist/ui/base/index.d.ts +1 -1
  262. package/dist/ui/base/index.js +1 -1
  263. package/dist/ui/base/overlay-base-v2.d.ts +10 -0
  264. package/dist/ui/base/overlay-base-v2.js +14 -0
  265. package/dist/ui/base/render-utils.d.ts +19 -0
  266. package/dist/ui/base/render-utils.js +25 -0
  267. package/dist/ui/base/tabbed-list-overlay-v2.d.ts +16 -1
  268. package/dist/ui/base/tabbed-list-overlay-v2.js +19 -1
  269. package/dist/ui/constants/labels.d.ts +14 -0
  270. package/dist/ui/constants/labels.js +51 -0
  271. package/dist/ui/conversation-store.d.ts +55 -0
  272. package/dist/ui/conversation-store.js +107 -0
  273. package/dist/ui/conversation.js +11 -13
  274. package/dist/ui/diff.d.ts +7 -1
  275. package/dist/ui/diff.js +85 -48
  276. package/dist/ui/ephemeral.js +3 -9
  277. package/dist/ui/file-autocomplete.d.ts +24 -0
  278. package/dist/ui/file-autocomplete.js +56 -0
  279. package/dist/ui/footer-renderer.d.ts +69 -0
  280. package/dist/ui/footer-renderer.js +431 -0
  281. package/dist/ui/footer.d.ts +74 -7
  282. package/dist/ui/footer.js +173 -16
  283. package/dist/ui/input-controller.d.ts +51 -0
  284. package/dist/ui/input-controller.js +176 -0
  285. package/dist/ui/input-prompt.d.ts +19 -0
  286. package/dist/ui/input-prompt.js +206 -14
  287. package/dist/ui/keyboard-handler.d.ts +57 -0
  288. package/dist/ui/keyboard-handler.js +557 -0
  289. package/dist/ui/live-region-facade.d.ts +42 -0
  290. package/dist/ui/live-region-facade.js +205 -0
  291. package/dist/ui/live-region.d.ts +0 -4
  292. package/dist/ui/live-region.js +6 -14
  293. package/dist/ui/mascot/renderer.d.ts +1 -1
  294. package/dist/ui/mascot/renderer.js +37 -2
  295. package/dist/ui/overlay/data/tutorial-content.d.ts +9 -0
  296. package/dist/ui/overlay/data/tutorial-content.js +9 -0
  297. package/dist/ui/overlay/data/tutorial-registry.d.ts +12 -0
  298. package/dist/ui/overlay/data/tutorial-registry.js +116 -0
  299. package/dist/ui/overlay/data/tutorial-types.d.ts +35 -0
  300. package/dist/ui/overlay/data/tutorial-types.js +6 -0
  301. package/dist/ui/overlay/data/tutorials/basics/first-conversation.d.ts +7 -0
  302. package/dist/ui/overlay/data/tutorials/basics/first-conversation.js +220 -0
  303. package/dist/ui/overlay/data/tutorials/basics/first-project.d.ts +7 -0
  304. package/dist/ui/overlay/data/tutorials/basics/first-project.js +284 -0
  305. package/dist/ui/overlay/data/tutorials/basics/navigation.d.ts +8 -0
  306. package/dist/ui/overlay/data/tutorials/basics/navigation.js +22 -0
  307. package/dist/ui/overlay/data/tutorials/basics/welcome.d.ts +7 -0
  308. package/dist/ui/overlay/data/tutorials/basics/welcome.js +174 -0
  309. package/dist/ui/overlay/data/tutorials/config/context-management.d.ts +7 -0
  310. package/dist/ui/overlay/data/tutorials/config/context-management.js +158 -0
  311. package/dist/ui/overlay/data/tutorials/config/mcp-servers.d.ts +8 -0
  312. package/dist/ui/overlay/data/tutorials/config/mcp-servers.js +155 -0
  313. package/dist/ui/overlay/data/tutorials/config/model-selection.d.ts +7 -0
  314. package/dist/ui/overlay/data/tutorials/config/model-selection.js +162 -0
  315. package/dist/ui/overlay/data/tutorials/config/permissions-safety.d.ts +7 -0
  316. package/dist/ui/overlay/data/tutorials/config/permissions-safety.js +163 -0
  317. package/dist/ui/overlay/data/tutorials/config/settings-config.d.ts +7 -0
  318. package/dist/ui/overlay/data/tutorials/config/settings-config.js +166 -0
  319. package/dist/ui/overlay/data/tutorials/planning/arch.d.ts +7 -0
  320. package/dist/ui/overlay/data/tutorials/planning/arch.js +168 -0
  321. package/dist/ui/overlay/data/tutorials/planning/backlog.d.ts +7 -0
  322. package/dist/ui/overlay/data/tutorials/planning/backlog.js +103 -0
  323. package/dist/ui/overlay/data/tutorials/planning/build.d.ts +7 -0
  324. package/dist/ui/overlay/data/tutorials/planning/build.js +173 -0
  325. package/dist/ui/overlay/data/tutorials/planning/design.d.ts +7 -0
  326. package/dist/ui/overlay/data/tutorials/planning/design.js +205 -0
  327. package/dist/ui/overlay/data/tutorials/planning/docs.d.ts +7 -0
  328. package/dist/ui/overlay/data/tutorials/planning/docs.js +143 -0
  329. package/dist/ui/overlay/data/tutorials/planning/prd.d.ts +7 -0
  330. package/dist/ui/overlay/data/tutorials/planning/prd.js +173 -0
  331. package/dist/ui/overlay/data/tutorials/planning/scaffold.d.ts +7 -0
  332. package/dist/ui/overlay/data/tutorials/planning/scaffold.js +164 -0
  333. package/dist/ui/overlay/data/tutorials/planning/sketch.d.ts +7 -0
  334. package/dist/ui/overlay/data/tutorials/planning/sketch.js +58 -0
  335. package/dist/ui/overlay/data/tutorials/projects/anchors.d.ts +7 -0
  336. package/dist/ui/overlay/data/tutorials/projects/anchors.js +248 -0
  337. package/dist/ui/overlay/data/tutorials/projects/import-project.d.ts +7 -0
  338. package/dist/ui/overlay/data/tutorials/projects/import-project.js +172 -0
  339. package/dist/ui/overlay/data/tutorials/projects/managing-projects.d.ts +8 -0
  340. package/dist/ui/overlay/data/tutorials/projects/managing-projects.js +212 -0
  341. package/dist/ui/overlay/data/tutorials/projects/new-project.d.ts +7 -0
  342. package/dist/ui/overlay/data/tutorials/projects/new-project.js +251 -0
  343. package/dist/ui/overlay/data/tutorials/projects/session-management.d.ts +7 -0
  344. package/dist/ui/overlay/data/tutorials/projects/session-management.js +169 -0
  345. package/dist/ui/overlay/data/tutorials/teams/background-execution.d.ts +7 -0
  346. package/dist/ui/overlay/data/tutorials/teams/background-execution.js +171 -0
  347. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.d.ts +8 -0
  348. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.js +147 -0
  349. package/dist/ui/overlay/data/tutorials/teams/task-assignment.d.ts +7 -0
  350. package/dist/ui/overlay/data/tutorials/teams/task-assignment.js +204 -0
  351. package/dist/ui/overlay/data/tutorials/teams/team-overview.d.ts +7 -0
  352. package/dist/ui/overlay/data/tutorials/teams/team-overview.js +165 -0
  353. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.d.ts +7 -0
  354. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.js +172 -0
  355. package/dist/ui/overlay/impl/agents-overlay-v2.js +6 -17
  356. package/dist/ui/overlay/impl/anchors-overlay-v2.js +30 -64
  357. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.d.ts +43 -0
  358. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.js +232 -0
  359. package/dist/ui/overlay/impl/artifact-overlay-v2.d.ts +40 -0
  360. package/dist/ui/overlay/impl/artifact-overlay-v2.js +115 -0
  361. package/dist/ui/overlay/impl/ask-user-overlay-v2.js +2 -5
  362. package/dist/ui/overlay/impl/background-overlay-v2.d.ts +40 -0
  363. package/dist/ui/overlay/impl/background-overlay-v2.js +147 -0
  364. package/dist/ui/overlay/impl/backlog-overlay-v2.d.ts +4 -1
  365. package/dist/ui/overlay/impl/backlog-overlay-v2.js +55 -16
  366. package/dist/ui/overlay/impl/changelog-overlay-v2.d.ts +44 -0
  367. package/dist/ui/overlay/impl/changelog-overlay-v2.js +165 -0
  368. package/dist/ui/overlay/impl/commands-overlay-v2.js +4 -6
  369. package/dist/ui/overlay/impl/config-overlay-v2.d.ts +12 -1
  370. package/dist/ui/overlay/impl/config-overlay-v2.js +164 -100
  371. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.d.ts +83 -0
  372. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.js +711 -0
  373. package/dist/ui/overlay/impl/dashboard-overlay-v2.d.ts +2 -0
  374. package/dist/ui/overlay/impl/dashboard-overlay-v2.js +26 -3
  375. package/dist/ui/overlay/impl/delegations-overlay-v2.d.ts +28 -0
  376. package/dist/ui/overlay/impl/delegations-overlay-v2.js +279 -0
  377. package/dist/ui/overlay/impl/docs-overlay-v2.js +12 -9
  378. package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +7 -0
  379. package/dist/ui/overlay/impl/document-detail-overlay-v2.js +119 -78
  380. package/dist/ui/overlay/impl/filter-overlay-v2.d.ts +41 -0
  381. package/dist/ui/overlay/impl/filter-overlay-v2.js +110 -0
  382. package/dist/ui/overlay/impl/games-overlay-v2.d.ts +31 -0
  383. package/dist/ui/overlay/impl/games-overlay-v2.js +135 -0
  384. package/dist/ui/overlay/impl/help-overlay-v2.d.ts +26 -3
  385. package/dist/ui/overlay/impl/help-overlay-v2.js +20 -42
  386. package/dist/ui/overlay/impl/login-overlay-v2.d.ts +49 -0
  387. package/dist/ui/overlay/impl/login-overlay-v2.js +277 -0
  388. package/dist/ui/overlay/impl/mcp-overlay-v2.d.ts +63 -0
  389. package/dist/ui/overlay/impl/mcp-overlay-v2.js +907 -0
  390. package/dist/ui/overlay/impl/model-overlay-v2.d.ts +57 -13
  391. package/dist/ui/overlay/impl/model-overlay-v2.js +1086 -61
  392. package/dist/ui/overlay/impl/new-overlay-v2.d.ts +37 -6
  393. package/dist/ui/overlay/impl/new-overlay-v2.js +715 -65
  394. package/dist/ui/overlay/impl/notifications-overlay-v2.d.ts +20 -0
  395. package/dist/ui/overlay/impl/notifications-overlay-v2.js +116 -0
  396. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.d.ts +76 -0
  397. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.js +728 -0
  398. package/dist/ui/overlay/impl/pending-overlay-v2.d.ts +51 -0
  399. package/dist/ui/overlay/impl/pending-overlay-v2.js +445 -0
  400. package/dist/ui/overlay/impl/permission-overlay-v2.js +5 -5
  401. package/dist/ui/overlay/impl/permissions-overlay-v2.d.ts +85 -0
  402. package/dist/ui/overlay/impl/permissions-overlay-v2.js +820 -0
  403. package/dist/ui/overlay/impl/plan-approval-overlay-v2.d.ts +35 -0
  404. package/dist/ui/overlay/impl/plan-approval-overlay-v2.js +181 -0
  405. package/dist/ui/overlay/impl/project-edit-overlay-v2.d.ts +36 -0
  406. package/dist/ui/overlay/impl/project-edit-overlay-v2.js +195 -0
  407. package/dist/ui/overlay/impl/projects-overlay-v2.d.ts +1 -0
  408. package/dist/ui/overlay/impl/projects-overlay-v2.js +278 -44
  409. package/dist/ui/overlay/impl/reset-overlay-v2.d.ts +39 -0
  410. package/dist/ui/overlay/impl/reset-overlay-v2.js +107 -0
  411. package/dist/ui/overlay/impl/resume-overlay-v2.d.ts +60 -0
  412. package/dist/ui/overlay/impl/resume-overlay-v2.js +414 -0
  413. package/dist/ui/overlay/impl/session-mode-overlay-v2.d.ts +43 -0
  414. package/dist/ui/overlay/impl/session-mode-overlay-v2.js +124 -0
  415. package/dist/ui/overlay/impl/tasks-overlay-v2.d.ts +28 -0
  416. package/dist/ui/overlay/impl/tasks-overlay-v2.js +283 -0
  417. package/dist/ui/overlay/impl/team-overlay-v2.d.ts +86 -0
  418. package/dist/ui/overlay/impl/team-overlay-v2.js +692 -0
  419. package/dist/ui/overlay/impl/terminals-overlay-v2.d.ts +26 -0
  420. package/dist/ui/overlay/impl/terminals-overlay-v2.js +217 -0
  421. package/dist/ui/overlay/impl/tools-overlay-v2.js +3 -7
  422. package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +30 -16
  423. package/dist/ui/overlay/impl/tutorial-overlay-v2.js +133 -956
  424. package/dist/ui/overlay/impl/workflow-overlay-v2.js +5 -1
  425. package/dist/ui/overlay/index.d.ts +20 -1
  426. package/dist/ui/overlay/index.js +19 -0
  427. package/dist/ui/overlay/types.d.ts +5 -0
  428. package/dist/ui/overlay-manager.d.ts +43 -0
  429. package/dist/ui/overlay-manager.js +238 -0
  430. package/dist/ui/overlays.js +4 -16
  431. package/dist/ui/permission-overlay.js +6 -5
  432. package/dist/ui/status-bar-controller.d.ts +33 -0
  433. package/dist/ui/status-bar-controller.js +99 -0
  434. package/dist/ui/subagent-renderer.js +3 -19
  435. package/dist/ui/terminal-autocomplete-utils.d.ts +23 -0
  436. package/dist/ui/terminal-autocomplete-utils.js +83 -0
  437. package/dist/ui/terminal-line-builders.d.ts +17 -0
  438. package/dist/ui/terminal-line-builders.js +42 -0
  439. package/dist/ui/terminal-render-item.d.ts +16 -0
  440. package/dist/ui/terminal-render-item.js +267 -0
  441. package/dist/ui/terminal-renderer.d.ts +7 -8
  442. package/dist/ui/terminal-renderer.js +7 -8
  443. package/dist/ui/terminal-types.d.ts +179 -0
  444. package/dist/ui/terminal-types.js +34 -0
  445. package/dist/ui/terminal-ui.d.ts +144 -276
  446. package/dist/ui/terminal-ui.js +384 -1861
  447. package/dist/ui/todo-zone.d.ts +19 -1
  448. package/dist/ui/todo-zone.js +71 -13
  449. package/dist/ui/tool-formatters.js +512 -1
  450. package/dist/ui/turn-metrics.d.ts +56 -0
  451. package/dist/ui/turn-metrics.js +75 -0
  452. package/dist/ui/types.d.ts +28 -0
  453. package/dist/ui/types.js +1 -0
  454. package/dist/ui/vscode-diff-ipc.d.ts +102 -0
  455. package/dist/ui/vscode-diff-ipc.js +385 -0
  456. package/dist/utils/credentials.d.ts +24 -5
  457. package/dist/utils/credentials.js +123 -9
  458. package/dist/utils/format-tokens.d.ts +13 -0
  459. package/dist/utils/format-tokens.js +18 -0
  460. package/dist/utils/git-config.d.ts +26 -0
  461. package/dist/utils/git-config.js +54 -0
  462. package/dist/utils/message-utils.d.ts +61 -0
  463. package/dist/utils/message-utils.js +72 -0
  464. package/dist/utils/model-tiers.d.ts +8 -1
  465. package/dist/utils/model-tiers.js +38 -16
  466. package/dist/utils/open-browser.d.ts +5 -0
  467. package/dist/utils/open-browser.js +32 -0
  468. package/dist/utils/path-safety.js +3 -2
  469. package/dist/utils/project-detection.d.ts +58 -0
  470. package/dist/utils/project-detection.js +424 -0
  471. package/dist/utils/project-memory.js +2 -1
  472. package/dist/utils/project-status.d.ts +2 -2
  473. package/dist/utils/startup-perf.d.ts +18 -0
  474. package/dist/utils/startup-perf.js +60 -0
  475. package/dist/utils/token-tracker.d.ts +62 -0
  476. package/dist/utils/token-tracker.js +150 -0
  477. package/dist/utils/token-types.d.ts +23 -0
  478. package/dist/utils/token-types.js +18 -0
  479. package/dist/utils/types/config-types.d.ts +32 -0
  480. package/dist/utils/types/config-types.js +8 -0
  481. package/dist/utils/update-checker.d.ts +28 -0
  482. package/dist/utils/update-checker.js +106 -0
  483. package/dist/utils/version.d.ts +7 -0
  484. package/dist/utils/version.js +10 -0
  485. package/dist/utils/vscode-detect.d.ts +39 -0
  486. package/dist/utils/vscode-detect.js +137 -0
  487. package/package.json +25 -12
  488. package/dist/commands/handler-types.d.ts +0 -68
  489. package/dist/commands/handler-types.js +0 -8
  490. package/dist/commands/handlers/agent-commands.d.ts +0 -13
  491. package/dist/commands/handlers/agent-commands.js +0 -305
  492. package/dist/commands/handlers/design-commands.d.ts +0 -15
  493. package/dist/commands/handlers/design-commands.js +0 -334
  494. package/dist/commands/handlers/index.d.ts +0 -20
  495. package/dist/commands/handlers/index.js +0 -43
  496. package/dist/commands/handlers/overlay-commands.d.ts +0 -21
  497. package/dist/commands/handlers/overlay-commands.js +0 -287
  498. package/dist/commands/handlers/project-commands.d.ts +0 -11
  499. package/dist/commands/handlers/project-commands.js +0 -167
  500. package/dist/commands/handlers/simple-commands.d.ts +0 -19
  501. package/dist/commands/handlers/simple-commands.js +0 -144
  502. package/dist/commands/registry.d.ts +0 -50
  503. package/dist/commands/registry.js +0 -75
  504. package/dist/index.old.d.ts +0 -7
  505. package/dist/index.old.js +0 -1014
  506. package/dist/repl.d.ts +0 -149
  507. package/dist/repl.js +0 -1151
  508. package/dist/templates/claude-md.d.ts +0 -7
  509. package/dist/templates/claude-md.js +0 -189
  510. package/dist/test-autocomplete.d.ts +0 -7
  511. package/dist/test-autocomplete.js +0 -85
  512. package/dist/test-tabbed-menu.d.ts +0 -7
  513. package/dist/test-tabbed-menu.js +0 -25
  514. package/dist/tool-selector.d.ts +0 -71
  515. package/dist/tool-selector.js +0 -184
  516. package/dist/ui/agents-overlay-v2.d.ts +0 -43
  517. package/dist/ui/agents-overlay-v2.js +0 -809
  518. package/dist/ui/agents-overlay.d.ts +0 -12
  519. package/dist/ui/agents-overlay.js +0 -863
  520. package/dist/ui/anchors-overlay.d.ts +0 -12
  521. package/dist/ui/anchors-overlay.js +0 -775
  522. package/dist/ui/arch-type-overlay.d.ts +0 -15
  523. package/dist/ui/arch-type-overlay.js +0 -201
  524. package/dist/ui/ask-user-overlay-v2.d.ts +0 -26
  525. package/dist/ui/ask-user-overlay-v2.js +0 -555
  526. package/dist/ui/ask-user-simple-overlay-v2.d.ts +0 -25
  527. package/dist/ui/ask-user-simple-overlay-v2.js +0 -215
  528. package/dist/ui/backlog-overlay.d.ts +0 -32
  529. package/dist/ui/backlog-overlay.js +0 -652
  530. package/dist/ui/commands-overlay-v2.d.ts +0 -33
  531. package/dist/ui/commands-overlay-v2.js +0 -441
  532. package/dist/ui/commands-overlay.d.ts +0 -16
  533. package/dist/ui/commands-overlay.js +0 -439
  534. package/dist/ui/config-overlay.d.ts +0 -35
  535. package/dist/ui/config-overlay.js +0 -707
  536. package/dist/ui/docs-overlay.d.ts +0 -17
  537. package/dist/ui/docs-overlay.js +0 -303
  538. package/dist/ui/footer-v2.d.ts +0 -222
  539. package/dist/ui/footer-v2.js +0 -1349
  540. package/dist/ui/help-overlay-v2.d.ts +0 -34
  541. package/dist/ui/help-overlay-v2.js +0 -309
  542. package/dist/ui/help-overlay.d.ts +0 -16
  543. package/dist/ui/help-overlay.js +0 -316
  544. package/dist/ui/init-overlay-v2.d.ts +0 -34
  545. package/dist/ui/init-overlay-v2.js +0 -600
  546. package/dist/ui/init-overlay.d.ts +0 -34
  547. package/dist/ui/init-overlay.js +0 -604
  548. package/dist/ui/input-prompt-v2.d.ts +0 -180
  549. package/dist/ui/input-prompt-v2.js +0 -999
  550. package/dist/ui/iteration-limit-overlay-v2.d.ts +0 -21
  551. package/dist/ui/iteration-limit-overlay-v2.js +0 -114
  552. package/dist/ui/keys-overlay-v2.d.ts +0 -41
  553. package/dist/ui/keys-overlay-v2.js +0 -248
  554. package/dist/ui/mascot-overlay-v2.d.ts +0 -41
  555. package/dist/ui/mascot-overlay-v2.js +0 -138
  556. package/dist/ui/mascot-overlay.d.ts +0 -21
  557. package/dist/ui/mascot-overlay.js +0 -146
  558. package/dist/ui/model-overlay-v2.d.ts +0 -49
  559. package/dist/ui/model-overlay-v2.js +0 -118
  560. package/dist/ui/model-overlay.d.ts +0 -27
  561. package/dist/ui/model-overlay.js +0 -221
  562. package/dist/ui/model-warning-overlay.d.ts +0 -30
  563. package/dist/ui/model-warning-overlay.js +0 -169
  564. package/dist/ui/new-overlay.d.ts +0 -34
  565. package/dist/ui/new-overlay.js +0 -604
  566. package/dist/ui/overlay/impl/init-overlay-v2.d.ts +0 -77
  567. package/dist/ui/overlay/impl/init-overlay-v2.js +0 -593
  568. package/dist/ui/overlay/overlay-types.d.ts +0 -128
  569. package/dist/ui/overlay/overlay-types.js +0 -22
  570. package/dist/ui/overlays/help-overlay-v2.d.ts +0 -28
  571. package/dist/ui/overlays/help-overlay-v2.js +0 -198
  572. package/dist/ui/overlays/index.d.ts +0 -11
  573. package/dist/ui/overlays/index.js +0 -11
  574. package/dist/ui/permission-overlay-v2.d.ts +0 -36
  575. package/dist/ui/permission-overlay-v2.js +0 -380
  576. package/dist/ui/projects-overlay.d.ts +0 -19
  577. package/dist/ui/projects-overlay.js +0 -484
  578. package/dist/ui/theme-overlay-v2.d.ts +0 -42
  579. package/dist/ui/theme-overlay-v2.js +0 -135
  580. package/dist/ui/theme-overlay.d.ts +0 -24
  581. package/dist/ui/theme-overlay.js +0 -127
  582. package/dist/ui/tools-overlay-v2.d.ts +0 -47
  583. package/dist/ui/tools-overlay-v2.js +0 -218
  584. package/dist/ui/tools-overlay.d.ts +0 -34
  585. package/dist/ui/tools-overlay.js +0 -230
  586. package/dist/ui/tutorial-overlay-v2.d.ts +0 -31
  587. package/dist/ui/tutorial-overlay-v2.js +0 -1035
  588. package/dist/ui/tutorial-overlay.d.ts +0 -11
  589. package/dist/ui/tutorial-overlay.js +0 -1034
  590. package/dist/ui/workflow-overlay.d.ts +0 -22
  591. package/dist/ui/workflow-overlay.js +0 -636
@@ -15,159 +15,56 @@
15
15
  */
16
16
  import { EventEmitter } from 'events';
17
17
  import type { TodoItem, AgentMode } from './types.js';
18
+ import type { AgentMessage, TerminalUIConfig, TerminalUIOptions, AgentSuggestion, PrintableItem } from './terminal-types.js';
19
+ export type { AgentMessage, TerminalUIEvents, TerminalUIConfig, TerminalUIOptions, AgentSuggestion, PrintableItem, MascotExpression } from './terminal-types.js';
20
+ export { DEFAULT_TERMINAL_UI_CONFIG, MASCOT } from './terminal-types.js';
18
21
  import type { Overlay } from './overlay/index.js';
19
22
  import { LiveRegion, type LiveItem, type SubagentLiveItem } from './live-region.js';
20
- /**
21
- * Message to be sent to the agent from a command.
22
- * Allows commands to invoke the agent with a detailed prompt while
23
- * showing a simpler message to the user.
24
- */
25
- export interface AgentMessage {
26
- /** Full message to send to the agent */
27
- message: string;
28
- /** Optional: Simpler message to display to user (defaults to message) */
29
- displayMessage?: string;
30
- }
31
- export interface TerminalUIEvents {
32
- submit: (input: string) => void;
33
- command: (command: string, args: string) => void;
34
- cancel: () => void;
35
- escape: () => void;
36
- interrupt: () => void;
37
- modeChange: () => void;
38
- }
39
- /**
40
- * Configuration for TerminalUI rendering behavior.
41
- * Can be changed at runtime via setConfig().
42
- */
43
- export interface TerminalUIConfig {
44
- verbose: boolean;
45
- theme: string;
46
- showMascot: boolean;
47
- }
48
- export declare const DEFAULT_TERMINAL_UI_CONFIG: TerminalUIConfig;
49
- export interface TerminalUIOptions {
50
- prompt?: string;
51
- initialMode?: AgentMode;
52
- config?: Partial<TerminalUIConfig>;
53
- }
54
- /**
55
- * Represents a semantic item that can be printed to the scrolling zone.
56
- * TerminalUI handles all formatting based on the item type and config.
57
- *
58
- * Items are stored in conversation history for re-rendering when config changes.
59
- */
60
- export type PrintableItem = {
61
- type: 'user-message';
62
- text: string;
63
- } | {
64
- type: 'agent-text';
65
- text: string;
66
- expression?: MascotExpression;
67
- } | {
68
- type: 'thinking';
69
- text: string;
70
- } | {
71
- type: 'tool-start';
72
- name: string;
73
- params: string;
74
- } | {
75
- type: 'tool-result';
76
- name: string;
77
- params: string;
78
- summary: string;
79
- content?: string;
80
- success?: boolean;
81
- } | {
82
- type: 'tool-error';
83
- name: string;
84
- params: string;
85
- error: string;
86
- } | {
87
- type: 'interrupted';
88
- action?: string;
89
- suggestion?: string;
90
- } | {
91
- type: 'error';
92
- message: string;
93
- } | {
94
- type: 'success';
95
- message: string;
96
- } | {
97
- type: 'info';
98
- message: string;
99
- } | {
100
- type: 'warning';
101
- message: string;
102
- } | {
103
- type: 'raw';
104
- text: string;
105
- } | {
106
- type: 'raw-lines';
107
- lines: string[];
108
- };
109
- /**
110
- * Inline mascot expressions for agent identity and state feedback.
111
- * Used to prefix agent messages and in spinner animations.
112
- */
113
- export declare const MASCOT: {
114
- readonly neutral: "[•_•]";
115
- readonly thinking: "[°_°]";
116
- readonly searching: "[◐_◐]";
117
- readonly success: "[^_^]";
118
- readonly error: "[×_×]";
119
- readonly confused: "[?_?]";
120
- readonly working: "[•̀_•́]";
121
- readonly crt: readonly ["[░░░]", "[▒░░]", "[░▒░]", "[░░▒]", "[░▒░]", "[▒░░]"];
122
- };
123
- export type MascotExpression = 'neutral' | 'thinking' | 'searching' | 'success' | 'error' | 'confused' | 'working';
124
23
  export declare class TerminalUI extends EventEmitter {
125
24
  private promptPrefix;
126
25
  private promptPrefixLen;
127
26
  private config;
128
- private conversationHistory;
129
- private lines;
130
- private currentLine;
131
- private cursorPos;
27
+ private readonly conversation;
28
+ private readonly input;
29
+ private get lines();
30
+ private set lines(value);
31
+ private get currentLine();
32
+ private set currentLine(value);
33
+ private get cursorPos();
34
+ private set cursorPos(value);
35
+ private get suggestion();
36
+ private set suggestion(value);
37
+ private get queuedInputs();
38
+ private set queuedInputs(value);
132
39
  private mode;
133
40
  private projectName;
134
41
  private todos;
42
+ private activePlanId;
43
+ private activePlanName;
135
44
  private spinnerText;
136
- private spinnerFrame;
137
45
  private agentRunning;
138
- private queuedInputs;
139
46
  private agentMessageQueue;
140
47
  private currentTool;
141
- private readonly liveRegion;
142
- private readonly autocomplete;
143
- private readonly fileAutocomplete;
144
- private readonly history;
145
- private historyIndex;
146
- private savedInput;
147
- private lastRenderHeight;
148
- private cursorLineFromBottom;
48
+ private readonly turnMetrics;
49
+ private readonly live;
50
+ private readonly ac;
149
51
  private isRunning;
150
52
  private isPaused;
151
53
  private renderTimer;
152
54
  private needsRender;
153
- private lastEscapeTime;
154
- private suggestion;
55
+ private activeTeamAgent;
155
56
  private showTodos;
156
57
  private viewMode;
157
- private readonly spinnerFrames;
158
- private spinnerTimer;
159
- private readonly overlayStack;
160
- private readonly overlayResolvers;
161
- private overlayRenderState;
162
- private overlayPrintBuffer;
58
+ private readonly statusBar;
59
+ private readonly overlay;
60
+ private readonly footer;
61
+ private readonly keyboard;
163
62
  constructor(options?: TerminalUIOptions);
164
- /** Get the full input value (all lines joined with newlines) */
165
- private getInputValue;
166
- /** Get the current line content */
167
- private getCurrentLineContent;
168
- /** Clear input and reset to single empty line */
169
- private clearInput;
170
- start(): void;
63
+ /** Set background agent count (called by REPL to keep UI in sync). */
64
+ setBackgroundAgentCount(count: number): void;
65
+ /** Set MCP loading state for status bar indicator. */
66
+ setMCPLoading(loading: boolean, toolCount?: number): void;
67
+ start(skipInitialRender?: boolean): void;
171
68
  stop(): void;
172
69
  /**
173
70
  * Print a semantic item to the scrolling zone.
@@ -181,8 +78,9 @@ export declare class TerminalUI extends EventEmitter {
181
78
  /**
182
79
  * Render a single item to the console.
183
80
  * Config-aware: respects verbose, showMascot settings.
81
+ * Delegates to standalone renderItem() function.
184
82
  */
185
- private renderItem;
83
+ private renderItemToConsole;
186
84
  /**
187
85
  * Execute a callback that outputs to terminal.
188
86
  * Handles clear → callback → render automatically.
@@ -196,74 +94,123 @@ export declare class TerminalUI extends EventEmitter {
196
94
  getTodos(): TodoItem[];
197
95
  setSpinnerText(text: string | null): void;
198
96
  setCurrentTool(tool: string | null): void;
199
- setMode(mode: AgentMode): void;
200
- getMode(): AgentMode;
201
- setProjectName(name: string | null): void;
202
- getProjectName(): string | null;
203
97
  /**
204
- * Set ghost text suggestion (shown when input is empty)
98
+ * Set whether extended thinking mode is active
99
+ * Shows "thinking" indicator in status line
205
100
  */
206
- setSuggestion(text: string | null): void;
207
- getSuggestion(): string | null;
208
- clearSuggestion(): void;
101
+ setThinking(thinking: boolean): void;
209
102
  /**
210
- * Add a subagent to the live region.
103
+ * Add input/output tokens for live display
104
+ * @param thinkingTokens - Optional thinking tokens (Gemini 2.5+ models)
105
+ * @param cacheReadTokens - Optional cache read tokens (Anthropic/Gemini)
106
+ * @param debugPayload - Optional debug payload sizes (char counts)
211
107
  */
212
- addSubagent(id: string, agentType: string, description: string): void;
108
+ addTokens(inputTokens: number, outputTokens: number, thinkingTokens?: number, cacheReadTokens?: number, debugPayload?: {
109
+ systemChars: number;
110
+ contentsChars: number;
111
+ toolsChars: number;
112
+ }): void;
213
113
  /**
214
- * Update a subagent's tool usage.
114
+ * Increment tool call counter
215
115
  */
216
- updateSubagentTool(id: string, toolName: string, summary: string): void;
116
+ incrementToolCalls(): void;
217
117
  /**
218
- * Mark a subagent as completed.
118
+ * Increment API call counter (called on each LLM request completion)
219
119
  */
220
- completeSubagent(id: string, success: boolean, tokenCount?: number, _error?: string): void;
120
+ incrementApiCalls(): void;
221
121
  /**
222
- * Remove a subagent and return it for committing to scrolling zone.
122
+ * Reset turn metrics (call when agent starts a new turn)
223
123
  */
224
- removeSubagent(id: string): LiveItem | undefined;
124
+ resetTurnMetrics(): void;
225
125
  /**
226
- * Clear all subagents from live region.
126
+ * Get current turn metrics
227
127
  */
228
- clearLiveRegion(): void;
128
+ getTurnMetrics(): {
129
+ inputTokens: number;
130
+ outputTokens: number;
131
+ thinkingTokens: number;
132
+ cacheReadTokens: number;
133
+ durationMs: number;
134
+ toolCalls: number;
135
+ apiCalls: number;
136
+ debugPayload?: {
137
+ systemChars: number;
138
+ contentsChars: number;
139
+ toolsChars: number;
140
+ };
141
+ };
142
+ setMode(mode: AgentMode): void;
143
+ getMode(): AgentMode;
144
+ setProjectName(name: string | null): void;
145
+ getProjectName(): string | null;
229
146
  /**
230
- * Toggle expanded view in live region (Ctrl+O).
147
+ * Set the active team agent (displayed in footer)
148
+ * Pass null to clear (default agent or no team)
231
149
  */
232
- toggleLiveRegionExpanded(): void;
150
+ setActiveTeamAgent(agent: {
151
+ id: string;
152
+ displayName: string;
153
+ mascot: string;
154
+ } | null): void;
233
155
  /**
234
- * Check if live region has items.
156
+ * Get the active team agent
235
157
  */
236
- hasLiveItems(): boolean;
158
+ getActiveTeamAgent(): {
159
+ id: string;
160
+ displayName: string;
161
+ mascot: string;
162
+ } | null;
237
163
  /**
238
- * Get live region for direct access if needed.
164
+ * Set the callback to get available team agents for $ autocomplete
239
165
  */
240
- getLiveRegion(): LiveRegion;
166
+ setAgentSuggestionsCallback(callback: (() => AgentSuggestion[]) | undefined): void;
241
167
  /**
242
- * Add a bash command to the live region.
168
+ * Set the callback to get available commands for / autocomplete
243
169
  */
244
- addBashCommand(id: string, command: string): void;
170
+ setCommandsCallback(callback: (() => {
171
+ command: string;
172
+ description: string;
173
+ }[]) | undefined): void;
245
174
  /**
246
- * Add output line to a bash command.
175
+ * Set the active plan (for Plan Mode display in footer)
247
176
  */
248
- updateBashOutput(id: string, line: string): void;
177
+ setActivePlan(planId: number | null, planName: string | null): void;
249
178
  /**
250
- * Mark a bash command as completed.
179
+ * Get the active plan info
251
180
  */
252
- completeBashCommand(id: string, exitCode: number): void;
181
+ getActivePlan(): {
182
+ id: number | null;
183
+ name: string | null;
184
+ };
253
185
  /**
254
- * Remove a bash command and commit it to the scrolling zone.
186
+ * Clear the active plan
255
187
  */
256
- commitBashCommand(id: string): void;
188
+ clearActivePlan(): void;
257
189
  /**
258
- * Remove a subagent and commit it to the scrolling zone.
259
- * This is the atomic equivalent of commitBashCommand for subagents.
260
- * The result content comes from tool_end, not from the LiveRegion item.
190
+ * Set ghost text suggestion (shown when input is empty)
261
191
  */
192
+ setSuggestion(text: string | null): void;
193
+ getSuggestion(): string | null;
194
+ clearSuggestion(): void;
195
+ addSubagent(id: string, agentType: string, description: string): void;
196
+ updateSubagentTool(id: string, toolName: string, summary: string): void;
197
+ completeSubagent(id: string, success: boolean, tokenCount?: number, _error?: string): void;
198
+ removeSubagent(id: string): LiveItem | undefined;
199
+ clearLiveRegion(): void;
200
+ toggleLiveRegionExpanded(): void;
201
+ hasLiveItems(): boolean;
202
+ getLiveRegion(): LiveRegion;
203
+ addBashCommand(id: string, command: string): void;
204
+ updateBashOutput(id: string, line: string): void;
205
+ completeBashCommand(id: string, exitCode: number): void;
206
+ commitBashCommand(id: string): void;
207
+ backgroundBashCommand(): void;
208
+ hasActiveBash(): boolean;
209
+ getActiveBashInfo(): {
210
+ toolUseId: string;
211
+ startTime: number;
212
+ } | null;
262
213
  commitSubagent(id: string, resultContent: string, success: boolean): SubagentLiveItem | undefined;
263
- /**
264
- * Format token count (e.g., 5000 -> "5.0k")
265
- */
266
- private formatTokens;
267
214
  /**
268
215
  * Toggle todo list visibility (Ctrl+T)
269
216
  */
@@ -286,6 +233,21 @@ export declare class TerminalUI extends EventEmitter {
286
233
  * Re-render conversation with temporary verbose setting.
287
234
  */
288
235
  private reRenderConversationVerbose;
236
+ /**
237
+ * Store restored conversation items for Ctrl+R history view.
238
+ * Called when a session is resumed/restored.
239
+ */
240
+ setRestoredHistory(items: PrintableItem[]): void;
241
+ /**
242
+ * Check if there is restored history available.
243
+ */
244
+ hasRestoredHistory(): boolean;
245
+ /**
246
+ * Show restored conversation history (Ctrl+R).
247
+ * Renders items permanently into the scrollback buffer.
248
+ * Stays in normal mode — the output persists like any other printed content.
249
+ */
250
+ private showRestoredHistory;
289
251
  /**
290
252
  * Update configuration at runtime.
291
253
  * If verbose changes, re-renders the entire conversation.
@@ -309,72 +271,18 @@ export declare class TerminalUI extends EventEmitter {
309
271
  * Get conversation history (copy).
310
272
  */
311
273
  getConversationHistory(): PrintableItem[];
312
- /**
313
- * Check if an overlay is currently active.
314
- */
274
+ setConversationFilter(agentIds: string[]): void;
275
+ clearConversationFilter(): void;
276
+ getConversationFilter(): {
277
+ agentIds: string[];
278
+ isActive: boolean;
279
+ };
280
+ addToConversationFilter(agentId: string): boolean;
281
+ isAgentInFilter(agentId: string): boolean;
315
282
  hasActiveOverlay(): boolean;
316
- /**
317
- * Get the currently active overlay (if any).
318
- */
319
283
  getActiveOverlay(): Overlay | null;
320
- /**
321
- * Show an overlay and wait for result.
322
- * Returns promise that resolves when overlay closes.
323
- */
324
284
  showOverlay<TResult>(overlay: Overlay<unknown, TResult>): Promise<TResult | null>;
325
- /**
326
- * Close current overlay with result.
327
- * Called internally when overlay returns close action.
328
- */
329
- private closeCurrentOverlay;
330
- /**
331
- * Enter fullscreen overlay mode.
332
- * Clears screen and prepares for overlay rendering.
333
- */
334
- private enterFullscreenOverlayMode;
335
- /**
336
- * Enter inline overlay mode.
337
- * Clears footer but keeps conversation visible.
338
- */
339
- private enterInlineOverlayMode;
340
- /**
341
- * Exit overlay mode and restore normal rendering.
342
- */
343
- private exitOverlayMode;
344
- /**
345
- * Flush items that were buffered while an overlay was active.
346
- * Called after overlay closes to render any pending output.
347
- */
348
- private flushOverlayPrintBuffer;
349
- /**
350
- * Clear previous overlay render.
351
- * Uses maxLineCount to ensure all lines are cleared even if content shrank between renders.
352
- */
353
- private clearOverlayRender;
354
- /**
355
- * Render the active overlay.
356
- */
357
- private renderOverlay;
358
- /**
359
- * Render fullscreen overlay.
360
- *
361
- * CRITICAL: Cursor positioning must be consistent between renders.
362
- * Same logic as renderInlineOverlay - pad to maxLineCount for consistency.
363
- */
364
- private renderFullscreenOverlay;
365
- /**
366
- * Render inline overlay (above footer).
367
- *
368
- * CRITICAL: Cursor positioning must be consistent between renders.
369
- * After rendering, cursor MUST be at maxLineCount position, not at
370
- * actual content height. Otherwise, the next clear will move cursor
371
- * up by maxLineCount from the wrong position, causing "ghost lines".
372
- */
373
- private renderInlineOverlay;
374
- /**
375
- * Process overlay action returned by handleKey.
376
- */
377
- private processOverlayAction;
285
+ requestOverlayRender(): void;
378
286
  getQueuedInputs(): string[];
379
287
  popQueuedInput(): string | null;
380
288
  hasQueuedInput(): boolean;
@@ -420,44 +328,4 @@ export declare class TerminalUI extends EventEmitter {
420
328
  * @deprecated Use print() or output() instead
421
329
  */
422
330
  forceRender(): void;
423
- private clear;
424
- private render;
425
- private buildSpinnerLine;
426
- private buildTodoLine;
427
- private buildModeLine;
428
- private buildAutocompleteLines;
429
- private buildFileAutocompleteLines;
430
- private updateAutocomplete;
431
- private acceptAutocomplete;
432
- private closeAutocomplete;
433
- private navigateAutocompleteUp;
434
- private navigateAutocompleteDown;
435
- private addToHistory;
436
- private navigateHistoryUp;
437
- private navigateHistoryDown;
438
- private resetHistoryNavigation;
439
- private startSpinnerAnimation;
440
- private stopSpinnerAnimation;
441
- private keyHandler;
442
- private dataHandler;
443
- private startKeyboardCapture;
444
- private stopKeyboardCapture;
445
- /**
446
- * Handle word left (Option+Left) - move cursor to previous word boundary
447
- */
448
- private handleWordLeft;
449
- /**
450
- * Handle word right (Option+Right) - move cursor to next word boundary
451
- */
452
- private handleWordRight;
453
- /**
454
- * Handle Escape key - called from raw data handler for reliable detection
455
- */
456
- private handleEscape;
457
- /**
458
- * Handle keypress when overlay is active.
459
- * Converts keyboard event to KeyEvent and routes to overlay.
460
- */
461
- private handleOverlayKeypress;
462
- private handleKeypress;
463
331
  }