@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
@@ -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
  }