@compilr-dev/cli 0.4.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 (634) hide show
  1. package/README.md +254 -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 +134 -4
  7. package/dist/agent.js +345 -166
  8. package/dist/anchors/index.d.ts +9 -0
  9. package/dist/anchors/index.js +9 -0
  10. package/dist/anchors/project-anchors.d.ts +79 -0
  11. package/dist/anchors/project-anchors.js +202 -0
  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/index.d.ts +2 -1
  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.d.ts +13 -0
  28. package/dist/commands-v2/handlers/context.js +533 -0
  29. package/dist/commands-v2/handlers/core.d.ts +14 -0
  30. package/dist/commands-v2/handlers/core.js +290 -0
  31. package/dist/commands-v2/handlers/debug.d.ts +11 -0
  32. package/dist/commands-v2/handlers/debug.js +177 -0
  33. package/dist/commands-v2/handlers/delegations.d.ts +8 -0
  34. package/dist/commands-v2/handlers/delegations.js +29 -0
  35. package/dist/commands-v2/handlers/files.d.ts +8 -0
  36. package/dist/commands-v2/handlers/files.js +162 -0
  37. package/dist/commands-v2/handlers/filter.d.ts +9 -0
  38. package/dist/commands-v2/handlers/filter.js +130 -0
  39. package/dist/commands-v2/handlers/games.d.ts +7 -0
  40. package/dist/commands-v2/handlers/games.js +57 -0
  41. package/dist/commands-v2/handlers/index.d.ts +25 -0
  42. package/dist/commands-v2/handlers/index.js +63 -0
  43. package/dist/commands-v2/handlers/mcp.d.ts +8 -0
  44. package/dist/commands-v2/handlers/mcp.js +39 -0
  45. package/dist/commands-v2/handlers/notifications.d.ts +9 -0
  46. package/dist/commands-v2/handlers/notifications.js +34 -0
  47. package/dist/commands-v2/handlers/project.d.ts +22 -0
  48. package/dist/commands-v2/handlers/project.js +1035 -0
  49. package/dist/commands-v2/handlers/reset.d.ts +11 -0
  50. package/dist/commands-v2/handlers/reset.js +118 -0
  51. package/dist/commands-v2/handlers/session.d.ts +161 -0
  52. package/dist/commands-v2/handlers/session.js +805 -0
  53. package/dist/commands-v2/handlers/settings.d.ts +17 -0
  54. package/dist/commands-v2/handlers/settings.js +417 -0
  55. package/dist/commands-v2/handlers/tasks.d.ts +5 -0
  56. package/dist/commands-v2/handlers/tasks.js +36 -0
  57. package/dist/commands-v2/handlers/team.d.ts +9 -0
  58. package/dist/commands-v2/handlers/team.js +549 -0
  59. package/dist/commands-v2/handlers/terminals.d.ts +9 -0
  60. package/dist/commands-v2/handlers/terminals.js +34 -0
  61. package/dist/commands-v2/index.d.ts +14 -0
  62. package/dist/commands-v2/index.js +18 -0
  63. package/dist/commands-v2/registry.d.ts +52 -0
  64. package/dist/commands-v2/registry.js +114 -0
  65. package/dist/commands-v2/types.d.ts +153 -0
  66. package/dist/commands-v2/types.js +7 -0
  67. package/dist/commands.js +123 -7
  68. package/dist/compilr-diff-companion.vsix +0 -0
  69. package/dist/db/index.js +98 -4
  70. package/dist/db/repositories/document-repository.d.ts +2 -0
  71. package/dist/db/repositories/document-repository.js +5 -1
  72. package/dist/db/repositories/index.d.ts +2 -0
  73. package/dist/db/repositories/index.js +1 -0
  74. package/dist/db/repositories/plan-repository.d.ts +101 -0
  75. package/dist/db/repositories/plan-repository.js +275 -0
  76. package/dist/db/repositories/project-repository.d.ts +6 -0
  77. package/dist/db/repositories/project-repository.js +41 -0
  78. package/dist/db/repositories/work-item-repository.d.ts +15 -0
  79. package/dist/db/repositories/work-item-repository.js +69 -4
  80. package/dist/db/schema.d.ts +40 -3
  81. package/dist/db/schema.js +66 -3
  82. package/dist/episodes/index.d.ts +20 -0
  83. package/dist/episodes/index.js +27 -0
  84. package/dist/episodes/recorder.d.ts +51 -0
  85. package/dist/episodes/recorder.js +195 -0
  86. package/dist/episodes/significant-work.d.ts +21 -0
  87. package/dist/episodes/significant-work.js +56 -0
  88. package/dist/episodes/store.d.ts +38 -0
  89. package/dist/episodes/store.js +199 -0
  90. package/dist/episodes/types.d.ts +35 -0
  91. package/dist/episodes/types.js +6 -0
  92. package/dist/episodes/work-at-risk.d.ts +12 -0
  93. package/dist/episodes/work-at-risk.js +38 -0
  94. package/dist/episodes/work-summary-anchor.d.ts +23 -0
  95. package/dist/episodes/work-summary-anchor.js +73 -0
  96. package/dist/games/coins.d.ts +66 -0
  97. package/dist/games/coins.js +165 -0
  98. package/dist/games/game-base.d.ts +84 -0
  99. package/dist/games/game-base.js +204 -0
  100. package/dist/games/index.d.ts +16 -0
  101. package/dist/games/index.js +49 -0
  102. package/dist/games/scores.d.ts +69 -0
  103. package/dist/games/scores.js +191 -0
  104. package/dist/games/tetris/board.d.ts +59 -0
  105. package/dist/games/tetris/board.js +170 -0
  106. package/dist/games/tetris/index.d.ts +109 -0
  107. package/dist/games/tetris/index.js +610 -0
  108. package/dist/games/tetris/pieces.d.ts +44 -0
  109. package/dist/games/tetris/pieces.js +271 -0
  110. package/dist/games/tetris/renderer.d.ts +26 -0
  111. package/dist/games/tetris/renderer.js +77 -0
  112. package/dist/guide/guide-content.d.ts +23 -0
  113. package/dist/guide/guide-content.js +196 -0
  114. package/dist/guide/index.d.ts +8 -0
  115. package/dist/guide/index.js +7 -0
  116. package/dist/guide/shared-content.d.ts +37 -0
  117. package/dist/guide/shared-content.js +1272 -0
  118. package/dist/guide/tutorial-helpers.d.ts +57 -0
  119. package/dist/guide/tutorial-helpers.js +147 -0
  120. package/dist/handlers/ask-user-handlers.d.ts +32 -0
  121. package/dist/handlers/ask-user-handlers.js +104 -0
  122. package/dist/handlers/delegation-handlers.d.ts +34 -0
  123. package/dist/handlers/delegation-handlers.js +291 -0
  124. package/dist/handlers/permission-handler.d.ts +30 -0
  125. package/dist/handlers/permission-handler.js +205 -0
  126. package/dist/index.d.ts +11 -1
  127. package/dist/index.js +615 -179
  128. package/dist/input-handlers/index.d.ts +7 -0
  129. package/dist/input-handlers/index.js +7 -0
  130. package/dist/input-handlers/memory-handler.d.ts +26 -0
  131. package/dist/input-handlers/memory-handler.js +69 -0
  132. package/dist/models/index.d.ts +10 -0
  133. package/dist/models/index.js +12 -0
  134. package/dist/models/model-registry.d.ts +38 -0
  135. package/dist/models/model-registry.js +69 -0
  136. package/dist/models/model-tiers.d.ts +28 -0
  137. package/dist/models/model-tiers.js +71 -0
  138. package/dist/models/model-validation.d.ts +25 -0
  139. package/dist/models/model-validation.js +291 -0
  140. package/dist/models/ollama-models.d.ts +73 -0
  141. package/dist/models/ollama-models.js +178 -0
  142. package/dist/models/provider-types.d.ts +6 -0
  143. package/dist/models/provider-types.js +1 -0
  144. package/dist/models/providers.d.ts +35 -0
  145. package/dist/models/providers.js +58 -0
  146. package/dist/models/types.d.ts +4 -0
  147. package/dist/models/types.js +4 -0
  148. package/dist/multi-agent/activity.d.ts +21 -0
  149. package/dist/multi-agent/activity.js +34 -0
  150. package/dist/multi-agent/agent-selection.d.ts +55 -0
  151. package/dist/multi-agent/agent-selection.js +90 -0
  152. package/dist/multi-agent/artifacts.d.ts +197 -0
  153. package/dist/multi-agent/artifacts.js +379 -0
  154. package/dist/multi-agent/checkpointer.d.ts +138 -0
  155. package/dist/multi-agent/checkpointer.js +471 -0
  156. package/dist/multi-agent/collision-utils.d.ts +16 -0
  157. package/dist/multi-agent/collision-utils.js +28 -0
  158. package/dist/multi-agent/context-resolver.d.ts +97 -0
  159. package/dist/multi-agent/context-resolver.js +316 -0
  160. package/dist/multi-agent/custom-agents.d.ts +83 -0
  161. package/dist/multi-agent/custom-agents.js +227 -0
  162. package/dist/multi-agent/delegation-tracker.d.ts +157 -0
  163. package/dist/multi-agent/delegation-tracker.js +243 -0
  164. package/dist/multi-agent/file-lock-hook.d.ts +29 -0
  165. package/dist/multi-agent/file-lock-hook.js +97 -0
  166. package/dist/multi-agent/file-locks.d.ts +58 -0
  167. package/dist/multi-agent/file-locks.js +194 -0
  168. package/dist/multi-agent/index.d.ts +24 -0
  169. package/dist/multi-agent/index.js +30 -0
  170. package/dist/multi-agent/mention-parser.d.ts +64 -0
  171. package/dist/multi-agent/mention-parser.js +146 -0
  172. package/dist/multi-agent/notification-manager.d.ts +84 -0
  173. package/dist/multi-agent/notification-manager.js +224 -0
  174. package/dist/multi-agent/pending-requests.d.ts +122 -0
  175. package/dist/multi-agent/pending-requests.js +155 -0
  176. package/dist/multi-agent/session-registry.d.ts +139 -0
  177. package/dist/multi-agent/session-registry.js +514 -0
  178. package/dist/multi-agent/shared-context.d.ts +293 -0
  179. package/dist/multi-agent/shared-context.js +671 -0
  180. package/dist/multi-agent/skill-requirements.d.ts +66 -0
  181. package/dist/multi-agent/skill-requirements.js +178 -0
  182. package/dist/multi-agent/task-assignment.d.ts +69 -0
  183. package/dist/multi-agent/task-assignment.js +123 -0
  184. package/dist/multi-agent/task-suggestion.d.ts +31 -0
  185. package/dist/multi-agent/task-suggestion.js +72 -0
  186. package/dist/multi-agent/team-agent.d.ts +201 -0
  187. package/dist/multi-agent/team-agent.js +488 -0
  188. package/dist/multi-agent/team.d.ts +286 -0
  189. package/dist/multi-agent/team.js +610 -0
  190. package/dist/multi-agent/tool-config.d.ts +110 -0
  191. package/dist/multi-agent/tool-config.js +661 -0
  192. package/dist/multi-agent/types.d.ts +211 -0
  193. package/dist/multi-agent/types.js +617 -0
  194. package/dist/prompts/plan-mode-prompt.d.ts +11 -0
  195. package/dist/prompts/plan-mode-prompt.js +95 -0
  196. package/dist/repl-helpers.d.ts +63 -0
  197. package/dist/repl-helpers.js +319 -0
  198. package/dist/repl-v2.d.ts +554 -0
  199. package/dist/repl-v2.js +3286 -0
  200. package/dist/session/index.d.ts +6 -0
  201. package/dist/session/index.js +6 -0
  202. package/dist/session/project-session-manager.d.ts +158 -0
  203. package/dist/session/project-session-manager.js +650 -0
  204. package/dist/settings/index.d.ts +156 -13
  205. package/dist/settings/index.js +377 -24
  206. package/dist/settings/mcp-config.d.ts +76 -0
  207. package/dist/settings/mcp-config.js +143 -0
  208. package/dist/settings/paths.d.ts +114 -0
  209. package/dist/settings/paths.js +270 -0
  210. package/dist/shared-handlers.d.ts +62 -0
  211. package/dist/shared-handlers.js +48 -0
  212. package/dist/system-prompt/builder.d.ts +5 -0
  213. package/dist/system-prompt/builder.js +4 -0
  214. package/dist/system-prompt/index.d.ts +18 -0
  215. package/dist/system-prompt/index.js +18 -0
  216. package/dist/system-prompt/modules.d.ts +5 -0
  217. package/dist/system-prompt/modules.js +4 -0
  218. package/dist/tabbed-menu.js +2 -1
  219. package/dist/templates/compilr-md-import.d.ts +16 -0
  220. package/dist/templates/compilr-md-import.js +241 -0
  221. package/dist/templates/compilr-md.js +10 -58
  222. package/dist/templates/config-json.d.ts +1 -25
  223. package/dist/templates/index.d.ts +2 -0
  224. package/dist/templates/index.js +35 -75
  225. package/dist/themes/colors.js +3 -1
  226. package/dist/themes/registry.d.ts +5 -36
  227. package/dist/themes/registry.js +11 -95
  228. package/dist/themes/types.d.ts +3 -38
  229. package/dist/themes/types.js +2 -2
  230. package/dist/tool-names.d.ts +108 -0
  231. package/dist/tool-names.js +227 -0
  232. package/dist/tools/anchor-tools.d.ts +31 -0
  233. package/dist/tools/anchor-tools.js +255 -0
  234. package/dist/tools/artifact-tools.d.ts +42 -0
  235. package/dist/tools/artifact-tools.js +328 -0
  236. package/dist/tools/ask-user-simple.d.ts +1 -1
  237. package/dist/tools/ask-user-simple.js +2 -1
  238. package/dist/tools/ask-user.d.ts +1 -1
  239. package/dist/tools/ask-user.js +2 -1
  240. package/dist/tools/backlog-wrappers.d.ts +56 -0
  241. package/dist/tools/backlog-wrappers.js +353 -0
  242. package/dist/tools/backlog.d.ts +2 -2
  243. package/dist/tools/backlog.js +2 -2
  244. package/dist/tools/db-tools.d.ts +12 -0
  245. package/dist/tools/db-tools.js +14 -0
  246. package/dist/tools/delegate-background.d.ts +27 -0
  247. package/dist/tools/delegate-background.js +115 -0
  248. package/dist/tools/delegate.d.ts +22 -0
  249. package/dist/tools/delegate.js +97 -0
  250. package/dist/tools/delegation-status.d.ts +16 -0
  251. package/dist/tools/delegation-status.js +128 -0
  252. package/dist/tools/document-db.d.ts +43 -0
  253. package/dist/tools/document-db.js +220 -0
  254. package/dist/tools/guide-tool.d.ts +12 -0
  255. package/dist/tools/guide-tool.js +59 -0
  256. package/dist/tools/handoff.d.ts +25 -0
  257. package/dist/tools/handoff.js +99 -0
  258. package/dist/tools/meta-tools.d.ts +26 -0
  259. package/dist/tools/meta-tools.js +47 -0
  260. package/dist/tools/plan-tools.d.ts +54 -0
  261. package/dist/tools/plan-tools.js +338 -0
  262. package/dist/tools/platform-adapter.d.ts +29 -0
  263. package/dist/tools/platform-adapter.js +394 -0
  264. package/dist/tools/project-db.d.ts +34 -0
  265. package/dist/tools/project-db.js +39 -0
  266. package/dist/tools/recall-work-tool.d.ts +18 -0
  267. package/dist/tools/recall-work-tool.js +82 -0
  268. package/dist/tools/workitem-db.d.ts +135 -0
  269. package/dist/tools/workitem-db.js +730 -0
  270. package/dist/tools.d.ts +67 -2
  271. package/dist/tools.js +238 -38
  272. package/dist/ui/ask-user-overlay.d.ts +2 -2
  273. package/dist/ui/ask-user-overlay.js +443 -535
  274. package/dist/ui/ask-user-simple-overlay.d.ts +2 -2
  275. package/dist/ui/ask-user-simple-overlay.js +182 -209
  276. package/dist/ui/autocomplete-controller.d.ts +42 -0
  277. package/dist/ui/autocomplete-controller.js +384 -0
  278. package/dist/ui/base/index.d.ts +26 -0
  279. package/dist/ui/base/index.js +33 -0
  280. package/dist/ui/base/inline-overlay-utils.d.ts +217 -0
  281. package/dist/ui/base/inline-overlay-utils.js +320 -0
  282. package/dist/ui/base/inline-overlay.d.ts +159 -0
  283. package/dist/ui/base/inline-overlay.js +257 -0
  284. package/dist/ui/base/key-utils.d.ts +15 -0
  285. package/dist/ui/base/key-utils.js +30 -0
  286. package/dist/ui/base/overlay-base-v2.d.ts +203 -0
  287. package/dist/ui/base/overlay-base-v2.js +260 -0
  288. package/dist/ui/base/overlay-base.d.ts +156 -0
  289. package/dist/ui/base/overlay-base.js +238 -0
  290. package/dist/ui/base/overlay-lifecycle.d.ts +65 -0
  291. package/dist/ui/base/overlay-lifecycle.js +159 -0
  292. package/dist/ui/base/overlay-types.d.ts +185 -0
  293. package/dist/ui/base/overlay-types.js +7 -0
  294. package/dist/ui/base/render-utils.d.ts +27 -0
  295. package/dist/ui/base/render-utils.js +36 -0
  296. package/dist/ui/base/screen-stack.d.ts +148 -0
  297. package/dist/ui/base/screen-stack.js +184 -0
  298. package/dist/ui/base/tabbed-list-overlay-v2.d.ts +118 -0
  299. package/dist/ui/base/tabbed-list-overlay-v2.js +335 -0
  300. package/dist/ui/base/tabbed-list-overlay.d.ts +153 -0
  301. package/dist/ui/base/tabbed-list-overlay.js +369 -0
  302. package/dist/ui/constants/labels.d.ts +14 -0
  303. package/dist/ui/constants/labels.js +51 -0
  304. package/dist/ui/conversation-store.d.ts +55 -0
  305. package/dist/ui/conversation-store.js +107 -0
  306. package/dist/ui/conversation.d.ts +75 -4
  307. package/dist/ui/conversation.js +376 -165
  308. package/dist/ui/diff.d.ts +7 -1
  309. package/dist/ui/diff.js +85 -48
  310. package/dist/ui/ephemeral.d.ts +1 -1
  311. package/dist/ui/ephemeral.js +4 -10
  312. package/dist/ui/features/index.d.ts +34 -0
  313. package/dist/ui/features/index.js +34 -0
  314. package/dist/ui/features/input-feature.d.ts +85 -0
  315. package/dist/ui/features/input-feature.js +238 -0
  316. package/dist/ui/features/list-feature.d.ts +155 -0
  317. package/dist/ui/features/list-feature.js +244 -0
  318. package/dist/ui/features/pagination-feature.d.ts +154 -0
  319. package/dist/ui/features/pagination-feature.js +238 -0
  320. package/dist/ui/features/search-feature.d.ts +148 -0
  321. package/dist/ui/features/search-feature.js +185 -0
  322. package/dist/ui/features/tab-feature.d.ts +194 -0
  323. package/dist/ui/features/tab-feature.js +307 -0
  324. package/dist/ui/file-autocomplete.d.ts +24 -0
  325. package/dist/ui/file-autocomplete.js +56 -0
  326. package/dist/ui/footer-renderer.d.ts +69 -0
  327. package/dist/ui/footer-renderer.js +431 -0
  328. package/dist/ui/footer.d.ts +181 -7
  329. package/dist/ui/footer.js +523 -74
  330. package/dist/ui/guardrail-overlay.d.ts +29 -0
  331. package/dist/ui/guardrail-overlay.js +145 -0
  332. package/dist/ui/index.d.ts +1 -1
  333. package/dist/ui/index.js +1 -3
  334. package/dist/ui/input-controller.d.ts +51 -0
  335. package/dist/ui/input-controller.js +176 -0
  336. package/dist/ui/input-prompt.d.ts +135 -33
  337. package/dist/ui/input-prompt.js +728 -337
  338. package/dist/ui/iteration-limit-overlay.d.ts +2 -2
  339. package/dist/ui/iteration-limit-overlay.js +92 -128
  340. package/dist/ui/keyboard-handler.d.ts +57 -0
  341. package/dist/ui/keyboard-handler.js +557 -0
  342. package/dist/ui/keys-overlay.d.ts +1 -0
  343. package/dist/ui/keys-overlay.js +203 -141
  344. package/dist/ui/line-utils.d.ts +88 -0
  345. package/dist/ui/line-utils.js +150 -0
  346. package/dist/ui/live-region-facade.d.ts +42 -0
  347. package/dist/ui/live-region-facade.js +205 -0
  348. package/dist/ui/live-region.d.ts +157 -0
  349. package/dist/ui/live-region.js +379 -0
  350. package/dist/ui/mascot/expressions.d.ts +32 -0
  351. package/dist/ui/mascot/expressions.js +213 -0
  352. package/dist/ui/mascot/index.d.ts +8 -0
  353. package/dist/ui/mascot/index.js +8 -0
  354. package/dist/ui/mascot/renderer.d.ts +19 -0
  355. package/dist/ui/mascot/renderer.js +132 -0
  356. package/dist/ui/overlay/data/tutorial-content.d.ts +9 -0
  357. package/dist/ui/overlay/data/tutorial-content.js +9 -0
  358. package/dist/ui/overlay/data/tutorial-registry.d.ts +12 -0
  359. package/dist/ui/overlay/data/tutorial-registry.js +116 -0
  360. package/dist/ui/overlay/data/tutorial-types.d.ts +35 -0
  361. package/dist/ui/overlay/data/tutorial-types.js +6 -0
  362. package/dist/ui/overlay/data/tutorials/basics/first-conversation.d.ts +7 -0
  363. package/dist/ui/overlay/data/tutorials/basics/first-conversation.js +220 -0
  364. package/dist/ui/overlay/data/tutorials/basics/first-project.d.ts +7 -0
  365. package/dist/ui/overlay/data/tutorials/basics/first-project.js +284 -0
  366. package/dist/ui/overlay/data/tutorials/basics/navigation.d.ts +8 -0
  367. package/dist/ui/overlay/data/tutorials/basics/navigation.js +22 -0
  368. package/dist/ui/overlay/data/tutorials/basics/welcome.d.ts +7 -0
  369. package/dist/ui/overlay/data/tutorials/basics/welcome.js +174 -0
  370. package/dist/ui/overlay/data/tutorials/config/context-management.d.ts +7 -0
  371. package/dist/ui/overlay/data/tutorials/config/context-management.js +158 -0
  372. package/dist/ui/overlay/data/tutorials/config/mcp-servers.d.ts +8 -0
  373. package/dist/ui/overlay/data/tutorials/config/mcp-servers.js +155 -0
  374. package/dist/ui/overlay/data/tutorials/config/model-selection.d.ts +7 -0
  375. package/dist/ui/overlay/data/tutorials/config/model-selection.js +162 -0
  376. package/dist/ui/overlay/data/tutorials/config/permissions-safety.d.ts +7 -0
  377. package/dist/ui/overlay/data/tutorials/config/permissions-safety.js +163 -0
  378. package/dist/ui/overlay/data/tutorials/config/settings-config.d.ts +7 -0
  379. package/dist/ui/overlay/data/tutorials/config/settings-config.js +166 -0
  380. package/dist/ui/overlay/data/tutorials/planning/arch.d.ts +7 -0
  381. package/dist/ui/overlay/data/tutorials/planning/arch.js +168 -0
  382. package/dist/ui/overlay/data/tutorials/planning/backlog.d.ts +7 -0
  383. package/dist/ui/overlay/data/tutorials/planning/backlog.js +103 -0
  384. package/dist/ui/overlay/data/tutorials/planning/build.d.ts +7 -0
  385. package/dist/ui/overlay/data/tutorials/planning/build.js +173 -0
  386. package/dist/ui/overlay/data/tutorials/planning/design.d.ts +7 -0
  387. package/dist/ui/overlay/data/tutorials/planning/design.js +205 -0
  388. package/dist/ui/overlay/data/tutorials/planning/docs.d.ts +7 -0
  389. package/dist/ui/overlay/data/tutorials/planning/docs.js +143 -0
  390. package/dist/ui/overlay/data/tutorials/planning/prd.d.ts +7 -0
  391. package/dist/ui/overlay/data/tutorials/planning/prd.js +173 -0
  392. package/dist/ui/overlay/data/tutorials/planning/scaffold.d.ts +7 -0
  393. package/dist/ui/overlay/data/tutorials/planning/scaffold.js +164 -0
  394. package/dist/ui/overlay/data/tutorials/planning/sketch.d.ts +7 -0
  395. package/dist/ui/overlay/data/tutorials/planning/sketch.js +58 -0
  396. package/dist/ui/overlay/data/tutorials/projects/anchors.d.ts +7 -0
  397. package/dist/ui/overlay/data/tutorials/projects/anchors.js +248 -0
  398. package/dist/ui/overlay/data/tutorials/projects/import-project.d.ts +7 -0
  399. package/dist/ui/overlay/data/tutorials/projects/import-project.js +172 -0
  400. package/dist/ui/overlay/data/tutorials/projects/managing-projects.d.ts +8 -0
  401. package/dist/ui/overlay/data/tutorials/projects/managing-projects.js +212 -0
  402. package/dist/ui/overlay/data/tutorials/projects/new-project.d.ts +7 -0
  403. package/dist/ui/overlay/data/tutorials/projects/new-project.js +251 -0
  404. package/dist/ui/overlay/data/tutorials/projects/session-management.d.ts +7 -0
  405. package/dist/ui/overlay/data/tutorials/projects/session-management.js +169 -0
  406. package/dist/ui/overlay/data/tutorials/teams/background-execution.d.ts +7 -0
  407. package/dist/ui/overlay/data/tutorials/teams/background-execution.js +171 -0
  408. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.d.ts +8 -0
  409. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.js +147 -0
  410. package/dist/ui/overlay/data/tutorials/teams/task-assignment.d.ts +7 -0
  411. package/dist/ui/overlay/data/tutorials/teams/task-assignment.js +204 -0
  412. package/dist/ui/overlay/data/tutorials/teams/team-overview.d.ts +7 -0
  413. package/dist/ui/overlay/data/tutorials/teams/team-overview.js +165 -0
  414. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.d.ts +7 -0
  415. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.js +172 -0
  416. package/dist/ui/overlay/impl/agents-overlay-v2.d.ts +45 -0
  417. package/dist/ui/overlay/impl/agents-overlay-v2.js +814 -0
  418. package/dist/ui/overlay/impl/anchors-overlay-v2.d.ts +47 -0
  419. package/dist/ui/overlay/impl/anchors-overlay-v2.js +749 -0
  420. package/dist/ui/overlay/impl/arch-type-overlay-v2.d.ts +37 -0
  421. package/dist/ui/overlay/impl/arch-type-overlay-v2.js +240 -0
  422. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.d.ts +43 -0
  423. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.js +232 -0
  424. package/dist/ui/overlay/impl/artifact-overlay-v2.d.ts +40 -0
  425. package/dist/ui/overlay/impl/artifact-overlay-v2.js +115 -0
  426. package/dist/ui/overlay/impl/ask-user-overlay-v2.d.ts +72 -0
  427. package/dist/ui/overlay/impl/ask-user-overlay-v2.js +581 -0
  428. package/dist/ui/overlay/impl/ask-user-simple-overlay-v2.d.ts +46 -0
  429. package/dist/ui/overlay/impl/ask-user-simple-overlay-v2.js +204 -0
  430. package/dist/ui/overlay/impl/background-overlay-v2.d.ts +40 -0
  431. package/dist/ui/overlay/impl/background-overlay-v2.js +147 -0
  432. package/dist/ui/overlay/impl/backlog-overlay-v2.d.ts +52 -0
  433. package/dist/ui/overlay/impl/backlog-overlay-v2.js +681 -0
  434. package/dist/ui/overlay/impl/changelog-overlay-v2.d.ts +44 -0
  435. package/dist/ui/overlay/impl/changelog-overlay-v2.js +165 -0
  436. package/dist/ui/overlay/impl/commands-overlay-v2.d.ts +33 -0
  437. package/dist/ui/overlay/impl/commands-overlay-v2.js +439 -0
  438. package/dist/ui/overlay/impl/config-overlay-v2.d.ts +111 -0
  439. package/dist/ui/overlay/impl/config-overlay-v2.js +718 -0
  440. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.d.ts +83 -0
  441. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.js +711 -0
  442. package/dist/ui/overlay/impl/dashboard-overlay-v2.d.ts +57 -0
  443. package/dist/ui/overlay/impl/dashboard-overlay-v2.js +382 -0
  444. package/dist/ui/overlay/impl/delegations-overlay-v2.d.ts +28 -0
  445. package/dist/ui/overlay/impl/delegations-overlay-v2.js +279 -0
  446. package/dist/ui/overlay/impl/docs-overlay-v2.d.ts +45 -0
  447. package/dist/ui/overlay/impl/docs-overlay-v2.js +117 -0
  448. package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +84 -0
  449. package/dist/ui/overlay/impl/document-detail-overlay-v2.js +1112 -0
  450. package/dist/ui/overlay/impl/filter-overlay-v2.d.ts +41 -0
  451. package/dist/ui/overlay/impl/filter-overlay-v2.js +110 -0
  452. package/dist/ui/overlay/impl/games-overlay-v2.d.ts +31 -0
  453. package/dist/ui/overlay/impl/games-overlay-v2.js +135 -0
  454. package/dist/ui/overlay/impl/guardrail-overlay-v2.d.ts +43 -0
  455. package/dist/ui/overlay/impl/guardrail-overlay-v2.js +114 -0
  456. package/dist/ui/overlay/impl/help-overlay-v2.d.ts +57 -0
  457. package/dist/ui/overlay/impl/help-overlay-v2.js +287 -0
  458. package/dist/ui/overlay/impl/init-setup-overlay-v2.d.ts +25 -0
  459. package/dist/ui/overlay/impl/init-setup-overlay-v2.js +97 -0
  460. package/dist/ui/overlay/impl/iteration-limit-overlay-v2.d.ts +35 -0
  461. package/dist/ui/overlay/impl/iteration-limit-overlay-v2.js +105 -0
  462. package/dist/ui/overlay/impl/keys-overlay-v2.d.ts +41 -0
  463. package/dist/ui/overlay/impl/keys-overlay-v2.js +248 -0
  464. package/dist/ui/overlay/impl/login-overlay-v2.d.ts +49 -0
  465. package/dist/ui/overlay/impl/login-overlay-v2.js +277 -0
  466. package/dist/ui/overlay/impl/mascot-overlay-v2.d.ts +41 -0
  467. package/dist/ui/overlay/impl/mascot-overlay-v2.js +138 -0
  468. package/dist/ui/overlay/impl/mcp-overlay-v2.d.ts +63 -0
  469. package/dist/ui/overlay/impl/mcp-overlay-v2.js +907 -0
  470. package/dist/ui/overlay/impl/model-overlay-v2.d.ts +93 -0
  471. package/dist/ui/overlay/impl/model-overlay-v2.js +1143 -0
  472. package/dist/ui/overlay/impl/model-warning-overlay-v2.d.ts +46 -0
  473. package/dist/ui/overlay/impl/model-warning-overlay-v2.js +132 -0
  474. package/dist/ui/overlay/impl/new-overlay-v2.d.ts +108 -0
  475. package/dist/ui/overlay/impl/new-overlay-v2.js +1243 -0
  476. package/dist/ui/overlay/impl/notifications-overlay-v2.d.ts +20 -0
  477. package/dist/ui/overlay/impl/notifications-overlay-v2.js +116 -0
  478. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.d.ts +76 -0
  479. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.js +728 -0
  480. package/dist/ui/overlay/impl/pending-overlay-v2.d.ts +51 -0
  481. package/dist/ui/overlay/impl/pending-overlay-v2.js +445 -0
  482. package/dist/ui/overlay/impl/permission-overlay-v2.d.ts +36 -0
  483. package/dist/ui/overlay/impl/permission-overlay-v2.js +380 -0
  484. package/dist/ui/overlay/impl/permissions-overlay-v2.d.ts +85 -0
  485. package/dist/ui/overlay/impl/permissions-overlay-v2.js +820 -0
  486. package/dist/ui/overlay/impl/plan-approval-overlay-v2.d.ts +35 -0
  487. package/dist/ui/overlay/impl/plan-approval-overlay-v2.js +181 -0
  488. package/dist/ui/overlay/impl/project-edit-overlay-v2.d.ts +36 -0
  489. package/dist/ui/overlay/impl/project-edit-overlay-v2.js +195 -0
  490. package/dist/ui/overlay/impl/projects-overlay-v2.d.ts +37 -0
  491. package/dist/ui/overlay/impl/projects-overlay-v2.js +733 -0
  492. package/dist/ui/overlay/impl/reset-overlay-v2.d.ts +39 -0
  493. package/dist/ui/overlay/impl/reset-overlay-v2.js +107 -0
  494. package/dist/ui/overlay/impl/resume-overlay-v2.d.ts +60 -0
  495. package/dist/ui/overlay/impl/resume-overlay-v2.js +414 -0
  496. package/dist/ui/overlay/impl/session-mode-overlay-v2.d.ts +43 -0
  497. package/dist/ui/overlay/impl/session-mode-overlay-v2.js +124 -0
  498. package/dist/ui/overlay/impl/tasks-overlay-v2.d.ts +28 -0
  499. package/dist/ui/overlay/impl/tasks-overlay-v2.js +283 -0
  500. package/dist/ui/overlay/impl/team-overlay-v2.d.ts +86 -0
  501. package/dist/ui/overlay/impl/team-overlay-v2.js +692 -0
  502. package/dist/ui/overlay/impl/terminals-overlay-v2.d.ts +26 -0
  503. package/dist/ui/overlay/impl/terminals-overlay-v2.js +217 -0
  504. package/dist/ui/overlay/impl/theme-overlay-v2.d.ts +42 -0
  505. package/dist/ui/overlay/impl/theme-overlay-v2.js +135 -0
  506. package/dist/ui/overlay/impl/tools-overlay-v2.d.ts +47 -0
  507. package/dist/ui/overlay/impl/tools-overlay-v2.js +214 -0
  508. package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +45 -0
  509. package/dist/ui/overlay/impl/tutorial-overlay-v2.js +212 -0
  510. package/dist/ui/overlay/impl/workflow-overlay-v2.d.ts +80 -0
  511. package/dist/ui/overlay/impl/workflow-overlay-v2.js +641 -0
  512. package/dist/ui/overlay/index.d.ts +52 -0
  513. package/dist/ui/overlay/index.js +54 -0
  514. package/dist/ui/overlay/key-utils.d.ts +6 -0
  515. package/dist/ui/overlay/key-utils.js +6 -0
  516. package/dist/ui/overlay/types.d.ts +140 -0
  517. package/dist/ui/overlay/types.js +22 -0
  518. package/dist/ui/overlay-manager.d.ts +43 -0
  519. package/dist/ui/overlay-manager.js +238 -0
  520. package/dist/ui/overlays.d.ts +0 -4
  521. package/dist/ui/overlays.js +4 -460
  522. package/dist/ui/permission-overlay.d.ts +1 -1
  523. package/dist/ui/permission-overlay.js +189 -300
  524. package/dist/ui/providers/types.d.ts +178 -0
  525. package/dist/ui/providers/types.js +9 -0
  526. package/dist/ui/render-modes.d.ts +36 -0
  527. package/dist/ui/render-modes.js +44 -0
  528. package/dist/ui/startup-menu.d.ts +36 -0
  529. package/dist/ui/startup-menu.js +236 -0
  530. package/dist/ui/status-bar-controller.d.ts +33 -0
  531. package/dist/ui/status-bar-controller.js +99 -0
  532. package/dist/ui/subagent-renderer.d.ts +117 -0
  533. package/dist/ui/subagent-renderer.js +318 -0
  534. package/dist/ui/terminal-autocomplete-utils.d.ts +23 -0
  535. package/dist/ui/terminal-autocomplete-utils.js +83 -0
  536. package/dist/ui/terminal-codes.d.ts +94 -0
  537. package/dist/ui/terminal-codes.js +124 -0
  538. package/dist/ui/terminal-line-builders.d.ts +17 -0
  539. package/dist/ui/terminal-line-builders.js +42 -0
  540. package/dist/ui/terminal-render-item.d.ts +16 -0
  541. package/dist/ui/terminal-render-item.js +267 -0
  542. package/dist/ui/terminal-renderer.d.ts +220 -0
  543. package/dist/ui/terminal-renderer.js +750 -0
  544. package/dist/ui/terminal-types.d.ts +179 -0
  545. package/dist/ui/terminal-types.js +34 -0
  546. package/dist/ui/terminal-ui.d.ts +331 -0
  547. package/dist/ui/terminal-ui.js +819 -0
  548. package/dist/ui/terminal.d.ts +20 -0
  549. package/dist/ui/terminal.js +72 -0
  550. package/dist/ui/todo-zone.d.ts +19 -1
  551. package/dist/ui/todo-zone.js +124 -38
  552. package/dist/ui/tool-formatters.d.ts +16 -0
  553. package/dist/ui/tool-formatters.js +1027 -0
  554. package/dist/ui/turn-metrics.d.ts +56 -0
  555. package/dist/ui/turn-metrics.js +75 -0
  556. package/dist/ui/types.d.ts +28 -0
  557. package/dist/ui/types.js +1 -0
  558. package/dist/ui/vscode-diff-ipc.d.ts +102 -0
  559. package/dist/ui/vscode-diff-ipc.js +385 -0
  560. package/dist/utils/credentials.d.ts +24 -5
  561. package/dist/utils/credentials.js +123 -9
  562. package/dist/utils/debug-log.d.ts +28 -0
  563. package/dist/utils/debug-log.js +57 -0
  564. package/dist/utils/format-tokens.d.ts +13 -0
  565. package/dist/utils/format-tokens.js +18 -0
  566. package/dist/utils/git-config.d.ts +26 -0
  567. package/dist/utils/git-config.js +54 -0
  568. package/dist/utils/message-utils.d.ts +61 -0
  569. package/dist/utils/message-utils.js +72 -0
  570. package/dist/utils/model-tiers.d.ts +8 -1
  571. package/dist/utils/model-tiers.js +39 -17
  572. package/dist/utils/open-browser.d.ts +5 -0
  573. package/dist/utils/open-browser.js +32 -0
  574. package/dist/utils/path-safety.d.ts +56 -0
  575. package/dist/utils/path-safety.js +240 -0
  576. package/dist/utils/project-detection.d.ts +58 -0
  577. package/dist/utils/project-detection.js +424 -0
  578. package/dist/utils/project-memory.js +2 -1
  579. package/dist/utils/project-status.d.ts +2 -2
  580. package/dist/utils/startup-perf.d.ts +18 -0
  581. package/dist/utils/startup-perf.js +60 -0
  582. package/dist/utils/token-tracker.d.ts +62 -0
  583. package/dist/utils/token-tracker.js +150 -0
  584. package/dist/utils/token-types.d.ts +23 -0
  585. package/dist/utils/token-types.js +18 -0
  586. package/dist/utils/types/config-types.d.ts +32 -0
  587. package/dist/utils/types/config-types.js +8 -0
  588. package/dist/utils/update-checker.d.ts +28 -0
  589. package/dist/utils/update-checker.js +106 -0
  590. package/dist/utils/version.d.ts +7 -0
  591. package/dist/utils/version.js +10 -0
  592. package/dist/utils/vscode-detect.d.ts +39 -0
  593. package/dist/utils/vscode-detect.js +137 -0
  594. package/dist/workflow/guided-mode-injector.d.ts +42 -0
  595. package/dist/workflow/guided-mode-injector.js +191 -0
  596. package/dist/workflow/index.d.ts +8 -0
  597. package/dist/workflow/index.js +8 -0
  598. package/dist/workflow/step-criteria.d.ts +62 -0
  599. package/dist/workflow/step-criteria.js +150 -0
  600. package/dist/workflow/step-tracker.d.ts +92 -0
  601. package/dist/workflow/step-tracker.js +141 -0
  602. package/package.json +32 -12
  603. package/dist/index.old.d.ts +0 -7
  604. package/dist/index.old.js +0 -1014
  605. package/dist/repl.d.ts +0 -121
  606. package/dist/repl.js +0 -1878
  607. package/dist/templates/claude-md.d.ts +0 -7
  608. package/dist/templates/claude-md.js +0 -189
  609. package/dist/test-autocomplete.d.ts +0 -7
  610. package/dist/test-autocomplete.js +0 -85
  611. package/dist/test-tabbed-menu.d.ts +0 -7
  612. package/dist/test-tabbed-menu.js +0 -25
  613. package/dist/tool-selector.d.ts +0 -71
  614. package/dist/tool-selector.js +0 -184
  615. package/dist/ui/agents-overlay.d.ts +0 -12
  616. package/dist/ui/agents-overlay.js +0 -501
  617. package/dist/ui/arch-type-overlay.d.ts +0 -20
  618. package/dist/ui/arch-type-overlay.js +0 -229
  619. package/dist/ui/backlog-overlay.d.ts +0 -17
  620. package/dist/ui/backlog-overlay.js +0 -786
  621. package/dist/ui/commands-overlay.d.ts +0 -11
  622. package/dist/ui/commands-overlay.js +0 -410
  623. package/dist/ui/config-overlay.d.ts +0 -34
  624. package/dist/ui/config-overlay.js +0 -977
  625. package/dist/ui/init-overlay.d.ts +0 -24
  626. package/dist/ui/init-overlay.js +0 -525
  627. package/dist/ui/input-prompt-v2.d.ts +0 -179
  628. package/dist/ui/input-prompt-v2.js +0 -991
  629. package/dist/ui/model-warning-overlay.d.ts +0 -30
  630. package/dist/ui/model-warning-overlay.js +0 -171
  631. package/dist/ui/tools-overlay.d.ts +0 -26
  632. package/dist/ui/tools-overlay.js +0 -278
  633. package/dist/ui/tutorial-overlay.d.ts +0 -10
  634. package/dist/ui/tutorial-overlay.js +0 -936
@@ -0,0 +1,641 @@
1
+ /**
2
+ * Workflow Overlay V2
3
+ *
4
+ * Unified project dashboard with tabbed interface:
5
+ * [Actions] - Quick actions based on workflow state
6
+ * [Details] - Project metadata (read-only)
7
+ * [Dashboard] - Overview of project status (placeholder)
8
+ * [Manage] - Project management actions
9
+ *
10
+ * Access paths:
11
+ * /workflow - Opens workflow for active project
12
+ * /projects → Enter - Opens workflow for selected project
13
+ *
14
+ * Workflow phases:
15
+ * /new → /design|/sketch → /backlog → /build → /scaffold → done
16
+ */
17
+ import { BaseOverlayV2 } from '../../base/overlay-base-v2.js';
18
+ import { getCurrentProject, setCurrentProject, clearCurrentProject } from '../../../tools/project-db.js';
19
+ import { projectRepository, workItemRepository, documentRepository } from '../../../db/repositories/index.js';
20
+ import { BacklogOverlayV2 } from './backlog-overlay-v2.js';
21
+ import { DocsOverlayV2 } from './docs-overlay-v2.js';
22
+ import { AnchorsOverlayV2 } from './anchors-overlay-v2.js';
23
+ import { ProjectEditOverlayV2 } from './project-edit-overlay-v2.js';
24
+ // =============================================================================
25
+ // Constants
26
+ // =============================================================================
27
+ const PHASES = [
28
+ {
29
+ id: 'init',
30
+ name: 'Initialize',
31
+ command: '/new',
32
+ description: 'Create project structure',
33
+ isComplete: (project) => !!project,
34
+ isActive: (project) => !project,
35
+ },
36
+ {
37
+ id: 'design',
38
+ name: 'Design',
39
+ command: '/design',
40
+ description: 'Define requirements and PRD',
41
+ isComplete: (_project, stats) => stats.hasPrd,
42
+ isActive: (_project, stats) => !stats.hasPrd && stats.totalItems === 0,
43
+ },
44
+ {
45
+ id: 'backlog',
46
+ name: 'Backlog',
47
+ command: '/backlog',
48
+ description: 'Plan and prioritize work items',
49
+ isComplete: (_project, stats) => stats.totalItems >= 3,
50
+ isActive: (_project, stats) => stats.hasPrd && stats.totalItems < 3,
51
+ },
52
+ {
53
+ id: 'scaffold',
54
+ name: 'Scaffold',
55
+ command: '/scaffold',
56
+ description: 'Create project foundation',
57
+ isComplete: (_project, stats) => stats.hasScaffold,
58
+ isActive: (_project, stats) => stats.totalItems >= 3 && !stats.hasScaffold,
59
+ },
60
+ {
61
+ id: 'build',
62
+ name: 'Build',
63
+ command: '/build',
64
+ description: 'Implement backlog items',
65
+ isComplete: (_project, stats) => stats.completedItems >= stats.totalItems && stats.totalItems > 0,
66
+ isActive: (_project, stats) => stats.hasScaffold && stats.completedItems < stats.totalItems,
67
+ },
68
+ ];
69
+ const TABS = ['Actions', 'Details', 'Dashboard', 'Manage'];
70
+ const MAX_ACTIONS = 6;
71
+ // =============================================================================
72
+ // Helper Functions
73
+ // =============================================================================
74
+ function getProjectStats(project) {
75
+ const itemsResult = workItemRepository.query({
76
+ project_id: project.id,
77
+ limit: 1000,
78
+ });
79
+ const items = itemsResult.items;
80
+ const completedItems = items.filter(i => i.status === 'completed').length;
81
+ const inProgressItems = items.filter(i => i.status === 'in_progress').length;
82
+ const docs = documentRepository.listByProject(project.id);
83
+ const hasPrd = docs.some(d => d.docType === 'prd');
84
+ const hasArchDocs = docs.some(d => d.docType === 'architecture');
85
+ const hasScaffold = items.some(i => i.title.toLowerCase().includes('scaffold') && i.status === 'completed') || project.metadata?.scaffolded === true;
86
+ return {
87
+ totalItems: items.length,
88
+ completedItems,
89
+ inProgressItems,
90
+ hasPrd,
91
+ hasArchDocs,
92
+ hasScaffold,
93
+ };
94
+ }
95
+ function buildActionsItems(project, stats) {
96
+ const actions = [];
97
+ if (!project) {
98
+ actions.push({
99
+ label: 'Initialize Project',
100
+ command: '/new',
101
+ description: 'Create a new project',
102
+ enabled: true,
103
+ });
104
+ return actions;
105
+ }
106
+ if (!stats) {
107
+ return actions;
108
+ }
109
+ if (!stats.hasPrd) {
110
+ actions.push({
111
+ label: 'Design Project',
112
+ command: '/design',
113
+ description: 'Create PRD and requirements',
114
+ enabled: true,
115
+ });
116
+ actions.push({
117
+ label: 'Quick Sketch',
118
+ command: '/sketch',
119
+ description: 'Lightweight project outline',
120
+ enabled: true,
121
+ });
122
+ }
123
+ if (stats.hasPrd || stats.totalItems > 0) {
124
+ actions.push({
125
+ label: 'View Backlog',
126
+ command: '/backlog',
127
+ description: `${String(stats.totalItems)} items, ${String(stats.completedItems)} done`,
128
+ enabled: true,
129
+ });
130
+ }
131
+ if (stats.totalItems > 0 && !stats.hasScaffold) {
132
+ actions.push({
133
+ label: 'Scaffold Project',
134
+ command: '/scaffold',
135
+ description: 'Create project foundation',
136
+ enabled: true,
137
+ });
138
+ }
139
+ if (stats.hasScaffold && stats.totalItems > stats.completedItems) {
140
+ actions.push({
141
+ label: 'Build Next Item',
142
+ command: '/build',
143
+ description: `${String(stats.totalItems - stats.completedItems)} items remaining`,
144
+ enabled: true,
145
+ });
146
+ }
147
+ actions.push({
148
+ label: 'View Documents',
149
+ command: '/docs',
150
+ description: 'Browse project documents',
151
+ enabled: stats.hasPrd || stats.hasArchDocs,
152
+ });
153
+ actions.push({
154
+ label: 'View Anchors',
155
+ command: '/anchors',
156
+ description: 'Manage persistent context',
157
+ enabled: true,
158
+ });
159
+ return actions;
160
+ }
161
+ function buildManageActions(project) {
162
+ const actions = [];
163
+ if (!project) {
164
+ return actions;
165
+ }
166
+ actions.push({
167
+ id: 'edit',
168
+ label: 'Edit Project',
169
+ command: '',
170
+ description: 'Change name, description',
171
+ enabled: true,
172
+ style: 'normal',
173
+ });
174
+ const currentProject = getCurrentProject();
175
+ const isCurrentProject = currentProject?.id === project.id;
176
+ actions.push({
177
+ id: 'set-active',
178
+ label: 'Set as Current',
179
+ command: '',
180
+ description: isCurrentProject ? 'Already the current project' : 'Make this the current working project',
181
+ enabled: !isCurrentProject,
182
+ style: 'normal',
183
+ });
184
+ if (project.status === 'archived') {
185
+ actions.push({
186
+ id: 'restore',
187
+ label: 'Restore Project',
188
+ command: '',
189
+ description: 'Restore from archive',
190
+ enabled: true,
191
+ style: 'normal',
192
+ });
193
+ }
194
+ else {
195
+ actions.push({
196
+ id: 'archive',
197
+ label: 'Archive Project',
198
+ command: '',
199
+ description: 'Hide from active list',
200
+ enabled: true,
201
+ style: 'warning',
202
+ });
203
+ }
204
+ actions.push({
205
+ id: 'delete',
206
+ label: 'Delete Project',
207
+ command: '',
208
+ description: 'Permanently remove',
209
+ enabled: true,
210
+ style: 'danger',
211
+ });
212
+ return actions;
213
+ }
214
+ function formatRelativeTime(date) {
215
+ if (!date)
216
+ return 'never';
217
+ const now = new Date();
218
+ const diffMs = now.getTime() - date.getTime();
219
+ const diffMins = Math.floor(diffMs / 60000);
220
+ const diffHours = Math.floor(diffMs / 3600000);
221
+ const diffDays = Math.floor(diffMs / 86400000);
222
+ if (diffMins < 1)
223
+ return 'just now';
224
+ if (diffMins < 60)
225
+ return `${String(diffMins)}m ago`;
226
+ if (diffHours < 24)
227
+ return `${String(diffHours)}h ago`;
228
+ if (diffDays < 7)
229
+ return `${String(diffDays)}d ago`;
230
+ return date.toLocaleDateString();
231
+ }
232
+ function formatStatus(status, s) {
233
+ switch (status) {
234
+ case 'active':
235
+ return s.success('active');
236
+ case 'paused':
237
+ return s.warning('paused');
238
+ case 'completed':
239
+ return s.info('completed');
240
+ case 'archived':
241
+ return s.muted('archived');
242
+ default:
243
+ return s.muted(status);
244
+ }
245
+ }
246
+ // =============================================================================
247
+ // Workflow Overlay V2 Class
248
+ // =============================================================================
249
+ export class WorkflowOverlayV2 extends BaseOverlayV2 {
250
+ type = 'inline';
251
+ id = 'workflow-overlay-v2';
252
+ constructor(projectId) {
253
+ // Load project data
254
+ let project = null;
255
+ let stats = null;
256
+ if (projectId) {
257
+ try {
258
+ project = projectRepository.getById(projectId);
259
+ if (project) {
260
+ stats = getProjectStats(project);
261
+ }
262
+ }
263
+ catch {
264
+ // Project not found
265
+ }
266
+ }
267
+ else {
268
+ const activeProject = getCurrentProject();
269
+ if (activeProject) {
270
+ try {
271
+ project = projectRepository.getById(activeProject.id);
272
+ if (project) {
273
+ stats = getProjectStats(project);
274
+ }
275
+ }
276
+ catch {
277
+ // Project not found
278
+ }
279
+ }
280
+ }
281
+ super({
282
+ currentTab: 0,
283
+ project,
284
+ stats,
285
+ actionsIndex: 0,
286
+ manageActionIndex: 0,
287
+ actionsItems: buildActionsItems(project, stats),
288
+ manageActions: buildManageActions(project),
289
+ });
290
+ this.minHeight = 22;
291
+ }
292
+ renderContent(_context) {
293
+ const s = this.getStyles();
294
+ const lines = [];
295
+ // Header with project name
296
+ const projectName = this.state.project ? this.state.project.displayName : 'No Project';
297
+ lines.push(...this.renderHeader('Workflow', projectName));
298
+ // Tab bar
299
+ const tabBar = this.renderTabs(s);
300
+ const tabHint = s.muted('(Tab/←→ · 1-4)');
301
+ lines.push(` ${tabBar} ${tabHint}`);
302
+ lines.push('');
303
+ // Project info + Progress row
304
+ if (this.state.project && this.state.stats) {
305
+ const progress = this.state.stats.totalItems > 0
306
+ ? Math.round((this.state.stats.completedItems / this.state.stats.totalItems) * 100)
307
+ : 0;
308
+ const barWidth = 20;
309
+ const filledWidth = Math.round((progress / 100) * barWidth);
310
+ const bar = '█'.repeat(filledWidth) + '░'.repeat(barWidth - filledWidth);
311
+ const currentProject = getCurrentProject();
312
+ const isCurrentProject = currentProject?.id === this.state.project.id;
313
+ const currentIndicator = isCurrentProject ? ` ${s.success('★ Current')}` : '';
314
+ lines.push(` ${s.muted('Status:')} ${formatStatus(this.state.project.status, s)} ${s.muted('Mode:')} ${this.state.project.workflowMode}${currentIndicator}`);
315
+ lines.push(` ${s.muted('Progress:')} ${String(this.state.stats.completedItems)}/${String(this.state.stats.totalItems)} [${s.primary(bar)}] ${String(progress)}%`);
316
+ }
317
+ else {
318
+ lines.push(` ${s.warning('No current project')} ${s.muted('Run /new to create')}`);
319
+ lines.push('');
320
+ }
321
+ lines.push('');
322
+ // Workflow phases (horizontal)
323
+ lines.push(this.renderPhases(s));
324
+ lines.push('');
325
+ lines.push(this.renderBorder());
326
+ // Tab content
327
+ const tabId = TABS[this.state.currentTab];
328
+ switch (tabId) {
329
+ case 'Actions':
330
+ this.renderActionsTab(lines, s);
331
+ break;
332
+ case 'Details':
333
+ this.renderDetailsTab(lines, s);
334
+ break;
335
+ case 'Dashboard':
336
+ this.renderDashboardTab(lines, s);
337
+ break;
338
+ case 'Manage':
339
+ this.renderManageTab(lines, s);
340
+ break;
341
+ }
342
+ // Footer
343
+ lines.push(...this.renderFooter('↑↓/jk Navigate · ←→/hl Tabs · Enter Action · q/Esc Close'));
344
+ return lines;
345
+ }
346
+ renderTabs(s) {
347
+ return TABS.map((tab, i) => {
348
+ if (i === this.state.currentTab) {
349
+ return s.primaryBold(`[${tab}]`);
350
+ }
351
+ return s.muted(`[${tab}]`);
352
+ }).join(' ');
353
+ }
354
+ renderPhases(s) {
355
+ if (this.state.project && this.state.stats) {
356
+ let phaseLine = ' ';
357
+ for (const phase of PHASES) {
358
+ const isComplete = phase.isComplete(this.state.project, this.state.stats);
359
+ const isActive = phase.isActive(this.state.project, this.state.stats);
360
+ let icon;
361
+ let label;
362
+ if (isComplete) {
363
+ icon = s.success('✓');
364
+ label = s.muted(phase.name);
365
+ }
366
+ else if (isActive) {
367
+ icon = s.primary('►');
368
+ label = s.primary(phase.name);
369
+ }
370
+ else {
371
+ icon = s.muted('○');
372
+ label = s.muted(phase.name);
373
+ }
374
+ phaseLine += `${icon} ${label} `;
375
+ }
376
+ return phaseLine;
377
+ }
378
+ return ` ${s.muted('○ Init ○ Design ○ Backlog ○ Scaffold ○ Build')}`;
379
+ }
380
+ renderActionsTab(lines, s) {
381
+ lines.push(` ${s.muted('Quick Actions:')}`);
382
+ lines.push('');
383
+ if (this.state.actionsItems.length > 0) {
384
+ const displayActions = this.state.actionsItems.slice(0, MAX_ACTIONS);
385
+ for (let i = 0; i < displayActions.length; i++) {
386
+ const action = displayActions[i];
387
+ const isSelected = i === this.state.actionsIndex;
388
+ const prefix = isSelected ? s.primary('❯ ') : ' ';
389
+ const labelWidth = 20;
390
+ const paddedLabel = action.label.padEnd(labelWidth);
391
+ if (action.enabled) {
392
+ const label = isSelected ? s.primary(paddedLabel) : paddedLabel;
393
+ const desc = s.muted(action.description);
394
+ lines.push(` ${prefix}${label} ${desc}`);
395
+ }
396
+ else {
397
+ lines.push(` ${prefix}${s.muted(paddedLabel)} ${s.muted(action.description)}`);
398
+ }
399
+ }
400
+ }
401
+ else {
402
+ lines.push(` ${s.muted(' No actions available')}`);
403
+ }
404
+ }
405
+ renderDetailsTab(lines, s) {
406
+ if (!this.state.project) {
407
+ lines.push(` ${s.muted('No project selected')}`);
408
+ return;
409
+ }
410
+ const project = this.state.project;
411
+ lines.push(` ${s.muted('Project Details:')}`);
412
+ lines.push('');
413
+ const infoRows = [
414
+ ['Name', project.name],
415
+ ['Display Name', project.displayName],
416
+ ['Type', project.type],
417
+ ['Path', project.path],
418
+ ['Created', project.createdAt.toLocaleDateString()],
419
+ ['Last Activity', formatRelativeTime(project.lastActivityAt)],
420
+ ['Lifecycle', project.lifecycleState],
421
+ ];
422
+ for (const [label, value] of infoRows) {
423
+ lines.push(` ${s.muted(label.padEnd(15))} ${value}`);
424
+ }
425
+ if (project.description) {
426
+ lines.push('');
427
+ lines.push(` ${s.muted('Description:')}`);
428
+ lines.push(` ${project.description}`);
429
+ }
430
+ }
431
+ renderDashboardTab(lines, s) {
432
+ if (!this.state.project) {
433
+ lines.push(` ${s.muted('No project selected')}`);
434
+ return;
435
+ }
436
+ lines.push(` ${s.muted('Dashboard:')}`);
437
+ lines.push('');
438
+ lines.push(` ${s.warning('Coming soon...')}`);
439
+ lines.push('');
440
+ lines.push(` ${s.muted('This tab will show:')}`);
441
+ lines.push(` ${s.muted('• Current in-progress work item')}`);
442
+ lines.push(` ${s.muted('• Recent activity')}`);
443
+ lines.push(` ${s.muted('• Project health indicators')}`);
444
+ }
445
+ renderManageTab(lines, s) {
446
+ if (!this.state.project) {
447
+ lines.push(` ${s.muted('No project selected')}`);
448
+ return;
449
+ }
450
+ lines.push(` ${s.muted('Management Actions:')}`);
451
+ lines.push('');
452
+ const actions = this.state.manageActions;
453
+ if (actions.length > 0) {
454
+ for (let i = 0; i < actions.length; i++) {
455
+ const action = actions[i];
456
+ const isSelected = i === this.state.manageActionIndex;
457
+ const prefix = isSelected ? s.primary('❯ ') : ' ';
458
+ const labelWidth = 20;
459
+ const paddedLabel = action.label.padEnd(labelWidth);
460
+ let labelStyle;
461
+ if (!action.enabled) {
462
+ // Disabled actions are always muted
463
+ labelStyle = s.muted;
464
+ }
465
+ else if (isSelected) {
466
+ labelStyle = action.style === 'danger' ? s.error :
467
+ action.style === 'warning' ? s.warning : s.primary;
468
+ }
469
+ else {
470
+ labelStyle = action.style === 'danger' ? s.error :
471
+ action.style === 'warning' ? s.warning : (text) => text;
472
+ }
473
+ lines.push(` ${prefix}${labelStyle(paddedLabel)} ${s.muted(action.description)}`);
474
+ }
475
+ }
476
+ }
477
+ handleKey(key) {
478
+ // Ctrl+C always closes
479
+ if (this.isInterruptKey(key)) {
480
+ return this.close({ command: null });
481
+ }
482
+ // q or Esc closes
483
+ if (this.isCloseKey(key)) {
484
+ return this.close({ command: null });
485
+ }
486
+ // Tab switching: Tab/→ for next, Shift+Tab/← for previous
487
+ if (this.isTabKey(key) || this.isRightKey(key)) {
488
+ this.state.currentTab = (this.state.currentTab + 1) % TABS.length;
489
+ return this.rerender();
490
+ }
491
+ if (this.isShiftTabKey(key) || this.isLeftKey(key)) {
492
+ this.state.currentTab = (this.state.currentTab - 1 + TABS.length) % TABS.length;
493
+ return this.rerender();
494
+ }
495
+ // Number keys to jump to tab (1-4)
496
+ const num = this.getNumberKey(key);
497
+ if (num && num <= TABS.length) {
498
+ this.state.currentTab = num - 1;
499
+ return this.rerender();
500
+ }
501
+ // Tab-specific key handling
502
+ const tabId = TABS[this.state.currentTab];
503
+ if (tabId === 'Actions') {
504
+ return this.handleActionsTabKey(key);
505
+ }
506
+ else if (tabId === 'Manage') {
507
+ return this.handleManageTabKey(key);
508
+ }
509
+ // Details and Dashboard tabs are read-only
510
+ return this.noAction();
511
+ }
512
+ handleActionsTabKey(key) {
513
+ if (this.isUpKey(key)) {
514
+ if (this.state.actionsItems.length > 0) {
515
+ this.state.actionsIndex = (this.state.actionsIndex - 1 + this.state.actionsItems.length) % this.state.actionsItems.length;
516
+ return this.rerender();
517
+ }
518
+ return this.noAction();
519
+ }
520
+ if (this.isDownKey(key)) {
521
+ if (this.state.actionsItems.length > 0) {
522
+ this.state.actionsIndex = (this.state.actionsIndex + 1) % this.state.actionsItems.length;
523
+ return this.rerender();
524
+ }
525
+ return this.noAction();
526
+ }
527
+ if (this.isEnterKey(key)) {
528
+ if (this.state.actionsItems.length > 0) {
529
+ const action = this.state.actionsItems[this.state.actionsIndex];
530
+ if (action.enabled) {
531
+ // Try to push overlay for known commands (enables parent navigation on Escape)
532
+ const overlay = this.createOverlayForCommand(action.command);
533
+ if (overlay) {
534
+ return this.push(overlay);
535
+ }
536
+ // Fall back to closing with command for commands without V2 overlays
537
+ return this.close({ command: action.command });
538
+ }
539
+ }
540
+ return this.noAction();
541
+ }
542
+ return this.noAction();
543
+ }
544
+ /**
545
+ * Create an overlay instance for a command.
546
+ * Returns null for commands that don't have V2 overlay implementations.
547
+ * Passes the current project ID to child overlays so they show data for this project,
548
+ * not the globally active project.
549
+ */
550
+ createOverlayForCommand(command) {
551
+ const projectId = this.state.project?.id;
552
+ switch (command) {
553
+ case '/backlog':
554
+ // Note: teamAgentIds not available here, owner cycling disabled
555
+ return new BacklogOverlayV2(projectId, []);
556
+ case '/docs':
557
+ return new DocsOverlayV2(projectId);
558
+ case '/anchors':
559
+ return new AnchorsOverlayV2(projectId);
560
+ default:
561
+ return null;
562
+ }
563
+ }
564
+ handleManageTabKey(key) {
565
+ if (this.isUpKey(key)) {
566
+ if (this.state.manageActions.length > 0) {
567
+ this.state.manageActionIndex = (this.state.manageActionIndex - 1 + this.state.manageActions.length) % this.state.manageActions.length;
568
+ return this.rerender();
569
+ }
570
+ return this.noAction();
571
+ }
572
+ if (this.isDownKey(key)) {
573
+ if (this.state.manageActions.length > 0) {
574
+ this.state.manageActionIndex = (this.state.manageActionIndex + 1) % this.state.manageActions.length;
575
+ return this.rerender();
576
+ }
577
+ return this.noAction();
578
+ }
579
+ if (this.isEnterKey(key)) {
580
+ if (this.state.manageActions.length > 0 && this.state.project) {
581
+ const action = this.state.manageActions[this.state.manageActionIndex];
582
+ // Don't execute disabled actions
583
+ if (!action.enabled) {
584
+ return this.noAction();
585
+ }
586
+ return this.executeManageAction(action);
587
+ }
588
+ return this.noAction();
589
+ }
590
+ return this.noAction();
591
+ }
592
+ executeManageAction(action) {
593
+ if (!this.state.project)
594
+ return this.noAction();
595
+ switch (action.id) {
596
+ case 'set-active':
597
+ setCurrentProject({
598
+ id: this.state.project.id,
599
+ name: this.state.project.name,
600
+ displayName: this.state.project.displayName,
601
+ path: this.state.project.path,
602
+ });
603
+ projectRepository.touch(this.state.project.id);
604
+ this.state.manageActions = buildManageActions(this.state.project);
605
+ return this.rerender();
606
+ case 'archive': {
607
+ projectRepository.update(this.state.project.id, { status: 'archived' });
608
+ const activeProject = getCurrentProject();
609
+ if (activeProject?.id === this.state.project.id) {
610
+ clearCurrentProject();
611
+ }
612
+ this.refreshProject();
613
+ return this.rerender();
614
+ }
615
+ case 'restore':
616
+ projectRepository.update(this.state.project.id, { status: 'active' });
617
+ this.refreshProject();
618
+ return this.rerender();
619
+ case 'edit':
620
+ // Push the edit overlay
621
+ return this.push(new ProjectEditOverlayV2(this.state.project));
622
+ case 'delete':
623
+ return this.close({
624
+ command: null,
625
+ action: action.id,
626
+ projectId: this.state.project.id,
627
+ });
628
+ }
629
+ return this.noAction();
630
+ }
631
+ refreshProject() {
632
+ if (!this.state.project)
633
+ return;
634
+ this.state.project = projectRepository.getById(this.state.project.id);
635
+ if (this.state.project) {
636
+ this.state.stats = getProjectStats(this.state.project);
637
+ this.state.actionsItems = buildActionsItems(this.state.project, this.state.stats);
638
+ this.state.manageActions = buildManageActions(this.state.project);
639
+ }
640
+ }
641
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Overlay System
3
+ *
4
+ * Exports all overlay-related types, utilities, and V2 implementations.
5
+ */
6
+ export type { Overlay, RenderContext, OverlayContent, OverlayAction, KeyEvent, OverlayResolver, OverlayRenderState, } from './types.js';
7
+ export { isCloseWithResult, isCloseCancelled } from './types.js';
8
+ export { parseKeyEvent, matchesKey } from './key-utils.js';
9
+ export { HelpOverlayV2, type HelpOverlayV2Options } from './impl/help-overlay-v2.js';
10
+ export { ThemeOverlayV2, type ThemeOverlayOptions, type ThemeOverlayResult } from './impl/theme-overlay-v2.js';
11
+ export { ModelOverlayV2, type ModelOverlayV2Options, type ModelOverlayV2Result } from './impl/model-overlay-v2.js';
12
+ export { ToolsOverlayV2, type ToolsOverlayV2Options, type ToolsOverlayV2Result, type ToolInfo, type ToolParameter, type ToolPermissionInfo } from './impl/tools-overlay-v2.js';
13
+ export { KeysOverlayV2, type KeysOverlayV2Result } from './impl/keys-overlay-v2.js';
14
+ export { MascotOverlayV2, type MascotOverlayV2Options, type MascotOverlayV2Result } from './impl/mascot-overlay-v2.js';
15
+ export { TutorialOverlayV2, type TutorialOverlayV2Result } from './impl/tutorial-overlay-v2.js';
16
+ export { CommandsOverlayV2, type CommandsOverlayV2Result } from './impl/commands-overlay-v2.js';
17
+ export { AgentsOverlayV2, type AgentsOverlayV2Result } from './impl/agents-overlay-v2.js';
18
+ export { BacklogOverlayV2, type BacklogOverlayV2Result, type BacklogItem, type BacklogType, type BacklogPriority, type BacklogStatus } from './impl/backlog-overlay-v2.js';
19
+ export { WorkflowOverlayV2, type WorkflowOverlayV2Result } from './impl/workflow-overlay-v2.js';
20
+ export { DocsOverlayV2, type DocsOverlayV2Result } from './impl/docs-overlay-v2.js';
21
+ export { DocumentDetailOverlayV2, type DocumentDetailResult } from './impl/document-detail-overlay-v2.js';
22
+ export { AnchorsOverlayV2, type AnchorsOverlayV2Result } from './impl/anchors-overlay-v2.js';
23
+ export { ProjectsOverlayV2, type ProjectsOverlayV2Result } from './impl/projects-overlay-v2.js';
24
+ export { ProjectEditOverlayV2, type ProjectEditResult } from './impl/project-edit-overlay-v2.js';
25
+ export { ConfigOverlayV2, type ConfigOverlayV2Options, type ConfigOverlayV2Result } from './impl/config-overlay-v2.js';
26
+ export { AskUserSimpleOverlayV2, type AskUserSimpleOptionsV2, type AskUserSimpleResultV2 } from './impl/ask-user-simple-overlay-v2.js';
27
+ export { GuardrailOverlayV2, type GuardrailConfirmOptionsV2, type GuardrailConfirmResultV2 } from './impl/guardrail-overlay-v2.js';
28
+ export { AskUserOverlayV2, type AskUserOptionsV2, type AskUserResultV2 } from './impl/ask-user-overlay-v2.js';
29
+ export { IterationLimitOverlayV2, type IterationLimitOptionsV2, type IterationLimitResultV2 } from './impl/iteration-limit-overlay-v2.js';
30
+ export { ModelWarningOverlayV2, type ModelWarningOptionsV2, type ModelWarningChoiceV2 } from './impl/model-warning-overlay-v2.js';
31
+ export { NewProjectOverlayV2, type NewProjectResultV2 } from './impl/new-overlay-v2.js';
32
+ export { InitSetupOverlayV2, type InitSetupResultV2 } from './impl/init-setup-overlay-v2.js';
33
+ export { ArchTypeOverlayV2, type ArchTypeChoiceV2, type ArchDocType } from './impl/arch-type-overlay-v2.js';
34
+ export { DashboardOverlayV2, type DashboardOverlayV2Result } from './impl/dashboard-overlay-v2.js';
35
+ export { OnboardingWizardOverlayV2, type OnboardingWizardResult } from './impl/onboarding-wizard-overlay-v2.js';
36
+ export { ResumeOverlayV2, type ResumeOverlayV2Options, type ResumeOverlayV2Result, type SessionItem } from './impl/resume-overlay-v2.js';
37
+ export { PlanApprovalOverlayV2, type PlanApprovalOverlayOptions, type PlanApprovalResult, type PlanApprovalAction } from './impl/plan-approval-overlay-v2.js';
38
+ export { PermissionsOverlayV2, type PermissionsOverlayV2Options, type PermissionsOverlayV2Result } from './impl/permissions-overlay-v2.js';
39
+ export { ResetOverlayV2, type ResetOverlayV2Options, type ResetOverlayV2Result, type ResetOption } from './impl/reset-overlay-v2.js';
40
+ export { SessionModeOverlayV2, type SessionModeOverlayV2Options, type SessionModeOverlayV2Result, type SessionModeOption } from './impl/session-mode-overlay-v2.js';
41
+ export { TeamOverlayV2, type TeamOverlayV2Result } from './impl/team-overlay-v2.js';
42
+ export { CustomAgentFormOverlayV2, type CustomAgentFormOptions, type CustomAgentFormResult } from './impl/custom-agent-form-overlay-v2.js';
43
+ export { ArtifactOverlayV2, type ArtifactOverlayV2Result } from './impl/artifact-overlay-v2.js';
44
+ export { ArtifactDetailOverlayV2, type ArtifactDetailOverlayV2Result } from './impl/artifact-detail-overlay-v2.js';
45
+ export { GamesOverlayV2, type GamesOverlayV2Result, type GamesOverlayV2Options } from './impl/games-overlay-v2.js';
46
+ export { PendingOverlayV2, type PendingOverlayResult } from './impl/pending-overlay-v2.js';
47
+ export { BackgroundOverlayV2, type BackgroundOverlayResult, type BackgroundOverlayOptions } from './impl/background-overlay-v2.js';
48
+ export { FilterOverlayV2, type FilterOverlayV2Result, type FilterOverlayV2Config } from './impl/filter-overlay-v2.js';
49
+ export { ChangelogOverlayV2, type ChangelogOverlayV2Result } from './impl/changelog-overlay-v2.js';
50
+ export { NotificationsOverlayV2 } from './impl/notifications-overlay-v2.js';
51
+ export { MCPOverlayV2, type MCPOverlayV2Result } from './impl/mcp-overlay-v2.js';
52
+ export { DelegationsOverlayV2 } from './impl/delegations-overlay-v2.js';