commandmate 0.43.0 → 0.44.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 (480) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +209 -209
  3. package/.next/app-path-routes-manifest.json +36 -36
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +9 -9
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/api/agents/update/route.js.nft.json +1 -1
  9. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/agents/versions/route.js.nft.json +1 -1
  11. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/app/update/route.js +2 -2
  14. package/.next/server/app/api/app/update/route.js.nft.json +1 -1
  15. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/app/update-check/route.js +1 -1
  17. package/.next/server/app/api/app/update-check/route.js.nft.json +1 -1
  18. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/capabilities/route.js +1 -1
  23. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
  25. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
  27. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/external-apps/[id]/health/route.js.nft.json +1 -1
  29. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/external-apps/[id]/route.js.nft.json +1 -1
  31. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/external-apps/route.js.nft.json +1 -1
  33. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/fs/browse/route.js.nft.json +1 -1
  35. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/fs/recent-paths/route.js.nft.json +1 -1
  37. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/hooks/agent-event/route.js +2 -2
  39. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  40. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  42. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  43. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  45. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  46. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/metrics/vibe/route.js.nft.json +1 -1
  48. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/push/escalation/route.js +1 -1
  51. package/.next/server/app/api/push/escalation/route.js.nft.json +1 -1
  52. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/push/subscriptions/route.js.nft.json +1 -1
  54. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/push/vapid/route.js +1 -1
  56. package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
  57. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
  59. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/relays/route.js.nft.json +1 -1
  61. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
  64. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  66. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  67. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/repositories/clone/route.js +1 -1
  69. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  70. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/repositories/excluded/route.js.nft.json +1 -1
  72. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/repositories/restore/route.js +1 -1
  74. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  75. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/repositories/route.js +1 -1
  77. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  78. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/repositories/scan/route.js +1 -1
  80. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  81. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/repositories/sync/route.js +1 -1
  83. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  84. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/repositories/validate-path/route.js.nft.json +1 -1
  86. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  88. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/settings/default-surface-mode/route.js.nft.json +1 -1
  90. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/sidebar/group-order/route.js.nft.json +1 -1
  92. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/skills/[id]/route.js +1 -1
  94. package/.next/server/app/api/skills/[id]/route.js.nft.json +1 -1
  95. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/skills/installations/route.js +1 -1
  97. package/.next/server/app/api/skills/installations/route.js.nft.json +1 -1
  98. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/skills/operations/route.js +2 -2
  100. package/.next/server/app/api/skills/operations/route.js.nft.json +1 -1
  101. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/skills/reindex/route.js +1 -1
  103. package/.next/server/app/api/skills/reindex/route.js.nft.json +1 -1
  104. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/skills/route.js +1 -1
  106. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  107. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/slash-commands/route.js.nft.json +1 -1
  109. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  111. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/tasks/[taskId]/route.js.nft.json +1 -1
  113. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/templates/[id]/route.js.nft.json +1 -1
  115. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/templates/route.js.nft.json +1 -1
  117. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/verification/runs/[runId]/route.js.nft.json +1 -1
  119. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/verification/runs/route.js.nft.json +1 -1
  121. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  124. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  126. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  129. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js.nft.json +1 -1
  131. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js.nft.json +1 -1
  133. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
  135. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  138. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
  141. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/env/route.js.nft.json +1 -1
  143. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js.nft.json +1 -1
  145. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
  147. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js.nft.json +1 -1
  150. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js.nft.json +1 -1
  152. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js.nft.json +1 -1
  154. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/git/branches/route.js.nft.json +1 -1
  156. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js.nft.json +1 -1
  158. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/git/commit/route.js.nft.json +1 -1
  160. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/git/diff/route.js.nft.json +1 -1
  162. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js.nft.json +1 -1
  164. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/git/log/route.js.nft.json +1 -1
  166. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/git/pull/route.js.nft.json +1 -1
  168. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/git/push/route.js.nft.json +1 -1
  170. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/git/reset/route.js.nft.json +1 -1
  172. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/git/revert/route.js.nft.json +1 -1
  174. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js.nft.json +1 -1
  176. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/git/stage/route.js.nft.json +1 -1
  178. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/git/staged/route.js.nft.json +1 -1
  180. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js.nft.json +1 -1
  182. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js.nft.json +1 -1
  184. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js.nft.json +1 -1
  186. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js.nft.json +1 -1
  188. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/git/stash/route.js.nft.json +1 -1
  190. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/git/status/route.js.nft.json +1 -1
  192. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js.nft.json +1 -1
  194. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js.nft.json +1 -1
  196. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/instances/notes/route.js.nft.json +1 -1
  198. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  199. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  200. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  202. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  203. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  204. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js.nft.json +1 -1
  206. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  207. package/.next/server/app/api/worktrees/[id]/logs/route.js.nft.json +1 -1
  208. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +7 -7
  210. package/.next/server/app/api/worktrees/[id]/marp-render/route.js.nft.json +1 -1
  211. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  212. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js.nft.json +1 -1
  213. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/memos/route.js.nft.json +1 -1
  215. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/messages/route.js.nft.json +1 -1
  217. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js.nft.json +1 -1
  219. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  220. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
  221. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  222. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
  223. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  225. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  226. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  227. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js.nft.json +1 -1
  228. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  229. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  230. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  231. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  232. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  233. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  234. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  235. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
  236. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  237. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
  238. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  239. package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
  240. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  241. package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
  242. package/.next/server/app/api/worktrees/[id]/search/route.js.nft.json +1 -1
  243. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  244. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  245. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  246. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  247. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +2 -2
  248. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  249. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  250. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
  251. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
  252. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  253. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
  254. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
  255. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  256. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
  257. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
  258. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  259. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
  260. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
  261. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  262. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js +1 -1
  263. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -1
  264. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  265. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
  266. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -1
  267. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  268. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  269. package/.next/server/app/api/worktrees/[id]/skills/route.js.nft.json +1 -1
  270. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  271. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
  272. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  273. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  274. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  275. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  276. package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +1 -1
  277. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  278. package/.next/server/app/api/worktrees/[id]/terminal/route.js +103 -1
  279. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  280. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  281. package/.next/server/app/api/worktrees/[id]/timers/history/route.js.nft.json +1 -1
  282. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  283. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  284. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  285. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  286. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js.nft.json +1 -1
  287. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  288. package/.next/server/app/api/worktrees/[id]/todos/route.js.nft.json +1 -1
  289. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  290. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js.nft.json +1 -1
  291. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  292. package/.next/server/app/api/worktrees/[id]/tree/route.js.nft.json +1 -1
  293. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  294. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js.nft.json +1 -1
  295. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  296. package/.next/server/app/api/worktrees/[id]/verify/config/route.js.nft.json +1 -1
  297. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  298. package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
  299. package/.next/server/app/api/worktrees/[id]/verify/route.js.nft.json +1 -1
  300. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  301. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
  302. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js.nft.json +1 -1
  303. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  304. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js.nft.json +1 -1
  305. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  306. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js.nft.json +1 -1
  307. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  308. package/.next/server/app/api/worktrees/[id]/viewed/route.js.nft.json +1 -1
  309. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  310. package/.next/server/app/api/worktrees/apply-default-agents/route.js.nft.json +1 -1
  311. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  312. package/.next/server/app/api/worktrees/route.js +1 -1
  313. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  314. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  315. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  316. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  317. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  318. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  319. package/.next/server/app/page_client-reference-manifest.js +1 -1
  320. package/.next/server/app/proxy/[...path]/route.js.nft.json +1 -1
  321. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  322. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  323. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  324. package/.next/server/app/sessions/page.js +1 -1
  325. package/.next/server/app/sessions/page.js.nft.json +1 -1
  326. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  327. package/.next/server/app/skills/[skillId]/page.js +1 -1
  328. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  329. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  330. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  331. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  332. package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
  333. package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
  334. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  335. package/.next/server/app/worktrees/[id]/page.js +3 -3
  336. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  337. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  338. package/.next/server/app/worktrees/[id]/terminal/page.js +1 -1
  339. package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
  340. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  341. package/.next/server/app-paths-manifest.json +36 -36
  342. package/.next/server/chunks/1501.js +3 -3
  343. package/.next/server/chunks/2119.js +1 -1
  344. package/.next/server/chunks/2283.js +15 -0
  345. package/.next/server/chunks/2328.js +1 -1
  346. package/.next/server/chunks/2445.js +1 -1
  347. package/.next/server/chunks/4207.js +1 -1
  348. package/.next/server/chunks/4802.js +1 -1
  349. package/.next/server/chunks/488.js +1 -0
  350. package/.next/server/chunks/5326.js +1 -1
  351. package/.next/server/chunks/5456.js +1 -1
  352. package/.next/server/chunks/611.js +1 -1
  353. package/.next/server/chunks/6130.js +1 -1
  354. package/.next/server/chunks/6401.js +1 -1
  355. package/.next/server/chunks/6474.js +14 -0
  356. package/.next/server/chunks/650.js +1 -0
  357. package/.next/server/chunks/6781.js +1 -1
  358. package/.next/server/chunks/{5742.js → 6927.js} +1 -1
  359. package/.next/server/chunks/7506.js +1 -1
  360. package/.next/server/chunks/7905.js +1 -1
  361. package/.next/server/chunks/8543.js +1 -1
  362. package/.next/server/chunks/8581.js +1 -1
  363. package/.next/server/chunks/8728.js +2 -2
  364. package/.next/server/chunks/8782.js +1 -0
  365. package/.next/server/chunks/8791.js +1 -1
  366. package/.next/server/chunks/8918.js +105 -3
  367. package/.next/server/chunks/9130.js +1 -1
  368. package/.next/server/chunks/9390.js +1 -1
  369. package/.next/server/chunks/967.js +1 -1
  370. package/.next/server/chunks/9731.js +3 -3
  371. package/.next/server/chunks/9882.js +2 -2
  372. package/.next/server/middleware-manifest.json +5 -5
  373. package/.next/server/pages/500.html +1 -1
  374. package/.next/server/pages-manifest.json +1 -1
  375. package/.next/server/server-reference-manifest.json +1 -1
  376. package/.next/server/src/middleware.js +2 -2
  377. package/.next/server/src/middleware.js.map +1 -1
  378. package/.next/static/chunks/{1642-767aed8e7c61ef7f.js → 1642-fb2e176aaadbd137.js} +1 -1
  379. package/.next/static/chunks/2053-85a974ddfe7498fe.js +1 -0
  380. package/.next/static/chunks/{2407-940df9b11fadafc6.js → 2407-340774f1a24f2b45.js} +1 -1
  381. package/.next/static/chunks/{2619-a305ad4810f1393a.js → 2619-04bc32f026a0d946.js} +1 -1
  382. package/.next/static/chunks/5521-c358c31f60e5e689.js +1 -0
  383. package/.next/static/chunks/591-0a45801e83f26f24.js +1 -0
  384. package/.next/static/chunks/{8165-3525fb42f1b4976e.js → 8165-3853772f6ae1299b.js} +1 -1
  385. package/.next/static/chunks/{8566-a6a7c70558927410.js → 8566-aeda747542072ace.js} +1 -1
  386. package/.next/static/chunks/8811-29eaa24237f48558.js +1 -0
  387. package/.next/static/chunks/{9619-22adf5367c4b7080.js → 9619-84aced0846cbe3ac.js} +1 -1
  388. package/.next/static/chunks/app/{layout-057c850cd0df978e.js → layout-0fc249fb7de75a27.js} +1 -1
  389. package/.next/static/chunks/app/sessions/page-55297155e7bf01b9.js +1 -0
  390. package/.next/static/chunks/app/skills/[skillId]/{page-74aac15286504ef4.js → page-9ee7a381636e60cb.js} +1 -1
  391. package/.next/static/chunks/app/worktrees/[id]/page-d2103e0c25be83c8.js +1 -0
  392. package/.next/static/chunks/app/worktrees/[id]/terminal/{page-c601f3b3ece6557e.js → page-373ea37b16d930c7.js} +1 -1
  393. package/.next/static/css/38070d879efa1371.css +1 -0
  394. package/.next/trace +13 -13
  395. package/README.md +58 -620
  396. package/dist/cli/commands/capture.d.ts.map +1 -1
  397. package/dist/cli/commands/capture.js +11 -1
  398. package/dist/cli/commands/docs.d.ts.map +1 -1
  399. package/dist/cli/commands/docs.js +5 -0
  400. package/dist/cli/commands/remote.d.ts +24 -1
  401. package/dist/cli/commands/remote.d.ts.map +1 -1
  402. package/dist/cli/commands/remote.js +155 -6
  403. package/dist/cli/commands/respond.d.ts.map +1 -1
  404. package/dist/cli/commands/respond.js +255 -112
  405. package/dist/cli/commands/stop.d.ts.map +1 -1
  406. package/dist/cli/commands/stop.js +53 -1
  407. package/dist/cli/commands/sync.js +3 -3
  408. package/dist/cli/docs/setup-guide.d.ts +14 -0
  409. package/dist/cli/docs/setup-guide.d.ts.map +1 -0
  410. package/dist/cli/docs/setup-guide.js +366 -0
  411. package/dist/cli/types/api-responses.d.ts +11 -0
  412. package/dist/cli/types/api-responses.d.ts.map +1 -1
  413. package/dist/cli/types/index.d.ts +2 -0
  414. package/dist/cli/types/index.d.ts.map +1 -1
  415. package/dist/cli/utils/daemon.d.ts +42 -2
  416. package/dist/cli/utils/daemon.d.ts.map +1 -1
  417. package/dist/cli/utils/daemon.js +222 -40
  418. package/dist/cli/utils/docs-reader.d.ts +6 -0
  419. package/dist/cli/utils/docs-reader.d.ts.map +1 -1
  420. package/dist/cli/utils/docs-reader.js +14 -13
  421. package/dist/cli/utils/npm-runner.d.ts +12 -0
  422. package/dist/cli/utils/npm-runner.d.ts.map +1 -1
  423. package/dist/cli/utils/npm-runner.js +36 -0
  424. package/dist/cli/utils/process-inspect.d.ts +55 -0
  425. package/dist/cli/utils/process-inspect.d.ts.map +1 -0
  426. package/dist/cli/utils/process-inspect.js +214 -0
  427. package/dist/cli/utils/remote-pairing.d.ts +68 -0
  428. package/dist/cli/utils/remote-pairing.d.ts.map +1 -0
  429. package/dist/cli/utils/remote-pairing.js +117 -0
  430. package/dist/cli/utils/server-identity.d.ts +50 -0
  431. package/dist/cli/utils/server-identity.d.ts.map +1 -0
  432. package/dist/cli/utils/server-identity.js +118 -0
  433. package/dist/cli/utils/server-ready.d.ts +13 -0
  434. package/dist/cli/utils/server-ready.d.ts.map +1 -1
  435. package/dist/cli/utils/server-ready.js +16 -0
  436. package/dist/lib/security/pairing-code.d.ts +2 -1
  437. package/dist/lib/security/pairing-code.d.ts.map +1 -1
  438. package/dist/server/locales/en/worktree.json +28 -6
  439. package/dist/server/locales/ja/worktree.json +28 -6
  440. package/dist/server/src/config/image-extensions.js +1 -0
  441. package/dist/server/src/lib/auto-yes-poller.js +22 -0
  442. package/dist/server/src/lib/cli-tools/command-code-plan-review.js +175 -0
  443. package/dist/server/src/lib/cli-tools/command-code.js +27 -2
  444. package/dist/server/src/lib/detection/cli-patterns.js +94 -1
  445. package/dist/server/src/lib/detection/tools/codex/detect.js +26 -0
  446. package/dist/server/src/lib/detection/tools/command-code/plan-review-state.js +75 -0
  447. package/dist/server/src/lib/hooks/sources/claude/transcript.js +33 -1
  448. package/dist/server/src/lib/session/claude-executor.js +2 -2
  449. package/dist/server/src/lib/session/claude-session.js +131 -15
  450. package/dist/server/src/lib/session/session-start-error.js +20 -0
  451. package/dist/server/src/lib/skills/agent-state-paths.js +39 -0
  452. package/dist/server/src/lib/skills/receipt-owned-paths.js +118 -0
  453. package/dist/server/src/lib/tmux/tmux.js +25 -0
  454. package/dist/server/src/lib/verification/env-clean-gate.js +195 -6
  455. package/dist/server/src/lib/verification/gate-runner.js +29 -2
  456. package/dist/server/src/lib/verification/scope-gate.js +58 -4
  457. package/docs/en/architecture.md +722 -0
  458. package/docs/en/user-guide/agents-guide.md +306 -0
  459. package/docs/en/user-guide/cli-setup-guide.md +676 -0
  460. package/docs/en/user-guide/cmate-schedules-guide.md +388 -0
  461. package/docs/en/user-guide/commands-guide.md +467 -0
  462. package/docs/en/user-guide/quick-start.md +231 -0
  463. package/docs/en/user-guide/webapp-guide.md +1020 -0
  464. package/docs/en/user-guide/workflow-examples.md +463 -0
  465. package/package.json +18 -7
  466. package/release-notes/0.44.0.json +82 -0
  467. package/.next/server/chunks/1990.js +0 -103
  468. package/.next/server/chunks/3707.js +0 -15
  469. package/.next/server/chunks/6491.js +0 -103
  470. package/.next/server/chunks/7004.js +0 -1
  471. package/.next/server/chunks/8673.js +0 -14
  472. package/.next/static/chunks/2039-117a361f795ddc4b.js +0 -1
  473. package/.next/static/chunks/2053-611dd27d42721b79.js +0 -1
  474. package/.next/static/chunks/3778-56f41fc2cecb8c43.js +0 -1
  475. package/.next/static/chunks/7705-1f58d4c03d991fcf.js +0 -1
  476. package/.next/static/chunks/app/sessions/page-1a8ba152bbcb9efb.js +0 -1
  477. package/.next/static/chunks/app/worktrees/[id]/page-eab0bf7564d3f9e2.js +0 -1
  478. package/.next/static/css/b3f433d52b8ed5c8.css +0 -1
  479. /package/.next/static/{BVkBYdceLRvMROqQIqeBx → wu7SUiHTirFcrpo5teyZ3}/_buildManifest.js +0 -0
  480. /package/.next/static/{BVkBYdceLRvMROqQIqeBx → wu7SUiHTirFcrpo5teyZ3}/_ssgManifest.js +0 -0
@@ -0,0 +1,463 @@
1
+ [日本語版](../../user-guide/workflow-examples.md)
2
+
3
+ # Workflow Examples
4
+
5
+ Practical workflow examples using CommandMate's commands and agents.
6
+
7
+ ---
8
+
9
+ ## 1. New Feature Development Flow
10
+
11
+ A standard workflow for developing a new Issue.
12
+
13
+ ### Step 1: Review the Issue
14
+
15
+ ```bash
16
+ # List issues
17
+ gh issue list
18
+
19
+ # View the target issue
20
+ gh issue view 123
21
+ ```
22
+
23
+ ### Step 2: Create a Work Plan
24
+
25
+ ```
26
+ /work-plan 123
27
+ ```
28
+
29
+ **Output example**:
30
+ ```markdown
31
+ ## Issue: Add Dark Mode
32
+ **Issue number**: #123
33
+ **Size**: M
34
+ **Priority**: High
35
+
36
+ ### Task Breakdown
37
+ - [ ] Task 1.1: Theme type definitions
38
+ - [ ] Task 1.2: Create theme context
39
+ - [ ] Task 1.3: Implement UI components
40
+ - [ ] Task 2.1: Unit tests
41
+ ...
42
+ ```
43
+
44
+ ### Step 3: Automated Development
45
+
46
+ ```
47
+ /pm-auto-dev 123
48
+ ```
49
+
50
+ **Execution**:
51
+ 1. TDD implementation (test creation -> implementation -> refactoring)
52
+ 2. Acceptance testing
53
+ 3. Code quality improvement
54
+ 4. Progress report creation
55
+
56
+ ### Step 4: Create PR
57
+
58
+ ```
59
+ /create-pr
60
+ ```
61
+
62
+ **Output example**:
63
+ ```markdown
64
+ ## Summary
65
+
66
+ Added dark mode feature.
67
+
68
+ Closes #123
69
+
70
+ ## Changes
71
+
72
+ ### Added
73
+ - Theme toggle component
74
+ - Dark mode styles
75
+
76
+ ## Test Results
77
+ - Unit Tests: 15/15 passed
78
+ - Coverage: 85%
79
+ ```
80
+
81
+ ---
82
+
83
+ ## 2. Bug Fix Flow
84
+
85
+ A workflow for fixing issues when bugs are discovered.
86
+
87
+ ### Step 1: Bug Report
88
+
89
+ A bug is discovered by a user or yourself.
90
+
91
+ ### Step 2: Automated Investigation & Fix
92
+
93
+ ```
94
+ /bug-fix API error occurring
95
+ ```
96
+
97
+ **Execution phases**:
98
+
99
+ **Phase 1: Bug Investigation**
100
+ - Error log analysis
101
+ - Root cause identification
102
+
103
+ ```markdown
104
+ ## Investigation Summary
105
+
106
+ **Root cause**: Timeout setting too short
107
+ **Impact scope**: All users
108
+ **Severity**: high
109
+ ```
110
+
111
+ **Phase 2: Solution Proposals**
112
+ ```markdown
113
+ ## Solutions (by priority)
114
+
115
+ 1. [High] Change timeout setting (30 min)
116
+ 2. [Medium] Add retry logic (1 hour)
117
+
118
+ Which solution would you like to implement?
119
+ ```
120
+
121
+ **Phase 3-6: Fix, Test & Report**
122
+ - TDD fix implementation
123
+ - Acceptance testing
124
+ - Progress report
125
+
126
+ ### Step 3: Create PR
127
+
128
+ ```
129
+ /create-pr
130
+ ```
131
+
132
+ ---
133
+
134
+ ## 3. Refactoring Flow
135
+
136
+ A workflow for improving code quality.
137
+
138
+ ### Step 1: Identify Targets
139
+
140
+ ```
141
+ /refactoring src/lib/utils.ts
142
+ ```
143
+
144
+ ### Step 2: Analysis & Execution
145
+
146
+ **Output example**:
147
+ ```
148
+ Refactoring Complete
149
+
150
+ ## Refactoring Applied
151
+ - Split long functions
152
+ - Removed duplicate code
153
+ - Improved naming
154
+
155
+ ## Quality Metrics Improvement
156
+ | Metric | Before | After | Improvement |
157
+ |--------|--------|-------|-------------|
158
+ | Coverage | 75.0% | 85.0% | +10.0% |
159
+ | ESLint errors | 5 | 0 | -5 |
160
+ ```
161
+
162
+ ### Step 3: Verify Tests
163
+
164
+ ```bash
165
+ npm run test:unit
166
+ npm run lint
167
+ npx tsc --noEmit
168
+ ```
169
+
170
+ ---
171
+
172
+ ## 4. Emergency Response Flow
173
+
174
+ A workflow for emergency response when production issues occur.
175
+
176
+ ### Step 1: Assess the Situation
177
+
178
+ ```bash
179
+ # Check recent logs
180
+ tail -100 logs/error.log
181
+
182
+ # Check environment variables
183
+ cat .env.production
184
+ ```
185
+
186
+ ### Step 2: Emergency Fix
187
+
188
+ ```
189
+ /bug-fix API error occurring in production
190
+ ```
191
+
192
+ **Setting severity to critical**:
193
+ - Prioritize implementing Solution 1
194
+ - Run tests
195
+ - Prepare for immediate deployment
196
+
197
+ ### Step 3: Create hotfix Branch
198
+
199
+ ```bash
200
+ git checkout -b hotfix/critical-api-fix
201
+ ```
202
+
203
+ ### Step 4: Create PR (emergency merge)
204
+
205
+ ```
206
+ /create-pr
207
+ ```
208
+
209
+ ---
210
+
211
+ ## 5. Fully Automated Development Flow
212
+
213
+ A flow where you just specify an Issue number and development runs to completion automatically.
214
+
215
+ ### Execution
216
+
217
+ ```
218
+ /pm-auto-dev 166
219
+ ```
220
+
221
+ ### Auto-execution Details
222
+
223
+ ```
224
+ Phase 1: Issue information gathered
225
+ - Issue #166: Add new feature
226
+ - Acceptance criteria: 3 items
227
+ - Implementation tasks: 5 items
228
+
229
+ Phase 2: TDD Implementation (Iteration 1/3)
230
+ - Launching tdd-impl-agent...
231
+ - Coverage: 85%
232
+ - Tests: 15/15 passed
233
+
234
+ Phase 3: Acceptance Testing
235
+ - Launching acceptance-test-agent...
236
+ - Test scenarios: 3/3 passed
237
+
238
+ Phase 4: Refactoring
239
+ - Launching refactoring-agent...
240
+ - Coverage: 85% -> 88%
241
+
242
+ Phase 5: Progress Report
243
+ - Launching progress-report-agent...
244
+ - Report created
245
+
246
+ Issue #166 development complete!
247
+ ```
248
+
249
+ ### After Completion
250
+
251
+ ```
252
+ /create-pr
253
+ ```
254
+
255
+ ---
256
+
257
+ ## 6. Standalone TDD Execution Flow
258
+
259
+ A flow for running just TDD implementation.
260
+
261
+ ### Execution
262
+
263
+ ```
264
+ /tdd-impl new API endpoint
265
+ ```
266
+
267
+ ### TDD Cycle
268
+
269
+ **Red Phase**:
270
+ ```typescript
271
+ // tests/unit/api.test.ts
272
+ it('should return data', async () => {
273
+ const result = await fetchData()
274
+ expect(result).toBeDefined()
275
+ })
276
+ ```
277
+
278
+ **Green Phase**:
279
+ ```typescript
280
+ // src/lib/api.ts
281
+ export async function fetchData() {
282
+ return { data: 'test' }
283
+ }
284
+ ```
285
+
286
+ **Refactor Phase**:
287
+ - Improve code
288
+ - Re-run tests
289
+
290
+ ### Result
291
+
292
+ ```
293
+ TDD Implementation Complete
294
+
295
+ ## Test Results
296
+ - Total: 5 tests
297
+ - Passed: 5
298
+ - Coverage: 90%
299
+
300
+ ## Static Analysis
301
+ - ESLint: 0 errors
302
+ - TypeScript: 0 errors
303
+ ```
304
+
305
+ ---
306
+
307
+ ## 7. Contract-Based Parallel Development Flow
308
+
309
+ Delegate several issues to separate worktrees in parallel and decide whether each
310
+ one is done **from an exit code rather than by reading the agent's report**. The
311
+ gates in `.commandmate/verify.yaml` adjudicate — not the worker's "all done!"
312
+ message.
313
+
314
+ Prerequisite: `commandmatedev send --help` lists `--contract` and `wait --help`
315
+ lists `--verify` (the contract flags exist only on develop builds).
316
+
317
+ ### Step 1: Draft an execution contract and place it in the worktree
318
+
319
+ Write `.commandmate/tasks/issue-<N>.yaml` **inside the target worktree**, one per
320
+ issue. The spec is [task-contract.md](../../design/task-contract.md); a worked
321
+ example ships as `.commandmate/tasks/example.yaml`.
322
+
323
+ ```yaml
324
+ version: 1
325
+ title: "Issue #1600: add a dark mode toggle"
326
+ goal: |
327
+ Implement https://github.com/Kewton/CommandMate/issues/1600.
328
+ Acceptance criteria:
329
+ - a toggle appears in the header
330
+ - the selected theme survives a reload
331
+ scope:
332
+ allow:
333
+ - "src/components/layout/**"
334
+ - "tests/unit/components/**"
335
+ deny: []
336
+ verify:
337
+ gates: [lint, typecheck, unit] # omit the key to run every gate (recommended)
338
+ success:
339
+ requireWorkEvidence: true
340
+ requireScopeClean: true
341
+ ```
342
+
343
+ The contract does not have to be committed. The `work-evidence` and `scope` gates
344
+ exclude the contract file itself from the change set, so dropping a contract into
345
+ a worktree never makes it look like work was done.
346
+
347
+ ### Step 2: Send with the contract
348
+
349
+ `--contract` composes the goal into the message body, so **do not pass a message
350
+ argument** (passing both exits 2). The task id is printed on stdout.
351
+
352
+ ```bash
353
+ WT=$(commandmatedev ls --branch "feature/1600" --quiet)
354
+ TASK_ID=$(commandmatedev send "$WT" \
355
+ --contract .commandmate/tasks/issue-1600.yaml \
356
+ --instance claude --auto-yes --duration 3h)
357
+ ```
358
+
359
+ Name the target with `--instance`, not `--agent`. `wait` does not accept
360
+ `--agent`, so naming the agent only on `send` leaves the `wait` in Step 3
361
+ watching the worktree's default agent (Issue #1638).
362
+
363
+ Right after sending, run `commandmatedev capture "$WT"` to confirm the worker
364
+ actually started. `send` can exit 0 while the text sits unsubmitted in the composer.
365
+
366
+ ### Step 3: Wait, then verify
367
+
368
+ ```bash
369
+ commandmatedev wait "$WT" --instance claude --on-prompt human --verify --timeout 10800
370
+ echo "exit=$?"
371
+ ```
372
+
373
+ Without `--on-prompt human`, every detected prompt returns exit 10 immediately.
374
+ `--verify` runs every gate **after** completion is detected and turns the result
375
+ into the exit code.
376
+
377
+ ### Step 4: Branch on the exit code
378
+
379
+ | exit | Meaning | What to do |
380
+ |------|---------|-----------|
381
+ | `0` | Done, verification passed | Move on to the PR (`/create-pr`) |
382
+ | `20` | Verification failed | `commandmatedev verify "$WT" --json` to find the failing gate, then re-instruct with its `logTail`. Cap at 2 retries |
383
+ | `21` | No work evidence | `commandmatedev capture "$WT"` to tell an unsubmitted composer from a permission prompt or a session that never launched |
384
+ | `10` | Prompt detected | `commandmatedev respond "$WT" "yes"`, then wait again |
385
+ | `124` | Timed out | Inspect with capture |
386
+
387
+ ```bash
388
+ # On exit 20: which gate failed?
389
+ commandmatedev verify "$WT" --json
390
+ ```
391
+
392
+ The verdict stays queryable afterwards, and a worktree id is enough — you never
393
+ need to have kept the task id:
394
+
395
+ ```bash
396
+ commandmatedev task list "$WT" --limit 5 # id / status / agent / gates / title
397
+ commandmatedev task show "$TASK_ID" # contract + the verification run that judged it
398
+ ```
399
+
400
+ ### Running them in parallel
401
+
402
+ Repeat steps 1–4 per issue: independent issues in parallel, strongly dependent
403
+ ones in sequence. If you supervise with the
404
+ [orchestrate-monitor skill](../../../.claude/skills/orchestrate-monitor/SKILL.md),
405
+ give it the task-status hook as well:
406
+
407
+ ```bash
408
+ .claude/skills/orchestrate-monitor/scripts/monitor.sh \
409
+ --hooks .claude/skills/orchestrate-monitor/scripts/hooks-git.sh \
410
+ --hooks .claude/skills/orchestrate-monitor/scripts/hooks-task.sh \
411
+ --interval 20 --idle-threshold 8 "$WT" ...
412
+ ```
413
+
414
+ The tmux session an intervention is sent to is derived from the poll's
415
+ `cliToolId`, so no option is needed even for a fleet running several agents
416
+ (#1601). Only a non-default instance needs to be named, as
417
+ `<worktree-id>@<instance-id>` (e.g. `w1@codex-2`).
418
+
419
+ **The monitor's `COMPLETE` is not a merge verdict.** The verdict is the exit code
420
+ from step 3. The monitor only decides when to go look.
421
+
422
+ ---
423
+
424
+ ## Best Practices for Command Usage
425
+
426
+ ### 1. Start with a Plan
427
+
428
+ ```
429
+ /work-plan -> /pm-auto-dev -> /create-pr
430
+ ```
431
+
432
+ ### 2. Regular Progress Checks
433
+
434
+ ```
435
+ /progress-report 123
436
+ ```
437
+
438
+ ### 3. Thorough Quality Checks
439
+
440
+ ```bash
441
+ npm run lint
442
+ npx tsc --noEmit
443
+ npm run test:unit
444
+ npm run build
445
+ ```
446
+
447
+ ### 4. Commit Message Convention
448
+
449
+ ```
450
+ feat(scope): add new feature
451
+ fix(scope): fix bug
452
+ refactor(scope): refactor code
453
+ test(scope): add tests
454
+ docs(scope): update documentation
455
+ ```
456
+
457
+ ---
458
+
459
+ ## Related Documentation
460
+
461
+ - [Quick Start Guide](./quick-start.md) - 5-minute development flow
462
+ - [Commands Guide](./commands-guide.md) - Command details
463
+ - [Agents Guide](./agents-guide.md) - Agent details
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "commandmate",
3
- "version": "0.43.0",
4
- "description": "A local control plane for agent CLIs — orchestration and visibility for Claude Code, Codex, Gemini CLI, and more across Git worktrees",
3
+ "version": "0.44.0",
4
+ "description": "No long blocks of time? Run an AI team from your phone. Git worktree sessions, task contracts and verification gates for Claude Code, Codex, Gemini CLI, Copilot, OpenCode, Antigravity and Command Code.",
5
5
  "keywords": [
6
+ "ai-agents",
6
7
  "claude-code",
7
8
  "codex-cli",
8
9
  "gemini-cli",
9
- "agent-cli",
10
- "cli-orchestration",
11
- "ai-coding",
12
- "git-worktree",
13
10
  "coding-agent",
14
- "session-manager",
11
+ "agent-orchestration",
12
+ "git-worktree",
13
+ "verification-gates",
14
+ "mobile",
15
15
  "tmux",
16
16
  "cli",
17
17
  "developer-tools"
@@ -32,6 +32,14 @@
32
32
  ".next/",
33
33
  "!.next/cache",
34
34
  "public/",
35
+ "docs/en/user-guide/quick-start.md",
36
+ "docs/en/user-guide/commands-guide.md",
37
+ "docs/en/user-guide/webapp-guide.md",
38
+ "docs/en/user-guide/workflow-examples.md",
39
+ "docs/en/user-guide/cli-setup-guide.md",
40
+ "docs/en/user-guide/agents-guide.md",
41
+ "docs/en/user-guide/cmate-schedules-guide.md",
42
+ "docs/en/architecture.md",
35
43
  "scripts/hooks/",
36
44
  "scripts/opencode-v2/",
37
45
  ".env.example",
@@ -141,5 +149,8 @@
141
149
  "tw-animate-css": "^1.4.0",
142
150
  "typescript": "^5.5.0",
143
151
  "vitest": "^4.1.2"
152
+ },
153
+ "overrides": {
154
+ "@xmldom/xmldom": "^0.9.12"
144
155
  }
145
156
  }
@@ -0,0 +1,82 @@
1
+ {
2
+ "version": "0.44.0",
3
+ "date": "2026-10-03",
4
+ "highlight": {
5
+ "ja": "エージェントに読ませるだけで導入まで案内してくれるセットアップガイドを加えました。スマホからのログインと公開の安全性も改善しています。",
6
+ "en": "A setup guide your agent can read and follow now walks you through installation. Phone login and remote access are also safer."
7
+ },
8
+ "added": [
9
+ {
10
+ "ja": "チャットの吹き出しで、worktree 内の画像を表示できるようになりました。",
11
+ "en": "Chat bubbles now show images from the worktree."
12
+ },
13
+ {
14
+ "ja": "チャットの吹き出しで、worktree 内の動画を再生できるようになりました。",
15
+ "en": "Chat bubbles now play videos from the worktree."
16
+ },
17
+ {
18
+ "ja": "Command Code の計画レビュー画面で、チャット面からコメント・送信・承認・取り消しができるようになりました。承認の前には確認が出ます。",
19
+ "en": "In Command Code's plan review, you can now comment, submit, approve, or cancel from the chat view. Approving asks for confirmation first."
20
+ },
21
+ {
22
+ "ja": "ペアリングの QR を失くしたとき、公開を張り直さずに新しいリンクを出せるようになりました。",
23
+ "en": "If you lose the pairing QR code, you can now get a new link without restarting remote access."
24
+ },
25
+ {
26
+ "ja": "エージェントに読ませて導入を進めてもらうセットアップガイドを追加しました。",
27
+ "en": "Added a setup guide that your agent can read to walk you through installation."
28
+ }
29
+ ],
30
+ "improved": [
31
+ {
32
+ "ja": "Command Code の計画レビュー画面に、CLI からコメント・送信・承認・取り消しを送れるようになりました。",
33
+ "en": "The CLI can now comment on, submit, approve, or cancel a Command Code plan review."
34
+ },
35
+ {
36
+ "ja": "画面の出力がまだ無いとき、確認ダイアログの見方を案内するようになりました。",
37
+ "en": "When there is no output yet, capture now tells you how to see a waiting confirmation screen."
38
+ },
39
+ {
40
+ "ja": "Command Code が自分で書く設定ファイルを、作業の変更として数えなくなりました。",
41
+ "en": "Settings files that Command Code writes for itself are no longer counted as your changes."
42
+ }
43
+ ],
44
+ "fixed": [
45
+ {
46
+ "ja": "停止したはずのサーバーが残り、ログインなしで公開されてしまうことがある問題を直しました。",
47
+ "en": "Fixed a case where a server that should have stopped stayed up and could be exposed without login."
48
+ },
49
+ {
50
+ "ja": "トンネル越しにログインしようとすると localhost に移動してしまう問題を直しました。",
51
+ "en": "Fixed logging in through a tunnel sending you to localhost."
52
+ },
53
+ {
54
+ "ja": "Claude Code の信頼の確認で、終了を選んでしまい最初の送信が届かない問題を直しました。",
55
+ "en": "Fixed Claude Code's trust prompt sometimes choosing to exit, so the first message was not delivered."
56
+ },
57
+ {
58
+ "ja": "初めて使うときに、送信・同期・応答のエラーが誤った対処を案内していた問題を直しました。",
59
+ "en": "Fixed send, sync, and respond errors pointing first-time users to the wrong fix."
60
+ },
61
+ {
62
+ "ja": "npm にまだ出ていない版で更新ボタンが押せてしまう問題を直しました。",
63
+ "en": "Fixed the Update button being available for a version not yet published to npm."
64
+ },
65
+ {
66
+ "ja": "大きすぎる画像を開いたとき、正しく「大きすぎる」と伝えるようになりました。",
67
+ "en": "Opening an image that is too large now correctly says it is too large."
68
+ },
69
+ {
70
+ "ja": "Codex のモデル選択画面に Auto-Yes が答えてしまう問題を直しました。",
71
+ "en": "Fixed Auto-Yes answering Codex's model selection screen."
72
+ },
73
+ {
74
+ "ja": "Claude の /effort の選択画面を正しく認識するようになりました。",
75
+ "en": "Claude's /effort selection screen is now recognized correctly."
76
+ },
77
+ {
78
+ "ja": "依存パッケージの脆弱性を解消しました。",
79
+ "en": "Resolved security vulnerabilities in dependencies."
80
+ }
81
+ ]
82
+ }
@@ -1,103 +0,0 @@
1
- "use strict";exports.id=1990,exports.ids=[1990],exports.modules={31990:(a,b,c)=>{c.d(b,{Wh:()=>R,WD:()=>S,Lw:()=>U,K1:()=>Q,N5:()=>T});var d=c(8360),e=c(72626),f=c(79892);let g={streamingOutput:!1,explicitResize:!1,snapshotFallback:!0};class h{async unsubscribe(){}}class i{async ensureSession(a,b){await (0,f.N)(a)||await (0,f.jw)(a,b)}async sessionExists(a){return(0,f.N)(a)}async sendInput(a,b){await (0,f.V1)(a,b)}async sendSpecialKey(a,b){if("Escape"!==b&&"C-c"!==b&&"C-d"!==b&&"C-m"!==b&&"Enter"!==b)throw Error(`Unsupported special key for PollingTmuxTransport: ${b}`);await (0,f.ds)(a,b)}async resize(){throw Error("PollingTmuxTransport does not support explicit resize")}async captureSnapshot(a,b){return(0,f.Xg)(a,b)}async subscribe(){return new h}getCapabilities(){return g}async killSession(a){return(0,f.fY)(a)}}let j=null;var k=c(93997),l=c(79646),m=c(28354),n=c(31442),o=c(29021),p=c(21820),q=c(33873),r=c(16983);let s="cm-live-restore.sh",t="cm-live-delegate.sh",u="cm-auto-popup.sh",v=`#!/bin/sh
2
- # CommandMate live-attach restore (Issue #2317) — generated file, edits are overwritten.
3
- #
4
- # sh ~/.commandmate/bin/${s} <session> [control_mode] [width] [height]
5
- #
6
- # Pins the session's window back to CommandMate's canvas once no human client is
7
- # attached to it any more. Safe to run when nothing is delegated: it then simply
8
- # re-applies the geometry the session already has.
9
- set -u
10
-
11
- SESSION="\${1:-}"
12
- CONTROL_MODE="\${2:-0}"
13
- WIDTH="\${3:-${r.Jn}}"
14
- HEIGHT="\${4:-${r.sO}}"
15
-
16
- case "$SESSION" in
17
- ${n.HL}*) ;;
18
- *) exit 0 ;;
19
- esac
20
-
21
- # A control-mode client detaching is CommandMate's own transport reconnecting,
22
- # not the human leaving. Doing the restore here would fight the human's attach.
23
- if [ "$CONTROL_MODE" = "1" ]; then
24
- exit 0
25
- fi
26
-
27
- # Anyone left who is NOT a control client? Then the geometry is still theirs.
28
- HUMANS=$(tmux list-clients -t "=$SESSION:" -F '#{client_control_mode}' 2>/dev/null \\
29
- | grep -c -v '^1$') || HUMANS=0
30
- if [ "\${HUMANS:-0}" -gt 0 ]; then
31
- exit 0
32
- fi
33
-
34
- tmux set-window-option -t "=$SESSION:" window-size manual 2>/dev/null || exit 0
35
- tmux resize-window -t "=$SESSION:" -x "$WIDTH" -y "$HEIGHT" 2>/dev/null || true
36
- tmux set-option -u -t "=$SESSION:" @cm_delegated 2>/dev/null || true
37
- `,w="[0-9a-f]".repeat(8),x=`#!/bin/sh
38
- # CommandMate live-attach delegate (Issue #2317) — generated file, edits are overwritten.
39
- #
40
- # sh ~/.commandmate/bin/${t} <session> <control_mode> [client]
41
- #
42
- # Hands the session's window from CommandMate's pinned canvas to the terminal
43
- # that just attached, so an alternate-screen agent re-lays-out and its transcript
44
- # becomes readable. Installed as a session-scoped \`client-attached[0]\` hook only
45
- # when CM_LIVE_ATTACH_HOOK=on; \`commandmate attach --live\` does the same two
46
- # writes itself and needs no hook.
47
- #
48
- # The window is put back by whoever notices the human is gone first: the CLI on
49
- # return from attach-session, or the server's status poll. This script never
50
- # restores — the attach edge is the only edge tmux 3.5a lets a session-scoped
51
- # hook see.
52
- set -u
53
-
54
- SESSION="\${1:-}"
55
- CONTROL_MODE="\${2:-0}"
56
-
57
- case "$SESSION" in
58
- ${n.HL}claude-*|${n.HL}${w}-claude-*) ;;
59
- *) exit 0 ;;
60
- esac
61
-
62
- # A control-mode client is CommandMate's own transport. Handing it the geometry
63
- # would resize the canvas to whatever that connection negotiated, which is the
64
- # #1163 regression this whole feature is built to avoid.
65
- if [ "$CONTROL_MODE" = "1" ]; then
66
- exit 0
67
- fi
68
-
69
- # Raised BEFORE the size change, so a status poll landing between the two sees
70
- # "delegated, still pinned" rather than "not delegated, 44 rows".
71
- tmux set-option -t "=$SESSION:" @cm_delegated 1 2>/dev/null || exit 0
72
- tmux set-window-option -t "=$SESSION:" window-size latest 2>/dev/null || true
73
- `,y=`#!/bin/sh
74
- # CommandMate auto read popup (Issue #2317) — generated file, edits are overwritten.
75
- #
76
- # sh ~/.commandmate/bin/${u} <session> <control_mode> <client>
77
- #
78
- # Opens the following transcript popup for a human client attaching to a
79
- # CommandMate session. Never opens for a control-mode client.
80
- set -u
81
-
82
- SESSION="\${1:-}"
83
- CONTROL_MODE="\${2:-0}"
84
- CLIENT="\${3:-}"
85
-
86
- case "$SESSION" in
87
- ${n.HL}*) ;;
88
- *) exit 0 ;;
89
- esac
90
-
91
- if [ "$CONTROL_MODE" = "1" ]; then
92
- exit 0
93
- fi
94
-
95
- PAGER_SCRIPT="$HOME/.commandmate/bin/cm-read-pane.sh"
96
- [ -x "$PAGER_SCRIPT" ] || exit 0
97
-
98
- if [ -n "$CLIENT" ]; then
99
- tmux display-popup -c "$CLIENT" -w 90% -h 85% -E "sh \\"$PAGER_SCRIPT\\" --follow \\"$SESSION\\"" 2>/dev/null || true
100
- else
101
- tmux display-popup -w 90% -h 85% -E "sh \\"$PAGER_SCRIPT\\" --follow \\"$SESSION\\"" 2>/dev/null || true
102
- fi
103
- `;function z(a,b){let c,d=(0,q.join)((0,q.join)((0,p.homedir)(),".commandmate","bin"),a);if((0,o.mkdirSync)((0,q.dirname)(d),{recursive:!0}),(0,o.existsSync)(d))try{c=(0,o.readFileSync)(d,"utf-8")}catch{c=void 0}return c!==b&&(0,o.writeFileSync)(d,b,{mode:493}),(0,o.chmodSync)(d,493),d}var A=c(83598);let B=(0,m.promisify)(l.execFile),C=(0,e.h)("tmux-session-hooks"),D=globalThis.__cmEnsuredSessionHooks??(globalThis.__cmEnsuredSessionHooks=new Set);async function E(a){if((0,n.N_)(a)&&!D.has(a)){D.add(a);try{if((0,n.gM)()&&(0,n.n9)(a)){z(s,v);let b=(0,n.Rr)(a,z(t,x));b&&await B("tmux",b,{timeout:5e3})}else await B("tmux",(0,n.g4)(a),{timeout:5e3});if((0,n.jx)()){let b=(0,n.Ls)(a,z(u,y));b&&await B("tmux",b,{timeout:5e3})}else await B("tmux",(0,n.sL)(a),{timeout:5e3})}catch(b){C.debug("session-hooks:reconcile-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)})}}}async function F(a){try{if(!await (0,A.Us)(a)||await (0,A.Fh)(a))return!1;for(let b of(0,n.RS)(a))await B("tmux",b,{timeout:5e3});return C.info("session-hooks:geometry-restored",{sessionName:a}),!0}catch(b){return C.debug("session-hooks:geometry-restore-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),!1}}let G=(0,m.promisify)(l.execFile),H=(0,e.h)("tmux-session-status"),I=globalThis.__cmPublishedTmuxStatus??(globalThis.__cmPublishedTmuxStatus=new Map),J=globalThis.__cmClearedTmuxStatus??(globalThis.__cmClearedTmuxStatus=new Set);async function K(a){let{sessionName:b,worktreeId:c,cliToolId:d,instanceId:e,status:f}=a;if(!(0,n.om)())return J.has(b)||(J.add(b),await M(b)),"disabled";let g=I.get(b);if(g&&g.status===f&&g.worktreeId===c&&g.cliToolId===d&&g.instanceId===e)return"unchanged";let h=(a.now??new Date).toISOString(),i=[[n.eC,f],[n.jp,c],[n.wv,d],[n.L0,e],[n.tx,h]];try{for(let[a,c]of i)await G("tmux",(0,n.ND)(b,a,c),{timeout:5e3});return I.set(b,{status:f,worktreeId:c,cliToolId:d,instanceId:e}),await L(b),"written"}catch(a){return I.delete(b),H.debug("session-status:write-failed",{sessionName:b,error:a instanceof Error?a.message:String(a)}),"error"}}async function L(a){try{let{stdout:b}=await G("tmux",(0,n.Ys)(a,"status-right"),{timeout:5e3}),c=b.trim();if(""!==c&&!c.includes(n.lY))return H.debug("session-status:status-right-user-owned",{sessionName:a,existing:c}),!1;return""===c&&await G("tmux",(0,n.KB)(a,n.lY),{timeout:5e3}),!0}catch(b){return H.debug("session-status:status-right-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),!1}}async function M(a){for(let b of(I.delete(a),n.bq))try{await G("tmux",(0,n.cD)(a,b),{timeout:5e3})}catch{}try{let{stdout:b}=await G("tmux",(0,n.Ys)(a,"status-right"),{timeout:5e3});b.includes(n.lY)&&await G("tmux",(0,n.$D)(a),{timeout:5e3})}catch{}}let N=(0,e.h)("cli-session");function O(){return j||(j=new i),j}function P(a,b,c){let e=d.CLIToolManager.getInstance().getTool(b),f=e.getSessionName(a,c);return{cliTool:e,sessionName:f}}async function Q(a,b,c){let{sessionName:d}=P(a,b,c);return O().sessionExists(d)}async function R(a,b,c=1e3,d){let e=N.withContext({worktreeId:a,cliToolId:b});e.debug("captureSessionOutput:start",{requestedLines:c});let{cliTool:f,sessionName:g}=P(a,b,d),h=O();try{let a=await (0,k.aq)(g,c,async()=>{if(!await h.sessionExists(g))throw Error(`${f.name} session ${g} does not exist`);return await h.captureSnapshot(g,{startLine:-k.xE})});return e.debug("captureSessionOutput:success",{actualLines:a.split("\n").length,lastFewLines:a.split("\n").slice(-3).join(" | ")}),a}catch(b){let a=b instanceof Error?b.message:String(b);if(a.includes("does not exist"))throw e.debug("captureSessionOutput:sessionNotFound",{sessionName:g}),b;throw e.error("captureSessionOutput:failed",{error:a}),Error(`Failed to capture ${f.name} output: ${a}`)}}async function S(a,b,c=5e3,d){let e=N.withContext({worktreeId:a,cliToolId:b});e.debug("captureSessionOutputFresh:start",{requestedLines:c});let{cliTool:f,sessionName:g}=P(a,b,d),h=O();try{let a=await h.captureSnapshot(g,{startLine:-c});return a.length>0?(0,k.vF)(g,a,c):(0,k.gm)(g),(0,k.wd)(a,c)}catch(b){(0,k.gm)(g);let a=b instanceof Error?b.message:String(b);throw e.error("captureSessionOutputFresh:failed",{error:a}),Error(`Failed to capture ${f.name} output: ${a}`)}}async function T(a){await E(a.sessionName),(0,n.n9)(a.sessionName)&&await F(a.sessionName),await K(a)}function U(a){I.delete(a),J.delete(a),D.delete(a),(0,A.G9)(a)}}};