commandmate 0.45.1 → 0.46.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 (296) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +302 -298
  3. package/.next/app-path-routes-manifest.json +15 -15
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +9 -9
  6. package/.next/react-loadable-manifest.json +4 -4
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/server/app/_not-found/page.js +1 -1
  9. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  10. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/capabilities/route.js +1 -1
  20. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +3 -3
  69. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +3 -3
  75. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +3 -3
  118. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +3 -3
  120. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/schedules/route.js +3 -3
  122. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/route.js +1 -1
  152. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/login/page.js +1 -1
  154. package/.next/server/app/login/page.js.nft.json +1 -1
  155. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  156. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/more/page.js +1 -1
  158. package/.next/server/app/more/page.js.nft.json +1 -1
  159. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  160. package/.next/server/app/offline/page.js +1 -1
  161. package/.next/server/app/offline/page.js.nft.json +1 -1
  162. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  163. package/.next/server/app/page.js +1 -1
  164. package/.next/server/app/page.js.nft.json +1 -1
  165. package/.next/server/app/page_client-reference-manifest.js +1 -1
  166. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/repositories/page.js +2 -2
  168. package/.next/server/app/repositories/page.js.nft.json +1 -1
  169. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  170. package/.next/server/app/review/page.js +1 -1
  171. package/.next/server/app/review/page.js.nft.json +1 -1
  172. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  173. package/.next/server/app/sessions/page.js +1 -1
  174. package/.next/server/app/sessions/page.js.nft.json +1 -1
  175. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  176. package/.next/server/app/skills/[skillId]/page.js +1 -1
  177. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  178. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  179. package/.next/server/app/skills/installed/page.js +1 -1
  180. package/.next/server/app/skills/installed/page.js.nft.json +1 -1
  181. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  182. package/.next/server/app/skills/page.js +1 -1
  183. package/.next/server/app/skills/page.js.nft.json +1 -1
  184. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  185. package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
  186. package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
  187. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  188. package/.next/server/app/worktrees/[id]/page.js +12 -9
  189. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  190. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  191. package/.next/server/app/worktrees/[id]/terminal/page.js +1 -1
  192. package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
  193. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  194. package/.next/server/app-paths-manifest.json +15 -15
  195. package/.next/server/chunks/1341.js +1 -1
  196. package/.next/server/chunks/1501.js +2 -2
  197. package/.next/server/chunks/2119.js +1 -1
  198. package/.next/server/chunks/2283.js +15 -13
  199. package/.next/server/chunks/2404.js +4 -4
  200. package/.next/server/chunks/2445.js +1 -1
  201. package/.next/server/chunks/2560.js +1 -1
  202. package/.next/server/chunks/3543.js +1 -1
  203. package/.next/server/chunks/3945.js +1 -1
  204. package/.next/server/chunks/4072.js +15 -0
  205. package/.next/server/chunks/4207.js +1 -1
  206. package/.next/server/chunks/4718.js +3 -3
  207. package/.next/server/chunks/4837.js +3 -3
  208. package/.next/server/chunks/5625.js +1 -1
  209. package/.next/server/chunks/6130.js +1 -1
  210. package/.next/server/chunks/6345.js +1 -0
  211. package/.next/server/chunks/6401.js +1 -1
  212. package/.next/server/chunks/6722.js +1 -0
  213. package/.next/server/chunks/8098.js +1 -1
  214. package/.next/server/chunks/8356.js +1 -1
  215. package/.next/server/chunks/8581.js +25 -29
  216. package/.next/server/chunks/8728.js +1 -1
  217. package/.next/server/chunks/8800.js +4 -4
  218. package/.next/server/chunks/9731.js +1 -1
  219. package/.next/server/middleware-build-manifest.js +1 -1
  220. package/.next/server/middleware-manifest.json +5 -5
  221. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  222. package/.next/server/pages/500.html +1 -1
  223. package/.next/server/pages/_error.js +2 -2
  224. package/.next/server/server-reference-manifest.json +1 -1
  225. package/.next/static/chunks/{2407-86890b00eeecf391.js → 2407-acb644c5487e1720.js} +1 -1
  226. package/.next/static/chunks/{2619-a305ad4810f1393a.js → 2619-04bc32f026a0d946.js} +1 -1
  227. package/.next/static/chunks/2717.21abf5b6bbd45520.js +1 -0
  228. package/.next/static/chunks/2770-db80aedf6384d594.js +1 -0
  229. package/.next/static/chunks/2863-6a07ec82fb52f4dd.js +1 -0
  230. package/.next/static/chunks/3201-c01f1feed69020e6.js +1 -0
  231. package/.next/static/chunks/4768-ad6f82f034f21eae.js +1 -0
  232. package/.next/static/chunks/5371-a94ed618148287a0.js +1 -0
  233. package/.next/static/chunks/5794-947fb4934d8be193.js +1 -0
  234. package/.next/static/chunks/5927-54315d21f323e204.js +1 -0
  235. package/.next/static/chunks/602-25e45a2422d2a3ea.js +1 -0
  236. package/.next/static/chunks/6606-02ddc006686a6b7d.js +1 -0
  237. package/.next/static/chunks/6654-f3534f35f16644bc.js +1 -0
  238. package/.next/static/chunks/7730-011e137be64403ae.js +1 -0
  239. package/.next/static/chunks/8165-263172c17ae8e8c3.js +1 -0
  240. package/.next/static/chunks/8606-cf6bdbff44a764cf.js +1 -0
  241. package/.next/static/chunks/934-a37509667baa86ee.js +1 -0
  242. package/.next/static/chunks/9465-e5a351baa941f31b.js +1 -0
  243. package/.next/static/chunks/app/layout-ae30ce63569c22be.js +1 -0
  244. package/.next/static/chunks/app/repositories/page-71f5a5ac29b0370d.js +1 -0
  245. package/.next/static/chunks/app/review/page-e2fd4a590646a2d8.js +1 -0
  246. package/.next/static/chunks/app/sessions/page-9859ed61e93e6890.js +1 -0
  247. package/.next/static/chunks/app/skills/[skillId]/page-52ba58712faf3378.js +1 -0
  248. package/.next/static/chunks/app/worktrees/[id]/page-2eb1d0fd0a077b7e.js +1 -0
  249. package/.next/static/chunks/app/worktrees/[id]/terminal/{page-c601f3b3ece6557e.js → page-373ea37b16d930c7.js} +1 -1
  250. package/.next/static/chunks/{webpack-ee3ccbe378c4aa06.js → webpack-c0b821f340afdebf.js} +1 -1
  251. package/.next/static/css/743f79ff19ab91e9.css +1 -0
  252. package/.next/trace +13 -13
  253. package/dist/server/locales/en/worktree.json +46 -16
  254. package/dist/server/locales/ja/worktree.json +46 -16
  255. package/dist/server/src/config/activity-bar-config.js +56 -9
  256. package/dist/server/src/lib/polling/prompt-dedup-state.js +26 -7
  257. package/dist/server/src/lib/polling/prompt-dedup.js +50 -22
  258. package/dist/server/src/lib/polling/response-checker.js +14 -1
  259. package/dist/server/src/lib/polling/response-dedup.js +104 -20
  260. package/dist/server/src/lib/polling/response-poller-core.js +47 -26
  261. package/dist/server/src/lib/session/next-action-helper.js +2 -15
  262. package/dist/server/src/lib/verification/env-clean-gate.js +14 -1
  263. package/dist/server/src/lib/verification/gate-runner.js +17 -11
  264. package/dist/server/src/lib/verification/scope-gate.js +169 -3
  265. package/dist/server/src/types/sidebar.js +1 -0
  266. package/docs/en/architecture.md +26 -14
  267. package/docs/en/user-guide/webapp-guide.md +31 -18
  268. package/package.json +1 -1
  269. package/release-notes/0.46.0.json +110 -0
  270. package/.next/server/chunks/1674.js +0 -15
  271. package/.next/server/chunks/6927.js +0 -1
  272. package/.next/server/chunks/9355.js +0 -1
  273. package/.next/static/chunks/1642-0f1bf8fb8161e10a.js +0 -1
  274. package/.next/static/chunks/2770-827a64760bab8a3a.js +0 -1
  275. package/.next/static/chunks/3922.0bc2e4e168d2b522.js +0 -1
  276. package/.next/static/chunks/4727-4c69d1aa4118cc09.js +0 -1
  277. package/.next/static/chunks/4768-fc0aa1d0891cac08.js +0 -1
  278. package/.next/static/chunks/5371-af1c2b68e983da61.js +0 -1
  279. package/.next/static/chunks/5521-c358c31f60e5e689.js +0 -1
  280. package/.next/static/chunks/6192-a67df090838b9aad.js +0 -1
  281. package/.next/static/chunks/6322-f1b30ed0ee43518f.js +0 -1
  282. package/.next/static/chunks/6654-ac431270fac1a283.js +0 -1
  283. package/.next/static/chunks/8165-3525fb42f1b4976e.js +0 -1
  284. package/.next/static/chunks/8318-01e7d1e5ad0a15a3.js +0 -1
  285. package/.next/static/chunks/8606-79c36d4c204bbd38.js +0 -1
  286. package/.next/static/chunks/9619-6c17a271f7f98fbb.js +0 -1
  287. package/.next/static/chunks/998-2eb5883186abd0bd.js +0 -1
  288. package/.next/static/chunks/app/layout-eaa6365f8f942e88.js +0 -1
  289. package/.next/static/chunks/app/repositories/page-6f7511f4ac8449e2.js +0 -1
  290. package/.next/static/chunks/app/review/page-95f749caae382f46.js +0 -1
  291. package/.next/static/chunks/app/sessions/page-ebfed2c80e916fb8.js +0 -1
  292. package/.next/static/chunks/app/skills/[skillId]/page-e4b14031f946c007.js +0 -1
  293. package/.next/static/chunks/app/worktrees/[id]/page-3372b78fde232b1f.js +0 -1
  294. package/.next/static/css/6faeb04a0b6819d4.css +0 -1
  295. /package/.next/static/{vYIpFRCU_Mt0wtG8F_3-6 → zI2nQ6WKboSbFbMF4EtrJ}/_buildManifest.js +0 -0
  296. /package/.next/static/{vYIpFRCU_Mt0wtG8F_3-6 → zI2nQ6WKboSbFbMF4EtrJ}/_ssgManifest.js +0 -0
@@ -621,41 +621,53 @@ For details, see [Status Indicator](./features/sidebar-status-indicator.md).
621
621
 
622
622
  ## 11. UI Layout Architecture (PC, Issue #727 / #730 / #747)
623
623
 
624
- > **Note**: The legacy desktop left-pane model (history / files / memo, MobileTabBar) introduced in #600 has been replaced by the ActivityBar model described in this chapter. Reorganizing the older descriptions is out of scope here.
624
+ > **Note**: The legacy desktop left-pane model (history / files / memo, MobileTabBar) introduced in #600 has been replaced by the activity model described in this chapter (since Issue #3591: the header tools + ActivityPane). Reorganizing the older descriptions is out of scope here.
625
625
 
626
626
  This chapter covers the **responsibility boundaries, state ownership, and data flow** of the top-level PC UI layout (why the structure exists and who owns which state). Visual layout, interactions (keyboard / Tooltip), and the component catalog are owned by [./UI_UX_GUIDE.md](./UI_UX_GUIDE.md) as the single source of truth and are not duplicated here.
627
627
 
628
628
  ### 11.1 Component Responsibilities and State Ownership
629
629
 
630
- - **ActivityBar** (`src/components/worktree/ActivityBar.tsx`): A fully controlled component that **does not own** the activity-selection state. It receives `active` / `onToggle` as props and renders `ACTIVITIES` from `@/config/activity-bar-config` (the 6 activities: Files / Git / Notes / Schedules / Agent / Timer). The one exception is the sidebar toggle at the top (Issue #747), which reads `{ isOpen, toggle }` directly from `useSidebarContext()` and is placed outside the `role="tablist"` so it does not interfere with tab keyboard navigation.
630
+ > **Note (Issue #3589 / #3591)**: The 48px full-height ActivityBar is gone from PC. Activities are opened from the tools at the right of the header (`HeaderToolBar`) and the Verification chip on the second row, and the ActivityPane opens from the right, laid over the body (pinning it puts it beside the body). The items below describe that layout.
631
+
632
+ - **HeaderToolBar** (`src/components/worktree/HeaderToolBar.tsx`, Issue #3591): A controlled component that **does not own** the activity-selection state. It receives `active` / `onToggle` as props and draws `HEADER_TOOLS` from `@/config/activity-bar-config` (`ACTIVITIES` without `verification`) as icons at the right of the PC header (`DesktopHeader`). On a narrow header the trailing tools fold into a "…" list (`useDesktopHeaderFit` decides how many).
633
+ - **VerificationStatusChip** (`VerificationStatusChip.tsx`, Issue #1816 / #2064 / #3590): The PC entry point of the `verification` activity (`CHIP_ACTIVITY_ID`). It sits in the second-row action bar and opens/closes the Verification pane when pressed. It is always drawn, reporting "unverified" on a branch with no execution contract (#2064).
634
+ - **ActivityBar** (`src/components/worktree/ActivityBar.tsx`): The former 48px vertical Activity Bar. Since Issue #3591 it is not mounted on any screen (the sidebar open/close button moved to `SidebarPanelToggle` in #3512).
631
635
  - **ActivityPane** (`ActivityPane.tsx`): A stateless, table-driven dispatcher. It picks exactly one node — `activities[active]` — from the parent-built `ActivityContentMap` (`Partial<Record<ActivityId, ReactNode>>`) and renders it through an `ErrorBoundary`. Because a single `active` key resolves to a single node, **rendering multiple activities simultaneously is structurally impossible**.
632
636
  - **TerminalContainer** (`TerminalContainer.tsx`, Issue #730): Wraps a `terminal` slot (always rendered) and an optional `history` slot. Since Issue #744, the top-level History column is no longer rendered on PC; History was moved inside each terminal split (see §12). The `history` prop and the `useHistoryPaneState` wiring are kept for backward compatibility with the #730 single-column layout.
633
- - **WorktreeDesktopLayout** (`WorktreeDesktopLayout.tsx`, Issue #730): A **2-column layout** of ActivityPane and the Right pane. Issue #730 simplified it from 4 columns to 2 (History moved into the TerminalContainer in the Right pane, and the ActivityBar moved to full-height rendering in the parent). When `activityPane === null`, both the activity column and its boundary PaneResizer are hidden.
634
- - **PaneResizer** (`PaneResizer.tsx`): A generic resizer that owns only transient drag state. It **only reports a pixel delta via `onResize(delta)`**; the parent decides the final pane width. It is reused for both the Activity↔Right boundary in WorktreeDesktopLayout and the History↔Terminal boundary in TerminalContainer.
637
+ - **WorktreeDesktopLayout** (`WorktreeDesktopLayout.tsx`, Issue #730 / #3589 / #3591): Lays out the Right pane (the body) and the ActivityPane. The ActivityPane is on the **right** (#3591). Unpinned — the default — it is drawn over the Right pane, which keeps its width (#3589). Only when pinned (`activityPanePinned`) does it take a column beside the body, with a PaneResizer on the boundary. The pane's frame (title, pin, ×, Esc / outside-press dismissal) is `PaneOverlayFrame` in the same file. When `activityPane === null`, neither the pane nor the PaneResizer is drawn.
638
+ - **PaneResizer** (`PaneResizer.tsx`): A generic resizer that owns only transient drag state. It **only reports a pixel delta via `onResize(delta)`**; the parent decides the final pane width. It is reused for both the Right↔Activity boundary in WorktreeDesktopLayout (when pinned) and the History↔Terminal boundary in TerminalContainer.
635
639
 
636
640
  ### 11.2 State Owners (Custom Hooks)
637
641
 
638
- - **useActivityBarState** (`src/hooks/useActivityBarState.ts`): The single source of truth for the `active` state. It persists to `commandmate.worktree.activeActivity`, but the **closed state (null) is intentionally not persisted** (only the last selected activity is stored so it reopens on revisit). On invalid/missing values it falls back to `DEFAULT_ACTIVITY = 'files'`; the initial render is deterministically `DEFAULT_ACTIVITY` and the localStorage read happens in a post-mount `useEffect` (to avoid hydration mismatch).
639
- - **SidebarContext** (`src/contexts/SidebarContext.tsx`): Owns the sidebar `isOpen` via `useReducer`. The ActivityBar hamburger (Issue #747) reads this context directly, forming a separate data-flow path from the props-based activity selection.
642
+ - **useActivityBarState** (`src/hooks/useActivityBarState.ts`): The single source of truth for the `active` state. It persists **per worktree** under `commandmate.worktree.activeActivity-<worktreeId>` (`getActivityBarStorageKey`, Issue #858). **The closed state (null) is persisted too**, as `__closed__` (`ACTIVITY_CLOSED_SENTINEL`), so a pane closed on one worktree stays closed after a visit to another and back. An unvisited worktree or an invalid value gives `INITIAL_ACTIVITY` (`null` = closed since Issue #3589; it was `'files'` before). The initial render is deterministically `INITIAL_ACTIVITY` and the localStorage read happens in a `useEffect` after mount and on every `worktreeId` change (to avoid hydration mismatch).
643
+ - **usePanePinnedState** (`src/hooks/useActivityPaneOverlay.ts`, Issue #3589): Whether the ActivityPane is pinned. Stored once under `commandmate.worktree.activityPanePinned` (`ACTIVITY_PANE_PINNED_STORAGE_KEY`) and shared across worktrees. `usePaneOverlayDismiss` in the same file closes an overlaid pane on Esc / an outside press.
644
+ - **SidebarContext** (`src/contexts/SidebarContext.tsx`): Owns the sidebar `isOpen` via `useReducer`. The sidebar's own open/close button (`SidebarPanelToggle`, at the top of the `SidebarRail` icon rail while the sidebar is closed) reads this context, forming a separate data-flow path from the props-based activity selection.
640
645
 
641
- The orchestrator (`WorktreeDetailRefactored.tsx`) calls `useActivityBarState`, builds the `ActivityContentMap`, and wires ActivityBar / ActivityPane / WorktreeDesktopLayout together.
646
+ The controller (`src/hooks/useWorktreeDetailController.ts`) calls `useActivityBarState`, and the PC orchestrator (`WorktreeDetailDesktop.tsx`) builds the `ActivityContentMap` and wires HeaderToolBar (through `DesktopHeader`) / VerificationStatusChip / ActivityPane / WorktreeDesktopLayout together.
642
647
 
643
648
  ### 11.3 Data-Flow Diagram
644
649
 
645
650
  ```mermaid
646
651
  graph TD
647
- Parent["WorktreeDetailRefactored<br/>(orchestrator)"]
648
- ActState["useActivityBarState<br/>(owns active / localStorage)"]
652
+ Ctrl["useWorktreeDetailController<br/>(calls useActivityBarState)"]
653
+ Parent["WorktreeDetailDesktop<br/>(PC orchestrator)"]
654
+ ActState["useActivityBarState<br/>(owns active / per-worktree localStorage)"]
655
+ PinState["usePanePinnedState<br/>(owns the pin / localStorage)"]
649
656
  SideCtx["SidebarContext<br/>(owns isOpen)"]
650
- Bar["ActivityBar<br/>(stateless)"]
657
+ SideToggle["SidebarPanelToggle<br/>(sidebar / SidebarRail)"]
658
+ Tools["HeaderToolBar<br/>(header right, stateless)"]
659
+ Chip["VerificationStatusChip<br/>(second row)"]
651
660
  Pane["ActivityPane<br/>(table-driven dispatch)"]
652
- Layout["WorktreeDesktopLayout<br/>(2 columns + PaneResizer)"]
661
+ Layout["WorktreeDesktopLayout<br/>(overlay / beside the body when pinned)"]
653
662
  Term["TerminalContainer<br/>(terminal + optional history)"]
654
663
 
655
- ActState -->|active| Parent
664
+ ActState -->|active| Ctrl
665
+ Ctrl -->|"active / onToggle"| Parent
656
666
  Parent -->|onToggle| ActState
657
- Parent -->|active / onToggle| Bar
658
- Bar -->|"sidebar toggle (Issue #747)"| SideCtx
667
+ Parent -->|active / onToggle| Tools
668
+ Parent -->|"open/close verification"| Chip
669
+ PinState -->|activityPanePinned| Parent
670
+ SideToggle --> SideCtx
659
671
  Parent -->|"activityPane (nullable)"| Layout
660
672
  Parent -->|"ActivityContentMap"| Pane
661
673
  Pane --> Layout
@@ -302,7 +302,7 @@ the same button; that strip is **gone**, and the terminal takes the width back
302
302
  The arrow in the History column's header points the way it **folds** (left).
303
303
  Bring it back with [History] in the action bar.
304
304
 
305
- Note that the Activity Bar's **"File Tree"** (the icon column on the far left)
305
+ Note that the **"File Tree"** among the tools at the right of the header
306
306
  is for browsing the worktree, and is a different thing from the action bar's
307
307
  **"Open Files"** (the panel showing files you opened).
308
308
 
@@ -370,15 +370,25 @@ Useful for recording work details and TODOs.
370
370
 
371
371
  ## Agent Settings
372
372
 
373
- Select which CLI agents to use for each worktree.
373
+ Each worktree has its own list of CLI agent sessions (instances).
374
+ The same agent can appear more than once under different names (e.g. "Claude" and "Claude review").
374
375
 
375
- ### How to Configure
376
+ ### Adding One (PC)
376
377
 
377
378
  1. Select a worktree
378
- 2. Click the **"CMATE"** tab
379
- 3. Click the **"Agent"** sub-tab
380
- 4. Select **2** agents using the checkboxes
381
- 5. Settings are saved automatically
379
+ 2. Click the **[+]** at the right end of the header's session field ([current session][N more ▾])
380
+ ("Add session…" in the [N more ▾] list opens the same form)
381
+ 3. Choose the agent (installed ones), a name (optional) and **where to open it** (a new split / replace the current split / add only), then click **[Add]**
382
+ 4. Adding does not start a session: it starts when you send the first message from that split
383
+
384
+ Rename, reorder and delete in the **"Agent"** tool at the right of the header.
385
+
386
+ ### Adding and Managing (Mobile)
387
+
388
+ 1. Tap the **"CMATE"** tab
389
+ 2. Tap the **"Agent"** sub-tab
390
+ 3. Add with **"Add instance"** below the list; rename, reorder and delete on each row
391
+ 4. Settings are saved automatically
382
392
 
383
393
  ### Available Agents
384
394
 
@@ -394,11 +404,11 @@ Select which CLI agents to use for each worktree.
394
404
  | **Antigravity** | Antigravity CLI (`agy`) |
395
405
  | **Command Code** | Command Code CLI (`commandcode`, Issue #2250) |
396
406
 
397
- - You must always select exactly **2** agents
407
+ - A branch holds **1 to 10** of them (the last one cannot be deleted)
398
408
  - **Auto Yes behaves differently per agent.** Command Code / Gemini / Vibe-Local only have
399
409
  the screen-based route (the dialog is drawn once, then answered automatically). See
400
410
  [Approval Routes Differ by Agent](#approval-routes-differ-by-agent)
401
- - The selected agents appear as tabs in the terminal header
411
+ - These sessions appear in the session field of the header ([current session][N more ▾])
402
412
 
403
413
  ### Ollama Model Selection (Vibe-Local)
404
414
 
@@ -427,7 +437,7 @@ surface** switches — the input surface stays exactly the same in either mode
427
437
 
428
438
  | Screen | Action |
429
439
  |--------|--------|
430
- | **Desktop** | Click the **Terminal / Chat toggle** in each split's header |
440
+ | **Desktop** | Click the **Terminal / Chat toggle** in each split's header (with a single split it is in the second-row action bar) |
431
441
  | **Mobile** | Tap the **round toggle** floating over the top-right corner of the output area |
432
442
  | **Keyboard** | **`Cmd/Ctrl + Shift + M`** (press `?` for the shortcut list) |
433
443
 
@@ -559,8 +569,9 @@ put it back with the same gesture** (Issue #2261).
559
569
 
560
570
  | Action | Where |
561
571
  |--------|-------|
562
- | **Maximize / restore** | The button at the right end of each split's title bar (⤢ / ⤡) |
563
- | **Maximize / restore** | The button in the action bar above the splits (acts on the focused split) |
572
+ | **Maximize / restore** | The button in the second-row action bar (⤢ / ⤡; acts on the focused split) |
573
+ | **Maximize / restore** | Each split's "…" menu |
574
+ | **Maximize / restore** | With two or more splits, the button at the right end of each split's header (⤢ / ⤡) |
564
575
  | **Maximize / restore** | `Cmd/Ctrl + Shift + Enter` |
565
576
 
566
577
  `Cmd/Ctrl + Shift + Enter` follows the same rule as `Cmd/Ctrl + Shift + M` (the output
@@ -590,21 +601,23 @@ The **execution contract** handed to an agent with `commandmate send --contract`
590
601
  **gate verdicts** `commandmate verify` produced from it, are readable on screen — no CLI
591
602
  stdout required (Issue #1816).
592
603
 
593
- ### The header status chip
604
+ ### The Verification chip (the second-row status chip)
594
605
 
595
- A worktree that was delegated with a contract shows a status chip in its header, carrying
596
- the task title, its `TaskStatus`, and the `RESULT` of the most recent verification run.
606
+ The second row of the worktree screen (the action bar) carries the Verification chip (a status
607
+ chip) with the task title, its `TaskStatus`, and the `RESULT` of the most recent verification run.
597
608
 
598
- - A worktree with no task row shows **no chip at all**
609
+ - A worktree with no task row **still shows the chip**, with "Verification" in place of the title
610
+ and "Not verified" in place of the RESULT (Issue #2064)
611
+ - The chip's ⓘ button shows the **reason** behind the verdict, on a touch device too
599
612
  - Hovering the chip (or reading it with a screen reader) gives the **reason** behind the
600
613
  verdict, down to the ids of the gates that did not pass
601
- - Clicking the chip opens the **Verification** pane
614
+ - Clicking the chip opens the **Verification** pane (pressing it again while the pane is open closes it)
602
615
 
603
616
  ### The Verification pane
604
617
 
605
618
  | Screen | How to open |
606
619
  |---------|-------------|
607
- | Desktop | The shield icon (Verification) in the left Activity Bar |
620
+ | Desktop | Press the Verification chip (the chip with the shield icon) on the second row. The pane opens from the right, over the body |
608
621
  | Mobile | **Tools** tab in the bottom bar → **Verification** sub-tab |
609
622
 
610
623
  The pane has three sections, top to bottom.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "commandmate",
3
- "version": "0.45.1",
3
+ "version": "0.46.0",
4
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
6
  "ai-agents",
@@ -0,0 +1,110 @@
1
+ {
2
+ "version": "0.46.0",
3
+ "date": "2026-10-14",
4
+ "highlight": {
5
+ "ja": "worktree 画面を作り直し、見出しを 1 行にして道具を右上のアイコンにまとめました。どの画面からでも依頼を送れる「New task」も使えます。",
6
+ "en": "The worktree screen has been redesigned with a one-line header and tool icons at the top right. You can also send a task from any screen with New task."
7
+ },
8
+ "added": [
9
+ {
10
+ "ja": "どの画面からでもエージェントへ依頼を送れる「New task」ダイアログを追加しました(⌘⇧O / Ctrl+Shift+O)。",
11
+ "en": "Added a New task dialog that sends a request to an agent from any screen (Cmd+Shift+O / Ctrl+Shift+O)."
12
+ }
13
+ ],
14
+ "improved": [
15
+ {
16
+ "ja": "worktree の見出しを 1 行にし、縦のアイコンの列をなくして道具を見出しの右へ移しました。",
17
+ "en": "The worktree header is now a single line, and the tools moved from the vertical icon column to the right of the header."
18
+ },
19
+ {
20
+ "ja": "worktree 画面はパネルを閉じた状態で始まり、Files などのパネルは本文の上に重ねて開くようになりました。",
21
+ "en": "The worktree screen now opens with panels closed, and panels such as Files open over the content."
22
+ },
23
+ {
24
+ "ja": "見出しのセッションを「今のセッション+ほか N」にし、セッションが増えても欄の幅が変わらないようにしました。",
25
+ "en": "The header now shows the current session plus \"N more\", so its width no longer changes with the number of sessions."
26
+ },
27
+ {
28
+ "ja": "分割が 1 つのときは、分割の見出しを出さずに中身を 2 段目の行にまとめるようにしました。",
29
+ "en": "With a single split, its header is gone and its controls sit in the second row."
30
+ },
31
+ {
32
+ "ja": "進み具合(Status)を、サイドバーのブランチの「…」から変えられるようにしました。",
33
+ "en": "You can now change a branch's status from its \"...\" menu in the sidebar."
34
+ },
35
+ {
36
+ "ja": "サイドバーの一覧を 1 行の行と角丸の札に作り直し、狭い幅でもブランチ名が読めるようにしました。",
37
+ "en": "The sidebar list was rebuilt as single-line rounded rows, so branch names stay readable at narrow widths."
38
+ },
39
+ {
40
+ "ja": "サイドバーの上の絞り込み・表示・並べ替えを 1 行にまとめました。",
41
+ "en": "The filter, view and sort controls above the sidebar list now fit on one row."
42
+ },
43
+ {
44
+ "ja": "サイドバーを閉じても、アイコンの列から各画面へ移動できるようになりました。",
45
+ "en": "With the sidebar closed, you can still move between screens from the icon column."
46
+ },
47
+ {
48
+ "ja": "スマホの引き出しを PC のサイドバーと同じ並びにし、上端に閉じるボタンを置きました。",
49
+ "en": "The phone drawer now matches the desktop sidebar and has a close button at the top."
50
+ },
51
+ {
52
+ "ja": "設定の入口を 1 つの設定メニューにまとめました。",
53
+ "en": "Settings are now reached from a single settings menu."
54
+ },
55
+ {
56
+ "ja": "分割が 1 つのときは最大化できないようにそろえました。",
57
+ "en": "Maximize is no longer offered when there is only one split."
58
+ }
59
+ ],
60
+ "fixed": [
61
+ {
62
+ "ja": "メニューや吹き出しを Esc で閉じたとき、下に重ねたパネルまで一緒に閉じる問題を直しました。",
63
+ "en": "Fixed Escape closing the panel underneath when it was meant to close only a menu or popup."
64
+ },
65
+ {
66
+ "ja": "チャットと履歴の検索で、返答が 2 件以上あると最後の返答しか強調されない問題を直しました。",
67
+ "en": "Fixed chat and history search highlighting only the last reply when there are several replies."
68
+ },
69
+ {
70
+ "ja": "チャットの検索の強調が、思考の節や特殊な文字の近くでずれる・消える問題を直しました。",
71
+ "en": "Fixed chat search highlights shifting or disappearing near reasoning sections and special characters."
72
+ },
73
+ {
74
+ "ja": "⌘K のコマンドパレットが、ほかの画面やメニューの上に重なって開く問題を直しました。",
75
+ "en": "Fixed the Cmd+K command palette opening on top of other dialogs and menus."
76
+ },
77
+ {
78
+ "ja": "分割の見出しや 2 段目で、エージェント名が 1 文字まで縮む問題を直しました。",
79
+ "en": "Fixed agent names shrinking to a single character in split headers and the second row."
80
+ },
81
+ {
82
+ "ja": "ダークモードで Git のパネル全体が濃い青になる問題を直しました。",
83
+ "en": "Fixed the Git panel turning dark blue in dark mode."
84
+ },
85
+ {
86
+ "ja": "セッション一覧の吹き出しが、次の行の名前を隠す問題を直しました。",
87
+ "en": "Fixed tooltips in the session list hiding the name on the next row."
88
+ },
89
+ {
90
+ "ja": "進み具合の保存に失敗したとき、知らせて元の値に戻すようにしました。",
91
+ "en": "A failed status change is now reported and the previous value is restored."
92
+ },
93
+ {
94
+ "ja": "worktree 画面を直接開いたり戻ったりしたとき、サイドバーの選択がずれる問題を直しました。",
95
+ "en": "Fixed the sidebar selection not matching the open worktree after a direct visit, reload or back/forward."
96
+ },
97
+ {
98
+ "ja": "日本語の設定でも、一部の説明や見出しが英語のまま表示される問題を直しました。",
99
+ "en": "Fixed some descriptions and headings staying in English with the Japanese setting."
100
+ },
101
+ {
102
+ "ja": "New task が全画面の表示の上に重なる問題と、Auto-Yes の残り時間の表示の遅れを直しました。",
103
+ "en": "Fixed New task appearing over full-screen views and the Auto-Yes time left updating late."
104
+ },
105
+ {
106
+ "ja": "worktree の ID が変わったあと、返答が二重に出たり消えたりすることがある問題を直しました。",
107
+ "en": "Fixed replies that could be duplicated or lost after a worktree's ID changed."
108
+ }
109
+ ]
110
+ }