commandmate 0.32.1 → 0.33.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 (567) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +277 -270
  3. package/.next/app-path-routes-manifest.json +39 -38
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +12 -12
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +8 -0
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/auth/status/route_client-reference-manifest.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_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/push/subscriptions/route.js +1 -1
  38. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js +1 -1
  45. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/repositories/[id]/todos/route.js +1 -1
  47. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
  67. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/todos/route.js +1 -1
  71. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
  73. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/verification/runs/route.js +1 -1
  75. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
  80. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  82. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +1 -1
  84. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/worktrees/[id]/env/route.js +1 -1
  87. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  89. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +1 -1
  91. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
  94. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
  98. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  100. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  102. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.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.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -0
  140. package/.next/server/app/api/worktrees/[id]/instances/notes/route.js.nft.json +1 -0
  141. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -0
  142. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  156. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/schedules/route.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/tasks/route.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  199. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/worktrees/[id]/verify/config/route.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  202. package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
  203. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  206. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
  207. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
  209. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  210. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  212. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/route.js +1 -1
  214. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  216. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  217. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  219. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  220. package/.next/server/app/page.js +1 -1
  221. package/.next/server/app/page_client-reference-manifest.js +1 -1
  222. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  223. package/.next/server/app/repositories/page.js +1 -1
  224. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  225. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  226. package/.next/server/app/sessions/page.js +1 -1
  227. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  228. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  229. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  230. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  231. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  232. package/.next/server/app/worktrees/[id]/page.js +12 -12
  233. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  234. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  235. package/.next/server/app-paths-manifest.json +39 -38
  236. package/.next/server/chunks/1191.js +1 -1
  237. package/.next/server/chunks/1886.js +2 -2
  238. package/.next/server/chunks/2119.js +1 -1
  239. package/.next/server/chunks/2445.js +1 -1
  240. package/.next/server/chunks/5354.js +1 -1
  241. package/.next/server/chunks/6337.js +1 -1
  242. package/.next/server/chunks/6401.js +1 -1
  243. package/.next/server/chunks/6661.js +1 -1
  244. package/.next/server/chunks/6838.js +1 -1
  245. package/.next/server/chunks/7875.js +1 -1
  246. package/.next/server/chunks/8807.js +163 -131
  247. package/.next/server/chunks/8918.js +4 -4
  248. package/.next/server/chunks/9584.js +1 -1
  249. package/.next/server/middleware-manifest.json +5 -5
  250. package/.next/server/pages/500.html +1 -1
  251. package/.next/server/server-reference-manifest.json +1 -1
  252. package/.next/static/chunks/{4718-9d63107c612a065d.js → 4718-2bc5cdf06573bf54.js} +1 -1
  253. package/.next/static/chunks/app/api/agents/{versions/route-8bc5b680c5f3eae4.js → update/route-c4d2d5016c5f2a0a.js} +1 -1
  254. package/.next/static/chunks/app/api/{app/update-check/route-8bc5b680c5f3eae4.js → agents/versions/route-c4d2d5016c5f2a0a.js} +1 -1
  255. package/.next/static/chunks/app/api/{agents/update/route-8bc5b680c5f3eae4.js → app/update/route-c4d2d5016c5f2a0a.js} +1 -1
  256. package/.next/static/chunks/app/api/app/{update/route-8bc5b680c5f3eae4.js → update-check/route-c4d2d5016c5f2a0a.js} +1 -1
  257. package/.next/static/chunks/app/api/assistant/conversation/route-c4d2d5016c5f2a0a.js +1 -0
  258. package/.next/static/chunks/app/api/assistant/current-output/route-c4d2d5016c5f2a0a.js +1 -0
  259. package/.next/static/chunks/app/api/assistant/messages/route-c4d2d5016c5f2a0a.js +1 -0
  260. package/.next/static/chunks/app/api/assistant/session/route-c4d2d5016c5f2a0a.js +1 -0
  261. package/.next/static/chunks/app/api/assistant/start/route-c4d2d5016c5f2a0a.js +1 -0
  262. package/.next/static/chunks/app/api/assistant/terminal/route-c4d2d5016c5f2a0a.js +1 -0
  263. package/.next/static/chunks/app/api/assistant/tools/route-c4d2d5016c5f2a0a.js +1 -0
  264. package/.next/static/chunks/app/api/auth/login/route-c4d2d5016c5f2a0a.js +1 -0
  265. package/.next/static/chunks/app/api/auth/logout/route-c4d2d5016c5f2a0a.js +1 -0
  266. package/.next/static/chunks/app/api/auth/status/route-c4d2d5016c5f2a0a.js +1 -0
  267. package/.next/static/chunks/app/api/capabilities/route-c4d2d5016c5f2a0a.js +1 -0
  268. package/.next/static/chunks/app/api/daily-summary/route-c4d2d5016c5f2a0a.js +1 -0
  269. package/.next/static/chunks/app/api/daily-summary/status/route-c4d2d5016c5f2a0a.js +1 -0
  270. package/.next/static/chunks/app/api/external-apps/[id]/health/route-c4d2d5016c5f2a0a.js +1 -0
  271. package/.next/static/chunks/app/api/external-apps/[id]/route-c4d2d5016c5f2a0a.js +1 -0
  272. package/.next/static/chunks/app/api/external-apps/route-c4d2d5016c5f2a0a.js +1 -0
  273. package/.next/static/chunks/app/api/fs/browse/route-c4d2d5016c5f2a0a.js +1 -0
  274. package/.next/static/chunks/app/api/fs/recent-paths/route-c4d2d5016c5f2a0a.js +1 -0
  275. package/.next/static/chunks/app/api/hooks/agent-event/route-c4d2d5016c5f2a0a.js +1 -0
  276. package/.next/static/chunks/app/api/hooks/claude-done/route-c4d2d5016c5f2a0a.js +1 -0
  277. package/.next/static/chunks/app/api/hooks/permission-request/route-c4d2d5016c5f2a0a.js +1 -0
  278. package/.next/static/chunks/app/api/metrics/vibe/route-c4d2d5016c5f2a0a.js +1 -0
  279. package/.next/static/chunks/app/api/ollama/models/route-c4d2d5016c5f2a0a.js +1 -0
  280. package/.next/static/chunks/app/api/push/escalation/route-c4d2d5016c5f2a0a.js +1 -0
  281. package/.next/static/chunks/app/api/push/subscriptions/route-c4d2d5016c5f2a0a.js +1 -0
  282. package/.next/static/chunks/app/api/push/vapid/route-c4d2d5016c5f2a0a.js +1 -0
  283. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-c4d2d5016c5f2a0a.js +1 -0
  284. package/.next/static/chunks/app/api/relays/route-c4d2d5016c5f2a0a.js +1 -0
  285. package/.next/static/chunks/app/api/remote/pair/route-c4d2d5016c5f2a0a.js +1 -0
  286. package/.next/static/chunks/app/api/repositories/[id]/route-c4d2d5016c5f2a0a.js +1 -0
  287. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-c4d2d5016c5f2a0a.js +1 -0
  288. package/.next/static/chunks/app/api/repositories/[id]/todos/route-c4d2d5016c5f2a0a.js +1 -0
  289. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-c4d2d5016c5f2a0a.js +1 -0
  290. package/.next/static/chunks/app/api/repositories/clone/route-c4d2d5016c5f2a0a.js +1 -0
  291. package/.next/static/chunks/app/api/repositories/excluded/route-c4d2d5016c5f2a0a.js +1 -0
  292. package/.next/static/chunks/app/api/repositories/restore/route-c4d2d5016c5f2a0a.js +1 -0
  293. package/.next/static/chunks/app/api/repositories/route-c4d2d5016c5f2a0a.js +1 -0
  294. package/.next/static/chunks/app/api/repositories/scan/route-c4d2d5016c5f2a0a.js +1 -0
  295. package/.next/static/chunks/app/api/repositories/sync/route-c4d2d5016c5f2a0a.js +1 -0
  296. package/.next/static/chunks/app/api/repositories/validate-path/route-c4d2d5016c5f2a0a.js +1 -0
  297. package/.next/static/chunks/app/api/settings/default-agents/route-c4d2d5016c5f2a0a.js +1 -0
  298. package/.next/static/chunks/app/api/settings/default-surface-mode/route-c4d2d5016c5f2a0a.js +1 -0
  299. package/.next/static/chunks/app/api/sidebar/group-order/route-c4d2d5016c5f2a0a.js +1 -0
  300. package/.next/static/chunks/app/api/skills/[id]/route-c4d2d5016c5f2a0a.js +1 -0
  301. package/.next/static/chunks/app/api/skills/installations/route-c4d2d5016c5f2a0a.js +1 -0
  302. package/.next/static/chunks/app/api/skills/operations/route-c4d2d5016c5f2a0a.js +1 -0
  303. package/.next/static/chunks/app/api/skills/reindex/route-c4d2d5016c5f2a0a.js +1 -0
  304. package/.next/static/chunks/app/api/skills/route-c4d2d5016c5f2a0a.js +1 -0
  305. package/.next/static/chunks/app/api/slash-commands/route-c4d2d5016c5f2a0a.js +1 -0
  306. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-c4d2d5016c5f2a0a.js +1 -0
  307. package/.next/static/chunks/app/api/tasks/[taskId]/route-c4d2d5016c5f2a0a.js +1 -0
  308. package/.next/static/chunks/app/api/templates/[id]/route-c4d2d5016c5f2a0a.js +1 -0
  309. package/.next/static/chunks/app/api/templates/route-c4d2d5016c5f2a0a.js +1 -0
  310. package/.next/static/chunks/app/api/todos/route-c4d2d5016c5f2a0a.js +1 -0
  311. package/.next/static/chunks/app/api/verification/runs/[runId]/route-c4d2d5016c5f2a0a.js +1 -0
  312. package/.next/static/chunks/app/api/verification/runs/route-c4d2d5016c5f2a0a.js +1 -0
  313. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-c4d2d5016c5f2a0a.js +1 -0
  314. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-c4d2d5016c5f2a0a.js +1 -0
  315. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-c4d2d5016c5f2a0a.js +1 -0
  316. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-c4d2d5016c5f2a0a.js +1 -0
  317. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-c4d2d5016c5f2a0a.js +1 -0
  318. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-c4d2d5016c5f2a0a.js +1 -0
  319. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-c4d2d5016c5f2a0a.js +1 -0
  320. package/.next/static/chunks/app/api/worktrees/[id]/env/route-c4d2d5016c5f2a0a.js +1 -0
  321. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-c4d2d5016c5f2a0a.js +1 -0
  322. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-c4d2d5016c5f2a0a.js +1 -0
  323. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-c4d2d5016c5f2a0a.js +1 -0
  324. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-c4d2d5016c5f2a0a.js +1 -0
  325. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-c4d2d5016c5f2a0a.js +1 -0
  326. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-c4d2d5016c5f2a0a.js +1 -0
  327. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-c4d2d5016c5f2a0a.js +1 -0
  328. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-c4d2d5016c5f2a0a.js +1 -0
  329. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-c4d2d5016c5f2a0a.js +1 -0
  330. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-c4d2d5016c5f2a0a.js +1 -0
  331. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-c4d2d5016c5f2a0a.js +1 -0
  332. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-c4d2d5016c5f2a0a.js +1 -0
  333. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-c4d2d5016c5f2a0a.js +1 -0
  334. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-c4d2d5016c5f2a0a.js +1 -0
  335. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-c4d2d5016c5f2a0a.js +1 -0
  336. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-c4d2d5016c5f2a0a.js +1 -0
  337. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-c4d2d5016c5f2a0a.js +1 -0
  338. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-c4d2d5016c5f2a0a.js +1 -0
  339. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-c4d2d5016c5f2a0a.js +1 -0
  340. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-c4d2d5016c5f2a0a.js +1 -0
  341. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-c4d2d5016c5f2a0a.js +1 -0
  342. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-c4d2d5016c5f2a0a.js +1 -0
  343. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-c4d2d5016c5f2a0a.js +1 -0
  344. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-c4d2d5016c5f2a0a.js +1 -0
  345. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-c4d2d5016c5f2a0a.js +1 -0
  346. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-c4d2d5016c5f2a0a.js +1 -0
  347. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-c4d2d5016c5f2a0a.js +1 -0
  348. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-c4d2d5016c5f2a0a.js +1 -0
  349. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-c4d2d5016c5f2a0a.js +1 -0
  350. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-c4d2d5016c5f2a0a.js +1 -0
  351. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-c4d2d5016c5f2a0a.js +1 -0
  352. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-c4d2d5016c5f2a0a.js +1 -0
  353. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-c4d2d5016c5f2a0a.js +1 -0
  354. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-c4d2d5016c5f2a0a.js +1 -0
  355. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-c4d2d5016c5f2a0a.js +1 -0
  356. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-c4d2d5016c5f2a0a.js +1 -0
  357. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-c4d2d5016c5f2a0a.js +1 -0
  358. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-c4d2d5016c5f2a0a.js +1 -0
  359. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-c4d2d5016c5f2a0a.js +1 -0
  360. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-c4d2d5016c5f2a0a.js +1 -0
  361. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-c4d2d5016c5f2a0a.js +1 -0
  362. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-c4d2d5016c5f2a0a.js +1 -0
  363. package/.next/static/chunks/app/api/worktrees/[id]/route-c4d2d5016c5f2a0a.js +1 -0
  364. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-c4d2d5016c5f2a0a.js +1 -0
  365. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-c4d2d5016c5f2a0a.js +1 -0
  366. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-c4d2d5016c5f2a0a.js +1 -0
  367. package/.next/static/chunks/app/api/worktrees/[id]/search/route-c4d2d5016c5f2a0a.js +1 -0
  368. package/.next/static/chunks/app/api/worktrees/[id]/send/route-c4d2d5016c5f2a0a.js +1 -0
  369. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-c4d2d5016c5f2a0a.js +1 -0
  370. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-c4d2d5016c5f2a0a.js +1 -0
  371. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-c4d2d5016c5f2a0a.js +1 -0
  372. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-c4d2d5016c5f2a0a.js +1 -0
  373. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-c4d2d5016c5f2a0a.js +1 -0
  374. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-c4d2d5016c5f2a0a.js +1 -0
  375. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-c4d2d5016c5f2a0a.js +1 -0
  376. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-c4d2d5016c5f2a0a.js +1 -0
  377. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-c4d2d5016c5f2a0a.js +1 -0
  378. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-c4d2d5016c5f2a0a.js +1 -0
  379. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-c4d2d5016c5f2a0a.js +1 -0
  380. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-c4d2d5016c5f2a0a.js +1 -0
  381. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-c4d2d5016c5f2a0a.js +1 -0
  382. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-c4d2d5016c5f2a0a.js +1 -0
  383. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-c4d2d5016c5f2a0a.js +1 -0
  384. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-c4d2d5016c5f2a0a.js +1 -0
  385. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-c4d2d5016c5f2a0a.js +1 -0
  386. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-c4d2d5016c5f2a0a.js +1 -0
  387. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-c4d2d5016c5f2a0a.js +1 -0
  388. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-c4d2d5016c5f2a0a.js +1 -0
  389. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-c4d2d5016c5f2a0a.js +1 -0
  390. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-c4d2d5016c5f2a0a.js +1 -0
  391. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-c4d2d5016c5f2a0a.js +1 -0
  392. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-c4d2d5016c5f2a0a.js +1 -0
  393. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-c4d2d5016c5f2a0a.js +1 -0
  394. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-c4d2d5016c5f2a0a.js +1 -0
  395. package/.next/static/chunks/app/api/worktrees/route-c4d2d5016c5f2a0a.js +1 -0
  396. package/.next/static/chunks/app/manifest.webmanifest/route-c4d2d5016c5f2a0a.js +1 -0
  397. package/.next/static/chunks/app/{page-6871cca022b24807.js → page-022090bf6f932818.js} +1 -1
  398. package/.next/static/chunks/app/proxy/[...path]/route-c4d2d5016c5f2a0a.js +1 -0
  399. package/.next/static/chunks/app/repositories/{page-788ded1b72963d94.js → page-2576158c8420fda0.js} +1 -1
  400. package/.next/static/chunks/app/sessions/page-584adf11ae51df10.js +1 -0
  401. package/.next/static/chunks/app/worktrees/[id]/layout-c4d2d5016c5f2a0a.js +1 -0
  402. package/.next/static/chunks/app/worktrees/[id]/page-13ca0ba551fe5cfb.js +1 -0
  403. package/.next/static/css/acd46e25427a2080.css +1 -0
  404. package/.next/trace +14 -13
  405. package/.next/types/app/api/worktrees/[id]/instances/notes/route.ts +347 -0
  406. package/.next/types/routes.d.ts +2 -1
  407. package/.next/types/validator.ts +9 -0
  408. package/dist/server/locales/en/worktree.json +8 -0
  409. package/dist/server/locales/ja/worktree.json +8 -0
  410. package/dist/server/src/lib/cli-tools/base.js +311 -1
  411. package/dist/server/src/lib/cli-tools/start-availability.js +52 -0
  412. package/dist/server/src/lib/db/agent-instances-db.js +213 -1
  413. package/dist/server/src/lib/db/migrations/index.js +2 -0
  414. package/dist/server/src/lib/db/migrations/runner.js +1 -1
  415. package/dist/server/src/lib/db/migrations/v61-session-notes.js +85 -0
  416. package/dist/server/src/lib/hooks/sources/codex/transcript.js +88 -6
  417. package/dist/server/src/lib/hooks/sources/turn-body.js +3 -1
  418. package/dist/server/src/lib/push/failure-push-notifier.js +68 -1
  419. package/dist/server/src/lib/push/push-sender.js +16 -5
  420. package/dist/server/src/lib/session/current-output-builder.js +156 -4
  421. package/package.json +1 -1
  422. package/.next/static/chunks/app/api/assistant/conversation/route-8bc5b680c5f3eae4.js +0 -1
  423. package/.next/static/chunks/app/api/assistant/current-output/route-8bc5b680c5f3eae4.js +0 -1
  424. package/.next/static/chunks/app/api/assistant/messages/route-8bc5b680c5f3eae4.js +0 -1
  425. package/.next/static/chunks/app/api/assistant/session/route-8bc5b680c5f3eae4.js +0 -1
  426. package/.next/static/chunks/app/api/assistant/start/route-8bc5b680c5f3eae4.js +0 -1
  427. package/.next/static/chunks/app/api/assistant/terminal/route-8bc5b680c5f3eae4.js +0 -1
  428. package/.next/static/chunks/app/api/assistant/tools/route-8bc5b680c5f3eae4.js +0 -1
  429. package/.next/static/chunks/app/api/auth/login/route-8bc5b680c5f3eae4.js +0 -1
  430. package/.next/static/chunks/app/api/auth/logout/route-8bc5b680c5f3eae4.js +0 -1
  431. package/.next/static/chunks/app/api/auth/status/route-8bc5b680c5f3eae4.js +0 -1
  432. package/.next/static/chunks/app/api/capabilities/route-8bc5b680c5f3eae4.js +0 -1
  433. package/.next/static/chunks/app/api/daily-summary/route-8bc5b680c5f3eae4.js +0 -1
  434. package/.next/static/chunks/app/api/daily-summary/status/route-8bc5b680c5f3eae4.js +0 -1
  435. package/.next/static/chunks/app/api/external-apps/[id]/health/route-8bc5b680c5f3eae4.js +0 -1
  436. package/.next/static/chunks/app/api/external-apps/[id]/route-8bc5b680c5f3eae4.js +0 -1
  437. package/.next/static/chunks/app/api/external-apps/route-8bc5b680c5f3eae4.js +0 -1
  438. package/.next/static/chunks/app/api/fs/browse/route-8bc5b680c5f3eae4.js +0 -1
  439. package/.next/static/chunks/app/api/fs/recent-paths/route-8bc5b680c5f3eae4.js +0 -1
  440. package/.next/static/chunks/app/api/hooks/agent-event/route-8bc5b680c5f3eae4.js +0 -1
  441. package/.next/static/chunks/app/api/hooks/claude-done/route-8bc5b680c5f3eae4.js +0 -1
  442. package/.next/static/chunks/app/api/hooks/permission-request/route-8bc5b680c5f3eae4.js +0 -1
  443. package/.next/static/chunks/app/api/metrics/vibe/route-8bc5b680c5f3eae4.js +0 -1
  444. package/.next/static/chunks/app/api/ollama/models/route-8bc5b680c5f3eae4.js +0 -1
  445. package/.next/static/chunks/app/api/push/escalation/route-8bc5b680c5f3eae4.js +0 -1
  446. package/.next/static/chunks/app/api/push/subscriptions/route-8bc5b680c5f3eae4.js +0 -1
  447. package/.next/static/chunks/app/api/push/vapid/route-8bc5b680c5f3eae4.js +0 -1
  448. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-8bc5b680c5f3eae4.js +0 -1
  449. package/.next/static/chunks/app/api/relays/route-8bc5b680c5f3eae4.js +0 -1
  450. package/.next/static/chunks/app/api/remote/pair/route-8bc5b680c5f3eae4.js +0 -1
  451. package/.next/static/chunks/app/api/repositories/[id]/route-8bc5b680c5f3eae4.js +0 -1
  452. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-8bc5b680c5f3eae4.js +0 -1
  453. package/.next/static/chunks/app/api/repositories/[id]/todos/route-8bc5b680c5f3eae4.js +0 -1
  454. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-8bc5b680c5f3eae4.js +0 -1
  455. package/.next/static/chunks/app/api/repositories/clone/route-8bc5b680c5f3eae4.js +0 -1
  456. package/.next/static/chunks/app/api/repositories/excluded/route-8bc5b680c5f3eae4.js +0 -1
  457. package/.next/static/chunks/app/api/repositories/restore/route-8bc5b680c5f3eae4.js +0 -1
  458. package/.next/static/chunks/app/api/repositories/route-8bc5b680c5f3eae4.js +0 -1
  459. package/.next/static/chunks/app/api/repositories/scan/route-8bc5b680c5f3eae4.js +0 -1
  460. package/.next/static/chunks/app/api/repositories/sync/route-8bc5b680c5f3eae4.js +0 -1
  461. package/.next/static/chunks/app/api/repositories/validate-path/route-8bc5b680c5f3eae4.js +0 -1
  462. package/.next/static/chunks/app/api/settings/default-agents/route-8bc5b680c5f3eae4.js +0 -1
  463. package/.next/static/chunks/app/api/settings/default-surface-mode/route-8bc5b680c5f3eae4.js +0 -1
  464. package/.next/static/chunks/app/api/sidebar/group-order/route-8bc5b680c5f3eae4.js +0 -1
  465. package/.next/static/chunks/app/api/skills/[id]/route-8bc5b680c5f3eae4.js +0 -1
  466. package/.next/static/chunks/app/api/skills/installations/route-8bc5b680c5f3eae4.js +0 -1
  467. package/.next/static/chunks/app/api/skills/operations/route-8bc5b680c5f3eae4.js +0 -1
  468. package/.next/static/chunks/app/api/skills/reindex/route-8bc5b680c5f3eae4.js +0 -1
  469. package/.next/static/chunks/app/api/skills/route-8bc5b680c5f3eae4.js +0 -1
  470. package/.next/static/chunks/app/api/slash-commands/route-8bc5b680c5f3eae4.js +0 -1
  471. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-8bc5b680c5f3eae4.js +0 -1
  472. package/.next/static/chunks/app/api/tasks/[taskId]/route-8bc5b680c5f3eae4.js +0 -1
  473. package/.next/static/chunks/app/api/templates/[id]/route-8bc5b680c5f3eae4.js +0 -1
  474. package/.next/static/chunks/app/api/templates/route-8bc5b680c5f3eae4.js +0 -1
  475. package/.next/static/chunks/app/api/todos/route-8bc5b680c5f3eae4.js +0 -1
  476. package/.next/static/chunks/app/api/verification/runs/[runId]/route-8bc5b680c5f3eae4.js +0 -1
  477. package/.next/static/chunks/app/api/verification/runs/route-8bc5b680c5f3eae4.js +0 -1
  478. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-8bc5b680c5f3eae4.js +0 -1
  479. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-8bc5b680c5f3eae4.js +0 -1
  480. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-8bc5b680c5f3eae4.js +0 -1
  481. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-8bc5b680c5f3eae4.js +0 -1
  482. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-8bc5b680c5f3eae4.js +0 -1
  483. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-8bc5b680c5f3eae4.js +0 -1
  484. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-8bc5b680c5f3eae4.js +0 -1
  485. package/.next/static/chunks/app/api/worktrees/[id]/env/route-8bc5b680c5f3eae4.js +0 -1
  486. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-8bc5b680c5f3eae4.js +0 -1
  487. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-8bc5b680c5f3eae4.js +0 -1
  488. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-8bc5b680c5f3eae4.js +0 -1
  489. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-8bc5b680c5f3eae4.js +0 -1
  490. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-8bc5b680c5f3eae4.js +0 -1
  491. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-8bc5b680c5f3eae4.js +0 -1
  492. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-8bc5b680c5f3eae4.js +0 -1
  493. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-8bc5b680c5f3eae4.js +0 -1
  494. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-8bc5b680c5f3eae4.js +0 -1
  495. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-8bc5b680c5f3eae4.js +0 -1
  496. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-8bc5b680c5f3eae4.js +0 -1
  497. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-8bc5b680c5f3eae4.js +0 -1
  498. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-8bc5b680c5f3eae4.js +0 -1
  499. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-8bc5b680c5f3eae4.js +0 -1
  500. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-8bc5b680c5f3eae4.js +0 -1
  501. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-8bc5b680c5f3eae4.js +0 -1
  502. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-8bc5b680c5f3eae4.js +0 -1
  503. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-8bc5b680c5f3eae4.js +0 -1
  504. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-8bc5b680c5f3eae4.js +0 -1
  505. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-8bc5b680c5f3eae4.js +0 -1
  506. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-8bc5b680c5f3eae4.js +0 -1
  507. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-8bc5b680c5f3eae4.js +0 -1
  508. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-8bc5b680c5f3eae4.js +0 -1
  509. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-8bc5b680c5f3eae4.js +0 -1
  510. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-8bc5b680c5f3eae4.js +0 -1
  511. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-8bc5b680c5f3eae4.js +0 -1
  512. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-8bc5b680c5f3eae4.js +0 -1
  513. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-8bc5b680c5f3eae4.js +0 -1
  514. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-8bc5b680c5f3eae4.js +0 -1
  515. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-8bc5b680c5f3eae4.js +0 -1
  516. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-8bc5b680c5f3eae4.js +0 -1
  517. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-8bc5b680c5f3eae4.js +0 -1
  518. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-8bc5b680c5f3eae4.js +0 -1
  519. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-8bc5b680c5f3eae4.js +0 -1
  520. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-8bc5b680c5f3eae4.js +0 -1
  521. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-8bc5b680c5f3eae4.js +0 -1
  522. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-8bc5b680c5f3eae4.js +0 -1
  523. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-8bc5b680c5f3eae4.js +0 -1
  524. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-8bc5b680c5f3eae4.js +0 -1
  525. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-8bc5b680c5f3eae4.js +0 -1
  526. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-8bc5b680c5f3eae4.js +0 -1
  527. package/.next/static/chunks/app/api/worktrees/[id]/route-8bc5b680c5f3eae4.js +0 -1
  528. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-8bc5b680c5f3eae4.js +0 -1
  529. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-8bc5b680c5f3eae4.js +0 -1
  530. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-8bc5b680c5f3eae4.js +0 -1
  531. package/.next/static/chunks/app/api/worktrees/[id]/search/route-8bc5b680c5f3eae4.js +0 -1
  532. package/.next/static/chunks/app/api/worktrees/[id]/send/route-8bc5b680c5f3eae4.js +0 -1
  533. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-8bc5b680c5f3eae4.js +0 -1
  534. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-8bc5b680c5f3eae4.js +0 -1
  535. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-8bc5b680c5f3eae4.js +0 -1
  536. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-8bc5b680c5f3eae4.js +0 -1
  537. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-8bc5b680c5f3eae4.js +0 -1
  538. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-8bc5b680c5f3eae4.js +0 -1
  539. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-8bc5b680c5f3eae4.js +0 -1
  540. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-8bc5b680c5f3eae4.js +0 -1
  541. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-8bc5b680c5f3eae4.js +0 -1
  542. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-8bc5b680c5f3eae4.js +0 -1
  543. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-8bc5b680c5f3eae4.js +0 -1
  544. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-8bc5b680c5f3eae4.js +0 -1
  545. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-8bc5b680c5f3eae4.js +0 -1
  546. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-8bc5b680c5f3eae4.js +0 -1
  547. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-8bc5b680c5f3eae4.js +0 -1
  548. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-8bc5b680c5f3eae4.js +0 -1
  549. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-8bc5b680c5f3eae4.js +0 -1
  550. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-8bc5b680c5f3eae4.js +0 -1
  551. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-8bc5b680c5f3eae4.js +0 -1
  552. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-8bc5b680c5f3eae4.js +0 -1
  553. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-8bc5b680c5f3eae4.js +0 -1
  554. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-8bc5b680c5f3eae4.js +0 -1
  555. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-8bc5b680c5f3eae4.js +0 -1
  556. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-8bc5b680c5f3eae4.js +0 -1
  557. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-8bc5b680c5f3eae4.js +0 -1
  558. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-8bc5b680c5f3eae4.js +0 -1
  559. package/.next/static/chunks/app/api/worktrees/route-8bc5b680c5f3eae4.js +0 -1
  560. package/.next/static/chunks/app/manifest.webmanifest/route-8bc5b680c5f3eae4.js +0 -1
  561. package/.next/static/chunks/app/proxy/[...path]/route-8bc5b680c5f3eae4.js +0 -1
  562. package/.next/static/chunks/app/sessions/page-fa2d62f3e8436c69.js +0 -1
  563. package/.next/static/chunks/app/worktrees/[id]/layout-8bc5b680c5f3eae4.js +0 -1
  564. package/.next/static/chunks/app/worktrees/[id]/page-3d82a9355d5612d9.js +0 -1
  565. package/.next/static/css/96d94a4ba771efc3.css +0 -1
  566. /package/.next/static/{Lno4w_zWXdGdlfXg06Vp8 → 9lgw9hA727UMyFhXryGWG}/_buildManifest.js +0 -0
  567. /package/.next/static/{Lno4w_zWXdGdlfXg06Vp8 → 9lgw9hA727UMyFhXryGWG}/_ssgManifest.js +0 -0
@@ -17,7 +17,7 @@ const path_1 = __importDefault(require("path"));
17
17
  * Current schema version
18
18
  * Increment this when adding new migrations
19
19
  */
20
- exports.CURRENT_SCHEMA_VERSION = 60;
20
+ exports.CURRENT_SCHEMA_VERSION = 61;
21
21
  /**
22
22
  * Get current schema version from database
23
23
  */
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /**
3
+ * Migration v61: the one-line note an operator keeps beside a session (#2427).
4
+ *
5
+ * ## What a row is, and what it is emphatically not
6
+ *
7
+ * One row is a free-text reminder of what THIS session was last asked to do —
8
+ * "#2427 の DB 層", "レビュー待ち" — rewritten every time the operator hands the
9
+ * session a new instruction. It exists because a four-way split shows four
10
+ * terminals whose headers all read `claude`, and the pane that is three
11
+ * scrollbacks deep gives no answer to "which one was doing the migration".
12
+ *
13
+ * It is **not** an alias. `agent_instances.alias` is a *resolution key*: since
14
+ * Issue #2376 `--instance レビュー担当` finds the roster row whose alias matches,
15
+ * so an alias is a name the routing layer reads. A note is read by human eyes
16
+ * only, and nothing in `resolveInstanceSelector` (the `/resolve-target` route)
17
+ * or in `resolveInstanceCliTool` looks at this table. That separation is the
18
+ * point of storing it apart from the roster rather than widening the alias: a
19
+ * memo the operator rewrites hourly must never be able to change where the next
20
+ * `send` lands.
21
+ *
22
+ * ## Why a table of its own rather than a column on `agent_instances`
23
+ *
24
+ * The reason v59 gives, unchanged: `setAgentInstances` is a full REPLACE —
25
+ * `PATCH /api/worktrees/[id]` posts the whole roster and the write deletes every
26
+ * row for the worktree and re-inserts from the payload, which is
27
+ * `AgentInstance[]` (id, tool, alias, order) and nothing else. A `note` column
28
+ * there would be silently emptied every time somebody renamed an instance or
29
+ * dragged one up the list — i.e. by the two operations most likely to happen
30
+ * while a note is worth keeping. A separate table survives the replace, and
31
+ * `pruneSessionNotes` removes the rows whose instance genuinely went away.
32
+ *
33
+ * It also keeps `AgentInstance` — which is the roster PATCH's *input* shape, not
34
+ * merely its output — free of a field the writer would have to echo back to
35
+ * avoid erasing it.
36
+ *
37
+ * ## Column notes
38
+ *
39
+ * - **`note` is NOT NULL and a row means a note exists.** Clearing the text
40
+ * deletes the row (see `setSessionNote`) rather than storing `''`: an empty
41
+ * note and no note are indistinguishable to every reader, and the delete keeps
42
+ * the table to the sessions somebody actually annotated. That is also what
43
+ * makes "the note is empty" renderable as *absence* in the split header, which
44
+ * the Issue asks for.
45
+ * - **`updated_at` is displayed, not just bookkeeping.** The Issue's acceptance
46
+ * condition is that the note carries the time it was written, so the column is
47
+ * part of the payload rather than an audit field. Epoch milliseconds, matching
48
+ * v44 onward.
49
+ * - **`worktree_id` is spelled conventionally** so `getWorktreeChildTables()`
50
+ * finds it by introspection: the row then follows a worktree id rename
51
+ * (v54/v55) and is swept when the worktree is deleted, which is exactly as
52
+ * long as a note about one of that worktree's sessions can mean anything.
53
+ *
54
+ * The primary key is `(worktree_id, instance_id)` — the identity
55
+ * `agent_instances` uses and the identity a note is about. `cli_tool_id` is
56
+ * deliberately absent for v59's reason: an instance id belongs to one tool by
57
+ * construction (`resolveInstanceCliTool`), so a composite including it would let
58
+ * one session hold two contradictory notes.
59
+ *
60
+ * The rollback drops the table, which is the whole of what this migration adds.
61
+ */
62
+ Object.defineProperty(exports, "__esModule", { value: true });
63
+ exports.v61_migrations = void 0;
64
+ exports.v61_migrations = [
65
+ {
66
+ version: 61,
67
+ name: 'session-notes',
68
+ up: (db) => {
69
+ db.exec(`
70
+ CREATE TABLE IF NOT EXISTS session_notes (
71
+ worktree_id TEXT NOT NULL,
72
+ instance_id TEXT NOT NULL,
73
+ note TEXT NOT NULL,
74
+ updated_at INTEGER NOT NULL,
75
+
76
+ PRIMARY KEY (worktree_id, instance_id),
77
+ FOREIGN KEY (worktree_id) REFERENCES worktrees(id) ON DELETE CASCADE
78
+ );
79
+ `);
80
+ },
81
+ down: (db) => {
82
+ db.exec('DROP TABLE IF EXISTS session_notes;');
83
+ },
84
+ },
85
+ ];
@@ -91,7 +91,7 @@
91
91
  * @module lib/hooks/sources/codex/transcript
92
92
  */
93
93
  Object.defineProperty(exports, "__esModule", { value: true });
94
- exports.CODEX_THINKING_LABEL = exports.MAX_CODEX_TOOL_DETAIL_LENGTH = exports.MAX_CODEX_TURN_ITEMS = exports.CODEX_TURN_HEAD_TRUNCATION_MARKER = exports.CODEX_TURN_TRUNCATION_MARKER = exports.MAX_CODEX_TURN_BODY_LENGTH = exports.CODEX_ROLLOUT_EXTENSION = exports.CODEX_SESSIONS_DIR_SEGMENTS = void 0;
94
+ exports.CODEX_COMMENTARY_PHASE = exports.CODEX_FINAL_ANSWER_PHASE = exports.CODEX_THINKING_LABEL = exports.MAX_CODEX_TOOL_DETAIL_LENGTH = exports.MAX_CODEX_TURN_ITEMS = exports.CODEX_TURN_HEAD_TRUNCATION_MARKER = exports.CODEX_TURN_TRUNCATION_MARKER = exports.MAX_CODEX_TURN_BODY_LENGTH = exports.CODEX_ROLLOUT_EXTENSION = exports.CODEX_SESSIONS_DIR_SEGMENTS = void 0;
95
95
  exports.readCodexRolloutItem = readCodexRolloutItem;
96
96
  exports.readCodexRolloutRecord = readCodexRolloutRecord;
97
97
  exports.parseCodexRollout = parseCodexRollout;
@@ -130,6 +130,21 @@ exports.MAX_CODEX_TURN_ITEMS = 2048;
130
130
  exports.MAX_CODEX_TOOL_DETAIL_LENGTH = 200;
131
131
  /** The label a reasoning summary is folded behind. Same word claude uses. */
132
132
  exports.CODEX_THINKING_LABEL = 'Thinking';
133
+ /**
134
+ * `AgentMessage.phase` for the reply codex means the operator to read.
135
+ *
136
+ * Measured 268 of 2,211 archived `AgentMessage` items
137
+ * (`docs/design/codex-transcript-reader.md` §2.3).
138
+ */
139
+ exports.CODEX_FINAL_ANSWER_PHASE = 'final_answer';
140
+ /**
141
+ * `AgentMessage.phase` for the progress narration codex writes while it works.
142
+ *
143
+ * Measured 1,943 of 2,211 — the majority of what codex says in a turn is this.
144
+ * The one phase {@link renderCodexTurn} folds; see its docblock for why the
145
+ * classification is an allow-list of exactly this value and nothing else.
146
+ */
147
+ exports.CODEX_COMMENTARY_PHASE = 'commentary';
133
148
  /**
134
149
  * Read one `item_completed` item.
135
150
  *
@@ -437,14 +452,79 @@ function renderReasoningItem(text) {
437
452
  .join('\n');
438
453
  return `> **${exports.CODEX_THINKING_LABEL}**\n>\n${quoted}`;
439
454
  }
455
+ /**
456
+ * The prose one `AgentMessage` contributes, or `''` when it contributes none.
457
+ *
458
+ * The single definition of "non-empty body" for this reader, shared by
459
+ * {@link hasFinalAnswerProse} and by {@link renderCodexTurn}'s loop on purpose:
460
+ * the fallback asks whether the turn renders an answer, and if the two spelled
461
+ * that test out separately they could disagree about a message that is nothing
462
+ * but whitespace — the exact turn the fallback exists for.
463
+ */
464
+ function agentMessageText(item) {
465
+ return item.text?.trim() ?? '';
466
+ }
467
+ /**
468
+ * Whether this turn renders at least one non-empty `final_answer`.
469
+ *
470
+ * The test is on the **rendered body**, not on the presence of an item: item
471
+ * count and drawn paragraphs are different quantities, because a message whose
472
+ * text is empty or whitespace is dropped before it reaches the body. A turn
473
+ * whose only `final_answer` is blank would, on an item-count test, fold its
474
+ * commentary away and leave an empty bubble.
475
+ */
476
+ function hasFinalAnswerProse(turn) {
477
+ return turn.items.some((item) => item.type === 'AgentMessage' &&
478
+ item.phase === exports.CODEX_FINAL_ANSWER_PHASE &&
479
+ agentMessageText(item).length > 0);
480
+ }
440
481
  /**
441
482
  * Render one turn to Markdown.
442
483
  *
443
484
  * Transcript order within each kind — the same decision #2041 and #2121 took,
444
485
  * and for the same reason: the order is the only record of what happened when,
445
- * and this row is the record. Both `commentary` and `final_answer` messages are
446
- * kept; codex's TUI shows both, and dropping the commentary would remove the
447
- * sentence that explains what the tool line underneath it is for.
486
+ * and this row is the record.
487
+ *
488
+ * ## Why `commentary` is folded now (Issue #2420)
489
+ *
490
+ * #2197 kept `commentary` in the body on the argument that "the sentence that
491
+ * explains what the tool line underneath it is for" would otherwise be lost.
492
+ * **#2234 retired that argument by moving every tool line to a folded section
493
+ * at the end of the body** — there is no line underneath the commentary any
494
+ * more, so what leads the bubble is narration with nothing left to narrate.
495
+ * Measured on one live session (`codex-turn:01a07e37-0658`): 4 commentary
496
+ * blocks / 754 characters in front of a single 495-character answer, so the
497
+ * operator read four paragraphs of progress notes before reaching the reply.
498
+ *
499
+ * ## The classification is an allow-list
500
+ *
501
+ * Exactly `phase === 'commentary'` folds. `final_answer`, a missing `phase` and
502
+ * any value codex has not shipped yet all stay in the body. The deny-list
503
+ * spelling — "fold everything that is not `final_answer`" — is rejected on
504
+ * #2196's discipline: it hands codex the power to hide the body of a bubble by
505
+ * adding a phase name, and the failure would be silent. Every `final_answer` is
506
+ * kept, not just the last: the measured corpus has turns carrying more than one.
507
+ *
508
+ * ## The fallback
509
+ *
510
+ * A turn with no non-empty `final_answer` keeps its commentary in the body —
511
+ * see {@link hasFinalAnswerProse}. Folding is only ever an improvement when
512
+ * there is something better to lead with.
513
+ *
514
+ * ## Why the `Thinking` chip and not a new label
515
+ *
516
+ * The folded commentary rides `../turn-body`'s existing `reasoning` kind, so it
517
+ * lands under the `Thinking (N)` heading the other readers already write, and
518
+ * `splitChatThinking` in `components/worktree/ChatMessageBubble` draws it in
519
+ * the chip that is already there. A second label (`Progress`) would read more
520
+ * precisely, and it was rejected on cost: these labels are baked into
521
+ * `chat_messages.content` **at read time**, so a new one is a string every
522
+ * future reader of the table has to keep folding forever, for rows nothing can
523
+ * re-label. Against that, the chip already means the right thing — "subordinate
524
+ * narration the reader may want and does not want first" — and the operator who
525
+ * reported #2420 called this content "thinking" in their own words. Same
526
+ * reasoning as {@link CODEX_THINKING_LABEL}, which is `Thinking` for the same
527
+ * reason.
448
528
  *
449
529
  * The layout — prose first, the calls folded into one labelled section — is
450
530
  * `../turn-body`'s and is shared with the other three readers (#2234).
@@ -454,12 +534,14 @@ function renderCodexTurn(turn) {
454
534
  const unknown = new Set();
455
535
  let textBlocks = 0;
456
536
  let toolBlocks = 0;
537
+ const foldsCommentary = hasFinalAnswerProse(turn);
457
538
  for (const item of turn.items) {
458
539
  if (item.type === 'AgentMessage') {
459
- const text = item.text?.trim() ?? '';
540
+ const text = agentMessageText(item);
460
541
  if (text.length === 0)
461
542
  continue;
462
- rendered.push({ kind: 'prose', text });
543
+ const folds = foldsCommentary && item.phase === exports.CODEX_COMMENTARY_PHASE;
544
+ rendered.push({ kind: folds ? 'reasoning' : 'prose', text });
463
545
  textBlocks += 1;
464
546
  continue;
465
547
  }
@@ -38,7 +38,9 @@
38
38
  * The four readers that push `aside` (claude, codex, antigravity, command-code)
39
39
  * are untouched by this Issue because none of them has been measured the way
40
40
  * opencode has; they can move a block at a time by switching kind, with no
41
- * change here.
41
+ * change here. Issue #2420 is the first time that happened: `./codex/transcript`
42
+ * now tags its `commentary` messages `reasoning` and nothing in this module
43
+ * moved.
42
44
  *
43
45
  * ## Why the order claim from #2041 / #2121 is narrowed rather than dropped
44
46
  *
@@ -12,6 +12,7 @@
12
12
  * | verification failed | `lib/verification/gate-runner` | event |
13
13
  * | upstream API fault | `lib/polling/response-checker` (#1839 match)| level |
14
14
  * | session start failed| `lib/cli-tools/start-availability` (#2009/#2022)| event |
15
+ * | stale hook URL | `lib/cli-tools/start-availability` (#2429) | event |
15
16
  *
16
17
  * The shape column is the whole design. An **event** fires once by construction
17
18
  * — a run closes once, a start attempt throws once — so its only guard is the
@@ -60,6 +61,7 @@ exports.formatWorktreeWideAgentLabel = formatWorktreeWideAgentLabel;
60
61
  exports.notifyVerificationFailurePush = notifyVerificationFailurePush;
61
62
  exports.notifyUpstreamFaultPush = notifyUpstreamFaultPush;
62
63
  exports.notifySessionStartFailurePush = notifySessionStartFailurePush;
64
+ exports.notifyStaleHookUrlPush = notifyStaleHookUrlPush;
63
65
  const db_instance_1 = require("../../lib/db/db-instance");
64
66
  const worktree_db_1 = require("../../lib/db/worktree-db");
65
67
  const logger_1 = require("../../lib/logger");
@@ -194,7 +196,11 @@ async function raiseFailurePush(input) {
194
196
  agentName: input.agentLabel ?? input.instanceId,
195
197
  instanceId: input.instanceId,
196
198
  excerpt: input.excerpt,
197
- failure: { reason: input.reason, signature: input.signature },
199
+ failure: {
200
+ reason: input.reason,
201
+ signature: input.signature,
202
+ ...(input.body ? { body: input.body } : {}),
203
+ },
198
204
  ...(input.subject ? { url: input.subject.url } : {}),
199
205
  });
200
206
  }
@@ -444,3 +450,64 @@ async function notifySessionStartFailurePush(input) {
444
450
  subject: input.subject,
445
451
  });
446
452
  }
453
+ // ===========================================================================
454
+ // 4. Stale hook URL on an adopted session
455
+ // ===========================================================================
456
+ /**
457
+ * The sentence a stale hook URL gets, per locale (Issue #2429).
458
+ *
459
+ * Written here rather than in the `locales/<lang>/notifications.json`
460
+ * dictionaries, for the reason `push-sender`'s
461
+ * {@link ProducerWordedFailureReason} gives: the body is a
462
+ * relation between two numbers and a remedy, not a template plus a name, and
463
+ * this is the layer that holds the numbers. `Record<SupportedLocale, string>`
464
+ * is what makes a new locale a type error here instead of an English card in a
465
+ * Japanese notification tray.
466
+ *
467
+ * Both wordings name the remedy — restarting the session — because the fact on
468
+ * its own is not actionable: an operator who is told only that two ports differ
469
+ * has no way to know that CommandMate will not repair it by itself, and it will
470
+ * not, deliberately (see `BaseCLITool.warnIfHookUrlIsStale`).
471
+ */
472
+ function staleHookUrlBody(report) {
473
+ const { toolName, sessionPort, serverPort } = report;
474
+ return {
475
+ en: `${toolName} is still posting its hooks to port ${sessionPort}, but this server is on ` +
476
+ `${serverPort}. Restart the session to reconnect it.`,
477
+ ja: `${toolName} のフックが古いポート ${sessionPort} 宛のままです(このサーバーは ` +
478
+ `${serverPort})。セッションを再起動すると直ります。`,
479
+ };
480
+ }
481
+ /**
482
+ * Notify that an adopted session's hooks are addressed to another server.
483
+ * Never throws.
484
+ *
485
+ * Called from exactly one place — `reportStaleHookUrl` in
486
+ * `lib/cli-tools/start-availability`, which is also where the "once" lives.
487
+ * This function therefore has no edge of its own, exactly like
488
+ * {@link notifySessionStartFailurePush}: the rate is bounded by how often a
489
+ * session is started, and the caller has already decided that this particular
490
+ * (instance, port pair) has not been reported before.
491
+ *
492
+ * `kind: 'failure'` rather than `'completion'` because the reader has to act —
493
+ * until they restart the session, `commandmate wait` on it cannot complete on
494
+ * the agent's own word and every turn pays #1975's 60 s hold before falling
495
+ * back to the frame.
496
+ */
497
+ async function notifyStaleHookUrlPush(report) {
498
+ const instanceId = report.instanceId ?? report.cliToolId;
499
+ await raiseFailurePush({
500
+ reason: 'hook-url-stale',
501
+ worktreeId: report.worktreeId,
502
+ instanceId,
503
+ // The two ports, so a pane that later points at a THIRD server is a second
504
+ // incident rather than a repeat of this one.
505
+ signature: `hook-url-stale:${instanceId}:${report.sessionPort}:${report.serverPort}`,
506
+ body: staleHookUrlBody(report),
507
+ logContext: {
508
+ cliToolId: report.cliToolId,
509
+ sessionPort: report.sessionPort,
510
+ serverPort: report.serverPort,
511
+ },
512
+ });
513
+ }
@@ -135,15 +135,26 @@ const FAILURE_BODY_KEYS = {
135
135
  plain: 'failureAgentSession',
136
136
  },
137
137
  };
138
- function buildFailureBody(event, messages, excerpt) {
138
+ function buildFailureBody(event, messages, excerpt, locale) {
139
+ // Issue #2429: read first, for the same reason `modelChange` is read first in
140
+ // `buildPushPayload` — a producer that wrote the sentence itself has said
141
+ // something the dictionary cannot, and appending an excerpt to it would put
142
+ // half of that sentence twice.
143
+ const prebuilt = event.failure?.body?.[locale];
144
+ if (prebuilt)
145
+ return prebuilt;
139
146
  // An event that claims `kind: 'failure'` without saying which failure is a
140
147
  // producer bug. Falling back to the verification wording would misreport it,
141
- // so the generic "something failed" copy is used instead.
148
+ // so the generic "something failed" copy is used instead. A
149
+ // `ProducerWordedFailureReason` that arrived without its body lands here too,
150
+ // and lands honestly: nothing in the dictionary describes it.
142
151
  const reason = event.failure?.reason;
143
- if (reason === undefined) {
152
+ const keys = reason !== undefined
153
+ ? FAILURE_BODY_KEYS[reason]
154
+ : undefined;
155
+ if (keys === undefined) {
144
156
  return excerpt ? messages.failureWithExcerpt.replace('{excerpt}', excerpt) : messages.failure;
145
157
  }
146
- const keys = FAILURE_BODY_KEYS[reason];
147
158
  return excerpt
148
159
  ? messages[keys.withExcerpt].replace('{excerpt}', excerpt)
149
160
  : messages[keys.plain];
@@ -168,7 +179,7 @@ function buildPushPayload(event, locale = i18n_config_1.DEFAULT_LOCALE, now = Da
168
179
  ? messages.promptResolved
169
180
  : buildWaitingBody(event, messages, excerpt, now)
170
181
  : event.kind === 'failure'
171
- ? buildFailureBody(event, messages, excerpt)
182
+ ? buildFailureBody(event, messages, excerpt, resolvedLocale)
172
183
  : // Issue #2045: an update notice is a completion by *bucket*, not by
173
184
  // content, so it is the one completion whose body is not "Done".
174
185
  event.updateAvailable
@@ -47,6 +47,13 @@ exports.resetChatTurnProgressState = resetChatTurnProgressState;
47
47
  exports.buildChatTurnProgress = buildChatTurnProgress;
48
48
  exports.emitChatTurnProgress = emitChatTurnProgress;
49
49
  const db_1 = require("../../lib/db");
50
+ // Issue #2429: the send ledger, read directly from `chat-db` rather than from
51
+ // the `@/lib/db` barrel because that barrel does not re-export it. It is the
52
+ // SAME row `commandmate wait` asks for over
53
+ // `GET /api/worktrees/:id/messages?limit=1&unit=pairs` (see `readNewestPromptAt`
54
+ // in `cli/commands/wait.ts`), so the server and the CLI cannot disagree about
55
+ // when this instance was last handed a prompt.
56
+ const chat_db_1 = require("../../lib/db/chat-db");
50
57
  const unclassified_frame_tracker_1 = require("../../lib/detection/unclassified-frame-tracker");
51
58
  const composer_text_1 = require("../../lib/detection/composer-text");
52
59
  const upstream_faults_1 = require("../../lib/detection/upstream-faults");
@@ -354,7 +361,7 @@ function summarizeAskUserQuestion(episode) {
354
361
  * @param turn - The published turn record for this instance, or null. Read only
355
362
  * for {@link hookClosedTurn}; `structured` remains the status authority.
356
363
  */
357
- function mergeStructuredStatus(scraper, structured, promptWaiting = null, turn = null) {
364
+ function mergeStructuredStatus(scraper, structured, promptWaiting = null, turn = null, lastPromptAt = null) {
358
365
  if (scraper.status === 'waiting') {
359
366
  return { ...scraper, structuredApplied: false };
360
367
  }
@@ -379,6 +386,13 @@ function mergeStructuredStatus(scraper, structured, promptWaiting = null, turn =
379
386
  if (structured === null || structured.status === 'waiting') {
380
387
  return { ...scraper, structuredApplied: false };
381
388
  }
389
+ // Issue #2429: the structured `ready` is about a turn older than the prompt
390
+ // this instance is currently answering, and the screen says so. See
391
+ // {@link structuredReadyPredatesPrompt} for why that combination is the only
392
+ // one in which the scraper wins a `running`.
393
+ if (structuredReadyPredatesPrompt(scraper, structured, turn, lastPromptAt)) {
394
+ return { ...scraper, structuredApplied: false };
395
+ }
382
396
  const thinking = structured.status === 'running';
383
397
  // Issue #2011 (対応 2): the agent's own turn close IS positive evidence.
384
398
  //
@@ -439,6 +453,135 @@ function hookClosedTurn(turn) {
439
453
  const { closedBy, closedAt, openedAt } = turn;
440
454
  return closedBy === 'stop' && closedAt !== null && openedAt !== null && closedAt > openedAt;
441
455
  }
456
+ /**
457
+ * Whether a structured `ready` could be about a turn that ended before the
458
+ * prompt now on screen (Issue #2429).
459
+ *
460
+ * The cheap half of {@link structuredReadyPredatesPrompt}, split out because
461
+ * `buildPayload` asks it FIRST: it is the gate on the one database read this
462
+ * rule needs, and a session that is not in this state must not pay for the send
463
+ * ledger on every poll. One expression, two callers — the alternative is the
464
+ * "two expressions for one fact" the merge's own docblock says is how this
465
+ * layer drifts.
466
+ *
467
+ * Three conjuncts, and all three are about the same instant:
468
+ *
469
+ * - **the screen is positively generating.** `ScraperVerdict.thinking` is
470
+ * `isGeneratingStatus`, i.e. `running` with `thinking_indicator` /
471
+ * `opencode_processing_indicator` behind it — a spinner, `✻ Thinking…` or
472
+ * `esc to interrupt` that a tool's own pattern matched. It is deliberately
473
+ * NOT `scraper.status === 'running'`: the `no_recent_output` and
474
+ * `unknown_frame` floors are also `running`, and neither is evidence of
475
+ * anything. A frame that merely stopped changing must never retire a `Stop`
476
+ * the agent actually sent.
477
+ * - **the structured layer says `ready`.** `running` and `waiting` already win
478
+ * on their own paths and are not in question here.
479
+ * - **that `ready` came from the agent's own `Stop`.**
480
+ * `getStructuredSessionState` publishes `ready / hook_stop` exactly when the
481
+ * turn record carries `closedBy: 'stop'` with a `closedAt`, so the record is
482
+ * read rather than the folded reason.
483
+ *
484
+ * `openedAt` is deliberately not required, which is what separates this from
485
+ * {@link hookClosedTurn}. A `Stop` that arrived with no turn open publishes
486
+ * `openedAt: null`, and for the tool this Issue was reported from that is the
487
+ * ORDINARY shape: Command Code cannot emit `UserPromptSubmit` (its loader
488
+ * validates the event name against a closed list) and emits no
489
+ * `PreToolUse` / `PostToolUse` on a turn that calls no tool, so nothing ever
490
+ * opens the turn. Requiring an `openedAt` here would exclude precisely the case
491
+ * this rule exists for.
492
+ */
493
+ function staleReadyCandidate(scraper, structured, turn) {
494
+ if (!scraper.thinking)
495
+ return false;
496
+ if (structured === null || structured.status !== 'ready')
497
+ return false;
498
+ if (turn === null)
499
+ return false;
500
+ return turn.closedBy === 'stop' && turn.closedAt !== null;
501
+ }
502
+ /**
503
+ * Whether the structured layer's `ready` has been outlived by the newest prompt
504
+ * this instance was handed (Issue #2429).
505
+ *
506
+ * ## The defect this closes
507
+ *
508
+ * The merge above prefers the agent's own account to the screen, and until this
509
+ * Issue the only exception was a scraper `waiting` (#1708). That is correct for
510
+ * every tool that can say when a turn BEGINS — claude, codex, copilot, gemini
511
+ * and antigravity all post a turn-opening event, so a live turn replaces the
512
+ * previous turn's `stop` before the first generating frame is ever read.
513
+ *
514
+ * Command Code can post neither: no `UserPromptSubmit`, and no `PreToolUse` /
515
+ * `PostToolUse` on a turn that calls no tool. The previous turn's `ready /
516
+ * hook_stop` therefore stays the newest structured fact for the whole of the
517
+ * next turn, and the merge published it over a pane that was visibly generating.
518
+ * Measured 2026-09-08 on a 19 s turn: `sessionStatus` read `ready / hook_stop`
519
+ * from 4 s to 18 s while the status row said `esc to interrupt`. `commandmate
520
+ * wait` reads that field — not the frame — for "is at its composer", so #1975's
521
+ * 60 s unanswered-prompt hold was the only thing standing between a long turn
522
+ * and a `basis=scraper_ready` completion reported before the reply existed.
523
+ *
524
+ * ## Why a comparison rather than a timer
525
+ *
526
+ * The same comparison `wait` already makes (`outstandingPrompt`), against the
527
+ * same two server-stamped facts: the turn's `closedAt`, and the timestamp of
528
+ * the newest user row in the chat ledger. A `Stop` that POSTDATES the newest
529
+ * prompt is this turn's own — the agent finished, the spinner on the frame is a
530
+ * repaint that has not settled, and the structured `ready` keeps winning. A
531
+ * `Stop` that predates it has reported neither the start nor the end of the
532
+ * work now on screen, and about that work it says nothing at all.
533
+ *
534
+ * Shortening #1975's hold would have been the other repair, and the Issue rules
535
+ * it out for a reason worth restating here: the hold is what stops a false
536
+ * completion during a turn nobody has reported yet, so a shorter one moves the
537
+ * false completion earlier rather than removing it.
538
+ *
539
+ * @param lastPromptAt - Epoch ms of the newest prompt handed to this instance,
540
+ * or null when the ledger was not read or holds none. Null decides nothing:
541
+ * an unreadable ledger is not evidence that nothing was sent, so the
542
+ * structured verdict stands exactly as it did before this Issue.
543
+ */
544
+ function structuredReadyPredatesPrompt(scraper, structured, turn, lastPromptAt) {
545
+ if (lastPromptAt === null)
546
+ return false;
547
+ if (!staleReadyCandidate(scraper, structured, turn))
548
+ return false;
549
+ const closedAt = turn?.closedAt ?? null;
550
+ return closedAt !== null && closedAt < lastPromptAt;
551
+ }
552
+ /**
553
+ * When this instance was last handed a prompt, or null (Issue #2429).
554
+ *
555
+ * The server's half of the comparison `commandmate wait` makes over HTTP. Both
556
+ * sides read the same row — the newest `role: 'user'` message scoped to this
557
+ * (worktree, tool, instance) — so the field this function feeds and the notice
558
+ * `wait` prints cannot describe different sends.
559
+ *
560
+ * Best effort, like {@link recordUnclassifiedFrame} and
561
+ * {@link recordStructuredPrompt}: the caller is building a payload, and a
562
+ * ledger that cannot be read must cost this one comparison and nothing else.
563
+ * Null is reported rather than a guess, and null leaves the pre-#2429
564
+ * precedence in place — an unreadable ledger is not evidence that nothing was
565
+ * sent, which is the position `wait` takes on the same read.
566
+ */
567
+ function readNewestPromptAt(db, worktreeId, cliToolId, instanceId) {
568
+ try {
569
+ const row = (0, chat_db_1.getLastUserMessageForInstance)(db, worktreeId, cliToolId, instanceId);
570
+ if (!row)
571
+ return null;
572
+ const at = row.timestamp instanceof Date ? row.timestamp.getTime() : NaN;
573
+ return Number.isFinite(at) ? at : null;
574
+ }
575
+ catch (error) {
576
+ logger.debug('newest-prompt-read-failed', {
577
+ worktreeId,
578
+ cliToolId,
579
+ instanceId,
580
+ error: error instanceof Error ? error.message : String(error),
581
+ });
582
+ return null;
583
+ }
584
+ }
442
585
  /**
443
586
  * Build the current-output payload for a worktree session.
444
587
  *
@@ -766,19 +909,28 @@ async function buildPayload(db, worktreeId, cliToolId, instanceId) {
766
909
  structuredEvents.promptWaitingSince = promptWaiting.at;
767
910
  structuredEvents.promptWaitingSource = promptWaiting.source;
768
911
  }
769
- const merged = mergeStructuredStatus({
912
+ const scraperVerdict = {
770
913
  status: statusResult.status,
771
914
  reason: statusResult.reason,
772
915
  thinking,
773
916
  evidence,
774
917
  isUnclassifiedActive,
775
- }, structured, promptWaiting,
918
+ };
919
+ // Issue #2429: the send ledger, read ONLY when it could change the verdict.
920
+ // `staleReadyCandidate` is the merge's own first three conjuncts, so the two
921
+ // cannot disagree about when this read is needed — and every other poll (an
922
+ // idle pane, a turn the agent has opened, a tool that reports its own start)
923
+ // costs exactly what it did before this Issue, which is nothing.
924
+ const lastPromptAt = staleReadyCandidate(scraperVerdict, structured, structuredEvents)
925
+ ? readNewestPromptAt(db, worktreeId, cliToolId, resolvedInstanceId)
926
+ : null;
927
+ const merged = mergeStructuredStatus(scraperVerdict, structured, promptWaiting,
776
928
  // Issue #2011: the same record `structuredEvents` publishes, read once. The
777
929
  // merge needs `closedBy` / `closedAt` / `openedAt`, which
778
930
  // `StructuredSessionState` folds away into `hook_stop` — and the folded form
779
931
  // cannot tell a `Stop` that closed a watched turn from one that arrived with
780
932
  // no turn open.
781
- structuredEvents);
933
+ structuredEvents, lastPromptAt);
782
934
  // The OR rule, computed once for the whole server (Issue #1737): this is the
783
935
  // same `resolvePromptWaiting` call the `send` guard makes, so the payload and
784
936
  // the guard cannot disagree about whether a prompt is open. What they are
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "commandmate",
3
- "version": "0.32.1",
3
+ "version": "0.33.1",
4
4
  "description": "A local control plane for agent CLIs — orchestration and visibility for Claude Code, Codex, Gemini CLI, and more across Git worktrees",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11,66,74,219,263,341,532,543,640,836,865,890,960,1099,1123,1158,1164,1274,1295,1310,1317,1327,1337,1360,1363,1377,1421,1437,1490,1517,1523,1645,1652,1745,1796,1972,2017,2046,2117,2132,2149,2207,2260,2344,2360,2464,2548,2609,2786,2852,2893,3002,3175,3298,3350,3657,3685,3792,3797,3845,3965,3969,3990,4016,4035,4042,4199,4225,4240,4260,4275,4468,4476,4594,4614,4748,4767,4779,4907,4961,4985,5004,5286,5332,5522,5580,5657,5683,5832,6067,6140,6194,6248,6393,6451,6564,6635,6680,6734,6824,6839,7e3,7115,7238,7345,7435,7473,7509,7560,7670,7758,7760,7870,7895,7939,8043,8238,8418,8457,8460,8464,8472,8489,8509,8544,8658,8710,8914,8979,9015,9059,9114,9162,9245,9281,9282,9325,9416,9549,9602,9792,9932,9946,9968,9996],{84441:()=>{}},_=>{_.O(0,[8441,1255,7358],()=>_(_.s=84441)),_N_E=_.O()}]);