@compilr-dev/cli 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (591) hide show
  1. package/README.md +236 -68
  2. package/dist/.tsbuildinfo.app +1 -0
  3. package/dist/.tsbuildinfo.data +1 -0
  4. package/dist/.tsbuildinfo.domain +1 -0
  5. package/dist/.tsbuildinfo.foundation +1 -0
  6. package/dist/agent.d.ts +61 -4
  7. package/dist/agent.js +241 -245
  8. package/dist/anchors/index.d.ts +1 -1
  9. package/dist/anchors/index.js +1 -1
  10. package/dist/anchors/project-anchors.d.ts +2 -2
  11. package/dist/anchors/project-anchors.js +1 -1
  12. package/dist/auth/api-client.d.ts +124 -0
  13. package/dist/auth/api-client.js +261 -0
  14. package/dist/auth/index.d.ts +172 -0
  15. package/dist/auth/index.js +545 -0
  16. package/dist/auth/storage.d.ts +52 -0
  17. package/dist/auth/storage.js +118 -0
  18. package/dist/changelog/index.d.ts +16 -0
  19. package/dist/changelog/index.js +24 -0
  20. package/dist/changelog/releases.d.ts +17 -0
  21. package/dist/changelog/releases.js +63 -0
  22. package/dist/commands-v2/handlers/auth.d.ts +10 -0
  23. package/dist/commands-v2/handlers/auth.js +118 -0
  24. package/dist/commands-v2/handlers/background.d.ts +14 -0
  25. package/dist/commands-v2/handlers/background.js +276 -0
  26. package/dist/commands-v2/handlers/context.js +266 -81
  27. package/dist/commands-v2/handlers/core.d.ts +1 -0
  28. package/dist/commands-v2/handlers/core.js +133 -8
  29. package/dist/commands-v2/handlers/debug.js +18 -0
  30. package/dist/commands-v2/handlers/delegations.d.ts +8 -0
  31. package/dist/commands-v2/handlers/delegations.js +29 -0
  32. package/dist/commands-v2/handlers/files.d.ts +8 -0
  33. package/dist/commands-v2/handlers/files.js +162 -0
  34. package/dist/commands-v2/handlers/filter.d.ts +9 -0
  35. package/dist/commands-v2/handlers/filter.js +130 -0
  36. package/dist/commands-v2/handlers/games.d.ts +7 -0
  37. package/dist/commands-v2/handlers/games.js +57 -0
  38. package/dist/commands-v2/handlers/index.d.ts +13 -0
  39. package/dist/commands-v2/handlers/index.js +39 -0
  40. package/dist/commands-v2/handlers/mcp.d.ts +8 -0
  41. package/dist/commands-v2/handlers/mcp.js +39 -0
  42. package/dist/commands-v2/handlers/notifications.d.ts +9 -0
  43. package/dist/commands-v2/handlers/notifications.js +34 -0
  44. package/dist/commands-v2/handlers/project.js +244 -23
  45. package/dist/commands-v2/handlers/reset.d.ts +11 -0
  46. package/dist/commands-v2/handlers/reset.js +118 -0
  47. package/dist/commands-v2/handlers/session.d.ts +161 -0
  48. package/dist/commands-v2/handlers/session.js +805 -0
  49. package/dist/commands-v2/handlers/settings.d.ts +2 -0
  50. package/dist/commands-v2/handlers/settings.js +217 -35
  51. package/dist/commands-v2/handlers/tasks.d.ts +5 -0
  52. package/dist/commands-v2/handlers/tasks.js +36 -0
  53. package/dist/commands-v2/handlers/team.d.ts +9 -0
  54. package/dist/commands-v2/handlers/team.js +549 -0
  55. package/dist/commands-v2/handlers/terminals.d.ts +9 -0
  56. package/dist/commands-v2/handlers/terminals.js +34 -0
  57. package/dist/commands-v2/index.d.ts +3 -2
  58. package/dist/commands-v2/index.js +4 -1
  59. package/dist/commands-v2/registry.d.ts +15 -0
  60. package/dist/commands-v2/registry.js +34 -0
  61. package/dist/commands-v2/types.d.ts +81 -3
  62. package/dist/commands.js +13 -0
  63. package/dist/compilr-diff-companion.vsix +0 -0
  64. package/dist/db/index.js +98 -4
  65. package/dist/db/repositories/document-repository.d.ts +2 -0
  66. package/dist/db/repositories/document-repository.js +5 -1
  67. package/dist/db/repositories/index.d.ts +2 -0
  68. package/dist/db/repositories/index.js +1 -0
  69. package/dist/db/repositories/plan-repository.d.ts +101 -0
  70. package/dist/db/repositories/plan-repository.js +275 -0
  71. package/dist/db/repositories/project-repository.d.ts +6 -0
  72. package/dist/db/repositories/project-repository.js +41 -0
  73. package/dist/db/repositories/work-item-repository.d.ts +15 -0
  74. package/dist/db/repositories/work-item-repository.js +69 -4
  75. package/dist/db/schema.d.ts +40 -3
  76. package/dist/db/schema.js +66 -3
  77. package/dist/episodes/index.d.ts +20 -0
  78. package/dist/episodes/index.js +27 -0
  79. package/dist/episodes/recorder.d.ts +51 -0
  80. package/dist/episodes/recorder.js +195 -0
  81. package/dist/episodes/significant-work.d.ts +21 -0
  82. package/dist/episodes/significant-work.js +56 -0
  83. package/dist/episodes/store.d.ts +38 -0
  84. package/dist/episodes/store.js +199 -0
  85. package/dist/episodes/types.d.ts +35 -0
  86. package/dist/episodes/types.js +6 -0
  87. package/dist/episodes/work-at-risk.d.ts +12 -0
  88. package/dist/episodes/work-at-risk.js +38 -0
  89. package/dist/episodes/work-summary-anchor.d.ts +23 -0
  90. package/dist/episodes/work-summary-anchor.js +73 -0
  91. package/dist/games/coins.d.ts +66 -0
  92. package/dist/games/coins.js +165 -0
  93. package/dist/games/game-base.d.ts +84 -0
  94. package/dist/games/game-base.js +204 -0
  95. package/dist/games/index.d.ts +16 -0
  96. package/dist/games/index.js +49 -0
  97. package/dist/games/scores.d.ts +69 -0
  98. package/dist/games/scores.js +191 -0
  99. package/dist/games/tetris/board.d.ts +59 -0
  100. package/dist/games/tetris/board.js +170 -0
  101. package/dist/games/tetris/index.d.ts +109 -0
  102. package/dist/games/tetris/index.js +610 -0
  103. package/dist/games/tetris/pieces.d.ts +44 -0
  104. package/dist/games/tetris/pieces.js +271 -0
  105. package/dist/games/tetris/renderer.d.ts +26 -0
  106. package/dist/games/tetris/renderer.js +77 -0
  107. package/dist/guide/guide-content.d.ts +23 -0
  108. package/dist/guide/guide-content.js +196 -0
  109. package/dist/guide/index.d.ts +8 -0
  110. package/dist/guide/index.js +7 -0
  111. package/dist/guide/shared-content.d.ts +37 -0
  112. package/dist/guide/shared-content.js +1272 -0
  113. package/dist/guide/tutorial-helpers.d.ts +57 -0
  114. package/dist/guide/tutorial-helpers.js +147 -0
  115. package/dist/handlers/ask-user-handlers.d.ts +32 -0
  116. package/dist/handlers/ask-user-handlers.js +104 -0
  117. package/dist/handlers/delegation-handlers.d.ts +34 -0
  118. package/dist/handlers/delegation-handlers.js +291 -0
  119. package/dist/handlers/permission-handler.d.ts +30 -0
  120. package/dist/handlers/permission-handler.js +205 -0
  121. package/dist/index.d.ts +11 -1
  122. package/dist/index.js +448 -271
  123. package/dist/input-handlers/memory-handler.d.ts +1 -1
  124. package/dist/input-handlers/memory-handler.js +2 -1
  125. package/dist/models/index.d.ts +10 -0
  126. package/dist/models/index.js +12 -0
  127. package/dist/models/model-registry.d.ts +38 -0
  128. package/dist/models/model-registry.js +69 -0
  129. package/dist/models/model-tiers.d.ts +28 -0
  130. package/dist/models/model-tiers.js +71 -0
  131. package/dist/models/model-validation.d.ts +25 -0
  132. package/dist/models/model-validation.js +291 -0
  133. package/dist/models/ollama-models.d.ts +73 -0
  134. package/dist/models/ollama-models.js +178 -0
  135. package/dist/models/provider-types.d.ts +6 -0
  136. package/dist/models/provider-types.js +1 -0
  137. package/dist/models/providers.d.ts +35 -0
  138. package/dist/models/providers.js +58 -0
  139. package/dist/models/types.d.ts +4 -0
  140. package/dist/models/types.js +4 -0
  141. package/dist/multi-agent/activity.d.ts +21 -0
  142. package/dist/multi-agent/activity.js +34 -0
  143. package/dist/multi-agent/agent-selection.d.ts +55 -0
  144. package/dist/multi-agent/agent-selection.js +90 -0
  145. package/dist/multi-agent/artifacts.d.ts +197 -0
  146. package/dist/multi-agent/artifacts.js +379 -0
  147. package/dist/multi-agent/checkpointer.d.ts +138 -0
  148. package/dist/multi-agent/checkpointer.js +471 -0
  149. package/dist/multi-agent/collision-utils.d.ts +16 -0
  150. package/dist/multi-agent/collision-utils.js +28 -0
  151. package/dist/multi-agent/context-resolver.d.ts +97 -0
  152. package/dist/multi-agent/context-resolver.js +316 -0
  153. package/dist/multi-agent/custom-agents.d.ts +83 -0
  154. package/dist/multi-agent/custom-agents.js +227 -0
  155. package/dist/multi-agent/delegation-tracker.d.ts +157 -0
  156. package/dist/multi-agent/delegation-tracker.js +243 -0
  157. package/dist/multi-agent/file-lock-hook.d.ts +29 -0
  158. package/dist/multi-agent/file-lock-hook.js +97 -0
  159. package/dist/multi-agent/file-locks.d.ts +58 -0
  160. package/dist/multi-agent/file-locks.js +194 -0
  161. package/dist/multi-agent/index.d.ts +24 -0
  162. package/dist/multi-agent/index.js +30 -0
  163. package/dist/multi-agent/mention-parser.d.ts +64 -0
  164. package/dist/multi-agent/mention-parser.js +146 -0
  165. package/dist/multi-agent/notification-manager.d.ts +84 -0
  166. package/dist/multi-agent/notification-manager.js +224 -0
  167. package/dist/multi-agent/pending-requests.d.ts +122 -0
  168. package/dist/multi-agent/pending-requests.js +155 -0
  169. package/dist/multi-agent/session-registry.d.ts +139 -0
  170. package/dist/multi-agent/session-registry.js +514 -0
  171. package/dist/multi-agent/shared-context.d.ts +293 -0
  172. package/dist/multi-agent/shared-context.js +671 -0
  173. package/dist/multi-agent/skill-requirements.d.ts +66 -0
  174. package/dist/multi-agent/skill-requirements.js +178 -0
  175. package/dist/multi-agent/task-assignment.d.ts +69 -0
  176. package/dist/multi-agent/task-assignment.js +123 -0
  177. package/dist/multi-agent/task-suggestion.d.ts +31 -0
  178. package/dist/multi-agent/task-suggestion.js +72 -0
  179. package/dist/multi-agent/team-agent.d.ts +201 -0
  180. package/dist/multi-agent/team-agent.js +488 -0
  181. package/dist/multi-agent/team.d.ts +286 -0
  182. package/dist/multi-agent/team.js +610 -0
  183. package/dist/multi-agent/tool-config.d.ts +110 -0
  184. package/dist/multi-agent/tool-config.js +661 -0
  185. package/dist/multi-agent/types.d.ts +211 -0
  186. package/dist/multi-agent/types.js +617 -0
  187. package/dist/prompts/plan-mode-prompt.d.ts +11 -0
  188. package/dist/prompts/plan-mode-prompt.js +95 -0
  189. package/dist/repl-helpers.js +3 -2
  190. package/dist/repl-v2.d.ts +401 -2
  191. package/dist/repl-v2.js +2577 -65
  192. package/dist/session/index.d.ts +6 -0
  193. package/dist/session/index.js +6 -0
  194. package/dist/session/project-session-manager.d.ts +158 -0
  195. package/dist/session/project-session-manager.js +650 -0
  196. package/dist/settings/index.d.ts +133 -13
  197. package/dist/settings/index.js +329 -24
  198. package/dist/settings/mcp-config.d.ts +76 -0
  199. package/dist/settings/mcp-config.js +143 -0
  200. package/dist/settings/paths.d.ts +4 -0
  201. package/dist/settings/paths.js +6 -0
  202. package/dist/shared-handlers.d.ts +62 -0
  203. package/dist/shared-handlers.js +48 -0
  204. package/dist/system-prompt/builder.d.ts +5 -0
  205. package/dist/system-prompt/builder.js +4 -0
  206. package/dist/system-prompt/index.d.ts +18 -0
  207. package/dist/system-prompt/index.js +18 -0
  208. package/dist/system-prompt/modules.d.ts +5 -0
  209. package/dist/system-prompt/modules.js +4 -0
  210. package/dist/tabbed-menu.js +2 -1
  211. package/dist/templates/compilr-md-import.d.ts +16 -0
  212. package/dist/templates/compilr-md-import.js +241 -0
  213. package/dist/templates/compilr-md.js +10 -61
  214. package/dist/templates/config-json.d.ts +1 -25
  215. package/dist/templates/index.d.ts +2 -0
  216. package/dist/templates/index.js +34 -73
  217. package/dist/tool-names.d.ts +108 -0
  218. package/dist/tool-names.js +227 -0
  219. package/dist/tools/anchor-tools.d.ts +4 -4
  220. package/dist/tools/anchor-tools.js +1 -1
  221. package/dist/tools/artifact-tools.d.ts +42 -0
  222. package/dist/tools/artifact-tools.js +328 -0
  223. package/dist/tools/ask-user-simple.d.ts +1 -1
  224. package/dist/tools/ask-user-simple.js +2 -1
  225. package/dist/tools/ask-user.d.ts +1 -1
  226. package/dist/tools/ask-user.js +2 -1
  227. package/dist/tools/backlog-wrappers.d.ts +5 -3
  228. package/dist/tools/backlog-wrappers.js +16 -1
  229. package/dist/tools/backlog.d.ts +2 -2
  230. package/dist/tools/backlog.js +1 -1
  231. package/dist/tools/db-tools.d.ts +8 -61
  232. package/dist/tools/db-tools.js +8 -13
  233. package/dist/tools/delegate-background.d.ts +27 -0
  234. package/dist/tools/delegate-background.js +115 -0
  235. package/dist/tools/delegate.d.ts +22 -0
  236. package/dist/tools/delegate.js +97 -0
  237. package/dist/tools/delegation-status.d.ts +16 -0
  238. package/dist/tools/delegation-status.js +128 -0
  239. package/dist/tools/document-db.d.ts +5 -5
  240. package/dist/tools/document-db.js +1 -1
  241. package/dist/tools/guide-tool.d.ts +12 -0
  242. package/dist/tools/guide-tool.js +59 -0
  243. package/dist/tools/handoff.d.ts +25 -0
  244. package/dist/tools/handoff.js +99 -0
  245. package/dist/tools/meta-tools.d.ts +26 -0
  246. package/dist/tools/meta-tools.js +47 -0
  247. package/dist/tools/plan-tools.d.ts +54 -0
  248. package/dist/tools/plan-tools.js +338 -0
  249. package/dist/tools/platform-adapter.d.ts +29 -0
  250. package/dist/tools/platform-adapter.js +394 -0
  251. package/dist/tools/project-db.d.ts +5 -73
  252. package/dist/tools/project-db.js +5 -336
  253. package/dist/tools/recall-work-tool.d.ts +18 -0
  254. package/dist/tools/recall-work-tool.js +82 -0
  255. package/dist/tools/workitem-db.d.ts +43 -11
  256. package/dist/tools/workitem-db.js +186 -5
  257. package/dist/tools.d.ts +67 -2
  258. package/dist/tools.js +237 -47
  259. package/dist/ui/autocomplete-controller.d.ts +42 -0
  260. package/dist/ui/autocomplete-controller.js +384 -0
  261. package/dist/ui/base/index.d.ts +1 -1
  262. package/dist/ui/base/index.js +1 -1
  263. package/dist/ui/base/overlay-base-v2.d.ts +10 -0
  264. package/dist/ui/base/overlay-base-v2.js +14 -0
  265. package/dist/ui/base/render-utils.d.ts +19 -0
  266. package/dist/ui/base/render-utils.js +25 -0
  267. package/dist/ui/base/tabbed-list-overlay-v2.d.ts +16 -1
  268. package/dist/ui/base/tabbed-list-overlay-v2.js +19 -1
  269. package/dist/ui/constants/labels.d.ts +14 -0
  270. package/dist/ui/constants/labels.js +51 -0
  271. package/dist/ui/conversation-store.d.ts +55 -0
  272. package/dist/ui/conversation-store.js +107 -0
  273. package/dist/ui/conversation.js +11 -13
  274. package/dist/ui/diff.d.ts +7 -1
  275. package/dist/ui/diff.js +85 -48
  276. package/dist/ui/ephemeral.js +3 -9
  277. package/dist/ui/file-autocomplete.d.ts +24 -0
  278. package/dist/ui/file-autocomplete.js +56 -0
  279. package/dist/ui/footer-renderer.d.ts +69 -0
  280. package/dist/ui/footer-renderer.js +431 -0
  281. package/dist/ui/footer.d.ts +74 -7
  282. package/dist/ui/footer.js +173 -16
  283. package/dist/ui/input-controller.d.ts +51 -0
  284. package/dist/ui/input-controller.js +176 -0
  285. package/dist/ui/input-prompt.d.ts +19 -0
  286. package/dist/ui/input-prompt.js +206 -14
  287. package/dist/ui/keyboard-handler.d.ts +57 -0
  288. package/dist/ui/keyboard-handler.js +557 -0
  289. package/dist/ui/live-region-facade.d.ts +42 -0
  290. package/dist/ui/live-region-facade.js +205 -0
  291. package/dist/ui/live-region.d.ts +0 -4
  292. package/dist/ui/live-region.js +6 -14
  293. package/dist/ui/mascot/renderer.d.ts +1 -1
  294. package/dist/ui/mascot/renderer.js +37 -2
  295. package/dist/ui/overlay/data/tutorial-content.d.ts +9 -0
  296. package/dist/ui/overlay/data/tutorial-content.js +9 -0
  297. package/dist/ui/overlay/data/tutorial-registry.d.ts +12 -0
  298. package/dist/ui/overlay/data/tutorial-registry.js +116 -0
  299. package/dist/ui/overlay/data/tutorial-types.d.ts +35 -0
  300. package/dist/ui/overlay/data/tutorial-types.js +6 -0
  301. package/dist/ui/overlay/data/tutorials/basics/first-conversation.d.ts +7 -0
  302. package/dist/ui/overlay/data/tutorials/basics/first-conversation.js +220 -0
  303. package/dist/ui/overlay/data/tutorials/basics/first-project.d.ts +7 -0
  304. package/dist/ui/overlay/data/tutorials/basics/first-project.js +284 -0
  305. package/dist/ui/overlay/data/tutorials/basics/navigation.d.ts +8 -0
  306. package/dist/ui/overlay/data/tutorials/basics/navigation.js +22 -0
  307. package/dist/ui/overlay/data/tutorials/basics/welcome.d.ts +7 -0
  308. package/dist/ui/overlay/data/tutorials/basics/welcome.js +174 -0
  309. package/dist/ui/overlay/data/tutorials/config/context-management.d.ts +7 -0
  310. package/dist/ui/overlay/data/tutorials/config/context-management.js +158 -0
  311. package/dist/ui/overlay/data/tutorials/config/mcp-servers.d.ts +8 -0
  312. package/dist/ui/overlay/data/tutorials/config/mcp-servers.js +155 -0
  313. package/dist/ui/overlay/data/tutorials/config/model-selection.d.ts +7 -0
  314. package/dist/ui/overlay/data/tutorials/config/model-selection.js +162 -0
  315. package/dist/ui/overlay/data/tutorials/config/permissions-safety.d.ts +7 -0
  316. package/dist/ui/overlay/data/tutorials/config/permissions-safety.js +163 -0
  317. package/dist/ui/overlay/data/tutorials/config/settings-config.d.ts +7 -0
  318. package/dist/ui/overlay/data/tutorials/config/settings-config.js +166 -0
  319. package/dist/ui/overlay/data/tutorials/planning/arch.d.ts +7 -0
  320. package/dist/ui/overlay/data/tutorials/planning/arch.js +168 -0
  321. package/dist/ui/overlay/data/tutorials/planning/backlog.d.ts +7 -0
  322. package/dist/ui/overlay/data/tutorials/planning/backlog.js +103 -0
  323. package/dist/ui/overlay/data/tutorials/planning/build.d.ts +7 -0
  324. package/dist/ui/overlay/data/tutorials/planning/build.js +173 -0
  325. package/dist/ui/overlay/data/tutorials/planning/design.d.ts +7 -0
  326. package/dist/ui/overlay/data/tutorials/planning/design.js +205 -0
  327. package/dist/ui/overlay/data/tutorials/planning/docs.d.ts +7 -0
  328. package/dist/ui/overlay/data/tutorials/planning/docs.js +143 -0
  329. package/dist/ui/overlay/data/tutorials/planning/prd.d.ts +7 -0
  330. package/dist/ui/overlay/data/tutorials/planning/prd.js +173 -0
  331. package/dist/ui/overlay/data/tutorials/planning/scaffold.d.ts +7 -0
  332. package/dist/ui/overlay/data/tutorials/planning/scaffold.js +164 -0
  333. package/dist/ui/overlay/data/tutorials/planning/sketch.d.ts +7 -0
  334. package/dist/ui/overlay/data/tutorials/planning/sketch.js +58 -0
  335. package/dist/ui/overlay/data/tutorials/projects/anchors.d.ts +7 -0
  336. package/dist/ui/overlay/data/tutorials/projects/anchors.js +248 -0
  337. package/dist/ui/overlay/data/tutorials/projects/import-project.d.ts +7 -0
  338. package/dist/ui/overlay/data/tutorials/projects/import-project.js +172 -0
  339. package/dist/ui/overlay/data/tutorials/projects/managing-projects.d.ts +8 -0
  340. package/dist/ui/overlay/data/tutorials/projects/managing-projects.js +212 -0
  341. package/dist/ui/overlay/data/tutorials/projects/new-project.d.ts +7 -0
  342. package/dist/ui/overlay/data/tutorials/projects/new-project.js +251 -0
  343. package/dist/ui/overlay/data/tutorials/projects/session-management.d.ts +7 -0
  344. package/dist/ui/overlay/data/tutorials/projects/session-management.js +169 -0
  345. package/dist/ui/overlay/data/tutorials/teams/background-execution.d.ts +7 -0
  346. package/dist/ui/overlay/data/tutorials/teams/background-execution.js +171 -0
  347. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.d.ts +8 -0
  348. package/dist/ui/overlay/data/tutorials/teams/multi-terminal.js +147 -0
  349. package/dist/ui/overlay/data/tutorials/teams/task-assignment.d.ts +7 -0
  350. package/dist/ui/overlay/data/tutorials/teams/task-assignment.js +204 -0
  351. package/dist/ui/overlay/data/tutorials/teams/team-overview.d.ts +7 -0
  352. package/dist/ui/overlay/data/tutorials/teams/team-overview.js +165 -0
  353. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.d.ts +7 -0
  354. package/dist/ui/overlay/data/tutorials/teams/working-with-agents.js +172 -0
  355. package/dist/ui/overlay/impl/agents-overlay-v2.js +6 -17
  356. package/dist/ui/overlay/impl/anchors-overlay-v2.js +30 -64
  357. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.d.ts +43 -0
  358. package/dist/ui/overlay/impl/artifact-detail-overlay-v2.js +232 -0
  359. package/dist/ui/overlay/impl/artifact-overlay-v2.d.ts +40 -0
  360. package/dist/ui/overlay/impl/artifact-overlay-v2.js +115 -0
  361. package/dist/ui/overlay/impl/ask-user-overlay-v2.js +2 -5
  362. package/dist/ui/overlay/impl/background-overlay-v2.d.ts +40 -0
  363. package/dist/ui/overlay/impl/background-overlay-v2.js +147 -0
  364. package/dist/ui/overlay/impl/backlog-overlay-v2.d.ts +4 -1
  365. package/dist/ui/overlay/impl/backlog-overlay-v2.js +55 -16
  366. package/dist/ui/overlay/impl/changelog-overlay-v2.d.ts +44 -0
  367. package/dist/ui/overlay/impl/changelog-overlay-v2.js +165 -0
  368. package/dist/ui/overlay/impl/commands-overlay-v2.js +4 -6
  369. package/dist/ui/overlay/impl/config-overlay-v2.d.ts +12 -1
  370. package/dist/ui/overlay/impl/config-overlay-v2.js +164 -100
  371. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.d.ts +83 -0
  372. package/dist/ui/overlay/impl/custom-agent-form-overlay-v2.js +711 -0
  373. package/dist/ui/overlay/impl/dashboard-overlay-v2.d.ts +2 -0
  374. package/dist/ui/overlay/impl/dashboard-overlay-v2.js +26 -3
  375. package/dist/ui/overlay/impl/delegations-overlay-v2.d.ts +28 -0
  376. package/dist/ui/overlay/impl/delegations-overlay-v2.js +279 -0
  377. package/dist/ui/overlay/impl/docs-overlay-v2.js +12 -9
  378. package/dist/ui/overlay/impl/document-detail-overlay-v2.d.ts +7 -0
  379. package/dist/ui/overlay/impl/document-detail-overlay-v2.js +119 -78
  380. package/dist/ui/overlay/impl/filter-overlay-v2.d.ts +41 -0
  381. package/dist/ui/overlay/impl/filter-overlay-v2.js +110 -0
  382. package/dist/ui/overlay/impl/games-overlay-v2.d.ts +31 -0
  383. package/dist/ui/overlay/impl/games-overlay-v2.js +135 -0
  384. package/dist/ui/overlay/impl/help-overlay-v2.d.ts +26 -3
  385. package/dist/ui/overlay/impl/help-overlay-v2.js +20 -42
  386. package/dist/ui/overlay/impl/login-overlay-v2.d.ts +49 -0
  387. package/dist/ui/overlay/impl/login-overlay-v2.js +277 -0
  388. package/dist/ui/overlay/impl/mcp-overlay-v2.d.ts +63 -0
  389. package/dist/ui/overlay/impl/mcp-overlay-v2.js +907 -0
  390. package/dist/ui/overlay/impl/model-overlay-v2.d.ts +57 -13
  391. package/dist/ui/overlay/impl/model-overlay-v2.js +1086 -61
  392. package/dist/ui/overlay/impl/new-overlay-v2.d.ts +37 -6
  393. package/dist/ui/overlay/impl/new-overlay-v2.js +715 -65
  394. package/dist/ui/overlay/impl/notifications-overlay-v2.d.ts +20 -0
  395. package/dist/ui/overlay/impl/notifications-overlay-v2.js +116 -0
  396. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.d.ts +76 -0
  397. package/dist/ui/overlay/impl/onboarding-wizard-overlay-v2.js +728 -0
  398. package/dist/ui/overlay/impl/pending-overlay-v2.d.ts +51 -0
  399. package/dist/ui/overlay/impl/pending-overlay-v2.js +445 -0
  400. package/dist/ui/overlay/impl/permission-overlay-v2.js +5 -5
  401. package/dist/ui/overlay/impl/permissions-overlay-v2.d.ts +85 -0
  402. package/dist/ui/overlay/impl/permissions-overlay-v2.js +820 -0
  403. package/dist/ui/overlay/impl/plan-approval-overlay-v2.d.ts +35 -0
  404. package/dist/ui/overlay/impl/plan-approval-overlay-v2.js +181 -0
  405. package/dist/ui/overlay/impl/project-edit-overlay-v2.d.ts +36 -0
  406. package/dist/ui/overlay/impl/project-edit-overlay-v2.js +195 -0
  407. package/dist/ui/overlay/impl/projects-overlay-v2.d.ts +1 -0
  408. package/dist/ui/overlay/impl/projects-overlay-v2.js +278 -44
  409. package/dist/ui/overlay/impl/reset-overlay-v2.d.ts +39 -0
  410. package/dist/ui/overlay/impl/reset-overlay-v2.js +107 -0
  411. package/dist/ui/overlay/impl/resume-overlay-v2.d.ts +60 -0
  412. package/dist/ui/overlay/impl/resume-overlay-v2.js +414 -0
  413. package/dist/ui/overlay/impl/session-mode-overlay-v2.d.ts +43 -0
  414. package/dist/ui/overlay/impl/session-mode-overlay-v2.js +124 -0
  415. package/dist/ui/overlay/impl/tasks-overlay-v2.d.ts +28 -0
  416. package/dist/ui/overlay/impl/tasks-overlay-v2.js +283 -0
  417. package/dist/ui/overlay/impl/team-overlay-v2.d.ts +86 -0
  418. package/dist/ui/overlay/impl/team-overlay-v2.js +692 -0
  419. package/dist/ui/overlay/impl/terminals-overlay-v2.d.ts +26 -0
  420. package/dist/ui/overlay/impl/terminals-overlay-v2.js +217 -0
  421. package/dist/ui/overlay/impl/tools-overlay-v2.js +3 -7
  422. package/dist/ui/overlay/impl/tutorial-overlay-v2.d.ts +30 -16
  423. package/dist/ui/overlay/impl/tutorial-overlay-v2.js +133 -956
  424. package/dist/ui/overlay/impl/workflow-overlay-v2.js +5 -1
  425. package/dist/ui/overlay/index.d.ts +20 -1
  426. package/dist/ui/overlay/index.js +19 -0
  427. package/dist/ui/overlay/types.d.ts +5 -0
  428. package/dist/ui/overlay-manager.d.ts +43 -0
  429. package/dist/ui/overlay-manager.js +238 -0
  430. package/dist/ui/overlays.js +4 -16
  431. package/dist/ui/permission-overlay.js +6 -5
  432. package/dist/ui/status-bar-controller.d.ts +33 -0
  433. package/dist/ui/status-bar-controller.js +99 -0
  434. package/dist/ui/subagent-renderer.js +3 -19
  435. package/dist/ui/terminal-autocomplete-utils.d.ts +23 -0
  436. package/dist/ui/terminal-autocomplete-utils.js +83 -0
  437. package/dist/ui/terminal-line-builders.d.ts +17 -0
  438. package/dist/ui/terminal-line-builders.js +42 -0
  439. package/dist/ui/terminal-render-item.d.ts +16 -0
  440. package/dist/ui/terminal-render-item.js +267 -0
  441. package/dist/ui/terminal-renderer.d.ts +7 -8
  442. package/dist/ui/terminal-renderer.js +7 -8
  443. package/dist/ui/terminal-types.d.ts +179 -0
  444. package/dist/ui/terminal-types.js +34 -0
  445. package/dist/ui/terminal-ui.d.ts +144 -276
  446. package/dist/ui/terminal-ui.js +384 -1861
  447. package/dist/ui/todo-zone.d.ts +19 -1
  448. package/dist/ui/todo-zone.js +71 -13
  449. package/dist/ui/tool-formatters.js +512 -1
  450. package/dist/ui/turn-metrics.d.ts +56 -0
  451. package/dist/ui/turn-metrics.js +75 -0
  452. package/dist/ui/types.d.ts +28 -0
  453. package/dist/ui/types.js +1 -0
  454. package/dist/ui/vscode-diff-ipc.d.ts +102 -0
  455. package/dist/ui/vscode-diff-ipc.js +385 -0
  456. package/dist/utils/credentials.d.ts +24 -5
  457. package/dist/utils/credentials.js +123 -9
  458. package/dist/utils/format-tokens.d.ts +13 -0
  459. package/dist/utils/format-tokens.js +18 -0
  460. package/dist/utils/git-config.d.ts +26 -0
  461. package/dist/utils/git-config.js +54 -0
  462. package/dist/utils/message-utils.d.ts +61 -0
  463. package/dist/utils/message-utils.js +72 -0
  464. package/dist/utils/model-tiers.d.ts +8 -1
  465. package/dist/utils/model-tiers.js +38 -16
  466. package/dist/utils/open-browser.d.ts +5 -0
  467. package/dist/utils/open-browser.js +32 -0
  468. package/dist/utils/path-safety.js +3 -2
  469. package/dist/utils/project-detection.d.ts +58 -0
  470. package/dist/utils/project-detection.js +424 -0
  471. package/dist/utils/project-memory.js +2 -1
  472. package/dist/utils/project-status.d.ts +2 -2
  473. package/dist/utils/startup-perf.d.ts +18 -0
  474. package/dist/utils/startup-perf.js +60 -0
  475. package/dist/utils/token-tracker.d.ts +62 -0
  476. package/dist/utils/token-tracker.js +150 -0
  477. package/dist/utils/token-types.d.ts +23 -0
  478. package/dist/utils/token-types.js +18 -0
  479. package/dist/utils/types/config-types.d.ts +32 -0
  480. package/dist/utils/types/config-types.js +8 -0
  481. package/dist/utils/update-checker.d.ts +28 -0
  482. package/dist/utils/update-checker.js +106 -0
  483. package/dist/utils/version.d.ts +7 -0
  484. package/dist/utils/version.js +10 -0
  485. package/dist/utils/vscode-detect.d.ts +39 -0
  486. package/dist/utils/vscode-detect.js +137 -0
  487. package/package.json +25 -12
  488. package/dist/commands/handler-types.d.ts +0 -68
  489. package/dist/commands/handler-types.js +0 -8
  490. package/dist/commands/handlers/agent-commands.d.ts +0 -13
  491. package/dist/commands/handlers/agent-commands.js +0 -305
  492. package/dist/commands/handlers/design-commands.d.ts +0 -15
  493. package/dist/commands/handlers/design-commands.js +0 -334
  494. package/dist/commands/handlers/index.d.ts +0 -20
  495. package/dist/commands/handlers/index.js +0 -43
  496. package/dist/commands/handlers/overlay-commands.d.ts +0 -21
  497. package/dist/commands/handlers/overlay-commands.js +0 -287
  498. package/dist/commands/handlers/project-commands.d.ts +0 -11
  499. package/dist/commands/handlers/project-commands.js +0 -167
  500. package/dist/commands/handlers/simple-commands.d.ts +0 -19
  501. package/dist/commands/handlers/simple-commands.js +0 -144
  502. package/dist/commands/registry.d.ts +0 -50
  503. package/dist/commands/registry.js +0 -75
  504. package/dist/index.old.d.ts +0 -7
  505. package/dist/index.old.js +0 -1014
  506. package/dist/repl.d.ts +0 -149
  507. package/dist/repl.js +0 -1151
  508. package/dist/templates/claude-md.d.ts +0 -7
  509. package/dist/templates/claude-md.js +0 -189
  510. package/dist/test-autocomplete.d.ts +0 -7
  511. package/dist/test-autocomplete.js +0 -85
  512. package/dist/test-tabbed-menu.d.ts +0 -7
  513. package/dist/test-tabbed-menu.js +0 -25
  514. package/dist/tool-selector.d.ts +0 -71
  515. package/dist/tool-selector.js +0 -184
  516. package/dist/ui/agents-overlay-v2.d.ts +0 -43
  517. package/dist/ui/agents-overlay-v2.js +0 -809
  518. package/dist/ui/agents-overlay.d.ts +0 -12
  519. package/dist/ui/agents-overlay.js +0 -863
  520. package/dist/ui/anchors-overlay.d.ts +0 -12
  521. package/dist/ui/anchors-overlay.js +0 -775
  522. package/dist/ui/arch-type-overlay.d.ts +0 -15
  523. package/dist/ui/arch-type-overlay.js +0 -201
  524. package/dist/ui/ask-user-overlay-v2.d.ts +0 -26
  525. package/dist/ui/ask-user-overlay-v2.js +0 -555
  526. package/dist/ui/ask-user-simple-overlay-v2.d.ts +0 -25
  527. package/dist/ui/ask-user-simple-overlay-v2.js +0 -215
  528. package/dist/ui/backlog-overlay.d.ts +0 -32
  529. package/dist/ui/backlog-overlay.js +0 -652
  530. package/dist/ui/commands-overlay-v2.d.ts +0 -33
  531. package/dist/ui/commands-overlay-v2.js +0 -441
  532. package/dist/ui/commands-overlay.d.ts +0 -16
  533. package/dist/ui/commands-overlay.js +0 -439
  534. package/dist/ui/config-overlay.d.ts +0 -35
  535. package/dist/ui/config-overlay.js +0 -707
  536. package/dist/ui/docs-overlay.d.ts +0 -17
  537. package/dist/ui/docs-overlay.js +0 -303
  538. package/dist/ui/footer-v2.d.ts +0 -222
  539. package/dist/ui/footer-v2.js +0 -1349
  540. package/dist/ui/help-overlay-v2.d.ts +0 -34
  541. package/dist/ui/help-overlay-v2.js +0 -309
  542. package/dist/ui/help-overlay.d.ts +0 -16
  543. package/dist/ui/help-overlay.js +0 -316
  544. package/dist/ui/init-overlay-v2.d.ts +0 -34
  545. package/dist/ui/init-overlay-v2.js +0 -600
  546. package/dist/ui/init-overlay.d.ts +0 -34
  547. package/dist/ui/init-overlay.js +0 -604
  548. package/dist/ui/input-prompt-v2.d.ts +0 -180
  549. package/dist/ui/input-prompt-v2.js +0 -999
  550. package/dist/ui/iteration-limit-overlay-v2.d.ts +0 -21
  551. package/dist/ui/iteration-limit-overlay-v2.js +0 -114
  552. package/dist/ui/keys-overlay-v2.d.ts +0 -41
  553. package/dist/ui/keys-overlay-v2.js +0 -248
  554. package/dist/ui/mascot-overlay-v2.d.ts +0 -41
  555. package/dist/ui/mascot-overlay-v2.js +0 -138
  556. package/dist/ui/mascot-overlay.d.ts +0 -21
  557. package/dist/ui/mascot-overlay.js +0 -146
  558. package/dist/ui/model-overlay-v2.d.ts +0 -49
  559. package/dist/ui/model-overlay-v2.js +0 -118
  560. package/dist/ui/model-overlay.d.ts +0 -27
  561. package/dist/ui/model-overlay.js +0 -221
  562. package/dist/ui/model-warning-overlay.d.ts +0 -30
  563. package/dist/ui/model-warning-overlay.js +0 -169
  564. package/dist/ui/new-overlay.d.ts +0 -34
  565. package/dist/ui/new-overlay.js +0 -604
  566. package/dist/ui/overlay/impl/init-overlay-v2.d.ts +0 -77
  567. package/dist/ui/overlay/impl/init-overlay-v2.js +0 -593
  568. package/dist/ui/overlay/overlay-types.d.ts +0 -128
  569. package/dist/ui/overlay/overlay-types.js +0 -22
  570. package/dist/ui/overlays/help-overlay-v2.d.ts +0 -28
  571. package/dist/ui/overlays/help-overlay-v2.js +0 -198
  572. package/dist/ui/overlays/index.d.ts +0 -11
  573. package/dist/ui/overlays/index.js +0 -11
  574. package/dist/ui/permission-overlay-v2.d.ts +0 -36
  575. package/dist/ui/permission-overlay-v2.js +0 -380
  576. package/dist/ui/projects-overlay.d.ts +0 -19
  577. package/dist/ui/projects-overlay.js +0 -484
  578. package/dist/ui/theme-overlay-v2.d.ts +0 -42
  579. package/dist/ui/theme-overlay-v2.js +0 -135
  580. package/dist/ui/theme-overlay.d.ts +0 -24
  581. package/dist/ui/theme-overlay.js +0 -127
  582. package/dist/ui/tools-overlay-v2.d.ts +0 -47
  583. package/dist/ui/tools-overlay-v2.js +0 -218
  584. package/dist/ui/tools-overlay.d.ts +0 -34
  585. package/dist/ui/tools-overlay.js +0 -230
  586. package/dist/ui/tutorial-overlay-v2.d.ts +0 -31
  587. package/dist/ui/tutorial-overlay-v2.js +0 -1035
  588. package/dist/ui/tutorial-overlay.d.ts +0 -11
  589. package/dist/ui/tutorial-overlay.js +0 -1034
  590. package/dist/ui/workflow-overlay.d.ts +0 -22
  591. package/dist/ui/workflow-overlay.js +0 -636
@@ -1,11 +1,11 @@
1
1
  /**
2
- * Project Database Tools
2
+ * Project State Management
3
3
  *
4
- * Tools for managing projects in the database.
5
- * These tools allow the agent to create, query, and update projects.
4
+ * Runtime state for the current working project.
5
+ * Used by ~15+ CLI files for project context.
6
+ *
7
+ * Tool definitions have moved to the SDK (via platform-adapter.ts).
6
8
  */
7
- import { defineTool, createSuccessResult, createErrorResult } from '@compilr-dev/agents';
8
- import { projectRepository } from '../db/repositories/index.js';
9
9
  import { setLastProjectId } from '../settings/index.js';
10
10
  // Current project state (runtime, not persisted)
11
11
  // This is the project the user is currently working on
@@ -37,334 +37,3 @@ export function clearCurrentProject() {
37
37
  export const getActiveProject = getCurrentProject;
38
38
  export const setActiveProject = setCurrentProject;
39
39
  export const clearActiveProject = clearCurrentProject;
40
- /**
41
- * project_get - Get project for current directory or by ID
42
- */
43
- export const projectGetTool = defineTool({
44
- name: 'project_get',
45
- description: 'Get the active project for the current directory, or get a project by ID/name. Returns project details including metadata, workflow state, and last context.',
46
- inputSchema: {
47
- type: 'object',
48
- properties: {
49
- project_id: {
50
- type: 'number',
51
- description: 'Project ID to look up (optional - uses active project or cwd detection if not provided)',
52
- },
53
- name: {
54
- type: 'string',
55
- description: 'Project name to look up (optional)',
56
- },
57
- path: {
58
- type: 'string',
59
- description: 'Path to check for project (optional - defaults to cwd)',
60
- },
61
- },
62
- required: [],
63
- },
64
- execute: async (input) => {
65
- await Promise.resolve(); // Required for async type signature
66
- try {
67
- let project = null;
68
- // Priority: ID > name > active > path detection
69
- if (input.project_id) {
70
- project = projectRepository.getById(input.project_id);
71
- }
72
- else if (input.name) {
73
- project = projectRepository.getByName(input.name);
74
- }
75
- else if (currentProject) {
76
- project = projectRepository.getById(currentProject.id);
77
- }
78
- else if (input.path) {
79
- project = projectRepository.findByPath(input.path);
80
- }
81
- else {
82
- // Try to find project by cwd
83
- const cwd = process.cwd();
84
- project = projectRepository.findByPath(cwd);
85
- }
86
- if (!project) {
87
- return createSuccessResult({
88
- success: true,
89
- project: null,
90
- message: 'No project found. Use project_create to create a new project, or /projects to select one.',
91
- });
92
- }
93
- // Update current project
94
- setCurrentProject({ id: project.id, name: project.name, displayName: project.displayName, path: project.path });
95
- return createSuccessResult({
96
- success: true,
97
- project: {
98
- id: project.id,
99
- name: project.name,
100
- displayName: project.displayName,
101
- description: project.description,
102
- type: project.type,
103
- status: project.status,
104
- path: project.path,
105
- docsPath: project.docsPath,
106
- repoPattern: project.repoPattern,
107
- language: project.language,
108
- framework: project.framework,
109
- packageManager: project.packageManager,
110
- runtimeVersion: project.runtimeVersion,
111
- commands: project.commands,
112
- gitRemote: project.gitRemote,
113
- gitBranch: project.gitBranch,
114
- workflowMode: project.workflowMode,
115
- lifecycleState: project.lifecycleState,
116
- currentItemId: project.currentItemId,
117
- lastContext: project.lastContext,
118
- createdAt: project.createdAt.toISOString(),
119
- updatedAt: project.updatedAt.toISOString(),
120
- lastActivityAt: project.lastActivityAt?.toISOString(),
121
- },
122
- });
123
- }
124
- catch (error) {
125
- return createErrorResult(`Failed to get project: ${error instanceof Error ? error.message : String(error)}`);
126
- }
127
- },
128
- });
129
- /**
130
- * project_create - Create a new project
131
- */
132
- export const projectCreateTool = defineTool({
133
- name: 'project_create',
134
- description: 'Create a new tracked project. This promotes a directory to a tracked project with workflow support.',
135
- inputSchema: {
136
- type: 'object',
137
- properties: {
138
- name: {
139
- type: 'string',
140
- description: 'Filesystem-safe project name (e.g., "my-api-project")',
141
- },
142
- display_name: {
143
- type: 'string',
144
- description: 'Human-friendly display name (e.g., "My API Project")',
145
- },
146
- description: {
147
- type: 'string',
148
- description: 'Project description',
149
- },
150
- path: {
151
- type: 'string',
152
- description: 'Project path (defaults to cwd)',
153
- },
154
- type: {
155
- type: 'string',
156
- enum: ['general', 'web', 'cli', 'library', 'api'],
157
- description: 'Project type',
158
- },
159
- workflow_mode: {
160
- type: 'string',
161
- enum: ['flexible', 'guided'],
162
- description: 'Workflow mode: flexible (default) or guided',
163
- },
164
- language: {
165
- type: 'string',
166
- description: 'Programming language (e.g., "typescript", "python")',
167
- },
168
- framework: {
169
- type: 'string',
170
- description: 'Framework (e.g., "react", "express")',
171
- },
172
- package_manager: {
173
- type: 'string',
174
- description: 'Package manager (e.g., "npm", "yarn", "pnpm")',
175
- },
176
- },
177
- required: ['name', 'display_name'],
178
- },
179
- execute: async (input) => {
180
- await Promise.resolve(); // Required for async type signature
181
- try {
182
- // Check if project with this name already exists
183
- const existing = projectRepository.getByName(input.name);
184
- if (existing) {
185
- return createErrorResult(`Project with name "${input.name}" already exists`);
186
- }
187
- // Check if a project exists at this path
188
- const projectPath = input.path || process.cwd();
189
- const existingByPath = projectRepository.findByPath(projectPath);
190
- if (existingByPath) {
191
- return createErrorResult(`A project already exists at path "${projectPath}": ${existingByPath.name}`);
192
- }
193
- const createInput = {
194
- name: input.name,
195
- display_name: input.display_name,
196
- description: input.description,
197
- path: projectPath,
198
- type: input.type ? input.type : 'general',
199
- workflow_mode: input.workflow_mode ? input.workflow_mode : 'flexible',
200
- language: input.language,
201
- framework: input.framework,
202
- package_manager: input.package_manager,
203
- };
204
- const project = projectRepository.create(createInput);
205
- // Set as current project
206
- setCurrentProject({ id: project.id, name: project.name, displayName: project.displayName, path: project.path });
207
- return createSuccessResult({
208
- success: true,
209
- message: `Project "${project.displayName}" created successfully`,
210
- project: {
211
- id: project.id,
212
- name: project.name,
213
- displayName: project.displayName,
214
- type: project.type,
215
- workflowMode: project.workflowMode,
216
- path: project.path,
217
- },
218
- });
219
- }
220
- catch (error) {
221
- return createErrorResult(`Failed to create project: ${error instanceof Error ? error.message : String(error)}`);
222
- }
223
- },
224
- });
225
- /**
226
- * project_update - Update an existing project
227
- */
228
- export const projectUpdateTool = defineTool({
229
- name: 'project_update',
230
- description: 'Update an existing project. Can update status, description, workflow mode, lifecycle state, and other fields.',
231
- inputSchema: {
232
- type: 'object',
233
- properties: {
234
- project_id: {
235
- type: 'number',
236
- description: 'Project ID to update (uses active project if not provided)',
237
- },
238
- status: {
239
- type: 'string',
240
- enum: ['active', 'paused', 'completed', 'archived'],
241
- description: 'Project status',
242
- },
243
- description: {
244
- type: 'string',
245
- description: 'Project description',
246
- },
247
- workflow_mode: {
248
- type: 'string',
249
- enum: ['flexible', 'guided'],
250
- description: 'Workflow mode',
251
- },
252
- lifecycle_state: {
253
- type: 'string',
254
- enum: ['setup', 'active', 'maintenance', 'complete'],
255
- description: 'Project lifecycle state',
256
- },
257
- current_item_id: {
258
- type: 'string',
259
- description: 'Currently focused work item ID (e.g., "REQ-003")',
260
- },
261
- last_context: {
262
- type: 'object',
263
- description: 'Context for session resumption',
264
- },
265
- },
266
- required: [],
267
- },
268
- execute: async (input) => {
269
- await Promise.resolve(); // Required for async type signature
270
- try {
271
- const projectId = input.project_id || currentProject?.id;
272
- if (!projectId) {
273
- return createErrorResult('No project specified and no active project. Use project_get or /projects to select a project.');
274
- }
275
- const updateInput = {};
276
- if (input.status)
277
- updateInput.status = input.status;
278
- if (input.description !== undefined)
279
- updateInput.description = input.description;
280
- if (input.workflow_mode)
281
- updateInput.workflow_mode = input.workflow_mode;
282
- if (input.lifecycle_state)
283
- updateInput.lifecycle_state = input.lifecycle_state;
284
- if (input.current_item_id !== undefined)
285
- updateInput.current_item_id = input.current_item_id;
286
- if (input.last_context)
287
- updateInput.last_context = input.last_context;
288
- const project = projectRepository.update(projectId, updateInput);
289
- if (!project) {
290
- return createErrorResult(`Project with ID ${String(projectId)} not found`);
291
- }
292
- return createSuccessResult({
293
- success: true,
294
- message: `Project "${project.displayName}" updated`,
295
- project: {
296
- id: project.id,
297
- name: project.name,
298
- displayName: project.displayName,
299
- status: project.status,
300
- workflowMode: project.workflowMode,
301
- lifecycleState: project.lifecycleState,
302
- currentItemId: project.currentItemId,
303
- },
304
- });
305
- }
306
- catch (error) {
307
- return createErrorResult(`Failed to update project: ${error instanceof Error ? error.message : String(error)}`);
308
- }
309
- },
310
- });
311
- /**
312
- * project_list - List projects
313
- */
314
- export const projectListTool = defineTool({
315
- name: 'project_list',
316
- description: 'List all tracked projects, optionally filtered by status.',
317
- inputSchema: {
318
- type: 'object',
319
- properties: {
320
- status: {
321
- type: 'string',
322
- enum: ['active', 'paused', 'completed', 'archived', 'all'],
323
- description: 'Filter by status (default: all)',
324
- },
325
- limit: {
326
- type: 'number',
327
- description: 'Maximum number of projects to return (default: 20)',
328
- },
329
- },
330
- required: [],
331
- },
332
- execute: async (input) => {
333
- await Promise.resolve(); // Required for async type signature
334
- try {
335
- const result = projectRepository.list({
336
- status: input.status,
337
- limit: input.limit || 20,
338
- });
339
- const projects = result.projects.map((p) => ({
340
- id: p.id,
341
- name: p.name,
342
- displayName: p.displayName,
343
- type: p.type,
344
- status: p.status,
345
- path: p.path,
346
- workflowMode: p.workflowMode,
347
- lifecycleState: p.lifecycleState,
348
- lastActivityAt: p.lastActivityAt?.toISOString(),
349
- }));
350
- return createSuccessResult({
351
- success: true,
352
- projects,
353
- total: result.total,
354
- currentProjectId: currentProject?.id,
355
- });
356
- }
357
- catch (error) {
358
- return createErrorResult(`Failed to list projects: ${error instanceof Error ? error.message : String(error)}`);
359
- }
360
- },
361
- });
362
- /**
363
- * All project tools
364
- */
365
- export const projectDbTools = [
366
- projectGetTool,
367
- projectCreateTool,
368
- projectUpdateTool,
369
- projectListTool,
370
- ];
@@ -0,0 +1,18 @@
1
+ /**
2
+ * recall_work Tool — Query Work History
3
+ *
4
+ * Lets agents proactively query episodic work history.
5
+ * Returns episodes with agent attribution, effort level, and affected files.
6
+ */
7
+ interface RecallWorkInput {
8
+ /** Filter by file paths (returns episodes touching any of these files) */
9
+ files?: string[];
10
+ /** Filter by agent ID */
11
+ agentId?: string;
12
+ /** Filter by session ID */
13
+ sessionId?: string;
14
+ /** Return N most recent episodes (default: 20) */
15
+ recent?: number;
16
+ }
17
+ export declare const recallWorkTool: import("@compilr-dev/sdk").Tool<RecallWorkInput>;
18
+ export {};
@@ -0,0 +1,82 @@
1
+ /**
2
+ * recall_work Tool — Query Work History
3
+ *
4
+ * Lets agents proactively query episodic work history.
5
+ * Returns episodes with agent attribution, effort level, and affected files.
6
+ */
7
+ import { defineTool } from '@compilr-dev/sdk';
8
+ import { getGlobalEpisodeStore } from '../episodes/index.js';
9
+ // =============================================================================
10
+ // Tool Definition
11
+ // =============================================================================
12
+ export const recallWorkTool = defineTool({
13
+ name: 'recall_work',
14
+ description: 'Query work history — episodes of what agents have done in this project. ' +
15
+ 'Returns episodes with agent attribution, effort level, and affected files. ' +
16
+ 'Use before destructive operations to check what work would be affected. ' +
17
+ 'Use to understand what has been done in this session or by other agents.',
18
+ inputSchema: {
19
+ type: 'object',
20
+ properties: {
21
+ files: {
22
+ type: 'array',
23
+ items: { type: 'string' },
24
+ description: 'Filter by file paths — returns episodes touching any of these files',
25
+ },
26
+ agentId: {
27
+ type: 'string',
28
+ description: 'Filter by agent ID (e.g., "default", "backend")',
29
+ },
30
+ sessionId: {
31
+ type: 'string',
32
+ description: 'Filter by session ID',
33
+ },
34
+ recent: {
35
+ type: 'number',
36
+ description: 'Return N most recent episodes (default: 20)',
37
+ },
38
+ },
39
+ },
40
+ execute: (input) => {
41
+ const store = getGlobalEpisodeStore();
42
+ if (!store) {
43
+ return Promise.resolve({
44
+ success: false,
45
+ error: 'No episode store available (no active project)',
46
+ });
47
+ }
48
+ let episodes;
49
+ if (input.files && input.files.length > 0) {
50
+ episodes = store.getByFiles(input.files);
51
+ }
52
+ else if (input.agentId) {
53
+ episodes = store.getByAgent(input.agentId);
54
+ }
55
+ else if (input.sessionId) {
56
+ episodes = store.getBySession(input.sessionId);
57
+ }
58
+ else {
59
+ episodes = store.getRecent(input.recent ?? 20);
60
+ }
61
+ const summary = store.getWorkSummary();
62
+ return Promise.resolve({
63
+ success: true,
64
+ result: {
65
+ episodes: episodes.map(ep => ({
66
+ id: ep.id,
67
+ agentId: ep.agentId,
68
+ terminalPrefix: ep.terminalPrefix,
69
+ action: ep.action,
70
+ summary: ep.summary,
71
+ files: ep.files,
72
+ effort: ep.effort,
73
+ timestamp: ep.timestamp,
74
+ toolCalls: ep.toolCalls,
75
+ })),
76
+ totalEpisodes: summary.episodeCount,
77
+ totalEffort: summary.totalEffort,
78
+ uncommittedCount: summary.uncommittedWork.length,
79
+ },
80
+ });
81
+ },
82
+ });
@@ -6,11 +6,12 @@
6
6
  /**
7
7
  * workitem_query - Query work items with filters
8
8
  */
9
- export declare const workitemQueryTool: import("@compilr-dev/agents").Tool<{
9
+ export declare const workitemQueryTool: import("@compilr-dev/sdk").Tool<{
10
10
  project_id?: number;
11
11
  status?: string;
12
12
  type?: string;
13
13
  priority?: string;
14
+ owner?: string;
14
15
  search?: string;
15
16
  limit?: number;
16
17
  offset?: number;
@@ -18,22 +19,24 @@ export declare const workitemQueryTool: import("@compilr-dev/agents").Tool<{
18
19
  /**
19
20
  * workitem_add - Add a new work item
20
21
  */
21
- export declare const workitemAddTool: import("@compilr-dev/agents").Tool<{
22
+ export declare const workitemAddTool: import("@compilr-dev/sdk").Tool<{
22
23
  project_id?: number;
23
24
  type: string;
24
25
  title: string;
25
26
  description?: string;
26
27
  priority?: string;
27
28
  estimated_effort?: string;
29
+ owner?: string;
28
30
  }>;
29
31
  /**
30
32
  * workitem_update - Update a work item
31
33
  */
32
- export declare const workitemUpdateTool: import("@compilr-dev/agents").Tool<{
34
+ export declare const workitemUpdateTool: import("@compilr-dev/sdk").Tool<{
33
35
  item_id: string;
34
36
  project_id?: number;
35
37
  status?: string;
36
38
  priority?: string;
39
+ owner?: string;
37
40
  guided_step?: string;
38
41
  title?: string;
39
42
  description?: string;
@@ -42,62 +45,91 @@ export declare const workitemUpdateTool: import("@compilr-dev/agents").Tool<{
42
45
  /**
43
46
  * workitem_next - Get the next work item to work on
44
47
  */
45
- export declare const workitemNextTool: import("@compilr-dev/agents").Tool<{
48
+ export declare const workitemNextTool: import("@compilr-dev/sdk").Tool<{
46
49
  project_id?: number;
47
50
  type?: string;
48
51
  }>;
49
52
  /**
50
53
  * workitem_delete - Delete a work item
51
54
  */
52
- export declare const workitemDeleteTool: import("@compilr-dev/agents").Tool<{
55
+ export declare const workitemDeleteTool: import("@compilr-dev/sdk").Tool<{
53
56
  item_id: string;
54
57
  project_id?: number;
55
58
  }>;
56
59
  /**
57
60
  * workitem_status_counts - Get work item counts by status
58
61
  */
59
- export declare const workitemStatusCountsTool: import("@compilr-dev/agents").Tool<{
62
+ export declare const workitemStatusCountsTool: import("@compilr-dev/sdk").Tool<{
60
63
  project_id?: number;
61
64
  }>;
62
65
  /**
63
66
  * workitem_advance_step - Advance to the next guided workflow step
64
67
  */
65
- export declare const workitemAdvanceStepTool: import("@compilr-dev/agents").Tool<{
68
+ export declare const workitemAdvanceStepTool: import("@compilr-dev/sdk").Tool<{
66
69
  item_id: string;
67
70
  reason: string;
68
71
  force?: boolean;
69
72
  project_id?: number;
70
73
  }>;
74
+ /**
75
+ * workitem_claim - Claim an unassigned work item
76
+ */
77
+ export declare const workitemClaimTool: import("@compilr-dev/sdk").Tool<{
78
+ item_id: string;
79
+ agent_id: string;
80
+ project_id?: number;
81
+ }>;
82
+ /**
83
+ * workitem_handoff - Hand off a work item to another agent
84
+ */
85
+ export declare const workitemHandoffTool: import("@compilr-dev/sdk").Tool<{
86
+ item_id: string;
87
+ to_agent_id: string;
88
+ notes?: string;
89
+ project_id?: number;
90
+ }>;
71
91
  /**
72
92
  * All work item tools
73
93
  */
74
- export declare const workitemDbTools: (import("@compilr-dev/agents").Tool<{
94
+ export declare const workitemDbTools: (import("@compilr-dev/sdk").Tool<{
75
95
  project_id?: number;
76
96
  status?: string;
77
97
  type?: string;
78
98
  priority?: string;
99
+ owner?: string;
79
100
  search?: string;
80
101
  limit?: number;
81
102
  offset?: number;
82
- }> | import("@compilr-dev/agents").Tool<{
103
+ }> | import("@compilr-dev/sdk").Tool<{
83
104
  project_id?: number;
84
105
  type: string;
85
106
  title: string;
86
107
  description?: string;
87
108
  priority?: string;
88
109
  estimated_effort?: string;
89
- }> | import("@compilr-dev/agents").Tool<{
110
+ owner?: string;
111
+ }> | import("@compilr-dev/sdk").Tool<{
90
112
  item_id: string;
91
113
  project_id?: number;
92
114
  status?: string;
93
115
  priority?: string;
116
+ owner?: string;
94
117
  guided_step?: string;
95
118
  title?: string;
96
119
  description?: string;
97
120
  commit_hash?: string;
98
- }> | import("@compilr-dev/agents").Tool<{
121
+ }> | import("@compilr-dev/sdk").Tool<{
99
122
  item_id: string;
100
123
  reason: string;
101
124
  force?: boolean;
102
125
  project_id?: number;
126
+ }> | import("@compilr-dev/sdk").Tool<{
127
+ item_id: string;
128
+ agent_id: string;
129
+ project_id?: number;
130
+ }> | import("@compilr-dev/sdk").Tool<{
131
+ item_id: string;
132
+ to_agent_id: string;
133
+ notes?: string;
134
+ project_id?: number;
103
135
  }>)[];