commandmate 0.14.1 → 0.16.0

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 (705) hide show
  1. package/.env.example +7 -0
  2. package/.next/BUILD_ID +1 -1
  3. package/.next/app-build-manifest.json +418 -354
  4. package/.next/app-path-routes-manifest.json +42 -34
  5. package/.next/build-manifest.json +5 -5
  6. package/.next/prerender-manifest.json +9 -9
  7. package/.next/react-loadable-manifest.json +22 -24
  8. package/.next/required-server-files.json +1 -1
  9. package/.next/routes-manifest.json +15 -0
  10. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/app/update-check/route.js +1 -1
  13. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/assistant/conversation/route.js +1 -1
  15. package/.next/server/app/api/assistant/conversation/route.js.nft.json +1 -1
  16. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/assistant/current-output/route.js +1 -1
  18. package/.next/server/app/api/assistant/current-output/route.js.nft.json +1 -1
  19. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/assistant/messages/route.js +1 -1
  21. package/.next/server/app/api/assistant/messages/route.js.nft.json +1 -1
  22. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/assistant/session/route.js +1 -1
  24. package/.next/server/app/api/assistant/session/route.js.nft.json +1 -1
  25. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/assistant/start/route.js +1 -1
  27. package/.next/server/app/api/assistant/start/route.js.nft.json +1 -1
  28. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/assistant/terminal/route.js +1 -1
  30. package/.next/server/app/api/assistant/terminal/route.js.nft.json +1 -1
  31. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/assistant/tools/route.js +1 -1
  33. package/.next/server/app/api/assistant/tools/route.js.nft.json +1 -1
  34. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/daily-summary/route.js +1 -1
  39. package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
  40. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/daily-summary/status/route.js +1 -1
  42. package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
  43. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/external-apps/[id]/health/route.js +1 -1
  45. package/.next/server/app/api/external-apps/[id]/health/route.js.nft.json +1 -1
  46. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/external-apps/[id]/route.js +1 -1
  48. package/.next/server/app/api/external-apps/[id]/route.js.nft.json +1 -1
  49. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/external-apps/route.js +1 -1
  51. package/.next/server/app/api/external-apps/route.js.nft.json +1 -1
  52. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/fs/browse/route.js +7 -0
  54. package/.next/server/app/api/fs/browse/route.js.nft.json +1 -0
  55. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -0
  56. package/.next/server/app/api/fs/recent-paths/route.js +7 -0
  57. package/.next/server/app/api/fs/recent-paths/route.js.nft.json +1 -0
  58. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -0
  59. package/.next/server/app/api/hooks/claude-done/route.js +1 -1
  60. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  61. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/push/subscriptions/route.js +1 -1
  64. package/.next/server/app/api/push/subscriptions/route.js.nft.json +1 -1
  65. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/push/vapid/route.js +1 -1
  67. package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
  68. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/repositories/[id]/route.js +1 -1
  70. package/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
  71. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js +1 -1
  73. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js.nft.json +1 -1
  74. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/repositories/[id]/todos/route.js +1 -1
  76. package/.next/server/app/api/repositories/[id]/todos/route.js.nft.json +1 -1
  77. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  79. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  80. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/repositories/clone/route.js +1 -1
  82. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  83. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/repositories/excluded/route.js +1 -1
  85. package/.next/server/app/api/repositories/excluded/route.js.nft.json +1 -1
  86. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/repositories/restore/route.js +1 -1
  88. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  89. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/repositories/route.js +1 -1
  91. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  92. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/repositories/scan/route.js +1 -1
  94. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  95. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/repositories/sync/route.js +1 -1
  97. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  98. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/repositories/validate-path/route.js +1 -0
  100. package/.next/server/app/api/repositories/validate-path/route.js.nft.json +1 -0
  101. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -0
  102. package/.next/server/app/api/sidebar/group-order/route.js +2 -2
  103. package/.next/server/app/api/sidebar/group-order/route.js.nft.json +1 -1
  104. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/skills/[id]/route.js +1 -1
  106. package/.next/server/app/api/skills/[id]/route.js.nft.json +1 -1
  107. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/skills/installations/route.js +23 -0
  109. package/.next/server/app/api/skills/installations/route.js.nft.json +1 -0
  110. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -0
  111. package/.next/server/app/api/skills/operations/route.js +13 -0
  112. package/.next/server/app/api/skills/operations/route.js.nft.json +1 -0
  113. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -0
  114. package/.next/server/app/api/skills/reindex/route.js +23 -0
  115. package/.next/server/app/api/skills/reindex/route.js.nft.json +1 -0
  116. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -0
  117. package/.next/server/app/api/skills/route.js +1 -1
  118. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  119. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/slash-commands/route.js +1 -1
  121. package/.next/server/app/api/slash-commands/route.js.nft.json +1 -1
  122. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/templates/[id]/route.js +1 -1
  124. package/.next/server/app/api/templates/[id]/route.js.nft.json +1 -1
  125. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/templates/route.js +1 -1
  127. package/.next/server/app/api/templates/route.js.nft.json +1 -1
  128. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/todos/route.js +1 -1
  130. package/.next/server/app/api/todos/route.js.nft.json +1 -1
  131. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  134. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  137. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js.nft.json +1 -1
  140. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
  143. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  146. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js.nft.json +1 -1
  149. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +2 -2
  151. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
  152. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js.nft.json +1 -1
  155. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js.nft.json +1 -1
  158. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js.nft.json +1 -1
  161. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/git/branches/route.js.nft.json +1 -1
  164. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js.nft.json +1 -1
  167. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/git/commit/route.js.nft.json +1 -1
  170. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/git/diff/route.js.nft.json +1 -1
  173. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js.nft.json +1 -1
  176. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/git/log/route.js.nft.json +1 -1
  179. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/git/pull/route.js.nft.json +1 -1
  182. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/git/push/route.js.nft.json +1 -1
  185. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/git/reset/route.js.nft.json +1 -1
  188. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/git/revert/route.js.nft.json +1 -1
  191. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js.nft.json +1 -1
  194. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/git/stage/route.js.nft.json +1 -1
  197. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
  199. package/.next/server/app/api/worktrees/[id]/git/staged/route.js.nft.json +1 -1
  200. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
  202. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js.nft.json +1 -1
  203. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js.nft.json +1 -1
  206. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  207. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js.nft.json +1 -1
  209. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  210. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js.nft.json +1 -1
  212. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/git/stash/route.js.nft.json +1 -1
  215. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/git/status/route.js.nft.json +1 -1
  218. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
  220. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js.nft.json +1 -1
  221. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  222. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
  223. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js.nft.json +1 -1
  224. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  225. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  226. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  227. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  228. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  229. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  230. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  231. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
  232. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js.nft.json +1 -1
  233. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  234. package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
  235. package/.next/server/app/api/worktrees/[id]/logs/route.js.nft.json +1 -1
  236. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  237. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +2 -2
  238. package/.next/server/app/api/worktrees/[id]/marp-render/route.js.nft.json +1 -1
  239. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  240. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  241. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js.nft.json +1 -1
  242. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  243. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  244. package/.next/server/app/api/worktrees/[id]/memos/route.js.nft.json +1 -1
  245. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  246. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  247. package/.next/server/app/api/worktrees/[id]/messages/route.js.nft.json +1 -1
  248. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  249. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  250. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  251. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  252. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  253. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  254. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  255. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  256. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  257. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  258. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
  259. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
  260. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  261. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
  262. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
  263. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  264. package/.next/server/app/api/worktrees/[id]/schedules/route.js +2 -2
  265. package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
  266. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  267. package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
  268. package/.next/server/app/api/worktrees/[id]/search/route.js.nft.json +1 -1
  269. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  270. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  271. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  272. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  273. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +18 -0
  274. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -0
  275. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -0
  276. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
  277. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
  278. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  279. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
  280. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
  281. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  282. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
  283. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
  284. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  285. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
  286. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
  287. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  288. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  289. package/.next/server/app/api/worktrees/[id]/skills/route.js.nft.json +1 -1
  290. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  291. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  292. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
  293. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  294. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  295. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  296. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  297. package/.next/server/app/api/worktrees/[id]/start-polling/route.js +1 -1
  298. package/.next/server/app/api/worktrees/[id]/start-polling/route.js.nft.json +1 -1
  299. package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
  300. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
  301. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  302. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  303. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  304. package/.next/server/app/api/worktrees/[id]/timers/history/route.js.nft.json +1 -1
  305. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  306. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  307. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  308. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  309. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
  310. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js.nft.json +1 -1
  311. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  312. package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
  313. package/.next/server/app/api/worktrees/[id]/todos/route.js.nft.json +1 -1
  314. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  315. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
  316. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js.nft.json +1 -1
  317. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  318. package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
  319. package/.next/server/app/api/worktrees/[id]/tree/route.js.nft.json +1 -1
  320. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  321. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js +1 -1
  322. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js.nft.json +1 -1
  323. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  324. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  325. package/.next/server/app/api/worktrees/[id]/viewed/route.js.nft.json +1 -1
  326. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  327. package/.next/server/app/api/worktrees/route.js +1 -1
  328. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  329. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  330. package/.next/server/app/chat/page.js +1 -1
  331. package/.next/server/app/chat/page.js.nft.json +1 -1
  332. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  333. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  334. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  335. package/.next/server/app/more/page.js +1 -1
  336. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  337. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  338. package/.next/server/app/page_client-reference-manifest.js +1 -1
  339. package/.next/server/app/proxy/[...path]/route.js +1 -1
  340. package/.next/server/app/proxy/[...path]/route.js.nft.json +1 -1
  341. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  342. package/.next/server/app/repositories/page.js +2 -2
  343. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  344. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  345. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  346. package/.next/server/app/skills/[skillId]/page.js +2 -2
  347. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  348. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  349. package/.next/server/app/skills/installed/page.js +2 -0
  350. package/.next/server/app/skills/installed/page.js.nft.json +1 -0
  351. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -0
  352. package/.next/server/app/skills/page.js +2 -2
  353. package/.next/server/app/skills/page.js.nft.json +1 -1
  354. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  355. package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
  356. package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
  357. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  358. package/.next/server/app/worktrees/[id]/page.js +9 -9
  359. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  360. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  361. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  362. package/.next/server/app-paths-manifest.json +42 -34
  363. package/.next/server/chunks/1117.js +1 -1
  364. package/.next/server/chunks/1185.js +1 -0
  365. package/.next/server/chunks/1239.js +1 -0
  366. package/.next/server/chunks/1355.js +1 -0
  367. package/.next/server/chunks/2119.js +1 -1
  368. package/.next/server/chunks/22.js +1 -1
  369. package/.next/server/chunks/2328.js +1 -1
  370. package/.next/server/chunks/2445.js +1 -1
  371. package/.next/server/chunks/2710.js +2 -0
  372. package/.next/server/chunks/28.js +35 -0
  373. package/.next/server/chunks/3042.js +1 -2
  374. package/.next/server/chunks/3543.js +1 -1
  375. package/.next/server/chunks/3722.js +1 -1
  376. package/.next/server/chunks/3736.js +1 -1
  377. package/.next/server/chunks/3753.js +1 -1
  378. package/.next/server/chunks/3945.js +1 -1
  379. package/.next/server/chunks/4390.js +1 -0
  380. package/.next/server/chunks/4440.js +2 -0
  381. package/.next/server/chunks/4444.js +1 -1
  382. package/.next/server/chunks/4548.js +1 -0
  383. package/.next/server/chunks/5064.js +1 -1
  384. package/.next/server/chunks/5326.js +1 -1
  385. package/.next/server/chunks/5381.js +1 -1
  386. package/.next/server/chunks/5456.js +1 -1
  387. package/.next/server/chunks/5737.js +1 -0
  388. package/.next/server/chunks/5793.js +1 -0
  389. package/.next/server/chunks/5959.js +2 -2
  390. package/.next/server/chunks/6065.js +1 -1
  391. package/.next/server/chunks/6130.js +1 -1
  392. package/.next/server/chunks/646.js +2 -2
  393. package/.next/server/chunks/7593.js +1 -0
  394. package/.next/server/chunks/8356.js +1 -1
  395. package/.next/server/chunks/8681.js +1 -1
  396. package/.next/server/chunks/8807.js +66 -3
  397. package/.next/server/chunks/9051.js +1 -0
  398. package/.next/server/chunks/9123.js +1 -1
  399. package/.next/server/chunks/9687.js +1 -1
  400. package/.next/server/middleware-build-manifest.js +1 -1
  401. package/.next/server/middleware-manifest.json +5 -5
  402. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  403. package/.next/server/pages/500.html +1 -1
  404. package/.next/server/server-reference-manifest.json +1 -1
  405. package/.next/server/src/middleware.js.map +1 -1
  406. package/.next/static/AKqbAyuzbFfg05qpbCI_K/_buildManifest.js +1 -0
  407. package/.next/static/chunks/1191-b7dfdfe86b1d31d1.js +1 -0
  408. package/.next/static/chunks/2751-7fabd91275b14ca3.js +1 -0
  409. package/.next/static/chunks/{4459.03172449db395039.js → 4459.a94b52985a76509a.js} +1 -1
  410. package/.next/static/chunks/{4560-04e5aebcab96bfa1.js → 4560-8ffb0bb19f2ba998.js} +1 -1
  411. package/.next/static/chunks/530.e31cc754677fed0f.js +1 -0
  412. package/.next/static/chunks/5542-b6457f305d724a6b.js +1 -0
  413. package/.next/static/chunks/{6488-74d2f443e43c07b7.js → 6488-c2a968ec806975c2.js} +1 -1
  414. package/.next/static/chunks/{7485.43871aedf3dbb980.js → 7485.442b21101fca7257.js} +1 -1
  415. package/.next/static/chunks/8562-6e2ab32452f4fa5b.js +1 -0
  416. package/.next/static/chunks/8566-a6a7c70558927410.js +1 -0
  417. package/.next/static/chunks/9263.5259f73f89220d64.js +1 -0
  418. package/.next/static/chunks/9599-d29d2f8eeaf7c249.js +1 -0
  419. package/.next/static/chunks/app/api/app/update/route-55e398bd20e2d7a9.js +1 -0
  420. package/.next/static/chunks/app/api/app/update-check/route-55e398bd20e2d7a9.js +1 -0
  421. package/.next/static/chunks/app/api/assistant/conversation/route-55e398bd20e2d7a9.js +1 -0
  422. package/.next/static/chunks/app/api/assistant/current-output/route-55e398bd20e2d7a9.js +1 -0
  423. package/.next/static/chunks/app/api/assistant/messages/route-55e398bd20e2d7a9.js +1 -0
  424. package/.next/static/chunks/app/api/assistant/session/route-55e398bd20e2d7a9.js +1 -0
  425. package/.next/static/chunks/app/api/assistant/start/route-55e398bd20e2d7a9.js +1 -0
  426. package/.next/static/chunks/app/api/assistant/terminal/route-55e398bd20e2d7a9.js +1 -0
  427. package/.next/static/chunks/app/api/assistant/tools/route-55e398bd20e2d7a9.js +1 -0
  428. package/.next/static/chunks/app/api/auth/login/route-55e398bd20e2d7a9.js +1 -0
  429. package/.next/static/chunks/app/api/auth/logout/route-55e398bd20e2d7a9.js +1 -0
  430. package/.next/static/chunks/app/api/auth/status/route-55e398bd20e2d7a9.js +1 -0
  431. package/.next/static/chunks/app/api/daily-summary/route-55e398bd20e2d7a9.js +1 -0
  432. package/.next/static/chunks/app/api/daily-summary/status/route-55e398bd20e2d7a9.js +1 -0
  433. package/.next/static/chunks/app/api/external-apps/[id]/health/route-55e398bd20e2d7a9.js +1 -0
  434. package/.next/static/chunks/app/api/external-apps/[id]/route-55e398bd20e2d7a9.js +1 -0
  435. package/.next/static/chunks/app/api/external-apps/route-55e398bd20e2d7a9.js +1 -0
  436. package/.next/static/chunks/app/api/fs/browse/route-55e398bd20e2d7a9.js +1 -0
  437. package/.next/static/chunks/app/api/fs/recent-paths/route-55e398bd20e2d7a9.js +1 -0
  438. package/.next/static/chunks/app/api/hooks/claude-done/route-55e398bd20e2d7a9.js +1 -0
  439. package/.next/static/chunks/app/api/ollama/models/route-55e398bd20e2d7a9.js +1 -0
  440. package/.next/static/chunks/app/api/push/subscriptions/route-55e398bd20e2d7a9.js +1 -0
  441. package/.next/static/chunks/app/api/push/vapid/route-55e398bd20e2d7a9.js +1 -0
  442. package/.next/static/chunks/app/api/repositories/[id]/route-55e398bd20e2d7a9.js +1 -0
  443. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-55e398bd20e2d7a9.js +1 -0
  444. package/.next/static/chunks/app/api/repositories/[id]/todos/route-55e398bd20e2d7a9.js +1 -0
  445. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-55e398bd20e2d7a9.js +1 -0
  446. package/.next/static/chunks/app/api/repositories/clone/route-55e398bd20e2d7a9.js +1 -0
  447. package/.next/static/chunks/app/api/repositories/excluded/route-55e398bd20e2d7a9.js +1 -0
  448. package/.next/static/chunks/app/api/repositories/restore/route-55e398bd20e2d7a9.js +1 -0
  449. package/.next/static/chunks/app/api/repositories/route-55e398bd20e2d7a9.js +1 -0
  450. package/.next/static/chunks/app/api/repositories/scan/route-55e398bd20e2d7a9.js +1 -0
  451. package/.next/static/chunks/app/api/repositories/sync/route-55e398bd20e2d7a9.js +1 -0
  452. package/.next/static/chunks/app/api/repositories/validate-path/route-55e398bd20e2d7a9.js +1 -0
  453. package/.next/static/chunks/app/api/sidebar/group-order/route-55e398bd20e2d7a9.js +1 -0
  454. package/.next/static/chunks/app/api/skills/[id]/route-55e398bd20e2d7a9.js +1 -0
  455. package/.next/static/chunks/app/api/skills/installations/route-55e398bd20e2d7a9.js +1 -0
  456. package/.next/static/chunks/app/api/skills/operations/route-55e398bd20e2d7a9.js +1 -0
  457. package/.next/static/chunks/app/api/skills/reindex/route-55e398bd20e2d7a9.js +1 -0
  458. package/.next/static/chunks/app/api/skills/route-55e398bd20e2d7a9.js +1 -0
  459. package/.next/static/chunks/app/api/slash-commands/route-55e398bd20e2d7a9.js +1 -0
  460. package/.next/static/chunks/app/api/templates/[id]/route-55e398bd20e2d7a9.js +1 -0
  461. package/.next/static/chunks/app/api/templates/route-55e398bd20e2d7a9.js +1 -0
  462. package/.next/static/chunks/app/api/todos/route-55e398bd20e2d7a9.js +1 -0
  463. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-55e398bd20e2d7a9.js +1 -0
  464. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-55e398bd20e2d7a9.js +1 -0
  465. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-55e398bd20e2d7a9.js +1 -0
  466. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-55e398bd20e2d7a9.js +1 -0
  467. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-55e398bd20e2d7a9.js +1 -0
  468. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-55e398bd20e2d7a9.js +1 -0
  469. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-55e398bd20e2d7a9.js +1 -0
  470. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-55e398bd20e2d7a9.js +1 -0
  471. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-55e398bd20e2d7a9.js +1 -0
  472. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-55e398bd20e2d7a9.js +1 -0
  473. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-55e398bd20e2d7a9.js +1 -0
  474. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-55e398bd20e2d7a9.js +1 -0
  475. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-55e398bd20e2d7a9.js +1 -0
  476. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-55e398bd20e2d7a9.js +1 -0
  477. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-55e398bd20e2d7a9.js +1 -0
  478. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-55e398bd20e2d7a9.js +1 -0
  479. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-55e398bd20e2d7a9.js +1 -0
  480. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-55e398bd20e2d7a9.js +1 -0
  481. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-55e398bd20e2d7a9.js +1 -0
  482. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-55e398bd20e2d7a9.js +1 -0
  483. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-55e398bd20e2d7a9.js +1 -0
  484. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-55e398bd20e2d7a9.js +1 -0
  485. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-55e398bd20e2d7a9.js +1 -0
  486. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-55e398bd20e2d7a9.js +1 -0
  487. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-55e398bd20e2d7a9.js +1 -0
  488. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-55e398bd20e2d7a9.js +1 -0
  489. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-55e398bd20e2d7a9.js +1 -0
  490. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-55e398bd20e2d7a9.js +1 -0
  491. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-55e398bd20e2d7a9.js +1 -0
  492. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-55e398bd20e2d7a9.js +1 -0
  493. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-55e398bd20e2d7a9.js +1 -0
  494. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-55e398bd20e2d7a9.js +1 -0
  495. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-55e398bd20e2d7a9.js +1 -0
  496. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-55e398bd20e2d7a9.js +1 -0
  497. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-55e398bd20e2d7a9.js +1 -0
  498. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-55e398bd20e2d7a9.js +1 -0
  499. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-55e398bd20e2d7a9.js +1 -0
  500. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-55e398bd20e2d7a9.js +1 -0
  501. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-55e398bd20e2d7a9.js +1 -0
  502. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-55e398bd20e2d7a9.js +1 -0
  503. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-55e398bd20e2d7a9.js +1 -0
  504. package/.next/static/chunks/app/api/worktrees/[id]/route-55e398bd20e2d7a9.js +1 -0
  505. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-55e398bd20e2d7a9.js +1 -0
  506. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-55e398bd20e2d7a9.js +1 -0
  507. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-55e398bd20e2d7a9.js +1 -0
  508. package/.next/static/chunks/app/api/worktrees/[id]/search/route-55e398bd20e2d7a9.js +1 -0
  509. package/.next/static/chunks/app/api/worktrees/[id]/send/route-55e398bd20e2d7a9.js +1 -0
  510. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-55e398bd20e2d7a9.js +1 -0
  511. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-55e398bd20e2d7a9.js +1 -0
  512. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-55e398bd20e2d7a9.js +1 -0
  513. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-55e398bd20e2d7a9.js +1 -0
  514. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-55e398bd20e2d7a9.js +1 -0
  515. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-55e398bd20e2d7a9.js +1 -0
  516. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-55e398bd20e2d7a9.js +1 -0
  517. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-55e398bd20e2d7a9.js +1 -0
  518. package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-55e398bd20e2d7a9.js +1 -0
  519. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-55e398bd20e2d7a9.js +1 -0
  520. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-55e398bd20e2d7a9.js +1 -0
  521. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-55e398bd20e2d7a9.js +1 -0
  522. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-55e398bd20e2d7a9.js +1 -0
  523. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-55e398bd20e2d7a9.js +1 -0
  524. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-55e398bd20e2d7a9.js +1 -0
  525. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-55e398bd20e2d7a9.js +1 -0
  526. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-55e398bd20e2d7a9.js +1 -0
  527. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-55e398bd20e2d7a9.js +1 -0
  528. package/.next/static/chunks/app/api/worktrees/route-55e398bd20e2d7a9.js +1 -0
  529. package/.next/static/chunks/app/chat/page-83a2238ab453afaa.js +1 -0
  530. package/.next/static/chunks/app/manifest.webmanifest/route-55e398bd20e2d7a9.js +1 -0
  531. package/.next/static/chunks/app/more/{page-082d4ae496f9a36e.js → page-1619018cac999bbc.js} +1 -1
  532. package/.next/static/chunks/app/proxy/[...path]/route-55e398bd20e2d7a9.js +1 -0
  533. package/.next/static/chunks/app/repositories/page-3c4fb889da48ce24.js +1 -0
  534. package/.next/static/chunks/app/skills/[skillId]/page-6008b904225ebb25.js +1 -0
  535. package/.next/static/chunks/app/skills/installed/page-6641f95e6a6e5f9d.js +1 -0
  536. package/.next/static/chunks/app/skills/page-184f8e23e31a3667.js +1 -0
  537. package/.next/static/chunks/app/worktrees/[id]/files/[...path]/{page-6a45f3744da50d95.js → page-6041d3c3db326317.js} +1 -1
  538. package/.next/static/chunks/app/worktrees/[id]/page-59a63a2c013ec1eb.js +1 -0
  539. package/.next/static/chunks/webpack-180bebdee221b6f4.js +1 -0
  540. package/.next/static/css/d3453a6876553d32.css +1 -0
  541. package/.next/trace +11 -11
  542. package/.next/types/app/api/fs/browse/route.ts +347 -0
  543. package/.next/types/app/api/fs/recent-paths/route.ts +347 -0
  544. package/.next/types/app/api/repositories/validate-path/route.ts +347 -0
  545. package/.next/types/app/api/skills/installations/route.ts +347 -0
  546. package/.next/types/app/api/skills/operations/route.ts +347 -0
  547. package/.next/types/app/api/skills/reindex/route.ts +347 -0
  548. package/.next/types/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.ts +347 -0
  549. package/.next/types/app/skills/installed/page.ts +84 -0
  550. package/.next/types/routes.d.ts +10 -2
  551. package/.next/types/validator.ts +72 -0
  552. package/dist/cli/commands/init.d.ts.map +1 -1
  553. package/dist/cli/commands/init.js +15 -0
  554. package/dist/cli/commands/skill.d.ts +2 -1
  555. package/dist/cli/commands/skill.d.ts.map +1 -1
  556. package/dist/cli/commands/skill.js +136 -2
  557. package/dist/cli/types/api-responses.d.ts +40 -0
  558. package/dist/cli/types/api-responses.d.ts.map +1 -1
  559. package/dist/cli/types/index.d.ts +12 -0
  560. package/dist/cli/types/index.d.ts.map +1 -1
  561. package/dist/cli/utils/env-setup.d.ts +8 -0
  562. package/dist/cli/utils/env-setup.d.ts.map +1 -1
  563. package/dist/cli/utils/env-setup.js +23 -0
  564. package/dist/server/src/lib/db/migrations/index.js +2 -0
  565. package/dist/server/src/lib/db/migrations/runner.js +1 -1
  566. package/dist/server/src/lib/db/migrations/v48-skill-operations-audit-index.js +117 -0
  567. package/dist/server/src/lib/git/git-exec.js +48 -1
  568. package/dist/server/src/lib/selected-agents-validator.js +3 -2
  569. package/dist/server/src/lib/skills/compatibility-matrix.js +256 -0
  570. package/dist/server/src/lib/skills/compatibility.js +132 -11
  571. package/dist/server/src/lib/skills/operation-audit.js +85 -15
  572. package/dist/server/src/lib/skills/operation-journal.js +14 -1
  573. package/dist/server/src/types/markdown-editor.js +13 -1
  574. package/package.json +1 -1
  575. package/.next/server/chunks/1808.js +0 -1
  576. package/.next/server/chunks/186.js +0 -1
  577. package/.next/server/chunks/5226.js +0 -28
  578. package/.next/server/chunks/5306.js +0 -2
  579. package/.next/server/chunks/7013.js +0 -1
  580. package/.next/server/chunks/9067.js +0 -1
  581. package/.next/server/chunks/9192.js +0 -1
  582. package/.next/static/1WyelLMRgPnhvA2HmhZmm/_buildManifest.js +0 -1
  583. package/.next/static/chunks/1668-e703b8b55775844b.js +0 -1
  584. package/.next/static/chunks/2069-c55de93eb6403961.js +0 -1
  585. package/.next/static/chunks/3418-7e47651340d940b0.js +0 -1
  586. package/.next/static/chunks/4027-000402aee1e3520b.js +0 -1
  587. package/.next/static/chunks/530.e377b0f1a7a89620.js +0 -1
  588. package/.next/static/chunks/6007-de36119357dcd418.js +0 -1
  589. package/.next/static/chunks/6497-ea466b22a6c1ae89.js +0 -1
  590. package/.next/static/chunks/8361.4bf062be2d2962f4.js +0 -1
  591. package/.next/static/chunks/8566-9da32e46c9d3fd54.js +0 -1
  592. package/.next/static/chunks/934-a37509667baa86ee.js +0 -1
  593. package/.next/static/chunks/app/api/app/update/route-56dad0523d3c4a92.js +0 -1
  594. package/.next/static/chunks/app/api/app/update-check/route-56dad0523d3c4a92.js +0 -1
  595. package/.next/static/chunks/app/api/assistant/conversation/route-56dad0523d3c4a92.js +0 -1
  596. package/.next/static/chunks/app/api/assistant/current-output/route-56dad0523d3c4a92.js +0 -1
  597. package/.next/static/chunks/app/api/assistant/messages/route-56dad0523d3c4a92.js +0 -1
  598. package/.next/static/chunks/app/api/assistant/session/route-56dad0523d3c4a92.js +0 -1
  599. package/.next/static/chunks/app/api/assistant/start/route-56dad0523d3c4a92.js +0 -1
  600. package/.next/static/chunks/app/api/assistant/terminal/route-56dad0523d3c4a92.js +0 -1
  601. package/.next/static/chunks/app/api/assistant/tools/route-56dad0523d3c4a92.js +0 -1
  602. package/.next/static/chunks/app/api/auth/login/route-56dad0523d3c4a92.js +0 -1
  603. package/.next/static/chunks/app/api/auth/logout/route-56dad0523d3c4a92.js +0 -1
  604. package/.next/static/chunks/app/api/auth/status/route-56dad0523d3c4a92.js +0 -1
  605. package/.next/static/chunks/app/api/daily-summary/route-56dad0523d3c4a92.js +0 -1
  606. package/.next/static/chunks/app/api/daily-summary/status/route-56dad0523d3c4a92.js +0 -1
  607. package/.next/static/chunks/app/api/external-apps/[id]/health/route-56dad0523d3c4a92.js +0 -1
  608. package/.next/static/chunks/app/api/external-apps/[id]/route-56dad0523d3c4a92.js +0 -1
  609. package/.next/static/chunks/app/api/external-apps/route-56dad0523d3c4a92.js +0 -1
  610. package/.next/static/chunks/app/api/hooks/claude-done/route-56dad0523d3c4a92.js +0 -1
  611. package/.next/static/chunks/app/api/ollama/models/route-56dad0523d3c4a92.js +0 -1
  612. package/.next/static/chunks/app/api/push/subscriptions/route-56dad0523d3c4a92.js +0 -1
  613. package/.next/static/chunks/app/api/push/vapid/route-56dad0523d3c4a92.js +0 -1
  614. package/.next/static/chunks/app/api/repositories/[id]/route-56dad0523d3c4a92.js +0 -1
  615. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-56dad0523d3c4a92.js +0 -1
  616. package/.next/static/chunks/app/api/repositories/[id]/todos/route-56dad0523d3c4a92.js +0 -1
  617. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-56dad0523d3c4a92.js +0 -1
  618. package/.next/static/chunks/app/api/repositories/clone/route-56dad0523d3c4a92.js +0 -1
  619. package/.next/static/chunks/app/api/repositories/excluded/route-56dad0523d3c4a92.js +0 -1
  620. package/.next/static/chunks/app/api/repositories/restore/route-56dad0523d3c4a92.js +0 -1
  621. package/.next/static/chunks/app/api/repositories/route-56dad0523d3c4a92.js +0 -1
  622. package/.next/static/chunks/app/api/repositories/scan/route-56dad0523d3c4a92.js +0 -1
  623. package/.next/static/chunks/app/api/repositories/sync/route-56dad0523d3c4a92.js +0 -1
  624. package/.next/static/chunks/app/api/sidebar/group-order/route-56dad0523d3c4a92.js +0 -1
  625. package/.next/static/chunks/app/api/skills/[id]/route-56dad0523d3c4a92.js +0 -1
  626. package/.next/static/chunks/app/api/skills/route-56dad0523d3c4a92.js +0 -1
  627. package/.next/static/chunks/app/api/slash-commands/route-56dad0523d3c4a92.js +0 -1
  628. package/.next/static/chunks/app/api/templates/[id]/route-56dad0523d3c4a92.js +0 -1
  629. package/.next/static/chunks/app/api/templates/route-56dad0523d3c4a92.js +0 -1
  630. package/.next/static/chunks/app/api/todos/route-56dad0523d3c4a92.js +0 -1
  631. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-56dad0523d3c4a92.js +0 -1
  632. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-56dad0523d3c4a92.js +0 -1
  633. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-56dad0523d3c4a92.js +0 -1
  634. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-56dad0523d3c4a92.js +0 -1
  635. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-56dad0523d3c4a92.js +0 -1
  636. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-56dad0523d3c4a92.js +0 -1
  637. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-56dad0523d3c4a92.js +0 -1
  638. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-56dad0523d3c4a92.js +0 -1
  639. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-56dad0523d3c4a92.js +0 -1
  640. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-56dad0523d3c4a92.js +0 -1
  641. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-56dad0523d3c4a92.js +0 -1
  642. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-56dad0523d3c4a92.js +0 -1
  643. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-56dad0523d3c4a92.js +0 -1
  644. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-56dad0523d3c4a92.js +0 -1
  645. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-56dad0523d3c4a92.js +0 -1
  646. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-56dad0523d3c4a92.js +0 -1
  647. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-56dad0523d3c4a92.js +0 -1
  648. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-56dad0523d3c4a92.js +0 -1
  649. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-56dad0523d3c4a92.js +0 -1
  650. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-56dad0523d3c4a92.js +0 -1
  651. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-56dad0523d3c4a92.js +0 -1
  652. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-56dad0523d3c4a92.js +0 -1
  653. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-56dad0523d3c4a92.js +0 -1
  654. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-56dad0523d3c4a92.js +0 -1
  655. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-56dad0523d3c4a92.js +0 -1
  656. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-56dad0523d3c4a92.js +0 -1
  657. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-56dad0523d3c4a92.js +0 -1
  658. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-56dad0523d3c4a92.js +0 -1
  659. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-56dad0523d3c4a92.js +0 -1
  660. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-56dad0523d3c4a92.js +0 -1
  661. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-56dad0523d3c4a92.js +0 -1
  662. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-56dad0523d3c4a92.js +0 -1
  663. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-56dad0523d3c4a92.js +0 -1
  664. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-56dad0523d3c4a92.js +0 -1
  665. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-56dad0523d3c4a92.js +0 -1
  666. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-56dad0523d3c4a92.js +0 -1
  667. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-56dad0523d3c4a92.js +0 -1
  668. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-56dad0523d3c4a92.js +0 -1
  669. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-56dad0523d3c4a92.js +0 -1
  670. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-56dad0523d3c4a92.js +0 -1
  671. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-56dad0523d3c4a92.js +0 -1
  672. package/.next/static/chunks/app/api/worktrees/[id]/route-56dad0523d3c4a92.js +0 -1
  673. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-56dad0523d3c4a92.js +0 -1
  674. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-56dad0523d3c4a92.js +0 -1
  675. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-56dad0523d3c4a92.js +0 -1
  676. package/.next/static/chunks/app/api/worktrees/[id]/search/route-56dad0523d3c4a92.js +0 -1
  677. package/.next/static/chunks/app/api/worktrees/[id]/send/route-56dad0523d3c4a92.js +0 -1
  678. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-56dad0523d3c4a92.js +0 -1
  679. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-56dad0523d3c4a92.js +0 -1
  680. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-56dad0523d3c4a92.js +0 -1
  681. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-56dad0523d3c4a92.js +0 -1
  682. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-56dad0523d3c4a92.js +0 -1
  683. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-56dad0523d3c4a92.js +0 -1
  684. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-56dad0523d3c4a92.js +0 -1
  685. package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-56dad0523d3c4a92.js +0 -1
  686. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-56dad0523d3c4a92.js +0 -1
  687. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-56dad0523d3c4a92.js +0 -1
  688. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-56dad0523d3c4a92.js +0 -1
  689. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-56dad0523d3c4a92.js +0 -1
  690. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-56dad0523d3c4a92.js +0 -1
  691. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-56dad0523d3c4a92.js +0 -1
  692. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-56dad0523d3c4a92.js +0 -1
  693. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-56dad0523d3c4a92.js +0 -1
  694. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-56dad0523d3c4a92.js +0 -1
  695. package/.next/static/chunks/app/api/worktrees/route-56dad0523d3c4a92.js +0 -1
  696. package/.next/static/chunks/app/chat/page-623f5cb9040de639.js +0 -1
  697. package/.next/static/chunks/app/manifest.webmanifest/route-56dad0523d3c4a92.js +0 -1
  698. package/.next/static/chunks/app/proxy/[...path]/route-56dad0523d3c4a92.js +0 -1
  699. package/.next/static/chunks/app/repositories/page-70d4b997492884b8.js +0 -1
  700. package/.next/static/chunks/app/skills/[skillId]/page-68ed5e9186efe56d.js +0 -1
  701. package/.next/static/chunks/app/skills/page-46242c428ee8bccf.js +0 -1
  702. package/.next/static/chunks/app/worktrees/[id]/page-983a80ece6289026.js +0 -1
  703. package/.next/static/chunks/webpack-e655374fed175528.js +0 -1
  704. package/.next/static/css/b4bdb1f3457fe9a7.css +0 -1
  705. /package/.next/static/{1WyelLMRgPnhvA2HmhZmm → AKqbAyuzbFfg05qpbCI_K}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiWpC,wBAAgB,kBAAkB,IAAI,OAAO,CA+H5C"}
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0gBpC,wBAAgB,kBAAkB,IAAI,OAAO,CAkJ5C"}
@@ -6,9 +6,10 @@
6
6
  * commandmate skill list [--json]
7
7
  * commandmate skill info <skill-id> [--version <v>] [--json]
8
8
  * commandmate skill plan <skill-id> --worktree <id> [--version <v>] [--json]
9
- * commandmate skill install <skill-id> --worktree <id> --version <exact> [--dry-run] [--yes] [--ack-risk <id>@<version>]
9
+ * commandmate skill install <skill-id> --worktree <id> --version <exact> [--dry-run] [--yes] [--ack-risk <id>@<version>] [--git current|dedicated] [--push] [--pr]
10
10
  * commandmate skill uninstall <skill-id> --worktree <id> [--dry-run] [--yes] [--json]
11
11
  * commandmate skill status <skill-id> --worktree <id> [--json]
12
+ * commandmate skill reindex [--json]
12
13
  *
13
14
  * The CLI never downloads, extracts, writes or deletes anything: it asks the
14
15
  * server for a plan, shows it, and presents the token the server issued back to
@@ -137,6 +138,103 @@ async function showStatus(skillId, options) {
137
138
  `Removable: ${plan.removable ? 'yes' : 'no'}`,
138
139
  ].join('\n'));
139
140
  }
141
+ /**
142
+ * Rebuild the installed-Skill index from the receipts on disk (Issue #1248).
143
+ *
144
+ * Like every other subcommand this is a thin client: the server decides which
145
+ * worktrees to visit and reads the receipts itself. The CLI supplies no path and
146
+ * reconstructs nothing, so there is no way for it to index something the API
147
+ * would have refused.
148
+ */
149
+ async function reindexSkills(options) {
150
+ const client = new api_client_1.ApiClient({ token: options.token });
151
+ const response = await client.post('/api/skills/reindex');
152
+ const body = (0, api_client_1.assertResponseShape)(response, ['scannedWorktrees', 'indexed', 'removed', 'skipped'], 'POST /api/skills/reindex');
153
+ if (options.json) {
154
+ console.log(JSON.stringify(body, null, 2));
155
+ return;
156
+ }
157
+ console.log([
158
+ `Scanned ${body.scannedWorktrees} worktree(s).`,
159
+ `Indexed: ${body.indexed}`,
160
+ `Removed: ${body.removed}`,
161
+ `Skipped: ${body.skipped.length}`,
162
+ ].join('\n'));
163
+ for (const skip of body.skipped) {
164
+ console.error(` skipped ${skip.worktreeId}/${skip.root}: ${skip.reason}`);
165
+ }
166
+ for (const worktreeId of body.unreadableWorktreeIds) {
167
+ console.error(` not scanned (worktree directory missing): ${worktreeId}`);
168
+ }
169
+ }
170
+ // =============================================================================
171
+ // Git workflow (Issue #1247)
172
+ // =============================================================================
173
+ /** How `--git` maps onto the API's mode. Absent means no Git side effects at all. */
174
+ const GIT_MODES = {
175
+ current: 'current_branch',
176
+ dedicated: 'dedicated_branch',
177
+ };
178
+ /**
179
+ * Read the Git side effects off the flags, or null when none were asked for.
180
+ *
181
+ * `--git` has no default: committing to the user's branch is a consequence they
182
+ * must name, which is the same rule the API enforces (UX-09). `--pr` implies
183
+ * `--push` because a pull request for an unpushed branch cannot exist.
184
+ */
185
+ function resolveGitChoice(options) {
186
+ if (!options.git) {
187
+ if (options.push || options.pr) {
188
+ (0, skill_guards_1.refuse)('--push / --pr require --git <current|dedicated>.', types_1.ExitCode.CONFIG_ERROR);
189
+ return 'invalid';
190
+ }
191
+ return null;
192
+ }
193
+ const mode = GIT_MODES[options.git];
194
+ if (!mode) {
195
+ (0, skill_guards_1.refuse)('--git must be `current` or `dedicated`.', types_1.ExitCode.CONFIG_ERROR);
196
+ return 'invalid';
197
+ }
198
+ const createPullRequest = options.pr === true;
199
+ return { mode, push: createPullRequest || options.push === true, createPullRequest };
200
+ }
201
+ function gitWorkflowPath(target) {
202
+ return `/api/worktrees/${encodeURIComponent(target.worktreeId)}/skills/${encodeURIComponent(target.skillId)}/git-workflow`;
203
+ }
204
+ /** Fix the branch before the plan exists, so the plan is never stale by construction. */
205
+ async function prepareGitWorkflow(client, target, version, choice) {
206
+ const response = await client.post(gitWorkflowPath(target), {
207
+ phase: 'prepare',
208
+ mode: choice.mode,
209
+ version,
210
+ push: choice.push,
211
+ });
212
+ return (0, api_client_1.assertResponseShape)(response, ['workflowToken', 'target'], 'POST .../skills/git-workflow (prepare)');
213
+ }
214
+ async function applyGitWorkflow(client, target, workflowToken, choice) {
215
+ const response = await client.post(gitWorkflowPath(target), {
216
+ phase: 'apply',
217
+ workflowToken,
218
+ push: choice.push,
219
+ createPullRequest: choice.createPullRequest,
220
+ });
221
+ return (0, api_client_1.assertResponseShape)(response, ['result'], 'POST .../skills/git-workflow (apply)');
222
+ }
223
+ function describeGitOutcome(result) {
224
+ const lines = [
225
+ result.committed
226
+ ? `Committed ${result.changedPaths.length} file(s) to ${result.branch} (${result.commitSha.slice(0, 12)})`
227
+ : `Already committed on ${result.branch} (${result.commitSha.slice(0, 12)})`,
228
+ ];
229
+ if (result.pushed)
230
+ lines.push(`Pushed ${result.branch}`);
231
+ if (result.pullRequestUrl) {
232
+ lines.push(result.pullRequestExisted
233
+ ? `Pull request already open: ${result.pullRequestUrl}`
234
+ : `Draft pull request: ${result.pullRequestUrl}`);
235
+ }
236
+ return lines.join('\n');
237
+ }
140
238
  // =============================================================================
141
239
  // Write commands
142
240
  // =============================================================================
@@ -148,8 +246,11 @@ async function installSkill(skillId, options) {
148
246
  (0, skill_guards_1.refuse)('--version <exact> is required for install. Inspect published versions with: commandmate skill info ' + skillId, types_1.ExitCode.CONFIG_ERROR);
149
247
  return;
150
248
  }
249
+ const gitChoice = resolveGitChoice(options);
250
+ if (gitChoice === 'invalid')
251
+ return;
151
252
  const client = new api_client_1.ApiClient({ token: options.token });
152
- const plan = await requestInstallPlan(client, target, options);
253
+ let plan = await requestInstallPlan(client, target, options);
153
254
  // --dry-run stops here by construction: the plan is the whole output and no
154
255
  // token is ever presented back to the server.
155
256
  if (options.dryRun) {
@@ -179,6 +280,19 @@ async function installSkill(skillId, options) {
179
280
  (0, skill_guards_1.refuse)('Install declined; nothing was written.', types_1.SkillExitCode.CONFIRMATION_REQUIRED);
180
281
  return;
181
282
  }
283
+ // The branch is fixed only once the user has agreed to the install, and the
284
+ // plan shown above is then discarded: a plan is bound to the branch and HEAD
285
+ // it was built against, so re-planning is what keeps the checkout from making
286
+ // SKILL_PLAN_STALE the guaranteed outcome (Issue #1247).
287
+ let workflowToken = null;
288
+ if (gitChoice !== null) {
289
+ const prepared = await prepareGitWorkflow(client, target, plan.skill.version, gitChoice);
290
+ workflowToken = prepared.workflowToken;
291
+ console.error(prepared.target.branchCreated
292
+ ? `Created branch ${prepared.target.branch} from ${prepared.target.baseBranch ?? 'HEAD'}`
293
+ : `Committing to the current branch ${prepared.target.branch}`);
294
+ plan = await requestInstallPlan(client, target, { ...options, version: plan.skill.version });
295
+ }
182
296
  const response = await client.post(`/api/worktrees/${encodeURIComponent(target.worktreeId)}/skills/${encodeURIComponent(target.skillId)}/install`, {
183
297
  planToken: plan.token,
184
298
  version: plan.skill.version,
@@ -197,6 +311,10 @@ async function installSkill(skillId, options) {
197
311
  console.error(`Warning: the files landed but the operation did not finish cleanly (${body.operation.nextActionKey}). Reconciliation will converge it.`);
198
312
  process.exit(types_1.SkillExitCode.COMMITTED_RECONCILING);
199
313
  }
314
+ if (workflowToken !== null && gitChoice !== null) {
315
+ const git = await applyGitWorkflow(client, target, workflowToken, gitChoice);
316
+ console.log(describeGitOutcome(git.result));
317
+ }
200
318
  }
201
319
  async function uninstallSkill(skillId, options) {
202
320
  const target = resolveTarget(skillId, options.worktree);
@@ -302,6 +420,9 @@ function createSkillCommand() {
302
420
  .option('--dry-run', 'Build and print the plan, then stop without writing')
303
421
  .option('-y, --yes', 'Skip the confirmation prompt (required for non-interactive use)')
304
422
  .option('--ack-risk <skill-id@version>', 'Explicitly acknowledge a high-risk Skill. Required in addition to --yes.')
423
+ .option('--git <mode>', 'Commit the install: `current` (this branch) or `dedicated` (a new Skill branch)')
424
+ .option('--push', 'Push the commit to origin (requires --git)')
425
+ .option('--pr', 'Open a draft pull request for the pushed branch (implies --push)')
305
426
  .option('--json', 'JSON output (the API response body, verbatim)')
306
427
  .option('--prerelease', 'Allow a prerelease --version')
307
428
  .option('--token <token>', command_helpers_1.TOKEN_WARNING)
@@ -345,6 +466,19 @@ function createSkillCommand() {
345
466
  (0, skill_guards_1.handleSkillCommandError)(error);
346
467
  }
347
468
  });
469
+ skill
470
+ .command('reindex')
471
+ .description('Rebuild the installed-Skill index from the receipts on disk')
472
+ .option('--json', 'JSON output')
473
+ .option('--token <token>', command_helpers_1.TOKEN_WARNING)
474
+ .action(async (options) => {
475
+ try {
476
+ await reindexSkills(options);
477
+ }
478
+ catch (error) {
479
+ (0, skill_guards_1.handleSkillCommandError)(error);
480
+ }
481
+ });
348
482
  skill.addHelpText('after', `
349
483
  Confirmation contract:
350
484
  - Writes (install, uninstall) always build a plan first and print it.
@@ -290,6 +290,31 @@ export interface SkillInstallResponse {
290
290
  }>;
291
291
  } | null;
292
292
  }
293
+ /** Mirrors: api/worktrees/[id]/skills/[skillId]/git-workflow prepare response (Issue #1247). */
294
+ export interface SkillGitWorkflowPrepareResponse {
295
+ workflowToken: string;
296
+ target: {
297
+ mode: string;
298
+ branch: string;
299
+ baseBranch: string | null;
300
+ headCommit: string;
301
+ branchCreated: boolean;
302
+ remote: string;
303
+ };
304
+ }
305
+ /** Mirrors: api/worktrees/[id]/skills/[skillId]/git-workflow apply response (Issue #1247). */
306
+ export interface SkillGitWorkflowApplyResponse {
307
+ result: {
308
+ branch: string;
309
+ baseBranch: string | null;
310
+ changedPaths: string[];
311
+ committed: boolean;
312
+ commitSha: string;
313
+ pushed: boolean;
314
+ pullRequestUrl: string | null;
315
+ pullRequestExisted: boolean;
316
+ };
317
+ }
293
318
  /** Mirrors: src/lib/skills/uninstall-plan.ts SkillUninstallPlanDto (subset). */
294
319
  export interface SkillUninstallPlan {
295
320
  token: string;
@@ -346,4 +371,19 @@ export interface SkillUninstallResponse {
346
371
  fullyRemoved?: boolean;
347
372
  } | null;
348
373
  }
374
+ /** Mirrors: src/app/api/skills/reindex/route.ts POST response [Issue #1248]. */
375
+ export interface SkillReindexResult {
376
+ scannedWorktrees: number;
377
+ indexed: number;
378
+ removed: number;
379
+ skipped: Array<{
380
+ worktreeId: string;
381
+ skillId: string;
382
+ /** Repository-relative root the directory was found at. */
383
+ root: string;
384
+ reason: string;
385
+ }>;
386
+ /** Registered worktrees whose directory is gone; their rows were left untouched. */
387
+ unreadableWorktreeIds: string[];
388
+ }
349
389
  //# sourceMappingURL=api-responses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-responses.d.ts","sourceRoot":"","sources":["../../../src/cli/types/api-responses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-responses.d.ts","sourceRoot":"","sources":["../../../src/cli/types/api-responses.ts"],"names":[],"mappings":"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"}
@@ -160,6 +160,12 @@ export interface PreflightResult {
160
160
  */
161
161
  export interface EnvConfig {
162
162
  CM_ROOT_DIR: string;
163
+ /**
164
+ * Issue #1517: extra absolute directories (comma-separated) the web UI may
165
+ * browse and register repositories from. CM_ROOT_DIR is always allowed, so
166
+ * this stays undefined unless the operator adds locations outside it.
167
+ */
168
+ CM_BROWSE_ROOTS?: string;
163
169
  CM_PORT: number;
164
170
  CM_BIND: string;
165
171
  CM_DB_PATH: string;
@@ -293,6 +299,12 @@ export interface SkillInstallOptions extends SkillPlanOptions {
293
299
  yes?: boolean;
294
300
  /** Explicit `<skill-id>@<version>` acknowledgement, demanded on top of --yes for high risk. */
295
301
  ackRisk?: string;
302
+ /** Git side effects to run after the install (Issue #1247). Absent means none. */
303
+ git?: string;
304
+ /** Push the commit to the remote. Only meaningful with --git. */
305
+ push?: boolean;
306
+ /** Open a draft PR for the pushed branch. Implies --push. */
307
+ pr?: boolean;
296
308
  }
297
309
  /** skill uninstall options [Issue #1237] */
298
310
  export interface SkillUninstallOptions extends SkillCommonOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/types/index.ts"],"names":[],"mappings":"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"}
@@ -89,6 +89,14 @@ export declare function sanitizeInput(input: string): string;
89
89
  * SF-SEC-3: Path sanitization
90
90
  */
91
91
  export declare function sanitizePath(input: string): string;
92
+ /**
93
+ * Normalize a comma-separated CM_BROWSE_ROOTS value (Issue #1517).
94
+ *
95
+ * @param input - Raw comma-separated directories, or undefined.
96
+ * @param resolveEntry - Per-entry resolver; pass `resolvePath` to expand `~`.
97
+ * @returns Normalized comma-separated value, or undefined when empty.
98
+ */
99
+ export declare function normalizeBrowseRoots(input: string | undefined, resolveEntry?: (entry: string) => string): string | undefined;
92
100
  /**
93
101
  * Validate port number
94
102
  * SF-SEC-3: Port validation
@@ -1 +1 @@
1
- {"version":3,"file":"env-setup.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/env-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,EACL,SAAS,EACT,eAAe,EACf,gBAAgB,EACjB,MAAM,UAAU,CAAC;AASlB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY;;;;;CAQf,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,QAA2B,CAAC;AAEzD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAOzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CASpF;AAKD;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAYvD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUpD;AAED;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,CAAC,EAAE,MAAM;IAI5B;;;OAGG;IACG,aAAa,CACjB,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC;IA6BhB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAY9C;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB;CA+BpD"}
1
+ {"version":3,"file":"env-setup.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/env-setup.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,EACL,SAAS,EACT,eAAe,EACf,gBAAgB,EACjB,MAAM,UAAU,CAAC;AASlB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY;;;;;CAQf,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,QAA2B,CAAC;AAEzD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAOzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CASpF;AAKD;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAYvD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,YAAY,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAqB,GACrD,MAAM,GAAG,SAAS,CAcpB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUpD;AAED;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,CAAC,EAAE,MAAM;IAI5B;;;OAGG;IACG,aAAa,CACjB,MAAM,EAAE,SAAS,EACjB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC;IAmChB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAY9C;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB;CA+BpD"}
@@ -14,6 +14,7 @@ exports.getPidsDir = getPidsDir;
14
14
  exports.getPidFilePath = getPidFilePath;
15
15
  exports.sanitizeInput = sanitizeInput;
16
16
  exports.sanitizePath = sanitizePath;
17
+ exports.normalizeBrowseRoots = normalizeBrowseRoots;
17
18
  exports.validatePort = validatePort;
18
19
  exports.escapeEnvValue = escapeEnvValue;
19
20
  const fs_1 = require("fs");
@@ -168,6 +169,23 @@ function sanitizePath(input) {
168
169
  const sanitized = sanitizeInput(input);
169
170
  return (0, path_1.normalize)(sanitized);
170
171
  }
172
+ /**
173
+ * Normalize a comma-separated CM_BROWSE_ROOTS value (Issue #1517).
174
+ *
175
+ * @param input - Raw comma-separated directories, or undefined.
176
+ * @param resolveEntry - Per-entry resolver; pass `resolvePath` to expand `~`.
177
+ * @returns Normalized comma-separated value, or undefined when empty.
178
+ */
179
+ function normalizeBrowseRoots(input, resolveEntry = sanitizePath) {
180
+ if (!input)
181
+ return undefined;
182
+ const roots = Array.from(new Set(input
183
+ .split(',')
184
+ .map((entry) => entry.trim())
185
+ .filter((entry) => entry.length > 0)
186
+ .map(resolveEntry)));
187
+ return roots.length > 0 ? roots.join(',') : undefined;
188
+ }
171
189
  /**
172
190
  * Validate port number
173
191
  * SF-SEC-3: Port validation
@@ -220,6 +238,11 @@ class EnvSetup {
220
238
  `CM_LOG_LEVEL=${config.CM_LOG_LEVEL}`,
221
239
  `CM_LOG_FORMAT=${config.CM_LOG_FORMAT}`,
222
240
  ];
241
+ // Issue #1517: omitted entirely when unset, so the file does not imply that
242
+ // browsing needs configuring — CM_ROOT_DIR is always browsable.
243
+ if (config.CM_BROWSE_ROOTS) {
244
+ lines.push(`CM_BROWSE_ROOTS=${escapeEnvValue(config.CM_BROWSE_ROOTS)}`);
245
+ }
223
246
  lines.push('');
224
247
  const content = lines.join('\n');
225
248
  // Write with secure permissions
@@ -31,6 +31,7 @@ const v44_skill_operations_1 = require("./v44-skill-operations");
31
31
  const v45_skill_installations_1 = require("./v45-skill-installations");
32
32
  const v46_skill_installations_cascade_1 = require("./v46-skill-installations-cascade");
33
33
  const v47_skill_installations_roots_1 = require("./v47-skill-installations-roots");
34
+ const v48_skill_operations_audit_index_1 = require("./v48-skill-operations-audit-index");
34
35
  /**
35
36
  * Complete ordered list of all migrations.
36
37
  * Used internally by the barrel file (db-migrations.ts); NOT exported from the barrel (DR2-004).
@@ -65,4 +66,5 @@ exports.migrations = [
65
66
  ...v45_skill_installations_1.v45_migrations,
66
67
  ...v46_skill_installations_cascade_1.v46_migrations,
67
68
  ...v47_skill_installations_roots_1.v47_migrations,
69
+ ...v48_skill_operations_audit_index_1.v48_migrations,
68
70
  ];
@@ -17,7 +17,7 @@ const path_1 = __importDefault(require("path"));
17
17
  * Current schema version
18
18
  * Increment this when adding new migrations
19
19
  */
20
- exports.CURRENT_SCHEMA_VERSION = 47;
20
+ exports.CURRENT_SCHEMA_VERSION = 48;
21
21
  /**
22
22
  * Get current schema version from database
23
23
  */
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ /**
3
+ * Migration v48: audit version transition and feed indexes (Issue #1248).
4
+ *
5
+ * Two things the applied-state dashboard needs that v44 does not provide.
6
+ *
7
+ * **`from_version` / `to_version`.** v44 records a single `skill_version`, which
8
+ * answers "what version was this operation about" but not "what replaced what".
9
+ * An update is exactly a transition, and reading one out of two adjacent audit
10
+ * rows is guesswork the log should not require. Both columns are nullable
11
+ * because the ends of the timeline are genuinely open: an install onto an empty
12
+ * target has no `from`, an uninstall has no `to`.
13
+ *
14
+ * **Feed indexes.** The existing `idx_skill_operations_target` leads with
15
+ * `worktree_id`, so it cannot serve the dashboard's cross-worktree "newest
16
+ * first" query, and the "show me only the failures" filter has no index at all.
17
+ * Both are added here rather than left to a full scan that grows with history —
18
+ * the table is append-only, so it only ever gets longer.
19
+ *
20
+ * `ALTER TABLE ... ADD COLUMN` is DDL and does not fire the v44 append-only
21
+ * triggers, so existing rows are preserved and read back with NULL transitions.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.v48_migrations = void 0;
25
+ exports.v48_migrations = [
26
+ {
27
+ version: 48,
28
+ name: 'add-skill-operations-audit-index',
29
+ up: (db) => {
30
+ db.exec('ALTER TABLE skill_operations ADD COLUMN from_version TEXT;');
31
+ db.exec('ALTER TABLE skill_operations ADD COLUMN to_version TEXT;');
32
+ db.exec(`
33
+ CREATE INDEX IF NOT EXISTS idx_skill_operations_recent
34
+ ON skill_operations(recorded_at DESC, id DESC);
35
+ `);
36
+ db.exec(`
37
+ CREATE INDEX IF NOT EXISTS idx_skill_operations_result
38
+ ON skill_operations(result, recorded_at DESC);
39
+ `);
40
+ },
41
+ down: (db) => {
42
+ db.exec('DROP INDEX IF EXISTS idx_skill_operations_result;');
43
+ db.exec('DROP INDEX IF EXISTS idx_skill_operations_recent;');
44
+ // SQLite < 3.35 cannot DROP COLUMN; rebuild without the two columns. The
45
+ // append-only triggers are recreated afterwards: DROP TABLE removes the
46
+ // triggers bound to the old table, and a log without them is not the log.
47
+ db.exec('DROP TRIGGER IF EXISTS skill_operations_no_delete;');
48
+ db.exec('DROP TRIGGER IF EXISTS skill_operations_no_update;');
49
+ db.exec(`
50
+ CREATE TABLE skill_operations__v47 (
51
+ id TEXT PRIMARY KEY,
52
+ operation_id TEXT NOT NULL,
53
+ idempotency_key TEXT NOT NULL,
54
+ binding_hash TEXT NOT NULL,
55
+ operation TEXT NOT NULL,
56
+ state TEXT NOT NULL,
57
+ result TEXT NOT NULL,
58
+ actor_type TEXT NOT NULL,
59
+ actor_id TEXT,
60
+ worktree_id TEXT NOT NULL,
61
+ skill_id TEXT NOT NULL,
62
+ skill_version TEXT,
63
+ source_origin TEXT,
64
+ source_repository TEXT,
65
+ source_ref TEXT,
66
+ source_commit TEXT,
67
+ artifact_sha256 TEXT,
68
+ error_code TEXT,
69
+ error_message TEXT,
70
+ recorded_at INTEGER NOT NULL
71
+ );
72
+ `);
73
+ db.exec(`
74
+ INSERT INTO skill_operations__v47 (
75
+ id, operation_id, idempotency_key, binding_hash, operation, state, result,
76
+ actor_type, actor_id, worktree_id, skill_id, skill_version,
77
+ source_origin, source_repository, source_ref, source_commit, artifact_sha256,
78
+ error_code, error_message, recorded_at
79
+ )
80
+ SELECT
81
+ id, operation_id, idempotency_key, binding_hash, operation, state, result,
82
+ actor_type, actor_id, worktree_id, skill_id, skill_version,
83
+ source_origin, source_repository, source_ref, source_commit, artifact_sha256,
84
+ error_code, error_message, recorded_at
85
+ FROM skill_operations;
86
+ `);
87
+ db.exec('DROP TABLE skill_operations;');
88
+ db.exec('ALTER TABLE skill_operations__v47 RENAME TO skill_operations;');
89
+ db.exec(`
90
+ CREATE INDEX IF NOT EXISTS idx_skill_operations_operation_id
91
+ ON skill_operations(operation_id);
92
+ `);
93
+ db.exec(`
94
+ CREATE INDEX IF NOT EXISTS idx_skill_operations_idempotency_key
95
+ ON skill_operations(idempotency_key);
96
+ `);
97
+ db.exec(`
98
+ CREATE INDEX IF NOT EXISTS idx_skill_operations_target
99
+ ON skill_operations(worktree_id, skill_id, recorded_at);
100
+ `);
101
+ db.exec(`
102
+ CREATE TRIGGER IF NOT EXISTS skill_operations_no_update
103
+ BEFORE UPDATE ON skill_operations
104
+ BEGIN
105
+ SELECT RAISE(ABORT, 'skill_operations is append-only');
106
+ END;
107
+ `);
108
+ db.exec(`
109
+ CREATE TRIGGER IF NOT EXISTS skill_operations_no_delete
110
+ BEFORE DELETE ON skill_operations
111
+ BEGIN
112
+ SELECT RAISE(ABORT, 'skill_operations is append-only');
113
+ END;
114
+ `);
115
+ },
116
+ },
117
+ ];
@@ -20,6 +20,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.GIT_LOG_TIMEOUT_MS = exports.execFileAsync = void 0;
22
22
  exports.execGitCommand = execGitCommand;
23
+ exports.execGitCommandCapture = execGitCommandCapture;
23
24
  exports.execGitCommandTyped = execGitCommandTyped;
24
25
  exports.runSerializedWrite = runSerializedWrite;
25
26
  exports.execGitConflictAware = execGitConflictAware;
@@ -66,6 +67,42 @@ async function execGitCommand(args, cwd) {
66
67
  return null;
67
68
  }
68
69
  }
70
+ /**
71
+ * Execute a READ-ONLY git command like {@link execGitCommand} (never throws,
72
+ * same default 1s timeout) but return the stderr alongside the outcome instead
73
+ * of collapsing every failure into `null` (Issue #1515, B-1).
74
+ *
75
+ * execGitCommand is intentionally left untouched: its all-failures-to-null
76
+ * contract is relied on by the high-frequency getGitStatus path. This variant
77
+ * exists for the single caller (getAheadBehind) that must tell "no upstream"
78
+ * apart from "upstream gone" / "detached" / "error".
79
+ *
80
+ * Deliberately does NOT log: the failures it reports are EXPECTED states
81
+ * (a branch with no upstream) polled every few seconds, and its caller logs a
82
+ * classified reason instead of the raw stderr.
83
+ *
84
+ * @param args - Git command arguments (static array; no shell)
85
+ * @param cwd - Working directory (must be from DB, trusted source)
86
+ * @param timeout - Timeout in ms (defaults to the 1s status-read timeout)
87
+ */
88
+ async function execGitCommandCapture(args, cwd, timeout = GIT_COMMAND_TIMEOUT_MS) {
89
+ try {
90
+ const { stdout, stderr } = await (0, exports.execFileAsync)('git', args, { cwd, timeout });
91
+ return { ok: true, stdout: stdout.trim(), stderr: stderr ?? '', timedOut: false };
92
+ }
93
+ catch (error) {
94
+ const err = error;
95
+ const timedOut = err.killed === true ||
96
+ err.code === 'ERR_CHILD_PROCESS_EXEC_TIMEOUT' ||
97
+ err.code === 'ETIMEDOUT';
98
+ return {
99
+ ok: false,
100
+ stdout: '',
101
+ stderr: `${err.stderr ?? ''} ${err.message ?? ''}`,
102
+ timedOut,
103
+ };
104
+ }
105
+ }
69
106
  /**
70
107
  * Execute a git command with timeout, distinguishing error types
71
108
  * Unlike execGitCommand, this throws typed errors for API-level error handling.
@@ -265,10 +302,20 @@ classifyNetwork = false) {
265
302
  * Does NOT use execGitCommandTyped (whose preserve regex stays unmodified) and
266
303
  * does NOT log the raw stderr/message (DR4-002): a failed network op's stderr can
267
304
  * echo a credential-bearing remote URL, and the typed error carries no message.
305
+ *
306
+ * Issue #1515 (E-1): runs with `GIT_TERMINAL_PROMPT=0` so a remote that needs
307
+ * credentials fails FAST with "could not read Username" (-> GitAuthFailedError,
308
+ * 401) instead of blocking on an interactive prompt until the timeout. This is
309
+ * load-bearing for the Current Status refresh button, which now fetches (A-1) on
310
+ * a user click and must never leave the UI waiting on an invisible prompt.
268
311
  */
269
312
  async function execGitNetworkAware(args, worktreePath, timeout) {
270
313
  try {
271
- const { stdout } = await (0, exports.execFileAsync)('git', args, { cwd: worktreePath, timeout });
314
+ const { stdout } = await (0, exports.execFileAsync)('git', args, {
315
+ cwd: worktreePath,
316
+ timeout,
317
+ env: { ...process.env, GIT_TERMINAL_PROMPT: '0' },
318
+ });
272
319
  return stdout;
273
320
  }
274
321
  catch (error) {
@@ -20,9 +20,10 @@ exports.MIN_SELECTED_AGENTS = 2;
20
20
  exports.MAX_SELECTED_AGENTS = 6;
21
21
  /**
22
22
  * Default selected agents when DB value is missing or invalid.
23
- * Issue #989: PC default expands to 6 agents (claude/codex/gemini/opencode/copilot/antigravity).
23
+ * Issue #1516: narrowed to the 3 agents in routine use (claude/codex/antigravity).
24
+ * The others stay selectable via CLI_TOOL_IDS — they are just not preselected.
24
25
  */
25
- exports.DEFAULT_SELECTED_AGENTS = ['claude', 'codex', 'gemini', 'opencode', 'copilot', 'antigravity'];
26
+ exports.DEFAULT_SELECTED_AGENTS = ['claude', 'codex', 'antigravity'];
26
27
  /**
27
28
  * Core validation function for CLI tool ID arrays (R1-001)
28
29
  * Accepts 2-5 unique valid CLI tool IDs (Issue #836).