commandmate 0.44.3 → 0.45.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +293 -292
  3. package/.next/app-path-routes-manifest.json +21 -21
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/next-server.js.nft.json +1 -1
  6. package/.next/prerender-manifest.json +9 -9
  7. package/.next/react-loadable-manifest.json +29 -29
  8. package/.next/required-server-files.json +1 -1
  9. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/capabilities/route.js +1 -1
  19. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/hooks/agent-event/route.js +2 -2
  28. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  29. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  31. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  32. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  34. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  35. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
  42. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
  43. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/relays/route.js +1 -1
  45. package/.next/server/app/api/relays/route.js.nft.json +1 -1
  46. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  50. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  51. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/repositories/clone/route.js +1 -1
  53. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  54. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/repositories/restore/route.js +1 -1
  57. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  58. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/repositories/route.js +1 -1
  60. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  61. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/repositories/scan/route.js +1 -1
  63. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  64. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/repositories/sync/route.js +1 -1
  66. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  67. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  70. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  71. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  87. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  88. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  90. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  91. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  93. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  94. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  100. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
  102. package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
  103. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  135. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  138. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  141. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +3 -3
  145. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  154. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  158. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  161. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  168. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +2 -2
  170. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  171. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  182. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  186. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  190. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  199. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  202. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  203. package/.next/server/app/api/worktrees/route.js +1 -1
  204. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  205. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  206. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  207. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  208. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  209. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  210. package/.next/server/app/page_client-reference-manifest.js +1 -1
  211. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  212. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  213. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  214. package/.next/server/app/sessions/page.js +1 -1
  215. package/.next/server/app/sessions/page.js.nft.json +1 -1
  216. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  217. package/.next/server/app/skills/[skillId]/page.js +2 -2
  218. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  219. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  220. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  221. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  222. package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
  223. package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
  224. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  225. package/.next/server/app/worktrees/[id]/page.js +5 -5
  226. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  227. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  228. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  229. package/.next/server/app-paths-manifest.json +21 -21
  230. package/.next/server/chunks/1503.js +2 -2
  231. package/.next/server/chunks/1559.js +2 -2
  232. package/.next/server/chunks/1944.js +1 -1
  233. package/.next/server/chunks/2119.js +1 -1
  234. package/.next/server/chunks/22.js +1 -1
  235. package/.next/server/chunks/2335.js +1 -0
  236. package/.next/server/chunks/2404.js +1 -1
  237. package/.next/server/chunks/2445.js +1 -1
  238. package/.next/server/chunks/2460.js +1 -1
  239. package/.next/server/chunks/2710.js +2 -2
  240. package/.next/server/chunks/2908.js +1 -1
  241. package/.next/server/chunks/3241.js +1 -1
  242. package/.next/server/chunks/4243.js +1 -0
  243. package/.next/server/chunks/4837.js +3 -3
  244. package/.next/server/chunks/5048.js +1 -1
  245. package/.next/server/chunks/5064.js +1 -1
  246. package/.next/server/chunks/5209.js +1 -1
  247. package/.next/server/chunks/5292.js +7 -0
  248. package/.next/server/chunks/5625.js +3 -3
  249. package/.next/server/chunks/5737.js +1 -1
  250. package/.next/server/chunks/6065.js +1 -1
  251. package/.next/server/chunks/6130.js +1 -1
  252. package/.next/server/chunks/6401.js +1 -1
  253. package/.next/server/chunks/6927.js +1 -1
  254. package/.next/server/chunks/850.js +1 -1
  255. package/.next/server/chunks/8728.js +2 -2
  256. package/.next/server/chunks/8918.js +4 -6
  257. package/.next/server/chunks/9051.js +1 -1
  258. package/.next/server/chunks/9130.js +1 -1
  259. package/.next/server/chunks/9355.js +1 -0
  260. package/.next/server/chunks/9390.js +1 -1
  261. package/.next/server/chunks/9584.js +1 -1
  262. package/.next/server/chunks/9731.js +1 -1
  263. package/.next/server/chunks/9862.js +1 -0
  264. package/.next/server/middleware-build-manifest.js +1 -1
  265. package/.next/server/middleware-manifest.json +5 -5
  266. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  267. package/.next/server/pages/500.html +1 -1
  268. package/.next/server/server-reference-manifest.json +1 -1
  269. package/.next/static/chunks/{7485.442b21101fca7257.js → 1111.5ab4f0ffb0d944e5.js} +4 -4
  270. package/.next/static/chunks/1464.09cd37fee202ec4b.js +1 -0
  271. package/.next/static/chunks/{1642-767aed8e7c61ef7f.js → 1642-0f1bf8fb8161e10a.js} +1 -1
  272. package/.next/static/chunks/{2407-06d35bb1aa02de80.js → 2407-86890b00eeecf391.js} +1 -1
  273. package/.next/static/chunks/{2751-9ef0f4b450bd4ef0.js → 2751-5f0b2702accd164d.js} +1 -1
  274. package/.next/static/chunks/{282.6b6f2e31a96674dd.js → 282.a1013532fd9a61b4.js} +1 -1
  275. package/.next/static/chunks/3237.94c29281d9ec122e.js +1 -0
  276. package/.next/static/chunks/3480.2e21f62e5e9d3ba5.js +1 -0
  277. package/.next/static/chunks/3662-5a27ee39a3ecba49.js +1 -0
  278. package/.next/static/chunks/3922.0bc2e4e168d2b522.js +1 -0
  279. package/.next/static/chunks/4290.c06dbe243819fea0.js +66 -0
  280. package/.next/static/chunks/4541-b0ce0bf829ae79b7.js +1 -0
  281. package/.next/static/chunks/4727-4c69d1aa4118cc09.js +1 -0
  282. package/.next/static/chunks/{5222.305dc0ebba9c0784.js → 5222.39e2034d3fce233c.js} +1 -1
  283. package/.next/static/chunks/5371-af1c2b68e983da61.js +1 -0
  284. package/.next/static/chunks/6288-09feba367cc2c65e.js +1 -0
  285. package/.next/static/chunks/{7095.8c869e553133a40e.js → 7095.87323a4fdf426341.js} +1 -1
  286. package/.next/static/chunks/953.31c52a251deda22d.js +1 -0
  287. package/.next/static/chunks/app/{layout-0d1750b833f5cc3e.js → layout-eaa6365f8f942e88.js} +1 -1
  288. package/.next/static/chunks/app/sessions/{page-2af68c63211c751f.js → page-ebfed2c80e916fb8.js} +1 -1
  289. package/.next/static/chunks/app/skills/[skillId]/page-e4b14031f946c007.js +1 -0
  290. package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-9cf1ecc59e36a004.js +1 -0
  291. package/.next/static/chunks/app/worktrees/[id]/page-3372b78fde232b1f.js +1 -0
  292. package/.next/static/chunks/{webpack-021f0741f22dd16a.js → webpack-ee3ccbe378c4aa06.js} +1 -1
  293. package/.next/static/css/{057f64a65726c439.css → 6faeb04a0b6819d4.css} +1 -1
  294. package/.next/trace +13 -13
  295. package/dist/cli/commands/skill-format.d.ts +8 -0
  296. package/dist/cli/commands/skill-format.d.ts.map +1 -1
  297. package/dist/cli/commands/skill-format.js +13 -3
  298. package/dist/cli/commands/wait.d.ts.map +1 -1
  299. package/dist/cli/commands/wait.js +71 -3
  300. package/dist/cli/types/api-responses.d.ts +7 -10
  301. package/dist/cli/types/api-responses.d.ts.map +1 -1
  302. package/dist/cli/utils/verify-runner.d.ts +21 -0
  303. package/dist/cli/utils/verify-runner.d.ts.map +1 -1
  304. package/dist/cli/utils/verify-runner.js +38 -1
  305. package/dist/server/locales/en/worktree.json +7 -2
  306. package/dist/server/locales/ja/worktree.json +7 -2
  307. package/dist/server/src/lib/auto-yes-poller.js +16 -163
  308. package/dist/server/src/lib/detection/model-info-extractor.js +57 -3
  309. package/dist/server/src/lib/detection/status-detector.js +1 -1
  310. package/dist/server/src/lib/git/git-exec.js +23 -5
  311. package/dist/server/src/lib/hooks/sources/claude/self-resume.js +213 -0
  312. package/dist/server/src/lib/hooks/sources/claude/source.js +24 -7
  313. package/dist/server/src/lib/polling/auto-yes-enter-fallback-state.js +1 -1
  314. package/dist/server/src/lib/polling/auto-yes-poller-state.js +52 -0
  315. package/dist/server/src/lib/polling/auto-yes-prompt-suppression.js +125 -0
  316. package/dist/server/src/lib/polling/prompt-dedup.js +93 -2
  317. package/dist/server/src/lib/polling/response-checker.js +40 -2
  318. package/dist/server/src/lib/polling/response-dedup.js +62 -1
  319. package/dist/server/src/lib/session/agent-event-dedup.js +2 -2
  320. package/dist/server/src/lib/session/agent-event-state.js +2 -1
  321. package/dist/server/src/lib/session/agent-event-turn.js +51 -0
  322. package/dist/server/src/lib/session/current-output-builder.js +0 -5
  323. package/dist/server/src/lib/skills/install-plan.js +1 -0
  324. package/dist/server/src/lib/skills/preview-diff.js +24 -3
  325. package/dist/server/src/lib/skills/uninstall-plan.js +1 -0
  326. package/dist/server/src/lib/verification/env-clean-gate.js +6 -5
  327. package/docs/en/user-guide/commands-guide.md +0 -1
  328. package/package.json +3 -2
  329. package/release-notes/0.45.0.json +41 -0
  330. package/release-notes/0.45.1.json +38 -0
  331. package/scripts/hooks/cmate-agent-event.sh +20 -0
  332. package/.next/server/chunks/364.js +0 -1
  333. package/.next/server/chunks/4672.js +0 -5
  334. package/.next/server/chunks/4802.js +0 -1
  335. package/.next/server/chunks/488.js +0 -1
  336. package/.next/server/chunks/5326.js +0 -1
  337. package/.next/static/chunks/2053-85a974ddfe7498fe.js +0 -1
  338. package/.next/static/chunks/3922.f45dcfc1e7da552a.js +0 -1
  339. package/.next/static/chunks/4290.6cf86f68d73b6e77.js +0 -82
  340. package/.next/static/chunks/4459.a94b52985a76509a.js +0 -1
  341. package/.next/static/chunks/4727-5d695d71e3fdf97b.js +0 -1
  342. package/.next/static/chunks/5951.616956b6aa5df63f.js +0 -1
  343. package/.next/static/chunks/8283-26ad31a4670ea52d.js +0 -1
  344. package/.next/static/chunks/8566-aeda747542072ace.js +0 -1
  345. package/.next/static/chunks/8811-29eaa24237f48558.js +0 -1
  346. package/.next/static/chunks/953.19e4c8178c9eac4c.js +0 -1
  347. package/.next/static/chunks/9856.15463dd58437e2ac.js +0 -1
  348. package/.next/static/chunks/app/skills/[skillId]/page-9ee7a381636e60cb.js +0 -1
  349. package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-5445205c8dd80109.js +0 -1
  350. package/.next/static/chunks/app/worktrees/[id]/page-e36898c3a80e7302.js +0 -1
  351. /package/.next/static/{tWwHQzmvc-rv9KKUtDWfQ → vYIpFRCU_Mt0wtG8F_3-6}/_buildManifest.js +0 -0
  352. /package/.next/static/{tWwHQzmvc-rv9KKUtDWfQ → vYIpFRCU_Mt0wtG8F_3-6}/_ssgManifest.js +0 -0
@@ -20,6 +20,7 @@ exports.closeAgentTurn = closeAgentTurn;
20
20
  exports.observeScraperCompletionEvidence = observeScraperCompletionEvidence;
21
21
  exports.fenceTurnForNewGeneration = fenceTurnForNewGeneration;
22
22
  exports.applyTurnTransition = applyTurnTransition;
23
+ exports.isPreToolUseOutsideTurn = isPreToolUseOutsideTurn;
23
24
  exports.joinOpenTurnFromDuplicate = joinOpenTurnFromDuplicate;
24
25
  exports.openDecision = openDecision;
25
26
  exports.releaseAllDecisions = releaseAllDecisions;
@@ -313,6 +314,7 @@ function fenceTurnForNewGeneration(key, at) {
313
314
  * | `user_prompt_submit` | **opens a new one** | release | yes |
314
315
  * | `user_prompt_submit` (joins, #3330)| continues, else opens | release | yes |
315
316
  * | `pre_tool_use` | continues, else opens | unchanged| yes |
317
+ * | `pre_tool_use` (after its stop) | unchanged (#3437) | unchanged| no |
316
318
  * | `post_tool_use` | continues, else opens | release | yes |
317
319
  * | `stop` (this session) | **closes** `stop` | release | yes |
318
320
  * | `stop` (another session) | unchanged | unchanged| no |
@@ -377,6 +379,22 @@ function fenceTurnForNewGeneration(key, at) {
377
379
  * still dropped by the window in front of it ({@link isDuplicateAgentEvent}),
378
380
  * and dropped or applied, none of them moves the turn.
379
381
  *
382
+ * The `after its stop` row is the other exception (Issue #3437), and it is
383
+ * narrower than it reads: it applies only to a source that reports its
384
+ * prompts ({@link AgentEventRecord.promptOpensTurns}), and only when the
385
+ * instance's last turn was closed by the agent's own `stop`. In production on
386
+ * 2026-10-07 a Claude `PreToolUse(AskUserQuestion)` landed 2.5 s after the
387
+ * `Stop`, with no `UserPromptSubmit`, no picker on the pane (the scraper read
388
+ * `ready` throughout), and nothing in the session's transcript after the
389
+ * `Stop` — something other than the conversation the `Stop` had just ended.
390
+ * It opened a turn whose `stop` never came, and a `wait` adopted that turn.
391
+ * Every turn of such a source begins with its prompt, and a tool call that
392
+ * continues past a `Stop` (a Stop hook that blocks) still reports its
393
+ * `post_tool_use`, which opens the turn as before. Sources whose turns begin
394
+ * with a tool event are untouched: Command Code's `pre_tool_use` and
395
+ * antigravity's self-resume `post_tool_use` (#2614) open turns because
396
+ * neither sends `user_prompt_submit`.
397
+ *
380
398
  * `idle_prompt` is the one row that publishes `ready` **without** closing the
381
399
  * turn, and that is a measurement rather than an oversight: #1839 caught Claude
382
400
  * emitting it 62 s into a turn that ran nothing, so it cannot be a turn
@@ -409,6 +427,12 @@ function applyTurnTransition(key, record) {
409
427
  // Deliberately leaves the dialog alone (Issue #1726). It is the
410
428
  // `AskUserQuestion` invocation, and a picker being *about to be drawn* is
411
429
  // not a fact this state can carry.
430
+ //
431
+ // Issue #3437: and from a source that reports its prompts, it is not the
432
+ // start of a turn when the agent's own `Stop` is the last thing that
433
+ // ended one. See the `after its stop` row above.
434
+ if (record.promptOpensTurns === true && endedByOwnStop(key))
435
+ return;
412
436
  openTurn(key, record, generation, { continueOpen: true });
413
437
  return;
414
438
  case 'stop':
@@ -432,6 +456,33 @@ function applyTurnTransition(key, record) {
432
456
  return;
433
457
  }
434
458
  }
459
+ /**
460
+ * Whether this instance's turn was last ended by the agent's own `stop`, with
461
+ * nothing opening a turn since (Issue #3437).
462
+ *
463
+ * Only `stop`: every other close is this server's own inference (`stale`,
464
+ * `scraper_evidence`, `resync_idle`) or a session that went away
465
+ * (`session_end`, `generation`), and an agent that keeps working after one of
466
+ * those must be allowed to open the turn it is in.
467
+ */
468
+ function endedByOwnStop(key) {
469
+ const turn = fencedTurn(key);
470
+ return turn !== null && turn.closedAt !== null && turn.closedBy === 'stop';
471
+ }
472
+ /**
473
+ * Whether a `pre_tool_use` from a source that reports its prompts falls outside
474
+ * any turn: the instance's last turn was ended by the agent's own `stop` and
475
+ * nothing has opened one since (Issue #3446).
476
+ *
477
+ * The same reading {@link applyTurnTransition} uses to leave such an event's
478
+ * turn closed (#3437), exposed so the intake can decide the question that event
479
+ * carries on the same facts. Asked after the event was applied, it still holds,
480
+ * because the transition did not open a turn; for a source that does not report
481
+ * its prompts it is always false, because that event opened one.
482
+ */
483
+ function isPreToolUseOutsideTurn(worktreeId, cliToolId, instanceId, promptOpensTurns) {
484
+ return promptOpensTurns && endedByOwnStop((0, auto_yes_state_1.buildCompositeKey)(worktreeId, cliToolId, instanceId));
485
+ }
435
486
  /** The three fields the turn keeps from a record. */
436
487
  function displayOf(record) {
437
488
  return { event: record.event, at: record.at, detail: record.detail };
@@ -479,12 +479,7 @@ function buildRunningPayload({ worktreeId, cliToolId, instanceId, sessionName, p
479
479
  realtimeSnippet,
480
480
  lineCount: totalLines,
481
481
  lastCapturedLine,
482
- isComplete: isPromptWaiting,
483
- isGenerating: published.thinking,
484
482
  thinking: published.thinking,
485
- // Issue #2607: named after the tool actually running. A fixed "Claude" was
486
- // published for every agent, and `capture --json` readers took it at its word.
487
- thinkingMessage: published.thinking ? `${(0, types_1.getCliToolDisplayName)(cliToolId)} is thinking...` : null,
488
483
  isPromptWaiting,
489
484
  promptData,
490
485
  ...(promptAnswerable !== undefined ? { promptAnswerable } : {}),
@@ -496,6 +496,7 @@ async function createSkillInstallPlan(input) {
496
496
  headState: git.headState,
497
497
  headCommit: git.headCommit,
498
498
  workingTreeDirty: git.dirty,
499
+ ...(git.dirtyUnknown ? { workingTreeUnknown: true } : {}),
499
500
  installRoot: primary.preview.installRoot,
500
501
  installRoots,
501
502
  currentTreeHash: primary.preview.currentTreeHash,
@@ -37,6 +37,7 @@ exports.readSkillGitTargetState = readSkillGitTargetState;
37
37
  exports.findGitIgnoredPaths = findGitIgnoredPaths;
38
38
  exports.buildUnifiedDiff = buildUnifiedDiff;
39
39
  exports.buildSkillPreviewDiff = buildSkillPreviewDiff;
40
+ exports.workingTreeWarning = workingTreeWarning;
40
41
  const crypto_1 = require("crypto");
41
42
  const fs_1 = require("fs");
42
43
  const path_1 = __importDefault(require("path"));
@@ -88,6 +89,8 @@ exports.SkillPreviewWarning = {
88
89
  HEAD_UNRESOLVED: 'SKILL_PREVIEW_HEAD_UNRESOLVED',
89
90
  /** The worktree has uncommitted changes. */
90
91
  WORKING_TREE_DIRTY: 'SKILL_PREVIEW_WORKING_TREE_DIRTY',
92
+ /** `git status` could not be read, so uncommitted changes may exist (Issue #3445). */
93
+ WORKING_TREE_STATUS_UNKNOWN: 'SKILL_PREVIEW_WORKING_TREE_STATUS_UNKNOWN',
91
94
  /** At least one destination path is ignored or excluded by git. */
92
95
  PATH_GIT_IGNORED: 'SKILL_PREVIEW_PATH_GIT_IGNORED',
93
96
  /** At least one diff body was cut short. */
@@ -338,7 +341,13 @@ async function readSkillGitTargetState(worktreePath) {
338
341
  headState,
339
342
  branch: branch && branch.length > 0 ? branch : null,
340
343
  headCommit: commit,
341
- dirty: status !== null && status.length > 0,
344
+ // Issue #3435: an unread `status` (null, e.g. the 1s timeout) must not
345
+ // read as clean. This flag only drives the advisory WORKING_TREE_DIRTY
346
+ // warning and the target display, so the fail-safe side is "dirty".
347
+ dirty: status === null || status.length > 0,
348
+ // Issue #3445: say the guess is a guess, so the display can tell "has
349
+ // changes" from "could not check". Absent on success (shape unchanged).
350
+ ...(status === null ? { dirtyUnknown: true } : {}),
342
351
  };
343
352
  }
344
353
  /**
@@ -603,6 +612,17 @@ function buildSkillPreviewDiff(input) {
603
612
  plannedTreeHash: computeSkillTreeHash(plannedTree),
604
613
  };
605
614
  }
615
+ /**
616
+ * The working-tree caveat for a target (Issue #3445): an unread status is still
617
+ * a caveat (fail-safe), but worded as "could not check" rather than "dirty".
618
+ */
619
+ function workingTreeWarning(git) {
620
+ if (git.dirtyUnknown)
621
+ return exports.SkillPreviewWarning.WORKING_TREE_STATUS_UNKNOWN;
622
+ if (git.dirty)
623
+ return exports.SkillPreviewWarning.WORKING_TREE_DIRTY;
624
+ return null;
625
+ }
606
626
  function collectWarnings(input, entries, stats, anyCrlf) {
607
627
  const warnings = [];
608
628
  if (input.git.headState === 'detached')
@@ -611,8 +631,9 @@ function collectWarnings(input, entries, stats, anyCrlf) {
611
631
  warnings.push(exports.SkillPreviewWarning.UNBORN_HEAD);
612
632
  if (input.git.headState === 'unknown')
613
633
  warnings.push(exports.SkillPreviewWarning.HEAD_UNRESOLVED);
614
- if (input.git.dirty)
615
- warnings.push(exports.SkillPreviewWarning.WORKING_TREE_DIRTY);
634
+ const dirtyWarning = workingTreeWarning(input.git);
635
+ if (dirtyWarning)
636
+ warnings.push(dirtyWarning);
616
637
  if (entries.some((entry) => entry.gitIgnored))
617
638
  warnings.push(exports.SkillPreviewWarning.PATH_GIT_IGNORED);
618
639
  if (stats.truncatedFiles > 0)
@@ -419,6 +419,7 @@ function createSkillUninstallPlan(input) {
419
419
  headState: input.git.headState,
420
420
  headCommit: input.git.headCommit,
421
421
  workingTreeDirty: input.git.dirty,
422
+ ...(input.git.dirtyUnknown ? { workingTreeUnknown: true } : {}),
422
423
  installRoot: assessment.installRoot,
423
424
  currentTreeHash: assessment.currentTreeHash,
424
425
  },
@@ -192,11 +192,12 @@ const readLivePidCwd = (pid) => {
192
192
  };
193
193
  exports.readLivePidCwd = readLivePidCwd;
194
194
  /**
195
- * `tests/unit/skills/demo-video/env-scripts.test.ts` creates
196
- * `~/.commandmate-demo-vitest-<pid>` for the length of its run — in the real
197
- * `$HOME`, because `env-up.sh` refuses `/tmp` and `/var` (#2954). The name
198
- * carries the pid of the test process that made it, which is the one `$HOME`
199
- * entry whose owner can be established.
195
+ * `tests/unit/skills/demo-video/env-scripts.test.ts` created
196
+ * `~/.commandmate-demo-vitest-<pid>` for the length of its run, in the real
197
+ * `$HOME` (#2954). Since #3479 it makes the dir under the OS temp dir instead;
198
+ * this stays for checkouts that predate that. The name carries the pid of the
199
+ * test process that made it, which is the one `$HOME` entry whose owner can be
200
+ * established.
200
201
  */
201
202
  const DEMO_VITEST_HOME_ENTRY = /^\.commandmate-demo-vitest-([1-9]\d*)$/;
202
203
  const isLivePid = (pid) => {
@@ -49,7 +49,6 @@ Every command in `.claude/commands/`. Follow the link for the full definition of
49
49
  | [`/pm-auto-design2dev`](../../../.claude/commands/pm-auto-design2dev.md) | Automate design review through implementation (design review, work plan, TDD implementation) |
50
50
  | [`/pm-auto-dev`](../../../.claude/commands/pm-auto-dev.md) | Automate Issue development end to end (TDD, tests, report) |
51
51
  | [`/pm-auto-issue2dev`](../../../.claude/commands/pm-auto-issue2dev.md) | Automate Issue review through implementation (Issue review, design review, work plan, TDD implementation) |
52
- | [`/pr-merge-pipeline`](../../../.claude/commands/pr-merge-pipeline.md) | Automate PR creation, CI, sequential merges, and integration verification across several Issues |
53
52
  | [`/progress-report`](../../../.claude/commands/progress-report.md) | Produce a development progress summary and report blockers |
54
53
  | [`/refactoring`](../../../.claude/commands/refactoring.md) | Improve code quality, apply design patterns, and pay down technical debt |
55
54
  | [`/tdd-impl`](../../../.claude/commands/tdd-impl.md) | Implement to a high standard using test-driven development |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "commandmate",
3
- "version": "0.44.3",
3
+ "version": "0.45.1",
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",
@@ -151,6 +151,7 @@
151
151
  "vitest": "^4.1.2"
152
152
  },
153
153
  "overrides": {
154
- "@xmldom/xmldom": "^0.9.12"
154
+ "@xmldom/xmldom": "^0.9.12",
155
+ "postcss": "$postcss"
155
156
  }
156
157
  }
@@ -0,0 +1,41 @@
1
+ {
2
+ "version": "0.45.0",
3
+ "date": "2026-10-09",
4
+ "highlight": {
5
+ "ja": "capture --json の読まれていない 3 つの欄を予告どおり削除しました。Claude がバックグラウンドの作業を残したときに wait が完了と読む問題も直しました。",
6
+ "en": "Three unused fields of capture --json were removed as announced. wait no longer treats a turn as finished while Claude still has background work."
7
+ },
8
+ "added": [],
9
+ "improved": [
10
+ {
11
+ "ja": "capture --json の isComplete・isGenerating・thinkingMessage を廃止しました。isPromptWaiting と thinking を使ってください。",
12
+ "en": "Removed isComplete, isGenerating and thinkingMessage from capture --json. Use isPromptWaiting and thinking instead."
13
+ }
14
+ ],
15
+ "fixed": [
16
+ {
17
+ "ja": "Claude がバックグラウンドの作業を残してターンを閉じたとき、wait が完了と読む問題を直しました。",
18
+ "en": "Fixed wait treating a turn as finished when Claude closed it with background work still running."
19
+ },
20
+ {
21
+ "ja": "終わりの合図が届かないターンで、wait がタイムアウトまで待ち続ける問題を直しました。",
22
+ "en": "Fixed wait spinning until its timeout on a turn whose end was never reported."
23
+ },
24
+ {
25
+ "ja": "git の状態を読めなかった worktree を「変更なし」と表示しないようにし、その状態ではブランチの切り替えを止めるようにしました。",
26
+ "en": "A worktree whose git status could not be read is no longer shown as unchanged, and branch switching stops in that case."
27
+ },
28
+ {
29
+ "ja": "スキルの画面と CLI が、git の状態を読めなかったときに「変更あり」ではなく「不明」と表示するようにしました。",
30
+ "en": "The skills view and CLI now show unknown instead of changed when git status could not be read."
31
+ },
32
+ {
33
+ "ja": "OpenCode V2 の画面から使っているモデル名を読めるようにしました。",
34
+ "en": "The model in use is now read from the OpenCode V2 screen."
35
+ },
36
+ {
37
+ "ja": "依存パッケージを更新し、既知の脆弱性を解消しました。",
38
+ "en": "Updated dependencies to fix known vulnerabilities."
39
+ }
40
+ ]
41
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "version": "0.45.1",
3
+ "date": "2026-10-10",
4
+ "highlight": {
5
+ "ja": "チャットと履歴で mermaid の図が描かれるようになり、履歴検索の強調が正しい位置に当たるようになりました。",
6
+ "en": "Mermaid diagrams now render in chat and History, and History search highlights now land on the right text."
7
+ },
8
+ "added": [
9
+ {
10
+ "ja": "チャットの回答と履歴で、mermaid のコードが図として表示されるようになりました(ダークテーマにも対応)。",
11
+ "en": "Mermaid code in chat answers and History is now drawn as a diagram, including in the dark theme."
12
+ },
13
+ {
14
+ "ja": "ファイルを単独で開いたページでも、mermaid のコードが図として表示されるようになりました。",
15
+ "en": "Mermaid code is now drawn as a diagram when a file is opened on its own page."
16
+ }
17
+ ],
18
+ "improved": [
19
+ {
20
+ "ja": "画面が止まっている間に同じ内容のログが繰り返し出ていたのを減らし、サーバーのログ量を大きく減らしました。",
21
+ "en": "The server log no longer repeats the same line while a screen stays unchanged, which greatly reduces its size."
22
+ }
23
+ ],
24
+ "fixed": [
25
+ {
26
+ "ja": "履歴検索の強調が、太字やリンクなどの記法の文字数だけずれていた問題を直しました。",
27
+ "en": "Fixed History search highlights being shifted by the length of formatting such as bold text and links."
28
+ },
29
+ {
30
+ "ja": "履歴検索で、mermaid の図の中のヒットが強調されないことがある問題を直しました。",
31
+ "en": "Fixed History search sometimes not highlighting matches inside mermaid diagrams."
32
+ },
33
+ {
34
+ "ja": "スキルのフォルダに説明ファイルが無いだけで、サーバーのログにエラーが出ていた問題を直しました。",
35
+ "en": "Fixed the server log reporting an error for skill folders that simply have no description file."
36
+ }
37
+ ]
38
+ }
@@ -297,6 +297,26 @@ if [ "$EVENT" = "user_prompt_submit" ] && [ "$TOOL" = "claude" ] && [ -n "$HOOK_
297
297
  BODY="$BODY,\"queuedNotice\":true"
298
298
  fi
299
299
  fi
300
+ # Issue #3450. On a Claude `Stop` the receiver reads the session's transcript
301
+ # for background work that has not been notified yet (#3430), and it finds the
302
+ # transcript by the payload's `transcript_path`. An injected `type: "http"` Stop
303
+ # hook posts the payload verbatim, but a hand-configured Stop hook (§3 of
304
+ # docs/user-guide/agent-event-hooks.md, Issue #1549) comes through here, so the
305
+ # field is forwarded under its own name — the one field, never the rest of the
306
+ # payload. Claude's `stop` only, so codex (whose shared relay is a copy of this
307
+ # script) and every other tool keep the body they had.
308
+ #
309
+ # Only a path the receiver could accept is sent: absolute, under a
310
+ # `.claude/projects` directory and ending in `.jsonl`. The receiver checks it
311
+ # again against its own home; anything else would be ignored there anyway.
312
+ if [ "$EVENT" = "stop" ] && [ "$TOOL" = "claude" ] && [ -n "$HOOK_JSON" ]; then
313
+ TRANSCRIPT_PATH="$(json_string_field "$HOOK_JSON" 'transcript_path')"
314
+ case "$TRANSCRIPT_PATH" in
315
+ /*/.claude/projects/*.jsonl)
316
+ BODY="$BODY,\"transcript_path\":\"$(json_escape "$TRANSCRIPT_PATH")\""
317
+ ;;
318
+ esac
319
+ fi
300
320
  BODY="$BODY}"
301
321
 
302
322
  # Token via --header rather than the command line of a subprocess: argv is world