commandmate 0.29.1 → 0.29.2

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 (906) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +458 -414
  3. package/.next/app-path-routes-manifest.json +32 -26
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +15 -15
  6. package/.next/react-loadable-manifest.json +3 -3
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/routes-manifest.json +17 -0
  9. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  10. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/agents/update/route.js +2 -0
  12. package/.next/server/app/api/agents/update/route.js.nft.json +1 -0
  13. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -0
  14. package/.next/server/app/api/agents/versions/route.js +1 -0
  15. package/.next/server/app/api/agents/versions/route.js.nft.json +1 -0
  16. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -0
  17. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/app/update-check/route.js +1 -1
  19. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/assistant/conversation/route.js +1 -1
  21. package/.next/server/app/api/assistant/conversation/route.js.nft.json +1 -1
  22. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/assistant/current-output/route.js +1 -1
  24. package/.next/server/app/api/assistant/current-output/route.js.nft.json +1 -1
  25. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/assistant/messages/route.js +1 -1
  27. package/.next/server/app/api/assistant/messages/route.js.nft.json +1 -1
  28. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/assistant/session/route.js +1 -1
  30. package/.next/server/app/api/assistant/session/route.js.nft.json +1 -1
  31. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/assistant/start/route.js +2 -2
  33. package/.next/server/app/api/assistant/start/route.js.nft.json +1 -1
  34. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/assistant/terminal/route.js +1 -1
  36. package/.next/server/app/api/assistant/terminal/route.js.nft.json +1 -1
  37. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/assistant/tools/route.js +1 -1
  39. package/.next/server/app/api/assistant/tools/route.js.nft.json +1 -1
  40. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/capabilities/route.js +1 -1
  45. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/daily-summary/route.js +1 -1
  47. package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
  48. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/daily-summary/status/route.js +1 -1
  50. package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
  51. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/external-apps/[id]/health/route.js +1 -1
  53. package/.next/server/app/api/external-apps/[id]/health/route.js.nft.json +1 -1
  54. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/external-apps/[id]/route.js +1 -1
  56. package/.next/server/app/api/external-apps/[id]/route.js.nft.json +1 -1
  57. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/external-apps/route.js +1 -1
  59. package/.next/server/app/api/external-apps/route.js.nft.json +1 -1
  60. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/fs/browse/route.js +1 -7
  62. package/.next/server/app/api/fs/browse/route.js.nft.json +1 -1
  63. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/fs/recent-paths/route.js +1 -7
  65. package/.next/server/app/api/fs/recent-paths/route.js.nft.json +1 -1
  66. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/hooks/agent-event/route.js +1 -1
  68. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  69. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  71. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  72. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  74. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  75. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/metrics/vibe/route.js +2 -2
  77. package/.next/server/app/api/metrics/vibe/route.js.nft.json +1 -1
  78. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/push/escalation/route.js +7 -1
  81. package/.next/server/app/api/push/escalation/route.js.nft.json +1 -1
  82. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/push/subscriptions/route.js +1 -1
  84. package/.next/server/app/api/push/subscriptions/route.js.nft.json +1 -1
  85. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/push/vapid/route.js +7 -1
  87. package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
  88. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/repositories/[id]/route.js +1 -1
  91. package/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
  92. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js +1 -1
  94. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js.nft.json +1 -1
  95. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/repositories/[id]/todos/route.js +1 -1
  97. package/.next/server/app/api/repositories/[id]/todos/route.js.nft.json +1 -1
  98. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  100. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  101. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/repositories/clone/route.js +1 -1
  103. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  104. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/repositories/excluded/route.js +1 -1
  106. package/.next/server/app/api/repositories/excluded/route.js.nft.json +1 -1
  107. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/repositories/restore/route.js +1 -1
  109. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  110. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/repositories/route.js +1 -1
  112. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  113. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/repositories/scan/route.js +1 -1
  115. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  116. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/repositories/sync/route.js +1 -1
  118. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  119. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/repositories/validate-path/route.js +1 -1
  121. package/.next/server/app/api/repositories/validate-path/route.js.nft.json +1 -1
  122. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/settings/default-agents/route.js +1 -0
  124. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -0
  125. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -0
  126. package/.next/server/app/api/sidebar/group-order/route.js +1 -7
  127. package/.next/server/app/api/sidebar/group-order/route.js.nft.json +1 -1
  128. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/skills/[id]/route.js +1 -1
  130. package/.next/server/app/api/skills/[id]/route.js.nft.json +1 -1
  131. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/skills/installations/route.js +2 -2
  133. package/.next/server/app/api/skills/installations/route.js.nft.json +1 -1
  134. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/skills/operations/route.js +2 -2
  136. package/.next/server/app/api/skills/operations/route.js.nft.json +1 -1
  137. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/skills/reindex/route.js +1 -1
  139. package/.next/server/app/api/skills/reindex/route.js.nft.json +1 -1
  140. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/skills/route.js +1 -1
  142. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  143. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/slash-commands/route.js +1 -1
  145. package/.next/server/app/api/slash-commands/route.js.nft.json +1 -1
  146. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/tasks/[taskId]/cancel/route.js +1 -1
  148. package/.next/server/app/api/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  149. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
  151. package/.next/server/app/api/tasks/[taskId]/route.js.nft.json +1 -1
  152. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/templates/[id]/route.js +2 -2
  154. package/.next/server/app/api/templates/[id]/route.js.nft.json +1 -1
  155. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/templates/route.js +2 -2
  157. package/.next/server/app/api/templates/route.js.nft.json +1 -1
  158. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/todos/route.js +1 -1
  160. package/.next/server/app/api/todos/route.js.nft.json +1 -1
  161. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
  163. package/.next/server/app/api/verification/runs/[runId]/route.js.nft.json +1 -1
  164. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/verification/runs/route.js +1 -1
  166. package/.next/server/app/api/verification/runs/route.js.nft.json +1 -1
  167. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  170. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  173. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  176. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js.nft.json +1 -1
  179. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +2 -2
  181. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
  182. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -2
  184. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  185. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/env/route.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/env/route.js.nft.json +1 -1
  188. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js.nft.json +1 -1
  191. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +2 -2
  193. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
  194. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js.nft.json +1 -1
  197. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
  199. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js.nft.json +1 -1
  200. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
  202. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js.nft.json +1 -1
  203. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/git/branches/route.js.nft.json +1 -1
  206. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  207. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js.nft.json +1 -1
  209. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  210. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/git/commit/route.js.nft.json +1 -1
  212. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/git/diff/route.js.nft.json +1 -1
  215. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js.nft.json +1 -1
  218. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
  220. package/.next/server/app/api/worktrees/[id]/git/log/route.js.nft.json +1 -1
  221. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  222. package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
  223. package/.next/server/app/api/worktrees/[id]/git/pull/route.js.nft.json +1 -1
  224. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  225. package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
  226. package/.next/server/app/api/worktrees/[id]/git/push/route.js.nft.json +1 -1
  227. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  228. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  229. package/.next/server/app/api/worktrees/[id]/git/reset/route.js.nft.json +1 -1
  230. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  231. package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
  232. package/.next/server/app/api/worktrees/[id]/git/revert/route.js.nft.json +1 -1
  233. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  234. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
  235. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js.nft.json +1 -1
  236. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  237. package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
  238. package/.next/server/app/api/worktrees/[id]/git/stage/route.js.nft.json +1 -1
  239. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  240. package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
  241. package/.next/server/app/api/worktrees/[id]/git/staged/route.js.nft.json +1 -1
  242. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  243. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
  244. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js.nft.json +1 -1
  245. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  246. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
  247. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js.nft.json +1 -1
  248. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  249. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
  250. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js.nft.json +1 -1
  251. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  252. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  253. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js.nft.json +1 -1
  254. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  255. package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
  256. package/.next/server/app/api/worktrees/[id]/git/stash/route.js.nft.json +1 -1
  257. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  258. package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
  259. package/.next/server/app/api/worktrees/[id]/git/status/route.js.nft.json +1 -1
  260. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  261. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
  262. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js.nft.json +1 -1
  263. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  264. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
  265. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js.nft.json +1 -1
  266. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  267. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js +1 -1
  268. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  269. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  270. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  271. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  272. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  273. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  274. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  275. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  276. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
  277. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js.nft.json +1 -1
  278. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  279. package/.next/server/app/api/worktrees/[id]/logs/route.js +2 -2
  280. package/.next/server/app/api/worktrees/[id]/logs/route.js.nft.json +1 -1
  281. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  282. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +3 -3
  283. package/.next/server/app/api/worktrees/[id]/marp-render/route.js.nft.json +1 -1
  284. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  285. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  286. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js.nft.json +1 -1
  287. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  288. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  289. package/.next/server/app/api/worktrees/[id]/memos/route.js.nft.json +1 -1
  290. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  291. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  292. package/.next/server/app/api/worktrees/[id]/messages/route.js.nft.json +1 -1
  293. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  294. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js +1 -1
  295. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js.nft.json +1 -1
  296. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  297. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +1 -1
  298. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
  299. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  300. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +1 -1
  301. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
  302. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  303. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  304. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  305. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  306. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
  307. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js.nft.json +1 -1
  308. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  309. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  310. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  311. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  312. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  313. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  314. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  315. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +2 -2
  316. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
  317. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  318. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
  319. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
  320. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  321. package/.next/server/app/api/worktrees/[id]/schedules/route.js +2 -2
  322. package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
  323. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  324. package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
  325. package/.next/server/app/api/worktrees/[id]/search/route.js.nft.json +1 -1
  326. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  327. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -7
  328. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  329. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  330. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +1 -1
  331. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  332. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  333. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
  334. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
  335. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  336. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
  337. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
  338. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  339. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
  340. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
  341. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  342. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
  343. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
  344. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  345. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js +1 -1
  346. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -1
  347. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  348. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
  349. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -1
  350. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  351. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  352. package/.next/server/app/api/worktrees/[id]/skills/route.js.nft.json +1 -1
  353. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  354. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  355. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
  356. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  357. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  358. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  359. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  360. package/.next/server/app/api/worktrees/[id]/start-polling/route.js +1 -1
  361. package/.next/server/app/api/worktrees/[id]/start-polling/route.js.nft.json +1 -1
  362. package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
  363. package/.next/server/app/api/worktrees/[id]/tasks/route.js +1 -1
  364. package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +1 -1
  365. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  366. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
  367. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  368. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  369. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  370. package/.next/server/app/api/worktrees/[id]/timers/history/route.js.nft.json +1 -1
  371. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  372. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  373. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  374. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  375. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
  376. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js.nft.json +1 -1
  377. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  378. package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
  379. package/.next/server/app/api/worktrees/[id]/todos/route.js.nft.json +1 -1
  380. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  381. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
  382. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js.nft.json +1 -1
  383. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  384. package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
  385. package/.next/server/app/api/worktrees/[id]/tree/route.js.nft.json +1 -1
  386. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  387. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js +1 -1
  388. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js.nft.json +1 -1
  389. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  390. package/.next/server/app/api/worktrees/[id]/verify/config/route.js +2 -0
  391. package/.next/server/app/api/worktrees/[id]/verify/config/route.js.nft.json +1 -0
  392. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -0
  393. package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
  394. package/.next/server/app/api/worktrees/[id]/verify/route.js.nft.json +1 -1
  395. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  396. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -0
  397. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js.nft.json +1 -0
  398. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -0
  399. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
  400. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js.nft.json +1 -1
  401. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  402. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
  403. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js.nft.json +1 -1
  404. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  405. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  406. package/.next/server/app/api/worktrees/[id]/viewed/route.js.nft.json +1 -1
  407. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  408. package/.next/server/app/api/worktrees/apply-default-agents/route.js +1 -0
  409. package/.next/server/app/api/worktrees/apply-default-agents/route.js.nft.json +1 -0
  410. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -0
  411. package/.next/server/app/api/worktrees/route.js +1 -1
  412. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  413. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  414. package/.next/server/app/chat/page.js +2 -2
  415. package/.next/server/app/chat/page.js.nft.json +1 -1
  416. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  417. package/.next/server/app/login/page.js +2 -2
  418. package/.next/server/app/login/page.js.nft.json +1 -1
  419. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  420. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  421. package/.next/server/app/more/page.js +2 -2
  422. package/.next/server/app/more/page.js.nft.json +1 -1
  423. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  424. package/.next/server/app/offline/page.js.nft.json +1 -1
  425. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  426. package/.next/server/app/page.js +1 -1
  427. package/.next/server/app/page.js.nft.json +1 -1
  428. package/.next/server/app/page_client-reference-manifest.js +1 -1
  429. package/.next/server/app/proxy/[...path]/route.js +1 -1
  430. package/.next/server/app/proxy/[...path]/route.js.nft.json +1 -1
  431. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  432. package/.next/server/app/repositories/page.js +2 -2
  433. package/.next/server/app/repositories/page.js.nft.json +1 -1
  434. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  435. package/.next/server/app/review/page.js +1 -1
  436. package/.next/server/app/review/page.js.nft.json +1 -1
  437. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  438. package/.next/server/app/sessions/page.js +1 -1
  439. package/.next/server/app/sessions/page.js.nft.json +1 -1
  440. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  441. package/.next/server/app/skills/[skillId]/page.js +2 -2
  442. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  443. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  444. package/.next/server/app/skills/installed/page.js +2 -2
  445. package/.next/server/app/skills/installed/page.js.nft.json +1 -1
  446. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  447. package/.next/server/app/skills/page.js +2 -2
  448. package/.next/server/app/skills/page.js.nft.json +1 -1
  449. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  450. package/.next/server/app/worktrees/[id]/files/[...path]/page.js +2 -2
  451. package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
  452. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  453. package/.next/server/app/worktrees/[id]/page.js +12 -12
  454. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  455. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  456. package/.next/server/app/worktrees/[id]/terminal/page.js +3 -3
  457. package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
  458. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  459. package/.next/server/app-paths-manifest.json +32 -26
  460. package/.next/server/chunks/1058.js +1 -1
  461. package/.next/server/chunks/1068.js +1 -1
  462. package/.next/server/chunks/1341.js +1 -0
  463. package/.next/server/chunks/1501.js +5 -0
  464. package/.next/server/chunks/1886.js +3 -4
  465. package/.next/server/chunks/2119.js +1 -1
  466. package/.next/server/chunks/2198.js +1 -0
  467. package/.next/server/chunks/221.js +7 -1
  468. package/.next/server/chunks/2445.js +1 -1
  469. package/.next/server/chunks/2759.js +1 -1
  470. package/.next/server/chunks/3543.js +1 -1
  471. package/.next/server/chunks/3558.js +1 -1
  472. package/.next/server/chunks/3707.js +15 -0
  473. package/.next/server/chunks/3722.js +25 -1
  474. package/.next/server/chunks/3869.js +1 -0
  475. package/.next/server/chunks/3945.js +1 -1
  476. package/.next/server/chunks/4299.js +1 -1
  477. package/.next/server/chunks/4390.js +1 -0
  478. package/.next/server/chunks/4393.js +1 -1
  479. package/.next/server/chunks/5017.js +1 -1
  480. package/.next/server/chunks/5164.js +1 -1
  481. package/.next/server/chunks/5571.js +1 -1
  482. package/.next/server/chunks/6130.js +1 -1
  483. package/.next/server/chunks/6285.js +1 -1
  484. package/.next/server/chunks/6781.js +1 -1
  485. package/.next/server/chunks/7366.js +5 -0
  486. package/.next/server/chunks/7824.js +1 -1
  487. package/.next/server/chunks/7905.js +1 -1
  488. package/.next/server/chunks/8118.js +1 -0
  489. package/.next/server/chunks/848.js +1 -1
  490. package/.next/server/chunks/880.js +3 -3
  491. package/.next/server/chunks/8800.js +3 -0
  492. package/.next/server/chunks/9123.js +2 -2
  493. package/.next/server/chunks/9508.js +1 -1
  494. package/.next/server/chunks/9627.js +30 -24
  495. package/.next/server/middleware-build-manifest.js +1 -1
  496. package/.next/server/middleware-manifest.json +5 -5
  497. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  498. package/.next/server/pages/500.html +1 -1
  499. package/.next/server/server-reference-manifest.json +1 -1
  500. package/.next/static/0YoRrahue4Vchxg1z83IQ/_buildManifest.js +1 -0
  501. package/.next/static/chunks/1379-af7af9e08f47c979.js +1 -0
  502. package/.next/static/chunks/{2053-c0e931eb4391baa1.js → 2053-3f299a7a2c7d6767.js} +1 -1
  503. package/.next/static/chunks/3922.9c1ec01fff819c88.js +1 -0
  504. package/.next/static/chunks/{3968-8d8ca15657748bfb.js → 4882-388e94fe0a03c2ba.js} +1 -1
  505. package/.next/static/chunks/5229-b2a81bb8fb5c19e9.js +1 -0
  506. package/.next/static/chunks/6381-9ba5198c0a6ff197.js +1 -0
  507. package/.next/static/chunks/8019-f8e73c1fb5f6f0d3.js +1 -0
  508. package/.next/static/chunks/{1188-8567ee5ecfef02ee.js → 8593-fa0eb2802e0ce68a.js} +1 -1
  509. package/.next/static/chunks/app/api/agents/update/route-1c30fb8d4d6fa6ef.js +1 -0
  510. package/.next/static/chunks/app/api/agents/versions/route-1c30fb8d4d6fa6ef.js +1 -0
  511. package/.next/static/chunks/app/api/app/update/route-1c30fb8d4d6fa6ef.js +1 -0
  512. package/.next/static/chunks/app/api/app/update-check/route-1c30fb8d4d6fa6ef.js +1 -0
  513. package/.next/static/chunks/app/api/assistant/conversation/route-1c30fb8d4d6fa6ef.js +1 -0
  514. package/.next/static/chunks/app/api/assistant/current-output/route-1c30fb8d4d6fa6ef.js +1 -0
  515. package/.next/static/chunks/app/api/assistant/messages/route-1c30fb8d4d6fa6ef.js +1 -0
  516. package/.next/static/chunks/app/api/assistant/session/route-1c30fb8d4d6fa6ef.js +1 -0
  517. package/.next/static/chunks/app/api/assistant/start/route-1c30fb8d4d6fa6ef.js +1 -0
  518. package/.next/static/chunks/app/api/assistant/terminal/route-1c30fb8d4d6fa6ef.js +1 -0
  519. package/.next/static/chunks/app/api/assistant/tools/route-1c30fb8d4d6fa6ef.js +1 -0
  520. package/.next/static/chunks/app/api/auth/login/route-1c30fb8d4d6fa6ef.js +1 -0
  521. package/.next/static/chunks/app/api/auth/logout/route-1c30fb8d4d6fa6ef.js +1 -0
  522. package/.next/static/chunks/app/api/auth/status/route-1c30fb8d4d6fa6ef.js +1 -0
  523. package/.next/static/chunks/app/api/capabilities/route-1c30fb8d4d6fa6ef.js +1 -0
  524. package/.next/static/chunks/app/api/daily-summary/route-1c30fb8d4d6fa6ef.js +1 -0
  525. package/.next/static/chunks/app/api/daily-summary/status/route-1c30fb8d4d6fa6ef.js +1 -0
  526. package/.next/static/chunks/app/api/external-apps/[id]/health/route-1c30fb8d4d6fa6ef.js +1 -0
  527. package/.next/static/chunks/app/api/external-apps/[id]/route-1c30fb8d4d6fa6ef.js +1 -0
  528. package/.next/static/chunks/app/api/external-apps/route-1c30fb8d4d6fa6ef.js +1 -0
  529. package/.next/static/chunks/app/api/fs/browse/route-1c30fb8d4d6fa6ef.js +1 -0
  530. package/.next/static/chunks/app/api/fs/recent-paths/route-1c30fb8d4d6fa6ef.js +1 -0
  531. package/.next/static/chunks/app/api/hooks/agent-event/route-1c30fb8d4d6fa6ef.js +1 -0
  532. package/.next/static/chunks/app/api/hooks/claude-done/route-1c30fb8d4d6fa6ef.js +1 -0
  533. package/.next/static/chunks/app/api/hooks/permission-request/route-1c30fb8d4d6fa6ef.js +1 -0
  534. package/.next/static/chunks/app/api/metrics/vibe/route-1c30fb8d4d6fa6ef.js +1 -0
  535. package/.next/static/chunks/app/api/ollama/models/route-1c30fb8d4d6fa6ef.js +1 -0
  536. package/.next/static/chunks/app/api/push/escalation/route-1c30fb8d4d6fa6ef.js +1 -0
  537. package/.next/static/chunks/app/api/push/subscriptions/route-1c30fb8d4d6fa6ef.js +1 -0
  538. package/.next/static/chunks/app/api/push/vapid/route-1c30fb8d4d6fa6ef.js +1 -0
  539. package/.next/static/chunks/app/api/remote/pair/route-1c30fb8d4d6fa6ef.js +1 -0
  540. package/.next/static/chunks/app/api/repositories/[id]/route-1c30fb8d4d6fa6ef.js +1 -0
  541. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-1c30fb8d4d6fa6ef.js +1 -0
  542. package/.next/static/chunks/app/api/repositories/[id]/todos/route-1c30fb8d4d6fa6ef.js +1 -0
  543. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-1c30fb8d4d6fa6ef.js +1 -0
  544. package/.next/static/chunks/app/api/repositories/clone/route-1c30fb8d4d6fa6ef.js +1 -0
  545. package/.next/static/chunks/app/api/repositories/excluded/route-1c30fb8d4d6fa6ef.js +1 -0
  546. package/.next/static/chunks/app/api/repositories/restore/route-1c30fb8d4d6fa6ef.js +1 -0
  547. package/.next/static/chunks/app/api/repositories/route-1c30fb8d4d6fa6ef.js +1 -0
  548. package/.next/static/chunks/app/api/repositories/scan/route-1c30fb8d4d6fa6ef.js +1 -0
  549. package/.next/static/chunks/app/api/repositories/sync/route-1c30fb8d4d6fa6ef.js +1 -0
  550. package/.next/static/chunks/app/api/repositories/validate-path/route-1c30fb8d4d6fa6ef.js +1 -0
  551. package/.next/static/chunks/app/api/settings/default-agents/route-1c30fb8d4d6fa6ef.js +1 -0
  552. package/.next/static/chunks/app/api/sidebar/group-order/route-1c30fb8d4d6fa6ef.js +1 -0
  553. package/.next/static/chunks/app/api/skills/[id]/route-1c30fb8d4d6fa6ef.js +1 -0
  554. package/.next/static/chunks/app/api/skills/installations/route-1c30fb8d4d6fa6ef.js +1 -0
  555. package/.next/static/chunks/app/api/skills/operations/route-1c30fb8d4d6fa6ef.js +1 -0
  556. package/.next/static/chunks/app/api/skills/reindex/route-1c30fb8d4d6fa6ef.js +1 -0
  557. package/.next/static/chunks/app/api/skills/route-1c30fb8d4d6fa6ef.js +1 -0
  558. package/.next/static/chunks/app/api/slash-commands/route-1c30fb8d4d6fa6ef.js +1 -0
  559. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-1c30fb8d4d6fa6ef.js +1 -0
  560. package/.next/static/chunks/app/api/tasks/[taskId]/route-1c30fb8d4d6fa6ef.js +1 -0
  561. package/.next/static/chunks/app/api/templates/[id]/route-1c30fb8d4d6fa6ef.js +1 -0
  562. package/.next/static/chunks/app/api/templates/route-1c30fb8d4d6fa6ef.js +1 -0
  563. package/.next/static/chunks/app/api/todos/route-1c30fb8d4d6fa6ef.js +1 -0
  564. package/.next/static/chunks/app/api/verification/runs/[runId]/route-1c30fb8d4d6fa6ef.js +1 -0
  565. package/.next/static/chunks/app/api/verification/runs/route-1c30fb8d4d6fa6ef.js +1 -0
  566. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-1c30fb8d4d6fa6ef.js +1 -0
  567. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-1c30fb8d4d6fa6ef.js +1 -0
  568. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-1c30fb8d4d6fa6ef.js +1 -0
  569. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-1c30fb8d4d6fa6ef.js +1 -0
  570. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-1c30fb8d4d6fa6ef.js +1 -0
  571. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-1c30fb8d4d6fa6ef.js +1 -0
  572. package/.next/static/chunks/app/api/worktrees/[id]/env/route-1c30fb8d4d6fa6ef.js +1 -0
  573. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-1c30fb8d4d6fa6ef.js +1 -0
  574. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-1c30fb8d4d6fa6ef.js +1 -0
  575. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-1c30fb8d4d6fa6ef.js +1 -0
  576. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-1c30fb8d4d6fa6ef.js +1 -0
  577. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-1c30fb8d4d6fa6ef.js +1 -0
  578. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-1c30fb8d4d6fa6ef.js +1 -0
  579. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-1c30fb8d4d6fa6ef.js +1 -0
  580. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-1c30fb8d4d6fa6ef.js +1 -0
  581. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-1c30fb8d4d6fa6ef.js +1 -0
  582. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-1c30fb8d4d6fa6ef.js +1 -0
  583. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-1c30fb8d4d6fa6ef.js +1 -0
  584. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-1c30fb8d4d6fa6ef.js +1 -0
  585. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-1c30fb8d4d6fa6ef.js +1 -0
  586. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-1c30fb8d4d6fa6ef.js +1 -0
  587. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-1c30fb8d4d6fa6ef.js +1 -0
  588. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-1c30fb8d4d6fa6ef.js +1 -0
  589. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-1c30fb8d4d6fa6ef.js +1 -0
  590. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-1c30fb8d4d6fa6ef.js +1 -0
  591. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-1c30fb8d4d6fa6ef.js +1 -0
  592. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-1c30fb8d4d6fa6ef.js +1 -0
  593. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-1c30fb8d4d6fa6ef.js +1 -0
  594. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-1c30fb8d4d6fa6ef.js +1 -0
  595. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-1c30fb8d4d6fa6ef.js +1 -0
  596. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-1c30fb8d4d6fa6ef.js +1 -0
  597. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-1c30fb8d4d6fa6ef.js +1 -0
  598. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-1c30fb8d4d6fa6ef.js +1 -0
  599. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-1c30fb8d4d6fa6ef.js +1 -0
  600. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-1c30fb8d4d6fa6ef.js +1 -0
  601. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-1c30fb8d4d6fa6ef.js +1 -0
  602. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-1c30fb8d4d6fa6ef.js +1 -0
  603. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-1c30fb8d4d6fa6ef.js +1 -0
  604. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-1c30fb8d4d6fa6ef.js +1 -0
  605. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-1c30fb8d4d6fa6ef.js +1 -0
  606. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-1c30fb8d4d6fa6ef.js +1 -0
  607. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-1c30fb8d4d6fa6ef.js +1 -0
  608. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-1c30fb8d4d6fa6ef.js +1 -0
  609. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-1c30fb8d4d6fa6ef.js +1 -0
  610. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-1c30fb8d4d6fa6ef.js +1 -0
  611. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-1c30fb8d4d6fa6ef.js +1 -0
  612. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-1c30fb8d4d6fa6ef.js +1 -0
  613. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-1c30fb8d4d6fa6ef.js +1 -0
  614. package/.next/static/chunks/app/api/worktrees/[id]/route-1c30fb8d4d6fa6ef.js +1 -0
  615. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-1c30fb8d4d6fa6ef.js +1 -0
  616. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-1c30fb8d4d6fa6ef.js +1 -0
  617. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-1c30fb8d4d6fa6ef.js +1 -0
  618. package/.next/static/chunks/app/api/worktrees/[id]/search/route-1c30fb8d4d6fa6ef.js +1 -0
  619. package/.next/static/chunks/app/api/worktrees/[id]/send/route-1c30fb8d4d6fa6ef.js +1 -0
  620. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-1c30fb8d4d6fa6ef.js +1 -0
  621. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-1c30fb8d4d6fa6ef.js +1 -0
  622. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-1c30fb8d4d6fa6ef.js +1 -0
  623. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-1c30fb8d4d6fa6ef.js +1 -0
  624. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-1c30fb8d4d6fa6ef.js +1 -0
  625. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-1c30fb8d4d6fa6ef.js +1 -0
  626. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-1c30fb8d4d6fa6ef.js +1 -0
  627. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-1c30fb8d4d6fa6ef.js +1 -0
  628. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-1c30fb8d4d6fa6ef.js +1 -0
  629. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-1c30fb8d4d6fa6ef.js +1 -0
  630. package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-1c30fb8d4d6fa6ef.js +1 -0
  631. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-1c30fb8d4d6fa6ef.js +1 -0
  632. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-1c30fb8d4d6fa6ef.js +1 -0
  633. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-1c30fb8d4d6fa6ef.js +1 -0
  634. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-1c30fb8d4d6fa6ef.js +1 -0
  635. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-1c30fb8d4d6fa6ef.js +1 -0
  636. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-1c30fb8d4d6fa6ef.js +1 -0
  637. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-1c30fb8d4d6fa6ef.js +1 -0
  638. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-1c30fb8d4d6fa6ef.js +1 -0
  639. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-1c30fb8d4d6fa6ef.js +1 -0
  640. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-1c30fb8d4d6fa6ef.js +1 -0
  641. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-1c30fb8d4d6fa6ef.js +1 -0
  642. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-1c30fb8d4d6fa6ef.js +1 -0
  643. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-1c30fb8d4d6fa6ef.js +1 -0
  644. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-1c30fb8d4d6fa6ef.js +1 -0
  645. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-1c30fb8d4d6fa6ef.js +1 -0
  646. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-1c30fb8d4d6fa6ef.js +1 -0
  647. package/.next/static/chunks/app/api/worktrees/route-1c30fb8d4d6fa6ef.js +1 -0
  648. package/.next/static/chunks/app/chat/{page-231df45127e876c2.js → page-9aa2011410895b0d.js} +1 -1
  649. package/.next/static/chunks/app/login/{page-03659dded846ef1d.js → page-af7241bb4c4a8e59.js} +1 -1
  650. package/.next/static/chunks/app/manifest.webmanifest/route-1c30fb8d4d6fa6ef.js +1 -0
  651. package/.next/static/chunks/app/more/page-75d3783da0d49a25.js +1 -0
  652. package/.next/static/chunks/app/{page-0305431f43195431.js → page-214f7ffa13a0cf10.js} +1 -1
  653. package/.next/static/chunks/app/proxy/[...path]/route-1c30fb8d4d6fa6ef.js +1 -0
  654. package/.next/static/chunks/app/repositories/{page-ae8fa55749976f79.js → page-4951cac905e50224.js} +1 -1
  655. package/.next/static/chunks/app/review/page-a0899b2d285318c3.js +1 -0
  656. package/.next/static/chunks/app/sessions/page-fb36145ec732092a.js +1 -0
  657. package/.next/static/chunks/app/skills/[skillId]/{page-aaf0bcb1dfb558b9.js → page-9099e26b60442873.js} +1 -1
  658. package/.next/static/chunks/app/skills/installed/{page-dafc486410e839b7.js → page-182e32368696d824.js} +1 -1
  659. package/.next/static/chunks/app/skills/{page-9e3c91da31514893.js → page-d3fdc88239ebe0ab.js} +1 -1
  660. package/.next/static/chunks/app/worktrees/[id]/files/[...path]/{page-90f96977c741bbf8.js → page-f3361237420719b4.js} +1 -1
  661. package/.next/static/chunks/app/worktrees/[id]/layout-1c30fb8d4d6fa6ef.js +1 -0
  662. package/.next/static/chunks/app/worktrees/[id]/page-ce6279d581d1df95.js +1 -0
  663. package/.next/static/chunks/{webpack-7e79064bfce988d7.js → webpack-9f75198882fdaf08.js} +1 -1
  664. package/.next/static/css/b326c8a734e1928e.css +1 -0
  665. package/.next/trace +13 -13
  666. package/.next/types/app/api/agents/update/route.ts +347 -0
  667. package/.next/types/app/api/agents/versions/route.ts +347 -0
  668. package/.next/types/app/api/settings/default-agents/route.ts +347 -0
  669. package/.next/types/app/api/worktrees/[id]/verify/config/route.ts +347 -0
  670. package/.next/types/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.ts +347 -0
  671. package/.next/types/app/api/worktrees/apply-default-agents/route.ts +347 -0
  672. package/.next/types/routes.d.ts +7 -1
  673. package/.next/types/validator.ts +54 -0
  674. package/dist/cli/commands/agents.d.ts +35 -0
  675. package/dist/cli/commands/agents.d.ts.map +1 -0
  676. package/dist/cli/commands/agents.js +212 -0
  677. package/dist/cli/commands/ls.d.ts.map +1 -1
  678. package/dist/cli/commands/ls.js +18 -0
  679. package/dist/cli/commands/verify.d.ts.map +1 -1
  680. package/dist/cli/commands/verify.js +111 -0
  681. package/dist/cli/config/cli-dependencies.d.ts.map +1 -1
  682. package/dist/cli/config/cli-dependencies.js +11 -0
  683. package/dist/cli/docs/agent-operations.d.ts +1 -1
  684. package/dist/cli/docs/agent-operations.d.ts.map +1 -1
  685. package/dist/cli/docs/agent-operations.js +30 -0
  686. package/dist/cli/program.d.ts.map +1 -1
  687. package/dist/cli/program.js +6 -0
  688. package/dist/cli/types/api-responses.d.ts +58 -0
  689. package/dist/cli/types/api-responses.d.ts.map +1 -1
  690. package/dist/cli/types/index.d.ts +8 -0
  691. package/dist/cli/types/index.d.ts.map +1 -1
  692. package/dist/cli/utils/preflight.d.ts.map +1 -1
  693. package/dist/cli/utils/preflight.js +6 -0
  694. package/dist/config/system-directories.d.ts +101 -0
  695. package/dist/config/system-directories.d.ts.map +1 -0
  696. package/dist/config/system-directories.js +211 -0
  697. package/dist/lib/cli-tools/types.d.ts +15 -1
  698. package/dist/lib/cli-tools/types.d.ts.map +1 -1
  699. package/dist/lib/detection/status-reason.d.ts +92 -0
  700. package/dist/lib/detection/status-reason.d.ts.map +1 -0
  701. package/dist/lib/detection/status-reason.js +94 -0
  702. package/dist/lib/updates/agent-updater.d.ts +247 -0
  703. package/dist/lib/updates/agent-updater.d.ts.map +1 -0
  704. package/dist/lib/updates/agent-updater.js +373 -0
  705. package/dist/lib/updates/agent-versions.d.ts +77 -0
  706. package/dist/lib/updates/agent-versions.d.ts.map +1 -0
  707. package/dist/lib/updates/agent-versions.js +138 -0
  708. package/dist/lib/updates/codex-version.d.ts +184 -0
  709. package/dist/lib/updates/codex-version.d.ts.map +1 -0
  710. package/dist/lib/updates/codex-version.js +215 -0
  711. package/dist/lib/verification/verify-config.d.ts +202 -0
  712. package/dist/lib/verification/verify-config.d.ts.map +1 -0
  713. package/dist/lib/verification/verify-config.js +429 -0
  714. package/dist/lib/verification/verify-draft.d.ts +182 -0
  715. package/dist/lib/verification/verify-draft.d.ts.map +1 -0
  716. package/dist/lib/verification/verify-draft.js +570 -0
  717. package/dist/server/src/cli/types/api-responses.js +9 -0
  718. package/dist/server/src/config/cli-tool-timing-config.js +15 -1
  719. package/dist/server/src/config/codex-update-dialog-config.js +154 -0
  720. package/dist/server/src/config/default-agents.js +138 -0
  721. package/dist/server/src/lib/cli-tools/antigravity.js +36 -12
  722. package/dist/server/src/lib/cli-tools/base.js +131 -0
  723. package/dist/server/src/lib/cli-tools/codex.js +350 -100
  724. package/dist/server/src/lib/cli-tools/copilot.js +34 -10
  725. package/dist/server/src/lib/cli-tools/gemini.js +34 -10
  726. package/dist/server/src/lib/cli-tools/liveness-spec.js +214 -0
  727. package/dist/server/src/lib/cli-tools/opencode.js +72 -19
  728. package/dist/server/src/lib/cli-tools/session-liveness.js +64 -0
  729. package/dist/server/src/lib/cli-tools/vibe-local.js +30 -10
  730. package/dist/server/src/lib/db/app-settings-db.js +142 -0
  731. package/dist/server/src/lib/db/worktree-db.js +178 -3
  732. package/dist/server/src/lib/detection/status-reason.js +17 -0
  733. package/dist/server/src/lib/detection/tool-liveness.js +233 -0
  734. package/dist/server/src/lib/detection/version-probes.js +290 -0
  735. package/dist/server/src/lib/git/worktrees.js +10 -0
  736. package/dist/server/src/lib/repo-config/agents-config.js +298 -0
  737. package/dist/server/src/lib/selected-agents-validator.js +93 -23
  738. package/dist/server/src/lib/session/claude-session.js +39 -108
  739. package/dist/server/src/lib/tmux/tmux.js +29 -0
  740. package/dist/server/src/lib/updates/agent-updater.js +373 -0
  741. package/dist/server/src/lib/updates/agent-versions.js +138 -0
  742. package/dist/server/src/lib/updates/codex-version.js +215 -0
  743. package/dist/server/src/lib/updates/index.js +42 -0
  744. package/dist/server/src/lib/verification/gate-runner.js +298 -37
  745. package/dist/server/src/lib/verification/machine-lock.js +11 -0
  746. package/dist/server/src/lib/verification/run-verdict-vocabulary.js +151 -0
  747. package/dist/server/src/lib/verification/verify-config.js +33 -0
  748. package/dist/server/src/types/sidebar.js +40 -9
  749. package/dist/types/cli-tool-contracts.d.ts +119 -0
  750. package/dist/types/cli-tool-contracts.d.ts.map +1 -1
  751. package/package.json +1 -1
  752. package/.next/server/chunks/1601.js +0 -7
  753. package/.next/server/chunks/222.js +0 -1
  754. package/.next/server/chunks/2366.js +0 -1
  755. package/.next/server/chunks/4689.js +0 -25
  756. package/.next/server/chunks/5089.js +0 -1
  757. package/.next/server/chunks/6274.js +0 -14
  758. package/.next/server/chunks/9067.js +0 -1
  759. package/.next/server/chunks/9373.js +0 -9
  760. package/.next/static/Dvfs4ZThl5vBhJGP-ZQuJ/_buildManifest.js +0 -1
  761. package/.next/static/chunks/3361-aa1b6e7c1d7eeeb4.js +0 -1
  762. package/.next/static/chunks/3922.0d2e64daf9f187da.js +0 -1
  763. package/.next/static/chunks/5229-580b581fce5aeb52.js +0 -1
  764. package/.next/static/chunks/6381-9a929249196a0e77.js +0 -1
  765. package/.next/static/chunks/app/api/app/update/route-e3626364434d521b.js +0 -1
  766. package/.next/static/chunks/app/api/app/update-check/route-e3626364434d521b.js +0 -1
  767. package/.next/static/chunks/app/api/assistant/conversation/route-e3626364434d521b.js +0 -1
  768. package/.next/static/chunks/app/api/assistant/current-output/route-e3626364434d521b.js +0 -1
  769. package/.next/static/chunks/app/api/assistant/messages/route-e3626364434d521b.js +0 -1
  770. package/.next/static/chunks/app/api/assistant/session/route-e3626364434d521b.js +0 -1
  771. package/.next/static/chunks/app/api/assistant/start/route-e3626364434d521b.js +0 -1
  772. package/.next/static/chunks/app/api/assistant/terminal/route-e3626364434d521b.js +0 -1
  773. package/.next/static/chunks/app/api/assistant/tools/route-e3626364434d521b.js +0 -1
  774. package/.next/static/chunks/app/api/auth/login/route-e3626364434d521b.js +0 -1
  775. package/.next/static/chunks/app/api/auth/logout/route-e3626364434d521b.js +0 -1
  776. package/.next/static/chunks/app/api/auth/status/route-e3626364434d521b.js +0 -1
  777. package/.next/static/chunks/app/api/capabilities/route-e3626364434d521b.js +0 -1
  778. package/.next/static/chunks/app/api/daily-summary/route-e3626364434d521b.js +0 -1
  779. package/.next/static/chunks/app/api/daily-summary/status/route-e3626364434d521b.js +0 -1
  780. package/.next/static/chunks/app/api/external-apps/[id]/health/route-e3626364434d521b.js +0 -1
  781. package/.next/static/chunks/app/api/external-apps/[id]/route-e3626364434d521b.js +0 -1
  782. package/.next/static/chunks/app/api/external-apps/route-e3626364434d521b.js +0 -1
  783. package/.next/static/chunks/app/api/fs/browse/route-e3626364434d521b.js +0 -1
  784. package/.next/static/chunks/app/api/fs/recent-paths/route-e3626364434d521b.js +0 -1
  785. package/.next/static/chunks/app/api/hooks/agent-event/route-e3626364434d521b.js +0 -1
  786. package/.next/static/chunks/app/api/hooks/claude-done/route-e3626364434d521b.js +0 -1
  787. package/.next/static/chunks/app/api/hooks/permission-request/route-e3626364434d521b.js +0 -1
  788. package/.next/static/chunks/app/api/metrics/vibe/route-e3626364434d521b.js +0 -1
  789. package/.next/static/chunks/app/api/ollama/models/route-e3626364434d521b.js +0 -1
  790. package/.next/static/chunks/app/api/push/escalation/route-e3626364434d521b.js +0 -1
  791. package/.next/static/chunks/app/api/push/subscriptions/route-e3626364434d521b.js +0 -1
  792. package/.next/static/chunks/app/api/push/vapid/route-e3626364434d521b.js +0 -1
  793. package/.next/static/chunks/app/api/remote/pair/route-e3626364434d521b.js +0 -1
  794. package/.next/static/chunks/app/api/repositories/[id]/route-e3626364434d521b.js +0 -1
  795. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-e3626364434d521b.js +0 -1
  796. package/.next/static/chunks/app/api/repositories/[id]/todos/route-e3626364434d521b.js +0 -1
  797. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-e3626364434d521b.js +0 -1
  798. package/.next/static/chunks/app/api/repositories/clone/route-e3626364434d521b.js +0 -1
  799. package/.next/static/chunks/app/api/repositories/excluded/route-e3626364434d521b.js +0 -1
  800. package/.next/static/chunks/app/api/repositories/restore/route-e3626364434d521b.js +0 -1
  801. package/.next/static/chunks/app/api/repositories/route-e3626364434d521b.js +0 -1
  802. package/.next/static/chunks/app/api/repositories/scan/route-e3626364434d521b.js +0 -1
  803. package/.next/static/chunks/app/api/repositories/sync/route-e3626364434d521b.js +0 -1
  804. package/.next/static/chunks/app/api/repositories/validate-path/route-e3626364434d521b.js +0 -1
  805. package/.next/static/chunks/app/api/sidebar/group-order/route-e3626364434d521b.js +0 -1
  806. package/.next/static/chunks/app/api/skills/[id]/route-e3626364434d521b.js +0 -1
  807. package/.next/static/chunks/app/api/skills/installations/route-e3626364434d521b.js +0 -1
  808. package/.next/static/chunks/app/api/skills/operations/route-e3626364434d521b.js +0 -1
  809. package/.next/static/chunks/app/api/skills/reindex/route-e3626364434d521b.js +0 -1
  810. package/.next/static/chunks/app/api/skills/route-e3626364434d521b.js +0 -1
  811. package/.next/static/chunks/app/api/slash-commands/route-e3626364434d521b.js +0 -1
  812. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-e3626364434d521b.js +0 -1
  813. package/.next/static/chunks/app/api/tasks/[taskId]/route-e3626364434d521b.js +0 -1
  814. package/.next/static/chunks/app/api/templates/[id]/route-e3626364434d521b.js +0 -1
  815. package/.next/static/chunks/app/api/templates/route-e3626364434d521b.js +0 -1
  816. package/.next/static/chunks/app/api/todos/route-e3626364434d521b.js +0 -1
  817. package/.next/static/chunks/app/api/verification/runs/[runId]/route-e3626364434d521b.js +0 -1
  818. package/.next/static/chunks/app/api/verification/runs/route-e3626364434d521b.js +0 -1
  819. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-e3626364434d521b.js +0 -1
  820. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-e3626364434d521b.js +0 -1
  821. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-e3626364434d521b.js +0 -1
  822. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-e3626364434d521b.js +0 -1
  823. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-e3626364434d521b.js +0 -1
  824. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-e3626364434d521b.js +0 -1
  825. package/.next/static/chunks/app/api/worktrees/[id]/env/route-e3626364434d521b.js +0 -1
  826. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-e3626364434d521b.js +0 -1
  827. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-e3626364434d521b.js +0 -1
  828. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-e3626364434d521b.js +0 -1
  829. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-e3626364434d521b.js +0 -1
  830. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-e3626364434d521b.js +0 -1
  831. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-e3626364434d521b.js +0 -1
  832. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-e3626364434d521b.js +0 -1
  833. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-e3626364434d521b.js +0 -1
  834. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-e3626364434d521b.js +0 -1
  835. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-e3626364434d521b.js +0 -1
  836. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-e3626364434d521b.js +0 -1
  837. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-e3626364434d521b.js +0 -1
  838. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-e3626364434d521b.js +0 -1
  839. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-e3626364434d521b.js +0 -1
  840. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-e3626364434d521b.js +0 -1
  841. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-e3626364434d521b.js +0 -1
  842. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-e3626364434d521b.js +0 -1
  843. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-e3626364434d521b.js +0 -1
  844. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-e3626364434d521b.js +0 -1
  845. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-e3626364434d521b.js +0 -1
  846. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-e3626364434d521b.js +0 -1
  847. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-e3626364434d521b.js +0 -1
  848. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-e3626364434d521b.js +0 -1
  849. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-e3626364434d521b.js +0 -1
  850. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-e3626364434d521b.js +0 -1
  851. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-e3626364434d521b.js +0 -1
  852. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-e3626364434d521b.js +0 -1
  853. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-e3626364434d521b.js +0 -1
  854. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-e3626364434d521b.js +0 -1
  855. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-e3626364434d521b.js +0 -1
  856. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-e3626364434d521b.js +0 -1
  857. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-e3626364434d521b.js +0 -1
  858. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-e3626364434d521b.js +0 -1
  859. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-e3626364434d521b.js +0 -1
  860. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-e3626364434d521b.js +0 -1
  861. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-e3626364434d521b.js +0 -1
  862. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-e3626364434d521b.js +0 -1
  863. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-e3626364434d521b.js +0 -1
  864. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-e3626364434d521b.js +0 -1
  865. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-e3626364434d521b.js +0 -1
  866. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-e3626364434d521b.js +0 -1
  867. package/.next/static/chunks/app/api/worktrees/[id]/route-e3626364434d521b.js +0 -1
  868. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-e3626364434d521b.js +0 -1
  869. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-e3626364434d521b.js +0 -1
  870. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-e3626364434d521b.js +0 -1
  871. package/.next/static/chunks/app/api/worktrees/[id]/search/route-e3626364434d521b.js +0 -1
  872. package/.next/static/chunks/app/api/worktrees/[id]/send/route-e3626364434d521b.js +0 -1
  873. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-e3626364434d521b.js +0 -1
  874. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-e3626364434d521b.js +0 -1
  875. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-e3626364434d521b.js +0 -1
  876. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-e3626364434d521b.js +0 -1
  877. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-e3626364434d521b.js +0 -1
  878. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-e3626364434d521b.js +0 -1
  879. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-e3626364434d521b.js +0 -1
  880. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-e3626364434d521b.js +0 -1
  881. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-e3626364434d521b.js +0 -1
  882. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-e3626364434d521b.js +0 -1
  883. package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-e3626364434d521b.js +0 -1
  884. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-e3626364434d521b.js +0 -1
  885. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-e3626364434d521b.js +0 -1
  886. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-e3626364434d521b.js +0 -1
  887. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-e3626364434d521b.js +0 -1
  888. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-e3626364434d521b.js +0 -1
  889. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-e3626364434d521b.js +0 -1
  890. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-e3626364434d521b.js +0 -1
  891. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-e3626364434d521b.js +0 -1
  892. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-e3626364434d521b.js +0 -1
  893. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-e3626364434d521b.js +0 -1
  894. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-e3626364434d521b.js +0 -1
  895. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-e3626364434d521b.js +0 -1
  896. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-e3626364434d521b.js +0 -1
  897. package/.next/static/chunks/app/api/worktrees/route-e3626364434d521b.js +0 -1
  898. package/.next/static/chunks/app/manifest.webmanifest/route-e3626364434d521b.js +0 -1
  899. package/.next/static/chunks/app/more/page-03867ab635d197c7.js +0 -1
  900. package/.next/static/chunks/app/proxy/[...path]/route-e3626364434d521b.js +0 -1
  901. package/.next/static/chunks/app/review/page-9a6d18ddcccbb63c.js +0 -1
  902. package/.next/static/chunks/app/sessions/page-4d5382b257077c14.js +0 -1
  903. package/.next/static/chunks/app/worktrees/[id]/layout-e3626364434d521b.js +0 -1
  904. package/.next/static/chunks/app/worktrees/[id]/page-817378dd7c580774.js +0 -1
  905. package/.next/static/css/6266bde3bce465a2.css +0 -1
  906. /package/.next/static/{Dvfs4ZThl5vBhJGP-ZQuJ → 0YoRrahue4Vchxg1z83IQ}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=3945,exports.ids=[3945],exports.modules={53945:a=>{a.exports=JSON.parse('{"sessions":{"idleAgents":"アイドル {count} 件","activeAgents":"稼働 {count} 件","title":"セッション","description":"全リポジトリの worktree セッション。","filterPlaceholder":"名前またはリポジトリで絞り込み...","filterAriaLabel":"名前またはリポジトリでセッションを絞り込む","sortByAriaLabel":"並び替え","sortAscending":"昇順に並び替え","sortDescending":"降順に並び替え","loadingAriaLabel":"セッションを読み込み中","refreshError":"セッションの更新に失敗しました: {message}","loadError":"セッションの読み込みに失敗しました: {message}","noMatching":"一致するセッションがありません。","empty":"セッションがまだありません。"},"nav":{"home":"ホーム","chat":"チャット","sessions":"セッション","repositories":"リポジトリ","repositoriesShort":"リポジトリ","review":"レビュー","reviewReport":"レビュー/レポート","more":"その他","skills":"スキル"},"repositories":{"empty":"リポジトリが登録されていません。","add":"リポジトリを追加","syncAll":"すべて同期","syncing":"同期中...","addNewTitle":"リポジトリを新規追加","localPathTab":"ローカルパス","cloneUrlTab":"クローン URL","localPathDescription":"worktree を含む git リポジトリの絶対パスを入力してください。","localPathLabel":"リポジトリパス","localPathExample":"例: {example}","localPathAllowedRoots":"許可ルート: {roots}","browse":"参照…","pickerTitle":"リポジトリのフォルダを選択","pickerRootsLabel":"許可ルート","pickerRecentLabel":"最近使ったパス","pickerSelectHere":"このフォルダを選択","pickerUp":"1 階層上へ","pickerEmpty":"サブフォルダがありません。","pickerTruncated":"先頭 {limit} 件のみ表示しています。","pickerLoading":"読み込み中…","pickerWorktreeCount":"worktree {count} 件","validationGitRepo":"git リポジトリです(worktree {count} 件検出)","validationNotGitRepo":"このフォルダは git リポジトリではありません。","validationNotFound":"このフォルダは存在しません。","validationOutsideRoots":"許可ルート外です({roots})。","scan":"スキャンして追加","scanning":"スキャン中...","cloneUrlDescription":"リモートリポジトリをクローンする git の URL を入力してください。","cloneUrlLabel":"クローン URL","cloneUrlHelp":"HTTPS と SSH の URL に対応しています","clone":"クローン","forkAndClone":"Fork して追加","forkOptionLabel":"追加前に fork する(gh repo fork)","forkOptionHelp":"自分の GitHub アカウントに fork を作成し、それをクローンします(origin=自分の fork、upstream=元リポジトリ)。認証済みの GitHub CLI(gh)が必要です。","cloning":"クローン中...","cloneSuccess":"リポジトリをクローンしました","cloneFailed":"クローンに失敗しました","pathRequired":"リポジトリパスを入力してください","urlRequired":"クローン URL を入力してください","urlInvalid":"URL の形式が正しくありません","loading":"リポジトリを読み込み中","filterAll":"すべて ({count})","filterDisabled":"無効化中 ({count})","emptyDisabled":"走査対象から外したリポジトリはありません。","disableConfirmTitle":"走査対象から外しますか?","disableConfirmBody":"「{name}」は今後 worktree の走査対象から外れます。\\n\\n削除は行いません: {count} 件の worktree と、そのチャット履歴・タスク・検証実行はデータベースに残り、稼働中の tmux セッションもそのまま動き続けます。\\n\\nworktree はサイドバーにも残ります。非表示にする場合は Visibility トグルを使ってください。","disableConfirmAction":"走査対象から外す","disableSuccess":"「{name}」を走査対象から外しました。","enableSuccess":"「{name}」を走査対象に戻しました (worktree {count} 件)。","duplicateScanRootWarning":"既存の scan root と同じ git リポジトリです: {paths}。両方が走査され、共有している worktree はすべて二重に登録されます。","duplicateConfirmTitle":"同じリポジトリの scan root をもう 1 つ登録しますか?","duplicateConfirmBody":"「{path}」は次と同じ git リポジトリです:\\n{paths}\\n\\nどちらの root も同じ worktree を列挙するため、同期のたびに各 worktree が二重に登録され、「リポジトリパス」が実行ごとに入れ替わります。\\n\\nこの登録自体は可能です。これらの worktree を別々の root として管理したい場合はそのまま続行してください。そうでなければキャンセルするか、後から Repositories 一覧の Scan トグルで片方を走査対象から外してください。","duplicateConfirmAction":"このまま追加","duplicateRowBadge":"scan root 重複","duplicateRowDetail":"{paths} と同じ git リポジトリです。どちらかの行の Scan トグルで走査対象から外せます。"},"cancel":"キャンセル","send":"送信","sending":"送信中...","sendMessagePlaceholder":"メッセージを送信...","end":"終了する","ending":"終了中...","retry":"再試行","reload":"再読み込み","reconnect":"再接続","close":"閉じる","back":"戻る","menu":"メニュー","sidebar":{"open":"サイドバーを開く","close":"サイドバーを閉じる","branchNavigation":"ブランチナビゲーション","branches":"ブランチ","searchBranches":"ブランチを検索...","noBranchesFound":"ブランチが見つかりません","noBranchesAvailable":"ブランチがありません","loadingBranches":"ブランチを読み込み中...","branchesLoadFailed":"ブランチを取得できませんでした","retryLoadBranches":"再試行","dragToReorderGroup":"ドラッグでグループを並べ替え","switchToFlatView":"フラット表示に切り替え","switchToGroupedView":"グループ表示に切り替え"},"confirmDelete":"「{name}」を削除しますか?","favorites":{"add":"お気に入りに追加","remove":"お気に入りを解除"},"syncSuccess":"{count}件のworktreeを同期しました","syncError":"同期に失敗しました","syncAuthError":"認証エラー","syncButtonLabel":"ブランチを同期","tooltips":{"viewMode":"表示モード切替(グループ / フラット)","sort":"ブランチの並び替え","sync":"worktree を同期","repositories":"リポジトリを管理(追加・同期)"},"displaySize":{"ariaLabel":"表示サイズ","large":"大","medium":"中","small":"小","xsmall":"極小"},"confirmDialog":{"title":"確認","confirm":"OK"},"language":"言語","loadingPage":"ページを読み込み中","closeNotification":"通知を閉じる","status":{"idle":"アイドル","ready":"準備完了","running":"実行中","generating":"生成中","waiting":"応答待ち","error":"エラー","unknown":"不明"},"sort":{"options":"並び替えオプション","updatedAt":"更新日時","repositoryName":"リポジトリ","branchName":"ブランチ","status":"ステータス","lastSent":"最終送信"},"branchItem":{"cliToolStatus":"CLI ツールのステータス","hasUnread":"未読メッセージあり"},"connection":{"reconnecting":"再接続中","offline":"オフライン","reconnectingTooltip":"ライブ接続を再確立しています(ポーリングで動作中)","offlineTooltip":"ライブ接続なし(ポーリングで動作中)"},"versionMismatch":{"title":"新しいバージョンが起動しています","description":"サーバーは {serverVersion} になりましたが、このタブは {clientVersion} のままです。最新の状態にするには再読み込みしてください。","reload":"再読み込み","dismiss":"閉じる"},"meta":{"description":"Claude CLI と tmux セッションによる Git worktree 管理"},"attention":{"label":"要対応","badgeLabel":"要対応のワークツリーが {count} 件あります"}}')}};
1
+ "use strict";exports.id=3945,exports.ids=[3945],exports.modules={53945:a=>{a.exports=JSON.parse('{"sessions":{"idleAgents":"アイドル {count} 件","activeAgents":"稼働 {count} 件","title":"セッション","description":"全リポジトリの worktree セッション。","filterPlaceholder":"名前またはリポジトリで絞り込み...","filterAriaLabel":"名前またはリポジトリでセッションを絞り込む","sortByAriaLabel":"並び替え","sortAscending":"昇順に並び替え","sortDescending":"降順に並び替え","loadingAriaLabel":"セッションを読み込み中","refreshError":"セッションの更新に失敗しました: {message}","loadError":"セッションの読み込みに失敗しました: {message}","noMatching":"一致するセッションがありません。","empty":"セッションがまだありません。"},"nav":{"home":"ホーム","chat":"チャット","sessions":"セッション","repositories":"リポジトリ","repositoriesShort":"リポジトリ","review":"レビュー","reviewReport":"レビュー/レポート","more":"その他","skills":"スキル"},"repositories":{"empty":"リポジトリが登録されていません。","add":"リポジトリを追加","syncAll":"すべて同期","syncing":"同期中...","addNewTitle":"リポジトリを新規追加","localPathTab":"ローカルパス","cloneUrlTab":"クローン URL","localPathDescription":"worktree を含む git リポジトリの絶対パスを入力してください。","localPathLabel":"リポジトリパス","localPathExample":"例: {example}","localPathAllowedRoots":"許可ルート: {roots}","browse":"参照…","pickerTitle":"リポジトリのフォルダを選択","pickerRootsLabel":"許可ルート","pickerRecentLabel":"最近使ったパス","pickerSelectHere":"このフォルダを選択","pickerUp":"1 階層上へ","pickerEmpty":"サブフォルダがありません。","pickerTruncated":"先頭 {limit} 件のみ表示しています。","pickerLoading":"読み込み中…","pickerWorktreeCount":"worktree {count} 件","validationGitRepo":"git リポジトリです(worktree {count} 件検出)","validationNotGitRepo":"このフォルダは git リポジトリではありません。","validationNotFound":"このフォルダは存在しません。","validationOutsideRoots":"許可ルート外です({roots})。","scan":"スキャンして追加","scanning":"スキャン中...","cloneUrlDescription":"リモートリポジトリをクローンする git の URL を入力してください。","cloneUrlLabel":"クローン URL","cloneUrlHelp":"HTTPS と SSH の URL に対応しています","clone":"クローン","forkAndClone":"Fork して追加","forkOptionLabel":"追加前に fork する(gh repo fork)","forkOptionHelp":"自分の GitHub アカウントに fork を作成し、それをクローンします(origin=自分の fork、upstream=元リポジトリ)。認証済みの GitHub CLI(gh)が必要です。","cloning":"クローン中...","cloneSuccess":"リポジトリをクローンしました","cloneFailed":"クローンに失敗しました","pathRequired":"リポジトリパスを入力してください","urlRequired":"クローン URL を入力してください","urlInvalid":"URL の形式が正しくありません","loading":"リポジトリを読み込み中","filterAll":"すべて ({count})","filterDisabled":"無効化中 ({count})","emptyDisabled":"走査対象から外したリポジトリはありません。","disableConfirmTitle":"走査対象から外しますか?","disableConfirmBody":"「{name}」は今後 worktree の走査対象から外れます。\\n\\n削除は行いません: {count} 件の worktree と、そのチャット履歴・タスク・検証実行はデータベースに残り、稼働中の tmux セッションもそのまま動き続けます。\\n\\nworktree はサイドバーにも残ります。非表示にする場合は Visibility トグルを使ってください。","disableConfirmAction":"走査対象から外す","disableSuccess":"「{name}」を走査対象から外しました。","enableSuccess":"「{name}」を走査対象に戻しました (worktree {count} 件)。","duplicateScanRootWarning":"既存の scan root と同じ git リポジトリです: {paths}。両方が走査され、共有している worktree はすべて二重に登録されます。","duplicateConfirmTitle":"同じリポジトリの scan root をもう 1 つ登録しますか?","duplicateConfirmBody":"「{path}」は次と同じ git リポジトリです:\\n{paths}\\n\\nどちらの root も同じ worktree を列挙するため、同期のたびに各 worktree が二重に登録され、「リポジトリパス」が実行ごとに入れ替わります。\\n\\nこの登録自体は可能です。これらの worktree を別々の root として管理したい場合はそのまま続行してください。そうでなければキャンセルするか、後から Repositories 一覧の Scan トグルで片方を走査対象から外してください。","duplicateConfirmAction":"このまま追加","duplicateRowBadge":"scan root 重複","duplicateRowDetail":"{paths} と同じ git リポジトリです。どちらかの行の Scan トグルで走査対象から外せます。"},"cancel":"キャンセル","send":"送信","sending":"送信中...","sendMessagePlaceholder":"メッセージを送信...","end":"終了する","ending":"終了中...","retry":"再試行","reload":"再読み込み","reconnect":"再接続","close":"閉じる","back":"戻る","menu":"メニュー","sidebar":{"open":"サイドバーを開く","close":"サイドバーを閉じる","branchNavigation":"ブランチナビゲーション","branches":"ブランチ","searchBranches":"ブランチを検索...","noBranchesFound":"ブランチが見つかりません","noBranchesAvailable":"ブランチがありません","loadingBranches":"ブランチを読み込み中...","branchesLoadFailed":"ブランチを取得できませんでした","retryLoadBranches":"再試行","dragToReorderGroup":"ドラッグでグループを並べ替え","switchToFlatView":"フラット表示に切り替え","switchToGroupedView":"グループ表示に切り替え"},"confirmDelete":"「{name}」を削除しますか?","favorites":{"add":"お気に入りに追加","remove":"お気に入りを解除"},"syncSuccess":"{count}件のworktreeを同期しました","syncError":"同期に失敗しました","syncAuthError":"認証エラー","syncButtonLabel":"ブランチを同期","tooltips":{"viewMode":"表示モード切替(グループ / フラット)","sort":"ブランチの並び替え","sync":"worktree を同期","repositories":"リポジトリを管理(追加・同期)"},"displaySize":{"ariaLabel":"表示サイズ","large":"大","medium":"中","small":"小","xsmall":"極小"},"confirmDialog":{"title":"確認","confirm":"OK"},"language":"言語","loadingPage":"ページを読み込み中","closeNotification":"通知を閉じる","status":{"idle":"アイドル","ready":"準備完了","running":"実行中","generating":"生成中","waiting":"応答待ち","error":"エラー","unknown":"不明"},"sort":{"options":"並び替えオプション","updatedAt":"更新日時","repositoryName":"リポジトリ","branchName":"ブランチ","status":"ステータス","lastSent":"最終送信"},"branchItem":{"cliToolStatus":"CLI ツールのステータス","hasUnread":"未読メッセージあり","agentExited":"終了"},"connection":{"reconnecting":"再接続中","offline":"オフライン","reconnectingTooltip":"ライブ接続を再確立しています(ポーリングで動作中)","offlineTooltip":"ライブ接続なし(ポーリングで動作中)"},"versionMismatch":{"title":"新しいバージョンが起動しています","description":"サーバーは {serverVersion} になりましたが、このタブは {clientVersion} のままです。最新の状態にするには再読み込みしてください。","reload":"再読み込み","dismiss":"閉じる"},"meta":{"description":"Claude CLI と tmux セッションによる Git worktree 管理"},"attention":{"label":"要対応","badgeLabel":"要対応のワークツリーが {count} 件あります"},"agentUpdates":{"title":"エージェント CLI のバージョン","description":"このマシンにインストールされているエージェント CLI のバージョンです。更新はエージェントの pane ではなく別プロセスで実行するため、開いているセッションは中断されません。","installed":"インストール済み {version}","notInstalled":"未インストール","available":"更新あり: {version}","dismissed":"codex 側で「見送り」扱いになっています","update":"更新する","updating":"更新中...","running":"実行中: {command}","succeeded":"{from} から {to} に更新しました。","failed":"更新に失敗しました: {error}","restartWarning":"次のセッションは再起動するまで現在のバージョンのままです: {sessions}","restartNotice":"すでに起動しているセッションは、再起動するまで現在のバージョンのままです。","restart":"{alias} を再起動","restarted":"終了しました。次のメッセージ送信で新しいバージョンが起動します。","restartError":"セッションを再起動できませんでした。","loadError":"エージェント CLI のバージョンを読み取れませんでした。"},"settings":{"title":"設定","defaultAgents":{"title":"新規ブランチの既定エージェント","description":"新しく見つかったブランチが最初に開くエージェントと、その並び順です。先頭が primary(最初に開くタブ / 送り先の既定)になります。","appliesToNew":"既存のブランチには適用されません。すでに開いているブランチのタブ構成はそのまま残ります。","primary":"primary","installed":"インストール済み","notInstalled":"未インストール","addLabel":"追加できるエージェント","add":"追加","remove":"削除","moveUp":"上へ","moveDown":"下へ","save":"保存","saving":"保存中...","saved":"保存しました","reset":"既定に戻す","builtIn":"既定値: {agents}","configured":"設定済み","usingBuiltIn":"既定値を使用中","range":"エージェントは {min} 〜 {max} 個で選択してください。","saveError":"保存に失敗しました。","loadError":"設定を読み込めませんでした。"}}}')}};
@@ -1 +1 @@
1
- "use strict";exports.id=4299,exports.ids=[4299],exports.modules={8953:(a,b,c)=>{c.d(b,{Mx:()=>e,qD:()=>d,sM:()=>h});let d=["Up","Down","Left","Right","Enter","Escape","Tab","BTab","PageUp","PageDown","Home","End","q"],e="C-x",f=["a","l","n","t","m","g","u","r","c"],g=["C-p","C-t"],h=[...d,e,...g,...f];[...d,...g,...f]},40964:(a,b,c)=>{c.d(b,{m:()=>g});var d=c(15194);let e=/^[a-zA-Z0-9_-]+$/;function f(a){if(!e.test(a))throw Error(`Invalid session name format: ${a}`)}function g(a,b,c){let e=`mcbd-${a}-${b}`;if(!c||c===a)return f(e),e;let g=(0,d.pL)(c,a),h=g?`${e}-${g}`:e;return f(h),h}},79892:(a,b,c)=>{c.d(b,{Xg:()=>u,ou:()=>z,Ce:()=>y,jw:()=>q,lA:()=>m,N:()=>o,N6:()=>A,fY:()=>v,GW:()=>p,zT:()=>n,V1:()=>r,ds:()=>x,KB:()=>t,Sb:()=>B});var d=c(79646),e=c(28354),f=c(93997),g=c(16983),h=c(72626),i=c(8953),j=c(86069);let k=(0,e.promisify)(d.execFile),l=(0,h.h)("tmux");function m(a){return`=${a}:`}async function n(a,b={}){let c,d,e,f=b.windowWidth??g.Jn,h=b.windowHeight??g.sO,i=m(a);try{c=(await k("tmux",["show-window-options","-v","-t",i,"window-size"],{timeout:5e3})).stdout.trim();let[a,b]=(await k("tmux",["display-message","-p","-t",i,"#{window_width}|#{window_height}"],{timeout:5e3})).stdout.trim().split("|").map(Number);Number.isFinite(a)&&(d=a),Number.isFinite(b)&&(e=b)}catch{}let j="manual"===c,o=d===f&&e===h;if(j&&o)return!1;try{return j||await k("tmux",["set-window-option","-t",i,"window-size","manual"],{timeout:5e3}),o||await k("tmux",["resize-window","-t",i,"-x",String(f),"-y",String(h)],{timeout:5e3}),!0}catch(b){return l.warn("session-geometry:reconcile-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),!1}}async function o(a){try{return await k("tmux",["has-session","-t",m(a)],{timeout:5e3}),!0}catch{return!1}}async function p(){try{let{stdout:a}=await k("tmux",["list-sessions","-F","#{session_name}|#{session_windows}|#{session_attached}"],{timeout:5e3});if(!a||""===a.trim())return[];return a.trim().split("\n").map(a=>{let[b,c,d]=a.split("|");return{name:b,windows:parseInt(c,10)||0,attached:"1"===d}})}catch{return[]}}async function q(a,b){let c,d,e,f,h;"string"==typeof a?(c=a,d=b,e=g.eu,f=g.Jn,h=g.sO):(c=a.sessionName,d=a.workingDirectory,e=a.historyLimit||g.eu,f=a.windowWidth||g.Jn,h=a.windowHeight||g.sO);try{await k("tmux",["new-session","-d","-s",c,"-c",d,"-x",String(f),"-y",String(h)],{timeout:5e3}),await k("tmux",["set-option","-t",m(c),"history-limit",String(e)],{timeout:5e3});try{await k("tmux",["new-window","-k","-t",`${m(c)}0`,"-c",d],{timeout:5e3})}catch(a){l.warn("session-history-limit:window-rebuild-failed",{sessionName:c,historyLimit:e,error:a instanceof Error?a.message:String(a)})}await n(c,{windowWidth:f,windowHeight:h})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to create tmux session: ${a}`)}}async function r(a,b,c=!0,d){if(d?.literal&&c)throw Error("sendKeys: { literal: true } cannot be combined with sendEnter — a trailing C-m would be typed as text. Send Enter as a separate key.");let e=d?.literal?function(a,b){if("literal"===b.kind)return["send-keys","-t",a,"-l","--",b.text];if(!(0,j.vY)(b.name))throw Error(`Invalid key sequence key name: ${b.name}`);return["send-keys","-t",a,"--",b.name]}(m(a),{kind:"literal",text:b}):c?["send-keys","-t",m(a),b,"C-m"]:["send-keys","-t",m(a),b];try{await k("tmux",e,{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to send keys to tmux session: ${a}`)}}let s=new Set(["Up","Down","Left","Right","Enter","Space","Tab","Escape","BTab","BSpace","DC","PageUp","PageDown","Home","End","q","C-x","C-p","C-t","a","l","n","t","m","g","u","r","c"]);async function t(a,b){if(0!==b.length){for(let a of b)if(!s.has(a))throw Error(`Invalid special key: ${a}`);try{for(let c=0;c<b.length;c++)await k("tmux",["send-keys","-t",m(a),b[c]],{timeout:5e3}),c<b.length-1&&await new Promise(a=>setTimeout(a,100))}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to send special keys to tmux session: ${a}`)}}}async function u(a,b){let c,d;"number"==typeof b?(c=-b,d="-"):b?(c=b.startLine??-1e4,d=b.endLine??"-"):(c=-1e3,d="-");try{let{stdout:b}=await k("tmux",["capture-pane","-t",m(a),"-p","-e","-S",String(c),"-E",String(d)],{timeout:5e3,maxBuffer:0xa00000});return b}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to capture pane: ${a}`)}}async function v(a){try{return await k("tmux",["kill-session","-t",m(a)],{timeout:5e3}),!0}catch(b){let a=b instanceof Error?b.message:String(b);if(a?.includes("no server running")||a?.includes("can't find session"))return!1;throw Error(`Failed to kill tmux session: ${a}`)}}let w=new Set(["Escape","C-c","C-d","C-m","Enter"]);async function x(a,b){if(!w.has(b))throw Error(`Invalid special key: ${b}`);try{await k("tmux",["send-keys","-t",m(a),b],{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to send special key: ${a}`)}}async function y(a){try{await k("tmux",["send-keys","-t",m(a),"C-u"],{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to clear tmux input line: ${a}`)}}async function z(a){try{await k("tmux",["send-keys","-t",m(a),"C-e","C-u"],{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to clear tmux composer line: ${a}`)}}function A(a,b=i.qD){return b.includes(a)&&s.has(a)}async function B(a,b){await t(a,b),(0,f.gm)(a)}},86069:(a,b,c)=>{c.d(b,{IS:()=>e,iF:()=>f,vY:()=>g});let d=["Escape","C-c","C-d","C-m","Enter"];function e(a,b){return void 0===b?{kind:"key",name:a}:{kind:"key",name:a,delayAfterMs:b}}function f(a,b){return void 0===b?{kind:"literal",text:a}:{kind:"literal",text:a,delayAfterMs:b}}function g(a){return d.includes(a)}},93997:(a,b,c)=>{c.d(b,{aq:()=>m,gm:()=>k,pc:()=>l,sl:()=>f,vF:()=>j,wd:()=>i,xE:()=>e});let d=(0,c(72626).h)("tmux-capture-cache"),e=1e4;function f(a,b=e){return b>0&&a>=b}function g(){return globalThis.__tmuxCaptureCache??=new Map}function h(){return globalThis.__tmuxCaptureCacheInflight??=new Map}function i(a,b){if(""===a)return"";let c=a.split("\n");return b>=c.length?a:c.slice(-b).join("\n")}function j(a,b,c){let d=g(),e=Date.now();for(let[a,b]of d)e-b.timestamp>5e3&&d.delete(a);if(d.size>=100&&!d.has(a)){let a=null,b=1/0;for(let[c,e]of d)e.timestamp<b&&(b=e.timestamp,a=c);a&&d.delete(a)}d.set(a,{output:b,capturedLines:c,timestamp:e})}function k(a){g().delete(a),d.debug("cache:invalidate",{sessionName:a})}function l(){g().clear(),h().clear()}async function m(a,b,c){let d=function(a,b){let c=g(),d=c.get(a);return d?Date.now()-d.timestamp>5e3?(c.delete(a),null):b>d.capturedLines?null:i(d.output,b):null}(a,b);if(null!==d)return d;let f=h(),k=f.get(a);if(k)return i(await k,b);let l=c();f.set(a,l);try{let c=await l;return c.length>0&&j(a,c,e),i(c,b)}finally{f.delete(a)}}}};
1
+ "use strict";exports.id=4299,exports.ids=[4299],exports.modules={8953:(a,b,c)=>{c.d(b,{Mx:()=>e,qD:()=>d,sM:()=>h});let d=["Up","Down","Left","Right","Enter","Escape","Tab","BTab","PageUp","PageDown","Home","End","q"],e="C-x",f=["a","l","n","t","m","g","u","r","c"],g=["C-p","C-t"],h=[...d,e,...g,...f];[...d,...g,...f]},40964:(a,b,c)=>{c.d(b,{m:()=>g});var d=c(15194);let e=/^[a-zA-Z0-9_-]+$/;function f(a){if(!e.test(a))throw Error(`Invalid session name format: ${a}`)}function g(a,b,c){let e=`mcbd-${a}-${b}`;if(!c||c===a)return f(e),e;let g=(0,d.pL)(c,a),h=g?`${e}-${g}`:e;return f(h),h}},79892:(a,b,c)=>{c.d(b,{Xg:()=>v,ou:()=>A,Ce:()=>z,jw:()=>r,lA:()=>m,nS:()=>p,N:()=>o,N6:()=>B,fY:()=>w,GW:()=>q,zT:()=>n,V1:()=>s,ds:()=>y,KB:()=>u,Sb:()=>C});var d=c(79646),e=c(28354),f=c(93997),g=c(16983),h=c(72626),i=c(8953),j=c(86069);let k=(0,e.promisify)(d.execFile),l=(0,h.h)("tmux");function m(a){return`=${a}:`}async function n(a,b={}){let c,d,e,f=b.windowWidth??g.Jn,h=b.windowHeight??g.sO,i=m(a);try{c=(await k("tmux",["show-window-options","-v","-t",i,"window-size"],{timeout:5e3})).stdout.trim();let[a,b]=(await k("tmux",["display-message","-p","-t",i,"#{window_width}|#{window_height}"],{timeout:5e3})).stdout.trim().split("|").map(Number);Number.isFinite(a)&&(d=a),Number.isFinite(b)&&(e=b)}catch{}let j="manual"===c,o=d===f&&e===h;if(j&&o)return!1;try{return j||await k("tmux",["set-window-option","-t",i,"window-size","manual"],{timeout:5e3}),o||await k("tmux",["resize-window","-t",i,"-x",String(f),"-y",String(h)],{timeout:5e3}),!0}catch(b){return l.warn("session-geometry:reconcile-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),!1}}async function o(a){try{return await k("tmux",["has-session","-t",m(a)],{timeout:5e3}),!0}catch{return!1}}async function p(a){try{let{stdout:b}=await k("tmux",["display-message","-p","-t",m(a),"#{session_path}"],{timeout:5e3}),c=b.trim();return""===c?null:c}catch{return null}}async function q(){try{let{stdout:a}=await k("tmux",["list-sessions","-F","#{session_name}|#{session_windows}|#{session_attached}"],{timeout:5e3});if(!a||""===a.trim())return[];return a.trim().split("\n").map(a=>{let[b,c,d]=a.split("|");return{name:b,windows:parseInt(c,10)||0,attached:"1"===d}})}catch{return[]}}async function r(a,b){let c,d,e,f,h;"string"==typeof a?(c=a,d=b,e=g.eu,f=g.Jn,h=g.sO):(c=a.sessionName,d=a.workingDirectory,e=a.historyLimit||g.eu,f=a.windowWidth||g.Jn,h=a.windowHeight||g.sO);try{await k("tmux",["new-session","-d","-s",c,"-c",d,"-x",String(f),"-y",String(h)],{timeout:5e3}),await k("tmux",["set-option","-t",m(c),"history-limit",String(e)],{timeout:5e3});try{await k("tmux",["new-window","-k","-t",`${m(c)}0`,"-c",d],{timeout:5e3})}catch(a){l.warn("session-history-limit:window-rebuild-failed",{sessionName:c,historyLimit:e,error:a instanceof Error?a.message:String(a)})}await n(c,{windowWidth:f,windowHeight:h})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to create tmux session: ${a}`)}}async function s(a,b,c=!0,d){if(d?.literal&&c)throw Error("sendKeys: { literal: true } cannot be combined with sendEnter — a trailing C-m would be typed as text. Send Enter as a separate key.");let e=d?.literal?function(a,b){if("literal"===b.kind)return["send-keys","-t",a,"-l","--",b.text];if(!(0,j.vY)(b.name))throw Error(`Invalid key sequence key name: ${b.name}`);return["send-keys","-t",a,"--",b.name]}(m(a),{kind:"literal",text:b}):c?["send-keys","-t",m(a),b,"C-m"]:["send-keys","-t",m(a),b];try{await k("tmux",e,{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to send keys to tmux session: ${a}`)}}let t=new Set(["Up","Down","Left","Right","Enter","Space","Tab","Escape","BTab","BSpace","DC","PageUp","PageDown","Home","End","q","C-x","C-p","C-t","a","l","n","t","m","g","u","r","c"]);async function u(a,b){if(0!==b.length){for(let a of b)if(!t.has(a))throw Error(`Invalid special key: ${a}`);try{for(let c=0;c<b.length;c++)await k("tmux",["send-keys","-t",m(a),b[c]],{timeout:5e3}),c<b.length-1&&await new Promise(a=>setTimeout(a,100))}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to send special keys to tmux session: ${a}`)}}}async function v(a,b){let c,d;"number"==typeof b?(c=-b,d="-"):b?(c=b.startLine??-1e4,d=b.endLine??"-"):(c=-1e3,d="-");try{let{stdout:b}=await k("tmux",["capture-pane","-t",m(a),"-p","-e","-S",String(c),"-E",String(d)],{timeout:5e3,maxBuffer:0xa00000});return b}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to capture pane: ${a}`)}}async function w(a){try{return await k("tmux",["kill-session","-t",m(a)],{timeout:5e3}),!0}catch(b){let a=b instanceof Error?b.message:String(b);if(a?.includes("no server running")||a?.includes("can't find session"))return!1;throw Error(`Failed to kill tmux session: ${a}`)}}let x=new Set(["Escape","C-c","C-d","C-m","Enter"]);async function y(a,b){if(!x.has(b))throw Error(`Invalid special key: ${b}`);try{await k("tmux",["send-keys","-t",m(a),b],{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to send special key: ${a}`)}}async function z(a){try{await k("tmux",["send-keys","-t",m(a),"C-u"],{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to clear tmux input line: ${a}`)}}async function A(a){try{await k("tmux",["send-keys","-t",m(a),"C-e","C-u"],{timeout:5e3})}catch(b){let a=b instanceof Error?b.message:String(b);throw Error(`Failed to clear tmux composer line: ${a}`)}}function B(a,b=i.qD){return b.includes(a)&&t.has(a)}async function C(a,b){await u(a,b),(0,f.gm)(a)}},86069:(a,b,c)=>{c.d(b,{IS:()=>e,iF:()=>f,vY:()=>g});let d=["Escape","C-c","C-d","C-m","Enter"];function e(a,b){return void 0===b?{kind:"key",name:a}:{kind:"key",name:a,delayAfterMs:b}}function f(a,b){return void 0===b?{kind:"literal",text:a}:{kind:"literal",text:a,delayAfterMs:b}}function g(a){return d.includes(a)}},93997:(a,b,c)=>{c.d(b,{aq:()=>m,gm:()=>k,pc:()=>l,sl:()=>f,vF:()=>j,wd:()=>i,xE:()=>e});let d=(0,c(72626).h)("tmux-capture-cache"),e=1e4;function f(a,b=e){return b>0&&a>=b}function g(){return globalThis.__tmuxCaptureCache??=new Map}function h(){return globalThis.__tmuxCaptureCacheInflight??=new Map}function i(a,b){if(""===a)return"";let c=a.split("\n");return b>=c.length?a:c.slice(-b).join("\n")}function j(a,b,c){let d=g(),e=Date.now();for(let[a,b]of d)e-b.timestamp>5e3&&d.delete(a);if(d.size>=100&&!d.has(a)){let a=null,b=1/0;for(let[c,e]of d)e.timestamp<b&&(b=e.timestamp,a=c);a&&d.delete(a)}d.set(a,{output:b,capturedLines:c,timestamp:e})}function k(a){g().delete(a),d.debug("cache:invalidate",{sessionName:a})}function l(){g().clear(),h().clear()}async function m(a,b,c){let d=function(a,b){let c=g(),d=c.get(a);return d?Date.now()-d.timestamp>5e3?(c.delete(a),null):b>d.capturedLines?null:i(d.output,b):null}(a,b);if(null!==d)return d;let f=h(),k=f.get(a);if(k)return i(await k,b);let l=c();f.set(a,l);try{let c=await l;return c.length>0&&j(a,c,e),i(c,b)}finally{f.delete(a)}}}};
@@ -0,0 +1 @@
1
+ exports.id=4390,exports.ids=[4390],exports.modules={7956:(a,b,c)=>{"use strict";c.d(b,{Mb:()=>m,ZU:()=>j,fW:()=>l});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f);let h=["/etc","/usr","/bin","/sbin","/var","/tmp","/dev","/sys","/proc"],i=["/proc","/sys","/dev"];function j(a,b){let c=b.endsWith("/")?b.slice(0,-1):b;return a===c||a.startsWith(c+"/")}let k=new Map;function l(a){return n(a,h)}function m(a){return n(a,i)}function n(a,b){let c=g().resolve(a),d=function(a){let b=[],c=a;for(;;)try{let a=e().realpathSync(c);return b.length>0?g().join(a,...b):a}catch{let d=g().dirname(c);if(d===c)return a;b.unshift(g().basename(c)),c=d}}(c);return(function(a){let b=k.get(a);if(void 0!==b)return b;let c=new Set;for(let b of a){c.add(b);try{c.add(e().realpathSync(b))}catch{}}let d=Array.from(c);return k.set(a,d),d})(b).some(a=>j(c,a)||j(d,a))}},20416:(a,b,c)=>{"use strict";c.d(b,{$b:()=>i,Sv:()=>k,zm:()=>j});var d=c(33873),e=c.n(d),f=c(21820),g=c(48870),h=c(7956);function i(){return(0,g.TJ)()?e().join((0,f.homedir)(),".commandmate","data","cm.db"):e().resolve(process.cwd(),"data","cm.db")}function j(a){let b=(0,g.WI)();return e().join(b,"data",`cm-${a}.db`)}function k(a){let b=e().resolve(a);if((0,g.TJ)()){let a=(0,f.homedir)();if(!(0,h.ZU)(b,a))throw Error(`Security error: DB path must be within home directory: ${b}`)}else if((0,h.fW)(b))throw Error(`Security error: DB path cannot be in system directory: ${b}`);return b}},48870:(a,b,c)=>{"use strict";c.d(b,{GQ:()=>j,TJ:()=>g,Tf:()=>h,WI:()=>i});var d=c(29021),e=c(33873),f=c(21820);function g(){let a=(0,e.dirname)(__dirname);return a.includes("/lib/node_modules/")||a.includes("\\node_modules\\")||a.includes("/node_modules/commandmate")}function h(){let a=(0,e.dirname)(__dirname);return a.includes("/_npx/")||a.includes("\\_npx\\")}function i(){if(g()){let a=(0,e.join)((0,f.homedir)(),".commandmate");if((0,d.existsSync)(a)){let b=(0,d.realpathSync)(a),c=(0,d.realpathSync)((0,f.homedir)());if(!b.startsWith(c))throw Error(`Security error: Config directory ${a} is outside home directory`);return b}return a}let a=process.cwd();return(0,d.realpathSync)(a)}function j(){let a=g()?(0,e.join)((0,f.homedir)(),".commandmate"):process.cwd();return(0,d.existsSync)(a)||(0,d.mkdirSync)(a,{recursive:!0,mode:448}),i()}},72626:(a,b,c)=>{"use strict";c.d(b,{K:()=>i,h:()=>j});var d=c(87447);let e=[{pattern:/Bearer\s+[A-Za-z0-9\-._~+/]+=*/gi,replacement:"Bearer [REDACTED]"},{pattern:/(password|passwd|pwd)[=:]\s*\S+/gi,replacement:"$1=[REDACTED]"},{pattern:/(token|secret|api_key|apikey|auth)[=:]\s*\S+/gi,replacement:"$1=[REDACTED]"},{pattern:/Authorization:\s*\S+/gi,replacement:"Authorization: [REDACTED]"},{pattern:/-----BEGIN\s+\w+\s+PRIVATE\s+KEY-----[\s\S]*?-----END\s+\w+\s+PRIVATE\s+KEY-----/g,replacement:"[SSH_KEY_REDACTED]"},{pattern:/(\w+:\/\/)[^/@\s]+@/g,replacement:"$1[REDACTED]@"}],f=/password|secret|token|auth|(?:api|private|access|session|signing|encryption|ssh|gpg|deploy)[-_]?key/i,g={debug:0,info:1,warn:2,error:3};function h(a,b,c,h,i){let j=(0,d.nR)().level;if(g[a]<g[j])return;let k=h?function a(b){if("string"==typeof b){let a=b;for(let{pattern:b,replacement:c}of e)a=a.replace(b,c);return a}if("object"==typeof b&&null!==b){if(Array.isArray(b))return b.map(a);let c={};for(let[d,e]of Object.entries(b))f.test(d)?c[d]="[REDACTED]":c[d]=a(e);return c}return b}(h):void 0,l=function(a){if("json"===(0,d.nR)().format)return JSON.stringify(a);let{timestamp:b,level:c,module:e,action:f,data:g,worktreeId:h,cliToolId:i,requestId:j}=a,k=[h,i].filter(Boolean),l=k.length>0?` [${k.join(":")}]`:"",m=j?` (${j.slice(0,8)})`:"",n=g?` ${JSON.stringify(g)}`:"";return`[${b}] [${c.toUpperCase()}] [${e}]${l}${m} ${f}${n}`}({level:a,module:b,action:c,timestamp:new Date().toISOString(),...i,...k&&{data:k}});switch(a){case"error":console.error(l);break;case"warn":console.warn(l);break;default:console.log(l)}}function i(){return"undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,a=>{let b=16*Math.random()|0;return("x"===a?b:3&b|8).toString(16)})}function j(a){let b=c=>({debug:(b,d)=>h("debug",a,b,d,c),info:(b,d)=>h("info",a,b,d,c),warn:(b,d)=>h("warn",a,b,d,c),error:(b,d)=>h("error",a,b,d,c),withContext:a=>b({...c,...a})});return b()}},78335:()=>{},87447:(a,b,c)=>{"use strict";c.d(b,{D0:()=>l,_$:()=>m,_p:()=>i,nR:()=>k});var d=c(33873),e=c.n(d),f=c(20416);let g={CM_ROOT_DIR:"MCBD_ROOT_DIR",CM_PORT:"MCBD_PORT",CM_BIND:"MCBD_BIND",CM_LOG_LEVEL:"MCBD_LOG_LEVEL",CM_LOG_FORMAT:"MCBD_LOG_FORMAT",CM_LOG_DIR:"MCBD_LOG_DIR",CM_DB_PATH:"MCBD_DB_PATH"},h=new Set;function i(a){var b=g[a];let c=process.env[a];if(void 0!==c)return c;let d=process.env[b];return void 0!==d?(h.has(b)||(console.warn(`[DEPRECATED] ${b} is deprecated, use ${a} instead`),h.add(b)),d):void 0}let j=!1;function k(){let a=i("CM_LOG_LEVEL")?.toLowerCase(),b=i("CM_LOG_FORMAT")?.toLowerCase();return{level:void 0!==a&&["debug","info","warn","error"].includes(a)?a:"info",format:"json"===b?"json":"text"}}function l(){let a=i("CM_PORT");if(!a)return 3e3;let b=parseInt(a,10);return isNaN(b)||b<1||b>65535?3e3:b}function m(){let a,b=i("CM_ROOT_DIR")||process.cwd(),c=parseInt(i("CM_PORT")||String(3e3),10),d=i("CM_BIND")||"127.0.0.1",g=i("CM_DB_PATH"),h=g||function(){let a=process.env.DATABASE_PATH;return a&&!j&&(console.warn("[DEPRECATED] DATABASE_PATH is deprecated. Use CM_DB_PATH instead."),j=!0),a}()||(0,f.$b)();if(!b)throw Error("CM_ROOT_DIR (or MCBD_ROOT_DIR) is required");if(isNaN(c)||c<1||c>65535)throw Error(`Invalid CM_PORT: ${i("CM_PORT")}. Must be between 1 and 65535.`);if("127.0.0.1"!==d&&"0.0.0.0"!==d&&"localhost"!==d)throw Error(`Invalid CM_BIND: ${d}. Must be '127.0.0.1', '0.0.0.0', or 'localhost'.`);try{a=(0,f.Sv)(h)}catch(b){if(void 0!==g){let a=b instanceof Error?b.message:String(b);throw Error(`Invalid CM_DB_PATH: ${a}. Set CM_DB_PATH to an allowed location, or unset it to use the default (${(0,f.$b)()}).`)}console.warn(`[Security] Invalid DB path "${h}", using default.`),a=(0,f.Sv)((0,f.$b)())}return{CM_ROOT_DIR:e().resolve(b),CM_PORT:c,CM_BIND:d,CM_DB_PATH:a}}},96487:()=>{}};
@@ -1 +1 @@
1
- "use strict";exports.id=4393,exports.ids=[4393],exports.modules={23197:(a,b,c)=>{c.d(b,{$M:()=>e,H1:()=>d,q5:()=>f});let d="__global__",e=2e3,f=900},32002:(a,b,c)=>{c.d(b,{e:()=>f});var d=c(56791),e=c(15194);function f(a,b,c){let f=(0,d.getAgentInstances)(a,b);return f.length>0?f:(0,e.lu)(c??[])}},57836:(a,b,c)=>{c.d(b,{Jp:()=>k,Te:()=>l,hd:()=>j,wN:()=>h});var d=c(24455);let e=(0,c(72626).h)("waiting-episode-state"),f=globalThis.__sessionWaitingEpisodes??(globalThis.__sessionWaitingEpisodes=new Map),g=globalThis.__sessionWaitingTransitionListeners??(globalThis.__sessionWaitingTransitionListeners=new Set);function h(a){return g.add(a),()=>{g.delete(a)}}function i(a){for(let b of g)try{b(a)}catch(b){e.error("waiting-transition-listener-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,waiting:a.waiting,error:b instanceof Error?b.message:String(b)})}}function j({worktreeId:a,cliToolId:b,instanceId:c,waiting:e,kind:g=null,structuredSince:h=null,now:j=Date.now()}){let k=(0,d.v7)(a,b,c),l=f.get(k);if(!e)return void 0===l||(f.delete(k),i({worktreeId:a,cliToolId:b,instanceId:c,waiting:!1,since:null,kind:null,at:j})),null;if(void 0!==l)return l.kind=g,l.since;let m=h??j;return f.set(k,{since:m,kind:g}),i({worktreeId:a,cliToolId:b,instanceId:c,waiting:!0,since:m,kind:g,at:j}),m}function k(a,b,c){return f.get((0,d.v7)(a,b,c))??null}function l(a){let b=`${a}${d.CS}`;for(let a of f.keys())if(a.startsWith(b))return!0;return!1}},89398:(a,b,c)=>{c.d(b,{z:()=>t,B:()=>w});var d=c(59701),e=c(15194),f=c(31766),g=c(95595),h=c(67882),i=c(23365),j=c(57905),k=c(45017),l=c(23197),m=c(30008),n=c(40043),o=c(57836),p=c(48083),q=c(26547),r=c(97709),s=c(66101);function t(){return{probeCount:0,captureCount:0,healthCheckCount:0}}let u={prompt:3,menu:2,unclassified:1};async function v(a,b,c,d,e,l,t,u,v){let w=e.has(d);w&&"claude"===b&&(v&&v.healthCheckCount++,(await (0,j.oV)(d)).healthy||(w=!1));let x=!1,y=!1,z=null,A=null,B=null,C=null;if(w)try{var D;let d=(0,i.y)(b).statusLines;v&&v.captureCount++;let e=await (0,f.Wh)(a,b,d,c),j=(0,k.v7)(a,b,c),o=(0,k.xU)(j),r=o?new Date(o):void 0,s=(0,g.WC)(e,b,r);(0,p.vm)(a,b,c,(0,q.jw)(b,e)),({isWaitingForResponse:x,isProcessing:y}=(0,h.O_)(s.status)),C=s.reason,B=s.evidence,(0,n.ox)(j,{status:s.status,reason:s.reason,evidence:B});let w=(0,m.xF)({worktreeId:a,cliToolId:b,instanceId:c,scraper:{status:s.status,reason:s.reason,hasActivePrompt:s.hasActivePrompt}});x=x||w.waiting,A=w.structured?.at??null,z=(D={waiting:x,hasActivePrompt:s.hasActivePrompt,scraperStatus:s.status,scraperReason:s.reason}).waiting?D.hasActivePrompt?"prompt":"waiting"===D.scraperStatus&&g.ug.has(D.scraperReason)?"menu":"unclassified":null,!s.hasActivePrompt&&t(l,a,{limit:10,cliToolId:b,instanceId:c}).some(a=>"prompt"===a.messageType&&a.promptData?.status!=="answered")&&u(l,a,b,c)}catch{y=!0}let E=(0,o.hd)({worktreeId:a,cliToolId:b,instanceId:c,waiting:x,kind:z,structuredSince:A}),{model:F,effort:G}=(0,p.jl)(a,b,c),H=(0,k.v7)(a,b,c);w||(0,n.xG)(H);let I=w?(0,n.AD)(H):null,J=w?function(a,b,c){try{let d=(0,r.VM)(b),e=(0,s.Kf)(d,d.liveness({worktreeId:a,cliToolId:b,instanceId:c}),Date.now());if(void 0===e.degradedReason&&void 0===e.liveness)return null;return e}catch{return null}}(a,b,c):null;return{isRunning:w,isWaitingForResponse:x,isProcessing:y,waitingKind:z,waitingSince:E,awaitingInstruction:w&&(0,p.pI)(a,b,c),...null!==F?{model:F}:{},...null!==G?{reasoningEffort:G}:{},...null!==B?{statusEvidence:B}:{},...null!==C?{sessionStatusReason:C}:{},...null!==I?{lastKnownStatus:I.status,lastKnownStatusAt:I.at}:{},...null!==J?{eventSource:J}:{}}}async function w(a,b,c,f,g,h,i){if(a===l.H1)return{sessionStatusByCli:{},sessionStatusByInstance:{},isSessionRunning:!1,isWaitingForResponse:!1,isProcessing:!1};let j=d.CLIToolManager.getInstance(),k=e.XH,m=h(c,a).filter(a=>a.id!==a.cliTool),n=k.map(b=>({cliToolId:b,instanceId:b,sessionName:j.getTool(b).getSessionName(a,b)}));for(let b of m)n.push({cliToolId:b.cliTool,instanceId:b.id,sessionName:j.getTool(b.cliTool).getSessionName(a,b.id)});i&&(i.probeCount+=n.length);let o=await Promise.all(n.map(async d=>{let e=await v(a,d.cliToolId,d.instanceId,d.sessionName,b,c,f,g,i);return{...d,status:e}})),p={},q={};for(let{cliToolId:a,instanceId:b,status:c}of o){q[b]=c;let d=p[a];p[a]=d?function(a,b){var c,d,e,f;return{isRunning:a.isRunning||b.isRunning,isWaitingForResponse:a.isWaitingForResponse||b.isWaitingForResponse,isProcessing:a.isProcessing||b.isProcessing,waitingKind:(c=a.waitingKind,d=b.waitingKind,null===c?d:null===d||u[c]>=u[d]?c:d),waitingSince:(e=a.waitingSince,f=b.waitingSince,null===e?f:null===f?e:Math.min(e,f)),awaitingInstruction:a.awaitingInstruction||b.awaitingInstruction}}(d,c):c}let r=!1,s=!1,t=!1;for(let a of Object.values(p))a&&(a.isRunning&&(r=!0),a.isWaitingForResponse&&(s=!0),a.isProcessing&&(t=!0));return{sessionStatusByCli:p,sessionStatusByInstance:q,isSessionRunning:r,isWaitingForResponse:s,isProcessing:t}}}};
1
+ "use strict";exports.id=4393,exports.ids=[4393],exports.modules={23197:(a,b,c)=>{c.d(b,{$M:()=>e,H1:()=>d,q5:()=>f});let d="__global__",e=2e3,f=900},32002:(a,b,c)=>{c.d(b,{e:()=>h});var d=c(56791),e=c(26923),f=c(52201),g=c(15194);function h(a,b,c){let h=(0,d.getAgentInstances)(a,b);return h.length>0?h:(0,g.lu)((0,f.eG)({worktree:c,appSettings:(0,e.Ds)(a)}))}},57836:(a,b,c)=>{c.d(b,{Jp:()=>k,Te:()=>l,hd:()=>j,wN:()=>h});var d=c(24455);let e=(0,c(72626).h)("waiting-episode-state"),f=globalThis.__sessionWaitingEpisodes??(globalThis.__sessionWaitingEpisodes=new Map),g=globalThis.__sessionWaitingTransitionListeners??(globalThis.__sessionWaitingTransitionListeners=new Set);function h(a){return g.add(a),()=>{g.delete(a)}}function i(a){for(let b of g)try{b(a)}catch(b){e.error("waiting-transition-listener-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,waiting:a.waiting,error:b instanceof Error?b.message:String(b)})}}function j({worktreeId:a,cliToolId:b,instanceId:c,waiting:e,kind:g=null,structuredSince:h=null,now:j=Date.now()}){let k=(0,d.v7)(a,b,c),l=f.get(k);if(!e)return void 0===l||(f.delete(k),i({worktreeId:a,cliToolId:b,instanceId:c,waiting:!1,since:null,kind:null,at:j})),null;if(void 0!==l)return l.kind=g,l.since;let m=h??j;return f.set(k,{since:m,kind:g}),i({worktreeId:a,cliToolId:b,instanceId:c,waiting:!0,since:m,kind:g,at:j}),m}function k(a,b,c){return f.get((0,d.v7)(a,b,c))??null}function l(a){let b=`${a}${d.CS}`;for(let a of f.keys())if(a.startsWith(b))return!0;return!1}},89398:(a,b,c)=>{c.d(b,{z:()=>u,B:()=>x});var d=c(83468),e=c(15194),f=c(31766),g=c(95595),h=c(37717),i=c(67882),j=c(23365),k=c(50945),l=c(45017),m=c(23197),n=c(30008),o=c(40043),p=c(57836),q=c(48083),r=c(26547),s=c(97709),t=c(66101);function u(){return{probeCount:0,captureCount:0,healthCheckCount:0}}let v={prompt:3,menu:2,unclassified:1};async function w(a,b,c,d,e,m,u,v,w){let x=e.has(d),y=null;if(x){w&&w.healthCheckCount++;let a=await (0,k.S)(d,b);a.alive||(x=!1,y=a.reason)}let z=!1,A=!1,B=null,C=null,D=null,E=null;if(x)try{var F;let d=(0,j.y)(b).statusLines;w&&w.captureCount++;let e=await (0,f.Wh)(a,b,d,c),h=(0,l.v7)(a,b,c),k=(0,l.xU)(h),p=k?new Date(k):void 0,s=(0,g.WC)(e,b,p);(0,q.vm)(a,b,c,(0,r.jw)(b,e)),({isWaitingForResponse:z,isProcessing:A}=(0,i.O_)(s.status)),E=s.reason,D=s.evidence,(0,o.ox)(h,{status:s.status,reason:s.reason,evidence:D});let t=(0,n.xF)({worktreeId:a,cliToolId:b,instanceId:c,scraper:{status:s.status,reason:s.reason,hasActivePrompt:s.hasActivePrompt}});z=z||t.waiting,C=t.structured?.at??null,B=(F={waiting:z,hasActivePrompt:s.hasActivePrompt,scraperStatus:s.status,scraperReason:s.reason}).waiting?F.hasActivePrompt?"prompt":"waiting"===F.scraperStatus&&g.ug.has(F.scraperReason)?"menu":"unclassified":null,!s.hasActivePrompt&&u(m,a,{limit:10,cliToolId:b,instanceId:c}).some(a=>"prompt"===a.messageType&&a.promptData?.status!=="answered")&&v(m,a,b,c)}catch{A=!0}let G=(0,p.hd)({worktreeId:a,cliToolId:b,instanceId:c,waiting:z,kind:B,structuredSince:C}),{model:H,effort:I}=(0,q.jl)(a,b,c),J=(0,l.v7)(a,b,c);x||(0,o.xG)(J);let K=x?(0,o.AD)(J):null,L=x?function(a,b,c){try{let d=(0,s.VM)(b),e=(0,t.Kf)(d,d.liveness({worktreeId:a,cliToolId:b,instanceId:c}),Date.now());if(void 0===e.degradedReason&&void 0===e.liveness)return null;return e}catch{return null}}(a,b,c):null;return{isRunning:x,isWaitingForResponse:z,isProcessing:A,waitingKind:B,waitingSince:G,awaitingInstruction:x&&(0,q.pI)(a,b,c),...null!==H?{model:H}:{},...null!==I?{reasoningEffort:I}:{},...null!==D?{statusEvidence:D}:{},...null!==E?{sessionStatusReason:E}:{},...null!==y?{sessionStatusReason:h.g.EXITED,statusEvidence:"positive"}:{},...null!==K?{lastKnownStatus:K.status,lastKnownStatusAt:K.at}:{},...null!==L?{eventSource:L}:{}}}async function x(a,b,c,f,g,h,i){if(a===m.H1)return{sessionStatusByCli:{},sessionStatusByInstance:{},isSessionRunning:!1,isWaitingForResponse:!1,isProcessing:!1};let j=d.CLIToolManager.getInstance(),k=e.XH,l=h(c,a).filter(a=>a.id!==a.cliTool),n=k.map(b=>({cliToolId:b,instanceId:b,sessionName:j.getTool(b).getSessionName(a,b)}));for(let b of l)n.push({cliToolId:b.cliTool,instanceId:b.id,sessionName:j.getTool(b.cliTool).getSessionName(a,b.id)});i&&(i.probeCount+=n.length);let o=await Promise.all(n.map(async d=>{let e=await w(a,d.cliToolId,d.instanceId,d.sessionName,b,c,f,g,i);return{...d,status:e}})),p={},q={};for(let{cliToolId:a,instanceId:b,status:c}of o){q[b]=c;let d=p[a];p[a]=d?function(a,b){var c,d,e,f;return{isRunning:a.isRunning||b.isRunning,isWaitingForResponse:a.isWaitingForResponse||b.isWaitingForResponse,isProcessing:a.isProcessing||b.isProcessing,waitingKind:(c=a.waitingKind,d=b.waitingKind,null===c?d:null===d||v[c]>=v[d]?c:d),waitingSince:(e=a.waitingSince,f=b.waitingSince,null===e?f:null===f?e:Math.min(e,f)),awaitingInstruction:a.awaitingInstruction||b.awaitingInstruction}}(d,c):c}let r=!1,s=!1,t=!1;for(let a of Object.values(p))a&&(a.isRunning&&(r=!0),a.isWaitingForResponse&&(s=!0),a.isProcessing&&(t=!0));return{sessionStatusByCli:p,sessionStatusByInstance:q,isSessionRunning:r,isWaitingForResponse:s,isProcessing:t}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=5017,exports.ids=[5017],exports.modules={45017:(a,b,c)=>{c.d(b,{v7:()=>d.v7,LP:()=>d.LP,pL:()=>d.pL,GE:()=>d.GE,aq:()=>d.aq,kC:()=>d.kC,xU:()=>B,bZ:()=>C,W8:()=>d.W8,W5:()=>I,_i:()=>J,_C:()=>K});var d=c(24455),e=c(31766),f=c(26895),g=c(75498),h=c(91318),i=c(52277),j=c(74258),k=c(32759);let l=["enforce","legacy"],m={claude:"enforce",codex:"enforce",copilot:"enforce",opencode:"enforce",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy"};var n=c(52767),o=c(88807),p=c(52660),q=c(63869),r=c(59701),s=c(85164),t=c(77093),u=c(93997),v=c(68901),w=c(72626),x=c(66007);let y=(0,w.h)("auto-yes-poller"),z=globalThis.__autoYesPollerStates??(globalThis.__autoYesPollerStates=new Map);function A(a){return z.get(a)}function B(a){let b=A(a);return b?.lastServerResponseTimestamp??null}function C(a){return z.has(a)}function D(a){let b=A(a);if(b&&(b.consecutiveErrors++,b.currentInterval=(0,d.G)(b.consecutiveErrors),b.consecutiveErrors>=v.ul)){let b=(0,d.Ue)(a),c=(0,d.pL)(a);c&&(0,d.XK)(b,c,"consecutive_errors",(0,d.GE)(a)??void 0),J(a)}}async function E(a,b,c,d){let f=c??v.FW,g=await (0,e.Wh)(a,b,f,d);return(0,s._A)((0,s.aJ)(g))}async function F(a,b,e,v,w,x){let z=(0,d.v7)(a,e,x);try{let D=(0,s.KO)(e),E=(0,f.gF)(v,{...D,...w&&{precomputedLines:w}});if(!E.isPrompt||!E.promptData)return b.lastAnsweredPromptKey=null,b.lastAnsweredAt=null,"no_prompt";let F=(B=E.promptData,`${B.type}:${B.question}`);if(b.lastAnsweredPromptKey===F&&null!==b.lastAnsweredAt&&Date.now()-b.lastAnsweredAt<d.UL)return"duplicate";let G="codex"===e?(0,s.E6)(v):null;if(G)return(0,i.ZS)(a,e,x,{reason:"agent-launch-dialog",mode:null,promptType:E.promptData.type}),y.warn("poller:auto-yes-skipped-launch-dialog",{worktreeId:a,cliToolId:e,instanceId:x,dialog:G,promptType:E.promptData.type}),"no_answer";let H=function(a,b,c,d=process.env){let e=(0,k.bN)(a),f=function(a,b=process.env){let c=b.CM_AUTOYES_DIALOG_GATE,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();l.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??m[a]??"legacy"}(a,d);if("multiple_choice"!==b||!e.hasDialogRules||"legacy"===f)return{allowed:!0,dialog:null,mode:f,gated:!1};let g=e.detectDialog((0,j.z)(c));return{allowed:null!==g&&"numbered"===g.answerMode,dialog:g,mode:f,gated:!0}}(e,E.promptData.type,v);if(!H.allowed)return(0,i.ZS)(a,e,x,{reason:"unclassified-frame",mode:null,promptType:E.promptData.type}),y.warn("poller:auto-yes-skipped-unclassified-frame",{worktreeId:a,cliToolId:e,instanceId:x,promptType:E.promptData.type,dialogKind:H.dialog?.kind??null,answerMode:H.dialog?.answerMode??null,gateMode:H.mode}),"no_answer";let I=(0,h.n)(a,e,x),J=(0,g.sD)(E.promptData,I);J.suppressedBy&&((0,i.ZS)(a,e,x,{reason:J.suppressedBy,mode:I?.mode??null,promptType:E.promptData.type,pattern:J.pattern}),y.warn("poller:auto-yes-suppressed-by-policy",{worktreeId:a,cliToolId:e,instanceId:x,reason:J.suppressedBy,mode:I?.mode??null,pattern:J.pattern,promptType:E.promptData.type}));let K=J.answer;if(null===K)return"no_answer";let L=r.CLIToolManager.getInstance().getTool(e).getSessionName(a,x);try{await (0,q.tV)({sessionName:L,answer:K,cliToolId:e,promptData:E.promptData})}finally{(0,u.gm)(L)}var B,C=Date.now();let M=A(z);M&&(M.lastServerResponseTimestamp=C);let N=A(z);N&&(N.consecutiveErrors=0,N.currentInterval=d.ps),b.lastAnsweredPromptKey=F,b.lastAnsweredAt=Date.now(),y.info("poller:response-sent",{worktreeId:a,cliToolId:e,instanceId:x}),(0,n.r)((0,o.getDbInstance)(),a,e,x??e,"prompt_answered_auto",{promptType:E.promptData.type});let O=null;try{O=(0,p.pG)((0,o.getDbInstance)(),{worktreeId:a,cliToolId:e,instanceId:x??e,promptData:E.promptData,answer:K,answeredBy:"auto",content:E.rawContent||E.cleanContent})}catch(b){y.warn("poller:prompt-audit-record-failed",{worktreeId:a,cliToolId:e,instanceId:x,error:(0,t.u1)(b)})}if(O){let b=O;Promise.all([c.e(1503),c.e(1719),c.e(2759)]).then(c.bind(c,95620)).then(({broadcastMessage:c})=>{c(b.created?"message":"message_updated",{worktreeId:a,message:b.message})}).catch(()=>{})}let[{startPolling:P},{broadcastTerminalSnapshotAfterInteraction:Q}]=await Promise.all([Promise.all([c.e(1356),c.e(1503),c.e(1634),c.e(1719),c.e(1191),c.e(6337),c.e(2759),c.e(7472),c.e(1058),c.e(1601),c.e(221),c.e(2839)]).then(c.bind(c,95220)),Promise.all([c.e(1503),c.e(1719),c.e(2759),c.e(7472),c.e(1058),c.e(9508)]).then(c.bind(c,99508))]);return P(a,e,x),Q(a,e,x),"responded"}catch{return D(z),y.warn("poller:detect-respond-error",{worktreeId:a,cliToolId:e,instanceId:x}),"error"}}async function G(a,b,c){let e=(0,d.v7)(a,b,c),f=A(e);if("valid"===function(a,b){if(!b)return"stopped";let c=(0,d.Ue)(a),e=(0,d.pL)(a);if(!e)return J(a),"expired";let f=(0,d.GE)(a)??void 0,g=(0,d.aq)(c,e,f);return g?.enabled?"valid":(J(a),"expired")}(e,f)){try{let g=(0,d.aq)(a,b,c),h=g?.stopPattern?v.FW:v.Ke,i=await E(a,b,h,c),j=i.split("\n");if(function(a,b,c){if(b.stopCheckBaselineLength<0)return b.stopCheckBaselineLength=c.length,!1;let e=b.stopCheckBaselineLength;if(c.length>e){let f=c.substring(e);return b.stopCheckBaselineLength=c.length,(0,d.Cs)(a,f,J)}return c.length<e&&(b.stopCheckBaselineLength=c.length),!1}(e,f,i))return;let k=await F(a,f,b,i,j,c);if("responded"===k)return void H(a,b,c,d.ZO);if("no_prompt"===k){let e=j.slice(-d.Re).join("\n");if((0,s.ut)(b,e))return void H(a,b,c,v.QN)}}catch(d){D(e),y.warn("poller:poll-error",{worktreeId:a,cliToolId:b,instanceId:c,error:(0,t.u1)(d)})}H(a,b,c)}}function H(a,b,c,e){let f=A((0,d.v7)(a,b,c));if(!f)return;let g=Math.max(e??f.currentInterval,d.ps);f.timerId=setTimeout(()=>{G(a,b,c)},g)}function I(a,b,c){if(!(0,x.h6)(a))return{started:!1,reason:"invalid worktree ID"};let e=c??b,f=(0,d.aq)(a,b,e);if(!f?.enabled)return{started:!1,reason:"auto-yes not enabled"};let g=(0,d.v7)(a,b,e),i=A(g);if(!i&&z.size>=d.fC)return{started:!1,reason:"max concurrent pollers reached"};if(i&&i.cliToolId===b)return{started:!0,reason:"already_running"};i&&J(g);let j={timerId:null,cliToolId:b,instanceId:e,consecutiveErrors:0,currentInterval:d.ps,lastServerResponseTimestamp:null,lastAnsweredPromptKey:null,lastAnsweredAt:null,stopCheckBaselineLength:-1};return z.set(g,j),(0,h.ie)(g),j.timerId=setTimeout(()=>{G(a,b,e)},d.ps),y.info("poller:started",{worktreeId:a,cliToolId:b,instanceId:e}),{started:!0}}function J(a){let b=A(a);b&&(b.timerId&&clearTimeout(b.timerId),z.delete(a),(0,h.ie)(a),y.info("poller:stopped",{compositeKey:a}))}function K(a){(0,d._9)(Array.from(z.keys()),a).forEach(a=>J(a))}},52277:(a,b,c)=>{c.d(b,{ZS:()=>f,gb:()=>g});var d=c(24455);let e=globalThis.__autoYesPolicySuppressions??(globalThis.__autoYesPolicySuppressions=new Map);function f(a,b,c,g,h=Date.now()){e.set((0,d.v7)(a,b,c),{...g,at:h})}function g(a,b,c){return e.get((0,d.v7)(a,b,c))??null}},52767:(a,b,c)=>{c.d(b,{r:()=>i,g:()=>h});var d=c(48524),e=c(87009),f=c(72626);let g=(0,f.h)("lib/tasks/task-transition-service");function h(a,b,c,f){let h=a.transaction(()=>{let g=(0,d.gg)(a,b);if(!g)return null;let h=g.status,i=function(a,b){switch(a){case"pending":switch(b){case"message_sent":return"running";case"send_failed":case"cancel":return"cancelled";default:return null}case"running":switch(b){case"prompt_detected":return"waiting_input";case"agent_idle":return"running";case"verify_started":return"verifying";case"send_failed":return"failed";case"cancel":return"cancelled";default:return null}case"waiting_input":switch(b){case"prompt_answered_auto":case"prompt_answered_human":case"agent_idle":return"running";case"verify_started":return"verifying";case"cancel":return"cancelled";default:return null}case"verifying":switch(b){case"verify_passed":return"succeeded";case"verify_failed":return"failed";case"verify_not_started":return"not_started";case"cancel":return"cancelled";default:return null}case"failed":case"not_started":switch(b){case"message_sent":return"running";case"verify_started":return"verifying";case"cancel":return"cancelled";default:return null}default:return null}}(h,c),j=Date.now(),k=(0,e.P)(a,{taskId:b,event:c,fromStatus:h,toStatus:i,payload:f,createdAt:j});return null===i?{task:g,fromStatus:h,toStatus:null,eventId:k}:{task:(0,d.xZ)(a,b,i,f?.runId===void 0?{}:{lastVerificationRunId:f.runId}),fromStatus:h,toStatus:i,eventId:k}})();return null===h?g.warn("task-event-unknown-task",{taskId:b,event:c}):null===h.toStatus&&g.warn("task-event-rejected",{taskId:b,event:c,fromStatus:h.fromStatus}),h}function i(a,b,c,e,f,i){try{let g=(0,d.MH)(a,b,c,e);if(!g)return null;return h(a,g.id,f,i)}catch(a){return g.warn("task-event-failed",{worktreeId:b,cliToolId:c,instanceId:e,event:f,error:a instanceof Error?a.message:String(a)}),null}}},63869:(a,b,c)=>{c.d(b,{Pw:()=>l,tV:()=>p});var d=c(79892),e=c(74258),f=c(32759),g=c(81254),h=c(93997),i=c(20610);let j=/^\[[ x]\] /,k="answer_mode_keys";class l extends Error{constructor(a,b,c){super(`Refused to send "${b}" to ${a}: its ${c.kind} dialog takes '${c.answerMode}' input, not a typed number (${k}). The digit would be swallowed and the Enter after it would confirm whatever is highlighted. Nothing was sent.`),this.name="PromptAnswerRejectedError",this.reason=k,this.dialogKind=c.kind,this.answerMode=c.answerMode}}async function m(a){if(void 0!==a.frame)return a.frame;try{return await (0,d.Xg)(a.sessionName,200)}catch{return null}}async function n(a){if(!/^\d+$/.test(a.answer))return;let b=(0,f.bN)(a.cliToolId);if(!b.hasDialogRules)return;let c=await m(a);if(null===c)return;let d=b.detectDialog((0,e.z)(c));if(null!==d&&"numbered"!==d.answerMode)throw new l(a.cliToolId,a.answer,d)}function o(a){if(0===a)return[];let b=a>0?"Down":"Up";return Array.from({length:Math.abs(a)},()=>b)}async function p(a){let{sessionName:b,answer:c,cliToolId:e,promptData:f,fallbackPromptType:k,fallbackDefaultOptionNumber:l}=a;if(await n(a),("claude"===e||"antigravity"===e)&&(f?.type==="multiple_choice"||"multiple_choice"===k)&&/^\d+$/.test(c)){let a,e=parseInt(c,10),g=null;if(f?.type==="multiple_choice"){let b=(g=f.options).find(a=>a.isDefault);a=b?.number??1}else a=l??1;let h=e-a;if(null!==g&&g.some(a=>j.test(a.label))&&null!==g){let a=g.filter(a=>j.test(a.label)).length,c=[...o(h),"Space"];c.push(...o(a-e+1)),c.push("Enter"),await (0,d.KB)(b,c)}else{let a=o(h),c=f?.type==="multiple_choice"&&!0===f.isAskUserQuestion&&0===h?["Down","Up","Enter"]:[...a,"Enter"];await (0,d.KB)(b,c)}}else{await (0,d.V1)(b,c,!1);let e=function(a){let b=(a.promptData?.type==="multiple_choice"?a.promptData.submitMode:void 0)??a.fallbackSubmitMode??"answer_then_enter";return(0,g.MI)(b)?b:"answer_then_enter"}(a);"answer_only"===e&&(a.promptData?.type==="multiple_choice"||"multiple_choice"===a.fallbackPromptType)&&/^\d+$/.test(a.answer)||(await new Promise(a=>setTimeout(a,i.pL)),await (0,d.V1)(b,"",!0))}(0,h.gm)(b)}},75498:(a,b,c)=>{c.d(b,{Lj:()=>f,Tb:()=>e,sD:()=>g});var d=c(68901);let e=2e4;function f(a,b,c){if(!c)return null;if("off"===c.mode)return{reason:"mode-off"};let f=function(a,b){if(0===b.length)return{outcome:"no-match"};let c=a.map(a=>a.length>e?a.slice(0,e):a);for(let a of b){if(a.length>200||!(0,d.P0)(a).valid)return{outcome:"unusable",pattern:a};let b=new RegExp(a);for(let e of c){let c=(0,d.eJ)(b,e);if(null===c)return{outcome:"unusable",pattern:a};if(c)return{outcome:"match",pattern:a}}}return{outcome:"no-match"}}(b,c.denyPatterns);return"match"===f.outcome?{reason:"deny-pattern",pattern:f.pattern}:"unusable"===f.outcome?{reason:"deny-pattern-unusable",pattern:f.pattern}:"safe"===c.mode?"yes_no"===a?null:{reason:"type-not-allowed"}:"allow-listed"===c.mode?c.allowPromptTypes.includes(a)?null:{reason:"type-not-allowed"}:null}function g(a,b){let c=function(a){if("yes_no"===a.type)return"y";if("multiple_choice"===a.type){let b=a.options.find(a=>a.isDefault)??a.options[0];return!b||b.requiresTextInput?null:b.number.toString()}return null}(a);if(null===c)return{answer:null,suppressedBy:null};let d=f(a.type,function(a){let b=[a.question];if(a.approvalTarget&&b.push(a.approvalTarget),"multiple_choice"===a.type)for(let c of a.options)b.push(c.label);else b.push(...a.options);return b}(a),b);return d?{answer:null,suppressedBy:d.reason,pattern:d.pattern}:{answer:c,suppressedBy:null}}},91318:(a,b,c)=>{c.d(b,{ie:()=>j,n:()=>i});var d=c(56791),e=c(88807),f=c(24455);let g=(0,c(72626).h)("auto-yes-policy"),h=new Map;function i(a,b,c){let i=c??b,j=(0,f.v7)(a,b,i),k=Date.now(),l=h.get(j);if(l&&l.expiresAt>k)return l.policy;let m=function(a,b,c){try{let f=(0,d.getActiveTaskForInstance)((0,e.getDbInstance)(),a,b,c);if(!f)return null;return f.contract.autoYes}catch(d){return g.warn("policy-lookup-failed",{worktreeId:a,cliToolId:b,instanceId:c,error:d instanceof Error?d.message:String(d)}),null}}(a,b,i);return h.size>=200&&function(a){for(let[b,c]of h.entries())c.expiresAt<=a&&h.delete(b)}(k),h.set(j,{policy:m,expiresAt:k+5e3}),m}function j(a){h.delete(a)}}};
1
+ "use strict";exports.id=5017,exports.ids=[5017],exports.modules={45017:(a,b,c)=>{c.d(b,{v7:()=>d.v7,LP:()=>d.LP,pL:()=>d.pL,GE:()=>d.GE,aq:()=>d.aq,kC:()=>d.kC,xU:()=>B,bZ:()=>C,W8:()=>d.W8,W5:()=>I,_i:()=>J,_C:()=>K});var d=c(24455),e=c(31766),f=c(26895),g=c(75498),h=c(91318),i=c(52277),j=c(74258),k=c(32759);let l=["enforce","legacy"],m={claude:"enforce",codex:"enforce",copilot:"enforce",opencode:"enforce",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy"};var n=c(52767),o=c(88807),p=c(52660),q=c(63869),r=c(83468),s=c(85164),t=c(77093),u=c(93997),v=c(68901),w=c(72626),x=c(66007);let y=(0,w.h)("auto-yes-poller"),z=globalThis.__autoYesPollerStates??(globalThis.__autoYesPollerStates=new Map);function A(a){return z.get(a)}function B(a){let b=A(a);return b?.lastServerResponseTimestamp??null}function C(a){return z.has(a)}function D(a){let b=A(a);if(b&&(b.consecutiveErrors++,b.currentInterval=(0,d.G)(b.consecutiveErrors),b.consecutiveErrors>=v.ul)){let b=(0,d.Ue)(a),c=(0,d.pL)(a);c&&(0,d.XK)(b,c,"consecutive_errors",(0,d.GE)(a)??void 0),J(a)}}async function E(a,b,c,d){let f=c??v.FW,g=await (0,e.Wh)(a,b,f,d);return(0,s._A)((0,s.aJ)(g))}async function F(a,b,e,v,w,x){let z=(0,d.v7)(a,e,x);try{let D=(0,s.KO)(e),E=(0,f.gF)(v,{...D,...w&&{precomputedLines:w}});if(!E.isPrompt||!E.promptData)return b.lastAnsweredPromptKey=null,b.lastAnsweredAt=null,"no_prompt";let F=(B=E.promptData,`${B.type}:${B.question}`);if(b.lastAnsweredPromptKey===F&&null!==b.lastAnsweredAt&&Date.now()-b.lastAnsweredAt<d.UL)return"duplicate";let G="codex"===e?(0,s.E6)(v):null;if(G)return(0,i.ZS)(a,e,x,{reason:"agent-launch-dialog",mode:null,promptType:E.promptData.type}),y.warn("poller:auto-yes-skipped-launch-dialog",{worktreeId:a,cliToolId:e,instanceId:x,dialog:G,promptType:E.promptData.type}),"no_answer";let H=function(a,b,c,d=process.env){let e=(0,k.bN)(a),f=function(a,b=process.env){let c=b.CM_AUTOYES_DIALOG_GATE,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();l.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??m[a]??"legacy"}(a,d);if("multiple_choice"!==b||!e.hasDialogRules||"legacy"===f)return{allowed:!0,dialog:null,mode:f,gated:!1};let g=e.detectDialog((0,j.z)(c));return{allowed:null!==g&&"numbered"===g.answerMode,dialog:g,mode:f,gated:!0}}(e,E.promptData.type,v);if(!H.allowed)return(0,i.ZS)(a,e,x,{reason:"unclassified-frame",mode:null,promptType:E.promptData.type}),y.warn("poller:auto-yes-skipped-unclassified-frame",{worktreeId:a,cliToolId:e,instanceId:x,promptType:E.promptData.type,dialogKind:H.dialog?.kind??null,answerMode:H.dialog?.answerMode??null,gateMode:H.mode}),"no_answer";let I=(0,h.n)(a,e,x),J=(0,g.sD)(E.promptData,I);J.suppressedBy&&((0,i.ZS)(a,e,x,{reason:J.suppressedBy,mode:I?.mode??null,promptType:E.promptData.type,pattern:J.pattern}),y.warn("poller:auto-yes-suppressed-by-policy",{worktreeId:a,cliToolId:e,instanceId:x,reason:J.suppressedBy,mode:I?.mode??null,pattern:J.pattern,promptType:E.promptData.type}));let K=J.answer;if(null===K)return"no_answer";let L=r.CLIToolManager.getInstance().getTool(e).getSessionName(a,x);try{await (0,q.tV)({sessionName:L,answer:K,cliToolId:e,promptData:E.promptData})}finally{(0,u.gm)(L)}var B,C=Date.now();let M=A(z);M&&(M.lastServerResponseTimestamp=C);let N=A(z);N&&(N.consecutiveErrors=0,N.currentInterval=d.ps),b.lastAnsweredPromptKey=F,b.lastAnsweredAt=Date.now(),y.info("poller:response-sent",{worktreeId:a,cliToolId:e,instanceId:x}),(0,n.r)((0,o.getDbInstance)(),a,e,x??e,"prompt_answered_auto",{promptType:E.promptData.type});let O=null;try{O=(0,p.pG)((0,o.getDbInstance)(),{worktreeId:a,cliToolId:e,instanceId:x??e,promptData:E.promptData,answer:K,answeredBy:"auto",content:E.rawContent||E.cleanContent})}catch(b){y.warn("poller:prompt-audit-record-failed",{worktreeId:a,cliToolId:e,instanceId:x,error:(0,t.u1)(b)})}if(O){let b=O;Promise.all([c.e(1503),c.e(1719),c.e(2759)]).then(c.bind(c,95620)).then(({broadcastMessage:c})=>{c(b.created?"message":"message_updated",{worktreeId:a,message:b.message})}).catch(()=>{})}let[{startPolling:P},{broadcastTerminalSnapshotAfterInteraction:Q}]=await Promise.all([Promise.all([c.e(1356),c.e(1503),c.e(1634),c.e(1719),c.e(1191),c.e(6337),c.e(2759),c.e(7472),c.e(1058),c.e(221),c.e(2839)]).then(c.bind(c,95220)),Promise.all([c.e(1503),c.e(1719),c.e(2759),c.e(7472),c.e(1058),c.e(9508)]).then(c.bind(c,99508))]);return P(a,e,x),Q(a,e,x),"responded"}catch{return D(z),y.warn("poller:detect-respond-error",{worktreeId:a,cliToolId:e,instanceId:x}),"error"}}async function G(a,b,c){let e=(0,d.v7)(a,b,c),f=A(e);if("valid"===function(a,b){if(!b)return"stopped";let c=(0,d.Ue)(a),e=(0,d.pL)(a);if(!e)return J(a),"expired";let f=(0,d.GE)(a)??void 0,g=(0,d.aq)(c,e,f);return g?.enabled?"valid":(J(a),"expired")}(e,f)){try{let g=(0,d.aq)(a,b,c),h=g?.stopPattern?v.FW:v.Ke,i=await E(a,b,h,c),j=i.split("\n");if(function(a,b,c){if(b.stopCheckBaselineLength<0)return b.stopCheckBaselineLength=c.length,!1;let e=b.stopCheckBaselineLength;if(c.length>e){let f=c.substring(e);return b.stopCheckBaselineLength=c.length,(0,d.Cs)(a,f,J)}return c.length<e&&(b.stopCheckBaselineLength=c.length),!1}(e,f,i))return;let k=await F(a,f,b,i,j,c);if("responded"===k)return void H(a,b,c,d.ZO);if("no_prompt"===k){let e=j.slice(-d.Re).join("\n");if((0,s.ut)(b,e))return void H(a,b,c,v.QN)}}catch(d){D(e),y.warn("poller:poll-error",{worktreeId:a,cliToolId:b,instanceId:c,error:(0,t.u1)(d)})}H(a,b,c)}}function H(a,b,c,e){let f=A((0,d.v7)(a,b,c));if(!f)return;let g=Math.max(e??f.currentInterval,d.ps);f.timerId=setTimeout(()=>{G(a,b,c)},g)}function I(a,b,c){if(!(0,x.h6)(a))return{started:!1,reason:"invalid worktree ID"};let e=c??b,f=(0,d.aq)(a,b,e);if(!f?.enabled)return{started:!1,reason:"auto-yes not enabled"};let g=(0,d.v7)(a,b,e),i=A(g);if(!i&&z.size>=d.fC)return{started:!1,reason:"max concurrent pollers reached"};if(i&&i.cliToolId===b)return{started:!0,reason:"already_running"};i&&J(g);let j={timerId:null,cliToolId:b,instanceId:e,consecutiveErrors:0,currentInterval:d.ps,lastServerResponseTimestamp:null,lastAnsweredPromptKey:null,lastAnsweredAt:null,stopCheckBaselineLength:-1};return z.set(g,j),(0,h.ie)(g),j.timerId=setTimeout(()=>{G(a,b,e)},d.ps),y.info("poller:started",{worktreeId:a,cliToolId:b,instanceId:e}),{started:!0}}function J(a){let b=A(a);b&&(b.timerId&&clearTimeout(b.timerId),z.delete(a),(0,h.ie)(a),y.info("poller:stopped",{compositeKey:a}))}function K(a){(0,d._9)(Array.from(z.keys()),a).forEach(a=>J(a))}},52277:(a,b,c)=>{c.d(b,{ZS:()=>f,gb:()=>g});var d=c(24455);let e=globalThis.__autoYesPolicySuppressions??(globalThis.__autoYesPolicySuppressions=new Map);function f(a,b,c,g,h=Date.now()){e.set((0,d.v7)(a,b,c),{...g,at:h})}function g(a,b,c){return e.get((0,d.v7)(a,b,c))??null}},52767:(a,b,c)=>{c.d(b,{r:()=>i,g:()=>h});var d=c(48524),e=c(87009),f=c(72626);let g=(0,f.h)("lib/tasks/task-transition-service");function h(a,b,c,f){let h=a.transaction(()=>{let g=(0,d.gg)(a,b);if(!g)return null;let h=g.status,i=function(a,b){switch(a){case"pending":switch(b){case"message_sent":return"running";case"send_failed":case"cancel":return"cancelled";default:return null}case"running":switch(b){case"prompt_detected":return"waiting_input";case"agent_idle":return"running";case"verify_started":return"verifying";case"send_failed":return"failed";case"cancel":return"cancelled";default:return null}case"waiting_input":switch(b){case"prompt_answered_auto":case"prompt_answered_human":case"agent_idle":return"running";case"verify_started":return"verifying";case"cancel":return"cancelled";default:return null}case"verifying":switch(b){case"verify_passed":return"succeeded";case"verify_failed":return"failed";case"verify_not_started":return"not_started";case"cancel":return"cancelled";default:return null}case"failed":case"not_started":switch(b){case"message_sent":return"running";case"verify_started":return"verifying";case"cancel":return"cancelled";default:return null}default:return null}}(h,c),j=Date.now(),k=(0,e.P)(a,{taskId:b,event:c,fromStatus:h,toStatus:i,payload:f,createdAt:j});return null===i?{task:g,fromStatus:h,toStatus:null,eventId:k}:{task:(0,d.xZ)(a,b,i,f?.runId===void 0?{}:{lastVerificationRunId:f.runId}),fromStatus:h,toStatus:i,eventId:k}})();return null===h?g.warn("task-event-unknown-task",{taskId:b,event:c}):null===h.toStatus&&g.warn("task-event-rejected",{taskId:b,event:c,fromStatus:h.fromStatus}),h}function i(a,b,c,e,f,i){try{let g=(0,d.MH)(a,b,c,e);if(!g)return null;return h(a,g.id,f,i)}catch(a){return g.warn("task-event-failed",{worktreeId:b,cliToolId:c,instanceId:e,event:f,error:a instanceof Error?a.message:String(a)}),null}}},63869:(a,b,c)=>{c.d(b,{Pw:()=>l,tV:()=>p});var d=c(79892),e=c(74258),f=c(32759),g=c(81254),h=c(93997),i=c(20610);let j=/^\[[ x]\] /,k="answer_mode_keys";class l extends Error{constructor(a,b,c){super(`Refused to send "${b}" to ${a}: its ${c.kind} dialog takes '${c.answerMode}' input, not a typed number (${k}). The digit would be swallowed and the Enter after it would confirm whatever is highlighted. Nothing was sent.`),this.name="PromptAnswerRejectedError",this.reason=k,this.dialogKind=c.kind,this.answerMode=c.answerMode}}async function m(a){if(void 0!==a.frame)return a.frame;try{return await (0,d.Xg)(a.sessionName,200)}catch{return null}}async function n(a){if(!/^\d+$/.test(a.answer))return;let b=(0,f.bN)(a.cliToolId);if(!b.hasDialogRules)return;let c=await m(a);if(null===c)return;let d=b.detectDialog((0,e.z)(c));if(null!==d&&"numbered"!==d.answerMode)throw new l(a.cliToolId,a.answer,d)}function o(a){if(0===a)return[];let b=a>0?"Down":"Up";return Array.from({length:Math.abs(a)},()=>b)}async function p(a){let{sessionName:b,answer:c,cliToolId:e,promptData:f,fallbackPromptType:k,fallbackDefaultOptionNumber:l}=a;if(await n(a),("claude"===e||"antigravity"===e)&&(f?.type==="multiple_choice"||"multiple_choice"===k)&&/^\d+$/.test(c)){let a,e=parseInt(c,10),g=null;if(f?.type==="multiple_choice"){let b=(g=f.options).find(a=>a.isDefault);a=b?.number??1}else a=l??1;let h=e-a;if(null!==g&&g.some(a=>j.test(a.label))&&null!==g){let a=g.filter(a=>j.test(a.label)).length,c=[...o(h),"Space"];c.push(...o(a-e+1)),c.push("Enter"),await (0,d.KB)(b,c)}else{let a=o(h),c=f?.type==="multiple_choice"&&!0===f.isAskUserQuestion&&0===h?["Down","Up","Enter"]:[...a,"Enter"];await (0,d.KB)(b,c)}}else{await (0,d.V1)(b,c,!1);let e=function(a){let b=(a.promptData?.type==="multiple_choice"?a.promptData.submitMode:void 0)??a.fallbackSubmitMode??"answer_then_enter";return(0,g.MI)(b)?b:"answer_then_enter"}(a);"answer_only"===e&&(a.promptData?.type==="multiple_choice"||"multiple_choice"===a.fallbackPromptType)&&/^\d+$/.test(a.answer)||(await new Promise(a=>setTimeout(a,i.pL)),await (0,d.V1)(b,"",!0))}(0,h.gm)(b)}},75498:(a,b,c)=>{c.d(b,{Lj:()=>f,Tb:()=>e,sD:()=>g});var d=c(68901);let e=2e4;function f(a,b,c){if(!c)return null;if("off"===c.mode)return{reason:"mode-off"};let f=function(a,b){if(0===b.length)return{outcome:"no-match"};let c=a.map(a=>a.length>e?a.slice(0,e):a);for(let a of b){if(a.length>200||!(0,d.P0)(a).valid)return{outcome:"unusable",pattern:a};let b=new RegExp(a);for(let e of c){let c=(0,d.eJ)(b,e);if(null===c)return{outcome:"unusable",pattern:a};if(c)return{outcome:"match",pattern:a}}}return{outcome:"no-match"}}(b,c.denyPatterns);return"match"===f.outcome?{reason:"deny-pattern",pattern:f.pattern}:"unusable"===f.outcome?{reason:"deny-pattern-unusable",pattern:f.pattern}:"safe"===c.mode?"yes_no"===a?null:{reason:"type-not-allowed"}:"allow-listed"===c.mode?c.allowPromptTypes.includes(a)?null:{reason:"type-not-allowed"}:null}function g(a,b){let c=function(a){if("yes_no"===a.type)return"y";if("multiple_choice"===a.type){let b=a.options.find(a=>a.isDefault)??a.options[0];return!b||b.requiresTextInput?null:b.number.toString()}return null}(a);if(null===c)return{answer:null,suppressedBy:null};let d=f(a.type,function(a){let b=[a.question];if(a.approvalTarget&&b.push(a.approvalTarget),"multiple_choice"===a.type)for(let c of a.options)b.push(c.label);else b.push(...a.options);return b}(a),b);return d?{answer:null,suppressedBy:d.reason,pattern:d.pattern}:{answer:c,suppressedBy:null}}},91318:(a,b,c)=>{c.d(b,{ie:()=>j,n:()=>i});var d=c(56791),e=c(88807),f=c(24455);let g=(0,c(72626).h)("auto-yes-policy"),h=new Map;function i(a,b,c){let i=c??b,j=(0,f.v7)(a,b,i),k=Date.now(),l=h.get(j);if(l&&l.expiresAt>k)return l.policy;let m=function(a,b,c){try{let f=(0,d.getActiveTaskForInstance)((0,e.getDbInstance)(),a,b,c);if(!f)return null;return f.contract.autoYes}catch(d){return g.warn("policy-lookup-failed",{worktreeId:a,cliToolId:b,instanceId:c,error:d instanceof Error?d.message:String(d)}),null}}(a,b,i);return h.size>=200&&function(a){for(let[b,c]of h.entries())c.expiresAt<=a&&h.delete(b)}(k),h.set(j,{policy:m,expiresAt:k+5e3}),m}function j(a){h.delete(a)}}};
@@ -1 +1 @@
1
- "use strict";exports.id=5164,exports.ids=[5164],exports.modules={46423:(a,b,c)=>{c.d(b,{$:()=>d});let d=5},51297:(a,b,c)=>{c.d(b,{aJ:()=>e});let d=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\[[0-9;]*m/g;function e(a){return a.replace(d,"")}},85164:(a,b,c)=>{c.d(b,{$t:()=>Q,A:()=>ai,CX:()=>q,DR:()=>m,Dd:()=>F,Du:()=>ad,E0:()=>ap,E6:()=>C,F0:()=>aG,Fg:()=>ao,Fw:()=>aH,GT:()=>p,J7:()=>aw,JN:()=>am,Jn:()=>E,KO:()=>aI,Ki:()=>as,LO:()=>$,M4:()=>X,Md:()=>P,Qh:()=>w,Rx:()=>av,Ty:()=>R,Ub:()=>ag,V:()=>aq,Wn:()=>ah,XV:()=>x,XY:()=>aa,_A:()=>aF,_X:()=>function a(b){switch(b){case"claude":return{promptPattern:n,separatorPattern:o,thinkingPattern:i,skipPatterns:[/^─{10,}$/,/^[>❯]\s*$/,i,/^\s*[⎿⏋]\s+Tip:/,/^\s*Tip:/,/^\s*\?\s*for shortcuts/,/to interrupt\)/,I]};case"codex":return{promptPattern:r,separatorPattern:D,thinkingPattern:k,skipPatterns:[/^─.*─+$/,/^›\s*$/,/^›\s+(Implement|Find and fix|Type)/,k,/^\s*\d+%\s+context left/,/^\s*for shortcuts$/,/╭─+╮/,/╰─+╯/,/•\s*Ran\s+/,/^\s*└/,/^\s*│/,/\(.*esc to interrupt\)/,I]};case"gemini":return{promptPattern:J,separatorPattern:/^[─━]{3,}$/m,thinkingPattern:K,skipPatterns:[J,K,/^\s*$/,/Gemini\s+\d+\.\d+/,I]};case"vibe-local":return{promptPattern:ax,separatorPattern:/^[·]{10,}$/m,thinkingPattern:ay,skipPatterns:[ax,ay,/^\s*$/,/vibe-local|vibe-coder/,/ctx:\s*\d+%/,/Model\s+\w/,/Engine\s+\w/,/Mode\s+/,/RAM\s+/,/CWD\s+/,/^[·]{10,}$/,/✦\s*Ready/,/ESC:\s*stop/,I]};case"opencode":return{promptPattern:L,separatorPattern:ab,thinkingPattern:O,skipPatterns:[...ac]};case"copilot":return{promptPattern:ad,separatorPattern:ai,thinkingPattern:ae,skipPatterns:[...aw]};case"antigravity":return{promptPattern:az,separatorPattern:aB,thinkingPattern:aA,skipPatterns:[...aD]};default:return a("claude")}},aJ:()=>e.aJ,aU:()=>j,aW:()=>H,fW:()=>I,gT:()=>ar,gm:()=>r,hx:()=>n,kD:()=>S,kT:()=>aC,l8:()=>_,mu:()=>Y,oD:()=>au,pV:()=>Z,pn:()=>G,sx:()=>ac,sy:()=>L,tJ:()=>af,uA:()=>N,ut:()=>aE,vU:()=>M,wN:()=>J,wv:()=>al,x7:()=>W,y:()=>an,zZ:()=>u});var d=c(72626),e=c(51297),f=c(94154),g=c(46423);let h=(0,d.h)("cli-patterns"),i=RegExp(`[✻✽⏺\xb7∴✢✳✶⦿◉●○◌◎⊙⊚⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏]\\s+.+…|esc to interrupt`,"m"),j=/esc to interrupt/,k=/•\s*(Planning|Searching|Exploring|Running|Thinking|Working|Reading|Writing|Analyzing|Ran|Deciding)/m,l=/esc to interrupt/;function m(a,b){let c=(0,e.aJ)(a.slice(Math.max(0,a.length-b)).join("\n"));if(l.test(c))return!0;let d=-1;for(let b=a.length-1;b>=Math.max(0,a.length-8);b--)if(r.test((0,e.aJ)(a[b]))){d=b;break}if(d<0)return k.test(c);let f=Math.max(0,d-g.$+1),h=(0,e.aJ)(a.slice(f,d+1).join("\n"));return k.test(h)}let n=/^[>❯](\s*$|\s+\S)/m,o=/^─{10,}$/m;function p(a){let b=(0,f.p4)(a);return null===b?-1:Math.max(0,b.openingSeparator-1)}let q=/Yes, I trust this folder/m,r=/^›\s*/m,s=/Skip until next version|Do you trust|Press enter to continue|^\s*›\s*\d+\.\s/m,t=/^\s*›(?!\s*\d+\.)/;function u(a){let b=a.split("\n"),c=-1,d=-1;for(let a=0;a<b.length;a++){let e=b[a];if(s.test(e)){c=a;continue}t.test(e)&&(d=a)}return d>=0&&d>c}function v(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a--)if(t.test(b[a])){c=a;break}return b.slice(c+1)}function w(a){let b=v(a).join("\n");return""===b?null:b.includes("Skip until next version")||b.includes("Update")&&b.includes("Skip")?"update":b.includes("Do you trust")?"trust":b.includes("Press enter to continue")?"press-enter":null}let x=["Hooks need review","Continue without trusting"],y=/press\s+t\s+to\s+trust\s+all\s*;/i,z=/press\s+t\s+to\s+trust\s*;/i,A=[/skip until next version/i,/^\s*[›❯]?\s*\d+\.\s*Update now/im],B=/Do you trust/;function C(a){let b=v(a),c=[];for(let a=b.length-1;a>=0&&c.length<12;a--)""!==b[a].trim()&&c.unshift(b[a]);if(0===c.length)return null;let d=c.join("\n");for(let a=c.length-1;a>=0;a--){let b=c[a];if(y.test(b))return"hooks-list";if(z.test(b))return"hooks-detail";if(F.test(b))break;if(A.some(a=>a.test(b)))return"update";if(B.test(b))return"trust";if(b.includes(x[1])&&d.includes(x[0]))return"hooks-review"}return null}let D=/^─.*Worked for.*─+$/m,E=/press\s+enter\s+to\s+(?:confirm|select)/i,F=/esc\s+to\s+cancel/i,G=/(?:↑\/↓|pgup\/pgdn|home\/end)\s+to\s+(?:scroll|page|jump)|to\s+edit\s+(?:prev|next|message)/i,H=/^\s*\S.*·\s*~?\/\S*\s*$/,I=/\[Pasted text #\d+/,J=/^[>❯]\s*$|^\s*[>❯]\s+Type your message.*$/m,K=/[\u2800-\u28FF]|Thinking\.\.\./,L=/Ask anything\.\.\./,M=/^[^\S\n]*[\u2502\u2503][^\S\n]*Ask anything\.\.\./m,N=/tab agents\s+ctrl\+p commands/,O=/Thinking:/,P=/\u25A3\s+\w+\s+·\s+\S+(?:\s+·\s+(?:[\d]+h\s*)?(?:[\d]+m\s*)?[\d.]+s)?/,Q=/\u25A3\s+\w+\s+·\s+[^·\n]+·\s+(?:\d+h\s*)?(?:\d+m\s*)?[\d.]+s/,R=/^[^\S\n]*[\u2502\u2503][^\S\n]*Allow once[^\S\n]+Allow always[^\S\n]+Reject\b/m,S=/esc (?:again to )?interrupt/,T=/^[^\S\n]*╹▀{4,}/,U=/^[^\S\n]*[│┃]/,V=/^[^\S\n]*[│┃][^\S\n]*\S/;function W(a){let b=a.length-1;for(;b>=0&&""===a[b].trim();)b--;if(b<0)return -1;let c=b=>{let c=b;for(;c-1>=0&&U.test(a[c-1]);)c--;return c};for(let d=b;d>=0;d--)if(T.test(a[d]))return c(d);return U.test(a[b])?c(b):-1}function X(a,b){let c=b>=0?b:a.length;for(let b=c-1;b>=0;b--){if(!V.test(a[b]))continue;let d=b;for(;d+1<c&&U.test(a[d+1]);)d++;return d}return -1}function Y(a){let b=-1;for(let c=a.length-1;c>=0;c--)if(T.test(a[c])){b=c;break}if(b<0)return null;let c=b;for(;c-1>=0&&U.test(a[c-1]);)c--;let d=b-1;return d<c?null:a.slice(c,d)}function Z(a){return a.replace(U,"").trim()}let $=/^[^\S\n]*(?:Select[^\S\n]+(?:model|provider)|Connect[^\S\n]+a[^\S\n]+provider)[^\S\n]{2,}esc[^\S\n]*$/m,_=/Enter\s+to\s+set\s+as\s+default\b/i,aa=/Enter\s+to\s+(?:select\s+.*to\s+navigate|confirm\s+·\s+Esc|set\s+as\s+default)/,ab=/^[\u2503\u2579\u25A3\u2580\u2500\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C]+$/,ac=[ab,/\u2B1D{4,}/,/^Build\s+/,N,S,L,/\d+(?:\.\d+)?[KMGT]?\s+\(\d+%\)\s+·\s+\$/,I],ad=/^[>❯]\s|^\?\s+/m,ae=/[\u2800-\u28FF]|\(Esc to cancel|Reasoning\s+[■▪▮]|\.\.\.\s+Thinking/,af=/\besc\s+interrupt\b/,ag=/\/\s+commands\b|\?\s+(?:help\b|for\s+shortcuts\b)/;function ah(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if(""!==c.trim()){if(af.test(c))return"working";if(ag.test(c))return"idle";break}}return null}let ai=/^─{10,}$/m,aj=/^─{10,}$/,ak=/^ {0,2}[>❯]/;function al(a){let b=a=>aj.test((0,e.aJ)(a).trim()),c=a.length-1;for(;c>=0&&""===(0,e.aJ)(a[c]).trim();)c--;if(c<0)return -1;let d=-1;for(let e=c;e>=Math.max(0,c-2);e--)if(b(a[e])){d=e;break}if(d<0)return -1;let f=-1;for(let c=d-1;c>=Math.max(0,d-40);c--)if(b(a[c])){f=c;break}return f<0||!ak.test((0,e.aJ)(a[f+1]??""))?-1:Math.max(0,f-1)}let am=/^\s*[│└╰╭╮╯├┤┬┴┼]/,an=/^ {0,2}[>❯]\s+\S/,ao=/^ {2,}\S/,ap=[/No copilot-instructions\.md found/,/Copilot uses AI, so always check for mistakes\./,/Copilot v\d[\w.]*\s+uses AI/,/^\s*(?:●\s+)?GitHub Copilot\s+v\d/m,/^\s*(?:●\s+)?Tip:\s*\//m,/Describe a task to get started/,/Prefer a visual workspace\?/],aq=/^(?=[^\n]*·)[^\n]*(?:↑\/?↓|\besc\s+(?:to\s+)?(?:cancel|close)\b)/m;function ar(a){if(null!==ah(a))return!1;let b=0;for(let c=a.length-1;c>=0;c--){let d=a[c],e=d.trim();if(""!==e){if(++b>3)break;if(!(e.startsWith("│")||e.endsWith("│"))&&aq.test(d))return!0}}return!1}let as=["Confirm folder trust","Do you trust the files in this folder?"],at=/^[ \t]*(?:[>❯][ \t]*)?1\.[ \t]+Yes[ \t]*$/m,au="1";function av(a){return!!as.every(b=>a.includes(b))&&at.test(aF(a))}let aw=[I,ai,ae,aq,/^\s*⌄\s/,/^GitHub Copilot\s+v/,/[█▘▝▖▗▔▄▌▐]/,/[╭╮╰╯│]/,/\[⎇\s+\w[^\]]*\]/,/^shift\+tab\s/,/^\?\s+for\s+shortcuts/,/^ctrl\+[a-z]\s+\w/,/^[❯>]\s*(Type\s+@|$)/,/^Tip:\s+\//,/^Describe a task to get started/,/^Copilot uses AI, so always check for mistakes\.$/,/^● 💡/,/^● Environment loaded:/],ax=/ctx:\d+%\s*[>❯]/m,ay=/[\u2800-\u28FF]|Thinking|⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏|Running|Executing/,az=/^>\s*$/m,aA=/[\u2800-\u28FF]|Generating|esc to cancel/,aB=/^─{3,}$/m,aC=/Switch Model|↑\/↓\s*Navigate/m,aD=[aB,/^>\s*$/,/^\?\s+for\s+shortcuts/,aA,/[▄▀█▌▐]/,I];function aE(a,b){let c,d=h.withContext({cliToolId:a});switch(d.debug("detectThinking:check",{contentLength:b.length}),a){case"claude":default:c=i.test(b);break;case"codex":c=k.test(b);break;case"gemini":c=K.test(b);break;case"vibe-local":c=ay.test(b);break;case"opencode":c=O.test(b);break;case"copilot":c=ae.test(b);break;case"antigravity":c=aA.test(b)}return d.debug("detectThinking:result",{isThinking:c}),c}function aF(a){return a.split("\n").map(a=>/^[\u2502\u2503\u256D\u256E\u256F\u2570\u2500\u2579\u2580\u2588\s]+$/.test(a)?"":a.replace(/^\s*[\u2502\u2503]\s?/,"").replace(/\s*[\u2502\u2503\u2588]$/,"")).join("\n")}let aG=["Claude Code cannot be launched inside another Claude Code session"],aH=[/^Error:.*Claude Code/];function aI(a){return"claude"===a?{requireDefaultIndicator:!1}:"opencode"===a?{requireDefaultIndicator:!1,hasNumberedDialogs:!1}:"copilot"===a||"antigravity"===a?{requireDefaultIndicator:!1}:void 0}},94154:(a,b,c)=>{c.d(b,{ji:()=>k,p4:()=>f});var d=c(51297);let e=/^[>❯]/;function f(a){let b=a=>/^─{10,}$/.test((0,d.aJ)(a).trimEnd()),c=a.length-1;for(;c>=0&&""===a[c].trim();)c--;if(c<0)return null;let f=-1;for(let d=c;d>=Math.max(0,c-4);d--)if(b(a[d])){f=d;break}if(f<0)return null;let g=-1;for(let c=f-1;c>=Math.max(0,f-40);c--)if(b(a[c])){g=c;break}return g<0||!e.test((0,d.aJ)(a[g+1]??""))?null:{openingSeparator:g,closingSeparator:f}}let g=/^\u203A/;function h(a){return void 0===a||""===(0,d.aJ)(a).trim()}function i(a){let b=[],c={dim:!1,bold:!1},d=0;for(;d<a.length;){let e=a[d];if("\x1b"!==e){b.push({ch:e,dim:c.dim,bold:c.bold}),d++;continue}let f=a[d+1];if("["===f){let b=d+2;for(;b<a.length&&!/[A-Za-z]/.test(a[b]);)b++;if(b>=a.length)break;"m"===a[b]&&(c=function(a,b){let c=""===a?["0"]:a.split(";"),{dim:d,bold:e}=b;for(let a=0;a<c.length;a++){let b=""===c[a]?0:Number(c[a]);if(!Number.isNaN(b)){if(38===b||48===b||58===b){let b=""===c[a+1]||void 0===c[a+1]?-1:Number(c[a+1]);5===b?a+=2:2===b?a+=4:a+=1;continue}0===b||22===b?(d=!1,e=!1):1===b?e=!0:2===b&&(d=!0)}}return{dim:d,bold:e}}(a.slice(d+2,b),c)),d=b+1;continue}if("]"===f){let b=d+2;for(;b<a.length;){if("\x07"===a[b]){b++;break}if("\x1b"===a[b]&&"\\"===a[b+1]){b+=2;break}b++}d=b;continue}d+=2}return b}let j=new Set(["claude","codex"]);function k(a,b){if(!j.has(b))return{text:"",state:"unsupported_tool"};let c=a.split("\n"),d=function(a,b){if("claude"===b){let b=f(a);return null===b?null:{firstRow:b.openingSeparator+1,lastRow:b.closingSeparator-1,glyph:e}}let c=function(a){let b=a.length-1;for(;b>=0&&h(a[b]);)b--;if(b<0)return null;for(let c=0;c<4&&b>=0;c++){let c=b,d=b;for(;d>0&&!h(a[d-1]);)d--;if(function(a){if(void 0===a)return!1;let b=i(a);if(0===b.length||"›"!==b[0].ch||b[0].dim||b.length>1&&" "!==b[1].ch)return!1;let c=b.slice(2).find(a=>" "!==a.ch);return void 0===c||!c.bold}(a[d]))return{firstRow:d,lastRow:Math.min(c,d+40-1)};for(b=d-1;b>=0&&h(a[b]);)b--}return null}(a);return null===c?null:{firstRow:c.firstRow,lastRow:c.lastRow,glyph:g}}(c,b);if(null===d)return{text:"",state:"no_composer"};let k=[],m=[];for(let a=d.firstRow;a<=d.lastRow;a++){let b=function(a,b,c){if(b){let b=a.findIndex(a=>c.test(a.ch));if(b<0)return a;let d=b+1;return d<a.length&&/\s/.test(a[d].ch)&&d++,a.slice(d)}let d=0;for(;d<2&&d<a.length&&" "===a[d].ch;)d++;return a.slice(d)}(i(c[a]??""),a===d.firstRow,d.glyph);k.push(b.filter(a=>!a.dim).map(a=>a.ch).join("").trimEnd()),m.push(b.map(a=>a.ch).join("").trimEnd())}let n=l(k).join("\n");return""!==n.trim()?{text:n.slice(0,2e3),state:"content"}:{text:"",state:""===l(m).join("\n").trim()?"empty":"ghost"}}function l(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;return a.slice(0,b)}}};
1
+ "use strict";exports.id=5164,exports.ids=[5164],exports.modules={46423:(a,b,c)=>{c.d(b,{$:()=>d});let d=5},51297:(a,b,c)=>{c.d(b,{aJ:()=>e});let d=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\[[0-9;]*m/g;function e(a){return a.replace(d,"")}},85164:(a,b,c)=>{c.d(b,{$t:()=>Q,A:()=>aj,CX:()=>q,Cc:()=>W,DR:()=>m,Dd:()=>F,Dj:()=>ay,Du:()=>ae,E0:()=>aq,E6:()=>C,F0:()=>aH,Fg:()=>ap,Fw:()=>aI,GT:()=>p,J7:()=>ax,JN:()=>an,Jn:()=>E,KO:()=>aJ,Ki:()=>at,LO:()=>_,M4:()=>Y,Md:()=>P,Mt:()=>k,Qh:()=>w,Rx:()=>aw,Ty:()=>R,Ub:()=>ah,V:()=>ar,VF:()=>aB,Wn:()=>ai,XV:()=>x,XY:()=>ab,_A:()=>aG,_X:()=>function a(b){switch(b){case"claude":return{promptPattern:n,separatorPattern:o,thinkingPattern:i,skipPatterns:[/^─{10,}$/,/^[>❯]\s*$/,i,/^\s*[⎿⏋]\s+Tip:/,/^\s*Tip:/,/^\s*\?\s*for shortcuts/,/to interrupt\)/,I]};case"codex":return{promptPattern:r,separatorPattern:D,thinkingPattern:k,skipPatterns:[/^─.*─+$/,/^›\s*$/,/^›\s+(Implement|Find and fix|Type)/,k,/^\s*\d+%\s+context left/,/^\s*for shortcuts$/,/╭─+╮/,/╰─+╯/,/•\s*Ran\s+/,/^\s*└/,/^\s*│/,/\(.*esc to interrupt\)/,I]};case"gemini":return{promptPattern:J,separatorPattern:/^[─━]{3,}$/m,thinkingPattern:K,skipPatterns:[J,K,/^\s*$/,/Gemini\s+\d+\.\d+/,I]};case"vibe-local":return{promptPattern:ay,separatorPattern:/^[·]{10,}$/m,thinkingPattern:az,skipPatterns:[ay,az,/^\s*$/,/vibe-local|vibe-coder/,/ctx:\s*\d+%/,/Model\s+\w/,/Engine\s+\w/,/Mode\s+/,/RAM\s+/,/CWD\s+/,/^[·]{10,}$/,/✦\s*Ready/,/ESC:\s*stop/,I]};case"opencode":return{promptPattern:L,separatorPattern:ac,thinkingPattern:O,skipPatterns:[...ad]};case"copilot":return{promptPattern:ae,separatorPattern:aj,thinkingPattern:af,skipPatterns:[...ax]};case"antigravity":return{promptPattern:aA,separatorPattern:aC,thinkingPattern:aB,skipPatterns:[...aE]};default:return a("claude")}},a2:()=>O,aJ:()=>e.aJ,aU:()=>j,aW:()=>H,b2:()=>az,fW:()=>I,gT:()=>as,gm:()=>r,hx:()=>n,kD:()=>S,kT:()=>aD,l8:()=>aa,lE:()=>aA,mu:()=>Z,oD:()=>av,pV:()=>$,pn:()=>G,rb:()=>af,s0:()=>K,sB:()=>s,sx:()=>ad,sy:()=>L,tJ:()=>ag,uA:()=>N,ut:()=>aF,vU:()=>M,wN:()=>J,wv:()=>am,x7:()=>X,y:()=>ao,zZ:()=>u});var d=c(72626),e=c(51297),f=c(94154),g=c(46423);let h=(0,d.h)("cli-patterns"),i=RegExp(`[✻✽⏺\xb7∴✢✳✶⦿◉●○◌◎⊙⊚⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏]\\s+.+…|esc to interrupt`,"m"),j=/esc to interrupt/,k=/•\s*(Planning|Searching|Exploring|Running|Thinking|Working|Reading|Writing|Analyzing|Ran|Deciding)/m,l=/esc to interrupt/;function m(a,b){let c=(0,e.aJ)(a.slice(Math.max(0,a.length-b)).join("\n"));if(l.test(c))return!0;let d=-1;for(let b=a.length-1;b>=Math.max(0,a.length-8);b--)if(r.test((0,e.aJ)(a[b]))){d=b;break}if(d<0)return k.test(c);let f=Math.max(0,d-g.$+1),h=(0,e.aJ)(a.slice(f,d+1).join("\n"));return k.test(h)}let n=/^[>❯](\s*$|\s+\S)/m,o=/^─{10,}$/m;function p(a){let b=(0,f.p4)(a);return null===b?-1:Math.max(0,b.openingSeparator-1)}let q=/Yes, I trust this folder/m,r=/^›\s*/m,s=/Skip until next version|Do you trust|Press enter to continue|^\s*›\s*\d+\.\s/m,t=/^\s*›(?!\s*\d+\.)/;function u(a){let b=a.split("\n"),c=-1,d=-1;for(let a=0;a<b.length;a++){let e=b[a];if(s.test(e)){c=a;continue}t.test(e)&&(d=a)}return d>=0&&d>c}function v(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a--)if(t.test(b[a])){c=a;break}return b.slice(c+1)}function w(a){let b=v(a).join("\n");return""===b?null:b.includes("Skip until next version")||b.includes("Update")&&b.includes("Skip")?"update":b.includes("Do you trust")?"trust":b.includes("Press enter to continue")?"press-enter":null}let x=["Hooks need review","Continue without trusting"],y=/press\s+t\s+to\s+trust\s+all\s*;/i,z=/press\s+t\s+to\s+trust\s*;/i,A=[/skip until next version/i,/^\s*[›❯]?\s*\d+\.\s*Update now/im],B=/Do you trust/;function C(a){let b=v(a),c=[];for(let a=b.length-1;a>=0&&c.length<12;a--)""!==b[a].trim()&&c.unshift(b[a]);if(0===c.length)return null;let d=c.join("\n");for(let a=c.length-1;a>=0;a--){let b=c[a];if(y.test(b))return"hooks-list";if(z.test(b))return"hooks-detail";if(F.test(b))break;if(A.some(a=>a.test(b)))return"update";if(B.test(b))return"trust";if(b.includes(x[1])&&d.includes(x[0]))return"hooks-review"}return null}let D=/^─.*Worked for.*─+$/m,E=/press\s+enter\s+to\s+(?:confirm|select)/i,F=/esc\s+to\s+cancel/i,G=/(?:↑\/↓|pgup\/pgdn|home\/end)\s+to\s+(?:scroll|page|jump)|to\s+edit\s+(?:prev|next|message)/i,H=/^\s*\S.*·\s*~?\/\S*\s*$/,I=/\[Pasted text #\d+/,J=/^[>❯]\s*$|^\s*[>❯]\s+Type your message.*$/m,K=/[\u2800-\u28FF]|Thinking\.\.\./,L=/Ask anything\.\.\./,M=/^[^\S\n]*[\u2502\u2503][^\S\n]*Ask anything\.\.\./m,N=/tab agents\s+ctrl\+p commands/,O=/Thinking:/,P=/\u25A3\s+\w+\s+·\s+\S+(?:\s+·\s+(?:[\d]+h\s*)?(?:[\d]+m\s*)?[\d.]+s)?/,Q=/\u25A3\s+\w+\s+·\s+[^·\n]+·\s+(?:\d+h\s*)?(?:\d+m\s*)?[\d.]+s/,R=/^[^\S\n]*[\u2502\u2503][^\S\n]*Allow once[^\S\n]+Allow always[^\S\n]+Reject\b/m,S=/esc (?:again to )?interrupt/,T=/^[^\S\n]*╹▀{4,}/,U=/^[^\S\n]*[│┃]/,V=/^[^\S\n]*[│┃][^\S\n]*\S/,W=/\d+(?:\.\d+)?[KMGT]?\s+\(\d+%\)\s+·\s+\$/;function X(a){let b=a.length-1;for(;b>=0&&""===a[b].trim();)b--;if(b<0)return -1;let c=b=>{let c=b;for(;c-1>=0&&U.test(a[c-1]);)c--;return c};for(let d=b;d>=0;d--)if(T.test(a[d]))return c(d);return U.test(a[b])?c(b):-1}function Y(a,b){let c=b>=0?b:a.length;for(let b=c-1;b>=0;b--){if(!V.test(a[b]))continue;let d=b;for(;d+1<c&&U.test(a[d+1]);)d++;return d}return -1}function Z(a){let b=-1;for(let c=a.length-1;c>=0;c--)if(T.test(a[c])){b=c;break}if(b<0)return null;let c=b;for(;c-1>=0&&U.test(a[c-1]);)c--;let d=b-1;return d<c?null:a.slice(c,d)}function $(a){return a.replace(U,"").trim()}let _=/^[^\S\n]*(?:Select[^\S\n]+(?:model|provider)|Connect[^\S\n]+a[^\S\n]+provider)[^\S\n]{2,}esc[^\S\n]*$/m,aa=/Enter\s+to\s+set\s+as\s+default\b/i,ab=/Enter\s+to\s+(?:select\s+.*to\s+navigate|confirm\s+·\s+Esc|set\s+as\s+default)/,ac=/^[\u2503\u2579\u25A3\u2580\u2500\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C]+$/,ad=[ac,/\u2B1D{4,}/,/^Build\s+/,N,S,L,W,I],ae=/^[>❯]\s|^\?\s+/m,af=/[\u2800-\u28FF]|\(Esc to cancel|Reasoning\s+[■▪▮]|\.\.\.\s+Thinking/,ag=/\besc\s+interrupt\b/,ah=/\/\s+commands\b|\?\s+(?:help\b|for\s+shortcuts\b)/;function ai(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if(""!==c.trim()){if(ag.test(c))return"working";if(ah.test(c))return"idle";break}}return null}let aj=/^─{10,}$/m,ak=/^─{10,}$/,al=/^ {0,2}[>❯]/;function am(a){let b=a=>ak.test((0,e.aJ)(a).trim()),c=a.length-1;for(;c>=0&&""===(0,e.aJ)(a[c]).trim();)c--;if(c<0)return -1;let d=-1;for(let e=c;e>=Math.max(0,c-2);e--)if(b(a[e])){d=e;break}if(d<0)return -1;let f=-1;for(let c=d-1;c>=Math.max(0,d-40);c--)if(b(a[c])){f=c;break}return f<0||!al.test((0,e.aJ)(a[f+1]??""))?-1:Math.max(0,f-1)}let an=/^\s*[│└╰╭╮╯├┤┬┴┼]/,ao=/^ {0,2}[>❯]\s+\S/,ap=/^ {2,}\S/,aq=[/No copilot-instructions\.md found/,/Copilot uses AI, so always check for mistakes\./,/Copilot v\d[\w.]*\s+uses AI/,/^\s*(?:●\s+)?GitHub Copilot\s+v\d/m,/^\s*(?:●\s+)?Tip:\s*\//m,/Describe a task to get started/,/Prefer a visual workspace\?/],ar=/^(?=[^\n]*·)[^\n]*(?:↑\/?↓|\besc\s+(?:to\s+)?(?:cancel|close)\b)/m;function as(a){if(null!==ai(a))return!1;let b=0;for(let c=a.length-1;c>=0;c--){let d=a[c],e=d.trim();if(""!==e){if(++b>3)break;if(!(e.startsWith("│")||e.endsWith("│"))&&ar.test(d))return!0}}return!1}let at=["Confirm folder trust","Do you trust the files in this folder?"],au=/^[ \t]*(?:[>❯][ \t]*)?1\.[ \t]+Yes[ \t]*$/m,av="1";function aw(a){return!!at.every(b=>a.includes(b))&&au.test(aG(a))}let ax=[I,aj,af,ar,/^\s*⌄\s/,/^GitHub Copilot\s+v/,/[█▘▝▖▗▔▄▌▐]/,/[╭╮╰╯│]/,/\[⎇\s+\w[^\]]*\]/,/^shift\+tab\s/,/^\?\s+for\s+shortcuts/,/^ctrl\+[a-z]\s+\w/,/^[❯>]\s*(Type\s+@|$)/,/^Tip:\s+\//,/^Describe a task to get started/,/^Copilot uses AI, so always check for mistakes\.$/,/^● 💡/,/^● Environment loaded:/],ay=/ctx:\d+%\s*[>❯]/m,az=/[\u2800-\u28FF]|Thinking|⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏|Running|Executing/,aA=/^>\s*$/m,aB=/[\u2800-\u28FF]|Generating|esc to cancel/,aC=/^─{3,}$/m,aD=/Switch Model|↑\/↓\s*Navigate/m,aE=[aC,/^>\s*$/,/^\?\s+for\s+shortcuts/,aB,/[▄▀█▌▐]/,I];function aF(a,b){let c,d=h.withContext({cliToolId:a});switch(d.debug("detectThinking:check",{contentLength:b.length}),a){case"claude":default:c=i.test(b);break;case"codex":c=k.test(b);break;case"gemini":c=K.test(b);break;case"vibe-local":c=az.test(b);break;case"opencode":c=O.test(b);break;case"copilot":c=af.test(b);break;case"antigravity":c=aB.test(b)}return d.debug("detectThinking:result",{isThinking:c}),c}function aG(a){return a.split("\n").map(a=>/^[\u2502\u2503\u256D\u256E\u256F\u2570\u2500\u2579\u2580\u2588\s]+$/.test(a)?"":a.replace(/^\s*[\u2502\u2503]\s?/,"").replace(/\s*[\u2502\u2503\u2588]$/,"")).join("\n")}let aH=["Claude Code cannot be launched inside another Claude Code session"],aI=[/^Error:.*Claude Code/];function aJ(a){return"claude"===a?{requireDefaultIndicator:!1}:"opencode"===a?{requireDefaultIndicator:!1,hasNumberedDialogs:!1}:"copilot"===a||"antigravity"===a?{requireDefaultIndicator:!1}:void 0}},94154:(a,b,c)=>{c.d(b,{ji:()=>k,p4:()=>f});var d=c(51297);let e=/^[>❯]/;function f(a){let b=a=>/^─{10,}$/.test((0,d.aJ)(a).trimEnd()),c=a.length-1;for(;c>=0&&""===a[c].trim();)c--;if(c<0)return null;let f=-1;for(let d=c;d>=Math.max(0,c-4);d--)if(b(a[d])){f=d;break}if(f<0)return null;let g=-1;for(let c=f-1;c>=Math.max(0,f-40);c--)if(b(a[c])){g=c;break}return g<0||!e.test((0,d.aJ)(a[g+1]??""))?null:{openingSeparator:g,closingSeparator:f}}let g=/^\u203A/;function h(a){return void 0===a||""===(0,d.aJ)(a).trim()}function i(a){let b=[],c={dim:!1,bold:!1},d=0;for(;d<a.length;){let e=a[d];if("\x1b"!==e){b.push({ch:e,dim:c.dim,bold:c.bold}),d++;continue}let f=a[d+1];if("["===f){let b=d+2;for(;b<a.length&&!/[A-Za-z]/.test(a[b]);)b++;if(b>=a.length)break;"m"===a[b]&&(c=function(a,b){let c=""===a?["0"]:a.split(";"),{dim:d,bold:e}=b;for(let a=0;a<c.length;a++){let b=""===c[a]?0:Number(c[a]);if(!Number.isNaN(b)){if(38===b||48===b||58===b){let b=""===c[a+1]||void 0===c[a+1]?-1:Number(c[a+1]);5===b?a+=2:2===b?a+=4:a+=1;continue}0===b||22===b?(d=!1,e=!1):1===b?e=!0:2===b&&(d=!0)}}return{dim:d,bold:e}}(a.slice(d+2,b),c)),d=b+1;continue}if("]"===f){let b=d+2;for(;b<a.length;){if("\x07"===a[b]){b++;break}if("\x1b"===a[b]&&"\\"===a[b+1]){b+=2;break}b++}d=b;continue}d+=2}return b}let j=new Set(["claude","codex"]);function k(a,b){if(!j.has(b))return{text:"",state:"unsupported_tool"};let c=a.split("\n"),d=function(a,b){if("claude"===b){let b=f(a);return null===b?null:{firstRow:b.openingSeparator+1,lastRow:b.closingSeparator-1,glyph:e}}let c=function(a){let b=a.length-1;for(;b>=0&&h(a[b]);)b--;if(b<0)return null;for(let c=0;c<4&&b>=0;c++){let c=b,d=b;for(;d>0&&!h(a[d-1]);)d--;if(function(a){if(void 0===a)return!1;let b=i(a);if(0===b.length||"›"!==b[0].ch||b[0].dim||b.length>1&&" "!==b[1].ch)return!1;let c=b.slice(2).find(a=>" "!==a.ch);return void 0===c||!c.bold}(a[d]))return{firstRow:d,lastRow:Math.min(c,d+40-1)};for(b=d-1;b>=0&&h(a[b]);)b--}return null}(a);return null===c?null:{firstRow:c.firstRow,lastRow:c.lastRow,glyph:g}}(c,b);if(null===d)return{text:"",state:"no_composer"};let k=[],m=[];for(let a=d.firstRow;a<=d.lastRow;a++){let b=function(a,b,c){if(b){let b=a.findIndex(a=>c.test(a.ch));if(b<0)return a;let d=b+1;return d<a.length&&/\s/.test(a[d].ch)&&d++,a.slice(d)}let d=0;for(;d<2&&d<a.length&&" "===a[d].ch;)d++;return a.slice(d)}(i(c[a]??""),a===d.firstRow,d.glyph);k.push(b.filter(a=>!a.dim).map(a=>a.ch).join("").trimEnd()),m.push(b.map(a=>a.ch).join("").trimEnd())}let n=l(k).join("\n");return""!==n.trim()?{text:n.slice(0,2e3),state:"content"}:{text:"",state:""===l(m).join("\n").trim()?"empty":"ghost"}}function l(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;return a.slice(0,b)}}};
@@ -1 +1 @@
1
- "use strict";exports.id=5571,exports.ids=[5571],exports.modules={95571:a=>{a.exports=JSON.parse('{"title":"Schedules","executionLogs":"Execution Logs","tabs":{"schedules":"Schedules","logs":"Logs"},"emptyState":{"title":"No schedules yet","description":"Run an agent automatically on a cron schedule.","createButton":"Create Schedule","manualToggle":"Or edit CMATE.md manually"},"noSchedules":"No schedules configured. Add a CMATE.md with a Schedules section.","noSchedulesTitle":"No schedules configured","noSchedulesStep1":"Switch to the Files tab","noSchedulesStep2":"Click the CMATE button in the toolbar to create CMATE.md","noSchedulesStep3":"Edit the Schedules table (Name, Cron, Message, CLI Tool, Enabled, Permission)","noSchedulesStep4":"Click CMATE again to validate","noLogs":"No execution logs yet.","status":{"running":"Running","completed":"Completed","failed":"Failed","timeout":"Timeout","cancelled":"Cancelled"},"enabled":"Enabled","disabled":"Disabled","activeSchedulesTitle":"Active Schedules","activeSchedulesDescription":"In-memory cron state currently registered by the scheduler.","noActiveSchedules":"No schedules are currently registered in memory.","nextRun":"Next run","agentLabel":"Agent","activeState":{"active":"Active","inactive":"Inactive","executing":"Executing"},"lastRun":"Last run","cron":"Cron","exitCode":"Exit","noOutput":"(no output)","message":"Message","response":"Response","unknownSchedule":"(deleted schedule)","retry":"Retry","loading":"Loading...","notes":"Notes","logs":"Schedules","notesAndLogs":"CMATE","agentTab":"Agent","agentSettings":"Agent Settings","selectAgents":"Select 2 agents to display in the terminal header tabs.","agentSaveSuccess":"Agent settings saved.","agentSaveError":"Failed to save agent settings.","agentInstances":"Agent Instances","agentInstancesDescription":"Manage the agents shown in the terminal header tabs. Add multiple instances of the same tool and give each an alias.","agentInstanceAliasLabel":"Alias","agentInstanceAliasPlaceholder":"Display name","agentInstanceBaseTool":"Base tool","agentInstanceAdd":"Add instance","agentInstanceDelete":"Delete instance","agentInstanceMoveUp":"Move up","agentInstanceMoveDown":"Move down","agentInstanceActions":"Instance actions","memoMoveUp":"Move up","memoMoveDown":"Move down","agentInstanceMax":"Up to {max} instances can be added.","agentInstanceMin":"At least {min} instance is required.","agentInstanceSaveError":"Failed to save agent instances.","mobileVisibleInstances":"Show on this device","mobileVisibleInstancesDescription":"Choose which instances appear as tabs on this device. This selection is saved per device and does not change the shared instance list.","mobileVisibleInstanceMin":"At least one instance must stay visible on this device.","vibeLocalModel":"Ollama Model","vibeLocalModelDefault":"Default","vibeLocalContextWindow":"Context Window","vibeLocalContextWindowDefault":"Default (auto)","ollamaNotAvailable":"Ollama is not running. Start Ollama to select a model.","cmateCreated":"CMATE.md created with template. Edit it to configure schedules.","cmateValidation":{"noSchedulesSection":"CMATE.md has no Schedules section.","valid":"{count} schedule(s) validated successfully.","errors":"{errorCount} validation error(s) found: {details}","failed":"Failed to process CMATE.md."},"edit":{"newSchedule":"New Schedule","titleCreate":"New Schedule","titleEdit":"Edit Schedule","sectionBasic":"Basic","sectionAdvanced":"Advanced","sectionMessage":"Message","name":"Name","namePlaceholder":"daily-review","cron":"Cron Expression","cronPlaceholder":"0 9 * * *","cronPreset":"Preset","cronPresetHourly":"Every hour (0 */1 * * *)","cronPresetDaily9":"Daily at 9:00 (0 9 * * *)","cronPresetWeeklyMon9":"Mondays at 9:00 (0 9 * * 1)","cronPresetCustom":"Custom","askAiCron":"Ask AI","askAiMessage":"Ask AI to draft","askAiHint":"Drafts a prompt into the AI chat (no auto-send)","aiPrompts":{"cron":"I want to express the schedule timing as a cron expression. Convert a plain-language request (e.g. \\"every Monday at 9\\") into a cron expression and suggest a few candidates (e.g. \\"every Monday at 9\\" → `0 9 * * 1`).","cronRefine":"I want to express the schedule timing as a cron expression. The current input is {current}. Building on that, convert a plain-language request (e.g. \\"every Monday at 9\\") into a cron expression and suggest a few candidates (e.g. \\"every Monday at 9\\" → `0 9 * * 1`).","messageDraft":"For this schedule, I want to write the message (the instruction prompt) that the CLI tool will run on a schedule. First ask me what it is for, then propose the message content based on my answer.","messageDraftNamed":"For the schedule {name}, I want to write the message (the instruction prompt) that the CLI tool will run on a schedule. First ask me what it is for, then propose the message content based on my answer."},"cliTool":"CLI Tool","model":"Model","modelPlaceholder":"gpt-4.1","opencodeAgent":"Agent (opencode)","opencodeAgentPlaceholder":"plan","opencodeVariant":"Variant (opencode)","opencodeVariantPlaceholder":"high","opencodeTitle":"Session title (opencode)","opencodeTitlePlaceholder":"nightly-review","opencodeContinue":"Continue the last session (--continue)","permission":"Permission","message":"Message","messagePlaceholder":"Summarize README.md","charCount":"{count} / {max}","enabledLabel":"Enabled","save":"Save","cancel":"Cancel","edit":"Edit","delete":"Delete","enable":"Enable","disable":"Disable","confirmDelete":"Delete schedule \\"{name}\\"?","saveError":"Failed to save the schedule.","errorNameRequired":"Name is required.","errorNameTooLong":"Name must be {max} characters or less.","errorNameInvalid":"Name contains invalid characters.","errorCronInvalid":"Invalid cron expression.","errorMessageRequired":"Message is required.","errorMessageTooLong":"Message must be {max} characters or less.","errorModelInvalid":"Invalid model name.","errorAgentInvalid":"Invalid agent name.","errorVariantInvalid":"Invalid variant name.","errorTitleInvalid":"Invalid session title."},"timerTab":"Timer","todoTab":"ToDo","skillsTab":"Skills","verificationTab":"Verification","envTab":"Env","timer":{"title":"Delayed Messages","titleCreate":"New Timer","createButton":"Create Timer","newTimer":"New Timer","close":"Cancel","agent":"Agent","message":"Message","delay":"Send After","register":"Register Timer","cancel":"Cancel","noTimers":"No timers registered.","maxReached":"Maximum {max} timers per worktree.","registerSuccess":"Timer registered.","registerError":"Failed to register timer.","cancelSuccess":"Timer cancelled.","cancelError":"Failed to cancel timer.","status":{"pending":"Pending","sending":"Sending","sent":"Sent","failed":"Failed","cancelled":"Cancelled","no_session":"No Session"},"sessionWarning":"Session is not running. If the session is not running when the timer fires, the message will not be sent.","minutesShort":"{minutes}m","hoursMinutesShort":"{hours}h {minutes}m","loadMore":"Load more","clearHistory":"Clear history","clearConfirm":"Delete all sent, failed, and cancelled timer history?","cleared":"History cleared ({count} items)","detailTitle":"Timer Details","statusLabel":"Status","scheduledTime":"Scheduled Send","createdTime":"Created","sentTime":"Sent","failureReason":"Failure Reason"},"memoAdd":"Add Memo","memoRemaining":"{count} remaining","memoDefaultTitle":"Memo","memoTitlePlaceholder":"Memo title","memoInsertToMessage":"Insert to message","memoCopyContent":"Copy memo content","memoDelete":"Delete memo","memoContentPlaceholder":"Enter memo content...","memoLoading":"Loading memos...","memoSearchToggle":"Search memos","memoEmpty":"No memos yet.","memoEmptyHint":"Click the button below to add one.","memoNoMatch":"No memos match your search.","memoSearchLabel":"Memo search","memoSearchPlaceholder":"Search...","memoSearchInputLabel":"Search memos","memoSearchPrev":"Previous match (prev)","memoSearchNext":"Next match (next)","memoSearchClose":"Close search (close)","opencodeSettings":"opencode launch settings","opencodeSettingsDescription":"The agent, model and variant this instance starts opencode with and sends prompts as.","opencodeAgent":"Agent","opencodeModel":"Model","opencodeVariant":"Variant (reasoning effort)","opencodeDefault":"opencode default","opencodeAgentPlaceholder":"build","opencodeModelPlaceholder":"provider/model","opencodeVariantPlaceholder":"high","opencodeNoVariants":"This model has no variants.","opencodeSettingsOffline":"opencode is not running, so no candidates could be read. Values can be typed in directly (model as provider/model).","opencodeVariantLaunchNote":"Agent and model take effect the next time this instance starts. The variant cannot be passed as a launch flag — opencode 1.18.22\'s TUI has no --variant — so it is applied to the prompts CommandMate posts, from the next message on.","opencodeSettingsLoadError":"Failed to load the opencode launch settings.","opencodeSettingsSaveError":"Failed to save the opencode launch settings."}')}};
1
+ "use strict";exports.id=5571,exports.ids=[5571],exports.modules={95571:a=>{a.exports=JSON.parse('{"title":"Schedules","executionLogs":"Execution Logs","tabs":{"schedules":"Schedules","logs":"Logs"},"emptyState":{"title":"No schedules yet","description":"Run an agent automatically on a cron schedule.","createButton":"Create Schedule","manualToggle":"Or edit CMATE.md manually"},"noSchedules":"No schedules configured. Add a CMATE.md with a Schedules section.","noSchedulesTitle":"No schedules configured","noSchedulesStep1":"Switch to the Files tab","noSchedulesStep2":"Click the CMATE button in the toolbar to create CMATE.md","noSchedulesStep3":"Edit the Schedules table (Name, Cron, Message, CLI Tool, Enabled, Permission)","noSchedulesStep4":"Click CMATE again to validate","noLogs":"No execution logs yet.","status":{"running":"Running","completed":"Completed","failed":"Failed","timeout":"Timeout","cancelled":"Cancelled"},"enabled":"Enabled","disabled":"Disabled","activeSchedulesTitle":"Active Schedules","activeSchedulesDescription":"In-memory cron state currently registered by the scheduler.","noActiveSchedules":"No schedules are currently registered in memory.","nextRun":"Next run","agentLabel":"Agent","activeState":{"active":"Active","inactive":"Inactive","executing":"Executing"},"lastRun":"Last run","cron":"Cron","exitCode":"Exit","noOutput":"(no output)","message":"Message","response":"Response","unknownSchedule":"(deleted schedule)","retry":"Retry","loading":"Loading...","notes":"Notes","logs":"Schedules","notesAndLogs":"CMATE","agentTab":"Agent","agentSettings":"Agent Settings","selectAgents":"Select 2 agents to display in the terminal header tabs.","agentSaveSuccess":"Agent settings saved.","agentSaveError":"Failed to save agent settings.","agentInstances":"Agent Instances","agentInstancesDescription":"Manage the agents shown in the terminal header tabs. Add multiple instances of the same tool and give each an alias.","agentInstanceAliasLabel":"Alias","agentInstanceAliasPlaceholder":"Display name","agentInstanceBaseTool":"Base tool","agentInstanceAdd":"Add instance","agentInstanceDelete":"Delete instance","agentInstanceMoveUp":"Move up","agentInstanceMoveDown":"Move down","agentInstanceActions":"Instance actions","memoMoveUp":"Move up","memoMoveDown":"Move down","agentInstanceMax":"Up to {max} instances can be added.","agentInstanceMin":"At least {min} instance is required.","agentInstanceSaveError":"Failed to save agent instances.","agentDefaults":"Use this layout as the default","agentDefaultsDescription":"Save the tool order shown here as the default for new branches, or apply it to the branches of this repository that nobody has touched yet. Several instances of one tool count once.","agentDefaultsSetDefault":"Make this the default","agentDefaultsSaved":"Saved as the default. It now shows under \\"Default agents for new branches\\" in Settings.","agentDefaultsSaveError":"Could not save the default.","agentDefaultsApply":"Apply to unchanged branches","agentDefaultsApplyScope":"Only branches of this repository are affected. Other repositories, and branches whose agents you changed by hand, are left alone.","agentDefaultsEligible":"Would change {count} branch(es) in this repository","agentDefaultsEligibleUnknown":"Branches this would change: unknown","agentDefaultsRepositoryLabel":"Repository: {repository}","agentDefaultsRepoDeclared":"This repository declares its agents in .commandmate/agents.yaml. A bulk apply would override that declaration permanently, so it is disabled here — change the file instead.","agentDefaultsApplyConfirm":"Apply {agents} to {count} unchanged branch(es) in this repository. Other repositories, and branches whose agents you changed by hand, are left alone.","agentDefaultsApplied":"Applied to {count} branch(es).","agentDefaultsApplyError":"Could not apply to the branches.","agentDefaultsCountError":"Could not read how many branches this would change.","agentDefaultsRetry":"Retry the count","agentDefaultsInvalidRoster":"A default needs between {min} and {max} distinct tools. Add or remove a tool.","mobileVisibleInstances":"Show on this device","mobileVisibleInstancesDescription":"Choose which instances appear as tabs on this device. This selection is saved per device and does not change the shared instance list.","mobileVisibleInstanceMin":"At least one instance must stay visible on this device.","vibeLocalModel":"Ollama Model","vibeLocalModelDefault":"Default","vibeLocalContextWindow":"Context Window","vibeLocalContextWindowDefault":"Default (auto)","ollamaNotAvailable":"Ollama is not running. Start Ollama to select a model.","cmateCreated":"CMATE.md created with template. Edit it to configure schedules.","cmateValidation":{"noSchedulesSection":"CMATE.md has no Schedules section.","valid":"{count} schedule(s) validated successfully.","errors":"{errorCount} validation error(s) found: {details}","failed":"Failed to process CMATE.md."},"edit":{"newSchedule":"New Schedule","titleCreate":"New Schedule","titleEdit":"Edit Schedule","sectionBasic":"Basic","sectionAdvanced":"Advanced","sectionMessage":"Message","name":"Name","namePlaceholder":"daily-review","cron":"Cron Expression","cronPlaceholder":"0 9 * * *","cronPreset":"Preset","cronPresetHourly":"Every hour (0 */1 * * *)","cronPresetDaily9":"Daily at 9:00 (0 9 * * *)","cronPresetWeeklyMon9":"Mondays at 9:00 (0 9 * * 1)","cronPresetCustom":"Custom","askAiCron":"Ask AI","askAiMessage":"Ask AI to draft","askAiHint":"Drafts a prompt into the AI chat (no auto-send)","aiPrompts":{"cron":"I want to express the schedule timing as a cron expression. Convert a plain-language request (e.g. \\"every Monday at 9\\") into a cron expression and suggest a few candidates (e.g. \\"every Monday at 9\\" → `0 9 * * 1`).","cronRefine":"I want to express the schedule timing as a cron expression. The current input is {current}. Building on that, convert a plain-language request (e.g. \\"every Monday at 9\\") into a cron expression and suggest a few candidates (e.g. \\"every Monday at 9\\" → `0 9 * * 1`).","messageDraft":"For this schedule, I want to write the message (the instruction prompt) that the CLI tool will run on a schedule. First ask me what it is for, then propose the message content based on my answer.","messageDraftNamed":"For the schedule {name}, I want to write the message (the instruction prompt) that the CLI tool will run on a schedule. First ask me what it is for, then propose the message content based on my answer."},"cliTool":"CLI Tool","model":"Model","modelPlaceholder":"gpt-4.1","opencodeAgent":"Agent (opencode)","opencodeAgentPlaceholder":"plan","opencodeVariant":"Variant (opencode)","opencodeVariantPlaceholder":"high","opencodeTitle":"Session title (opencode)","opencodeTitlePlaceholder":"nightly-review","opencodeContinue":"Continue the last session (--continue)","permission":"Permission","message":"Message","messagePlaceholder":"Summarize README.md","charCount":"{count} / {max}","enabledLabel":"Enabled","save":"Save","cancel":"Cancel","edit":"Edit","delete":"Delete","enable":"Enable","disable":"Disable","confirmDelete":"Delete schedule \\"{name}\\"?","saveError":"Failed to save the schedule.","errorNameRequired":"Name is required.","errorNameTooLong":"Name must be {max} characters or less.","errorNameInvalid":"Name contains invalid characters.","errorCronInvalid":"Invalid cron expression.","errorMessageRequired":"Message is required.","errorMessageTooLong":"Message must be {max} characters or less.","errorModelInvalid":"Invalid model name.","errorAgentInvalid":"Invalid agent name.","errorVariantInvalid":"Invalid variant name.","errorTitleInvalid":"Invalid session title."},"timerTab":"Timer","todoTab":"ToDo","skillsTab":"Skills","verificationTab":"Verification","envTab":"Env","timer":{"title":"Delayed Messages","titleCreate":"New Timer","createButton":"Create Timer","newTimer":"New Timer","close":"Cancel","agent":"Agent","message":"Message","delay":"Send After","register":"Register Timer","cancel":"Cancel","noTimers":"No timers registered.","maxReached":"Maximum {max} timers per worktree.","registerSuccess":"Timer registered.","registerError":"Failed to register timer.","cancelSuccess":"Timer cancelled.","cancelError":"Failed to cancel timer.","status":{"pending":"Pending","sending":"Sending","sent":"Sent","failed":"Failed","cancelled":"Cancelled","no_session":"No Session"},"sessionWarning":"Session is not running. If the session is not running when the timer fires, the message will not be sent.","minutesShort":"{minutes}m","hoursMinutesShort":"{hours}h {minutes}m","loadMore":"Load more","clearHistory":"Clear history","clearConfirm":"Delete all sent, failed, and cancelled timer history?","cleared":"History cleared ({count} items)","detailTitle":"Timer Details","statusLabel":"Status","scheduledTime":"Scheduled Send","createdTime":"Created","sentTime":"Sent","failureReason":"Failure Reason"},"memoAdd":"Add Memo","memoRemaining":"{count} remaining","memoDefaultTitle":"Memo","memoTitlePlaceholder":"Memo title","memoInsertToMessage":"Insert to message","memoCopyContent":"Copy memo content","memoDelete":"Delete memo","memoContentPlaceholder":"Enter memo content...","memoLoading":"Loading memos...","memoSearchToggle":"Search memos","memoEmpty":"No memos yet.","memoEmptyHint":"Click the button below to add one.","memoNoMatch":"No memos match your search.","memoSearchLabel":"Memo search","memoSearchPlaceholder":"Search...","memoSearchInputLabel":"Search memos","memoSearchPrev":"Previous match (prev)","memoSearchNext":"Next match (next)","memoSearchClose":"Close search (close)","opencodeSettings":"opencode launch settings","opencodeSettingsDescription":"The agent, model and variant this instance starts opencode with and sends prompts as.","opencodeAgent":"Agent","opencodeModel":"Model","opencodeVariant":"Variant (reasoning effort)","opencodeDefault":"opencode default","opencodeAgentPlaceholder":"build","opencodeModelPlaceholder":"provider/model","opencodeVariantPlaceholder":"high","opencodeNoVariants":"This model has no variants.","opencodeSettingsOffline":"opencode is not running, so no candidates could be read. Values can be typed in directly (model as provider/model).","opencodeVariantLaunchNote":"Agent and model take effect the next time this instance starts. The variant cannot be passed as a launch flag — opencode 1.18.22\'s TUI has no --variant — so it is applied to the prompts CommandMate posts, from the next message on.","opencodeSettingsLoadError":"Failed to load the opencode launch settings.","opencodeSettingsSaveError":"Failed to save the opencode launch settings."}')}};
@@ -1 +1 @@
1
- "use strict";exports.id=6130,exports.ids=[6130],exports.modules={26838:(a,b,c)=>{c.d(b,{Mj:()=>k,Sw:()=>j,lX:()=>l});var d=c(29021),e=c(33873),f=c(90164);let g=/^v?\d+\.\d+\.\d+$/,h=/^[a-zA-Z0-9.\-\s_v]+$/,i=globalThis.__versionCheckCache??(globalThis.__versionCheckCache={result:null,fetchedAt:0,rateLimitResetAt:null});function j(){return function(){try{let a=(0,d.readFileSync)((0,e.join)(process.cwd(),"package.json"),"utf-8"),b=JSON.parse(a);if("commandmate"===b.name&&"string"==typeof b.version&&b.version.length>0)return b.version;return null}catch{return null}}()??"0.29.1"}function k(){return j()}async function l(){try{var a,b,c;if(null!==i.result&&Date.now()-i.fetchedAt<36e5||i.rateLimitResetAt&&(!(Date.now()>=i.rateLimitResetAt)||(i.rateLimitResetAt=null,0)))return i.result;let d=await fetch("https://api.github.com/repos/Kewton/CommandMate/releases/latest",{headers:{Accept:"application/vnd.github+json","User-Agent":`CommandMate/${k()}`},cache:"no-store",signal:AbortSignal.timeout(5e3)});if(403===d.status)return function(a){let b=a.headers.get("X-RateLimit-Reset");b?i.rateLimitResetAt=1e3*parseInt(b,10):i.rateLimitResetAt=Date.now()+36e5}(d),i.result;if(!d.ok)return i.result;let e=await d.json(),j=k(),l=e.tag_name.replace(/^v/,""),m={hasUpdate:function(a,b){if(!g.test(a)||!g.test(b))return!1;let c=a=>a.replace(/^v/,"").split(".").map(Number),[d,e,f]=c(a),[h,i,j]=c(b);return h!==d?h>d:i!==e?i>e:j>f}(j,e.tag_name),currentVersion:j,latestVersion:l,releaseUrl:(a=e.html_url).startsWith(f.Dk)?a:null,releaseName:(b=e.name,c=e.tag_name,h.test(b)&&b.length<=128?b:c),publishedAt:e.published_at};return i.result=m,i.fetchedAt=Date.now(),m}catch{return i.result}}},88573:(a,b,c)=>{c.d(b,{Lw:()=>s});let d="https://raw.githubusercontent.com/Kewton/commandmate-skills/main/catalog/v1/catalog.json",e=[d],f=/^[A-Za-z0-9/+=_."-]{1,128}$/;var g=c(72626),h=c(13075);let i=(0,g.h)("lib/skills/catalog-client"),j={FETCH_FAILED:"SKILL_CATALOG_FETCH_FAILED",RATE_LIMITED:"SKILL_CATALOG_RATE_LIMITED",OVERSIZED:"SKILL_CATALOG_OVERSIZED",MALFORMED:"SKILL_CATALOG_MALFORMED",INVALID_SCHEMA:"SKILL_CATALOG_INVALID_SCHEMA"},k=globalThis.__skillCatalogCache??={catalog:null,validatedAt:0,confirmedAt:0,etag:null,revision:null,rateLimitResetAt:null,inflight:null};class l extends Error{}let m={[j.FETCH_FAILED]:"The Skill Catalog could not be retrieved.",[j.RATE_LIMITED]:"The Skill Catalog origin is rate limiting requests.",[j.OVERSIZED]:"The Skill Catalog response exceeded the allowed size.",[j.MALFORMED]:"The Skill Catalog response was not valid JSON.",[j.INVALID_SCHEMA]:"The Skill Catalog response did not match the supported Catalog schema."};function n(a){return new Date(a).toISOString()}function o(a,b,c){return{catalog:a,fetchedAt:n(k.validatedAt),revalidatedAt:n(k.confirmedAt),state:b,stale:"stale"===b,offline:"stale"===b,staleReason:c,source:{repository:"Kewton/commandmate-skills",ref:"main",revision:k.revision}}}function p(a,b=[]){return k.catalog?{ok:!0,snapshot:o(k.catalog,"stale",a)}:{ok:!1,failure:{code:a,message:m[a],errors:b}}}async function q(a,b){let c=a.headers.get("Content-Length");if(null!==c){let a=Number(c);if(!Number.isFinite(a)||a<0||a>b)throw new l("content-length out of bounds")}let d=a.body;if(!d||"function"!=typeof d.getReader){let c=await a.text();if(new TextEncoder().encode(c).length>b)throw new l("body exceeded size cap");return c}let e=d.getReader(),f=[],g=0;for(;;){let{done:a,value:c}=await e.read();if(a)break;if(c){if((g+=c.byteLength)>b)throw await e.cancel(),new l("body exceeded size cap");f.push(c)}}let h=new Uint8Array(g),i=0;for(let a of f)h.set(a,i),i+=a.byteLength;return new TextDecoder("utf-8").decode(h)}async function r(a){let b,c,g;if(!e.includes(d))return p(j.FETCH_FAILED);let m={Accept:"application/json","User-Agent":`CommandMate/${a}`};null!==k.catalog&&null!==k.etag&&(m["If-None-Match"]=k.etag);try{b=await fetch(d,{headers:m,cache:"no-store",signal:AbortSignal.timeout(5e3)})}catch{return i.warn("catalog-fetch-failed",{reason:j.FETCH_FAILED}),p(j.FETCH_FAILED)}if(304===b.status&&null!==k.catalog)return k.confirmedAt=Date.now(),{ok:!0,snapshot:o(k.catalog,"revalidated",null)};if(403===b.status||429===b.status)return!function(a){let b=Date.now(),c=b+864e5,d=a.headers.get("X-RateLimit-Reset");if(null!==d){let a=Number(d);if(Number.isFinite(a)&&a>0){k.rateLimitResetAt=Math.min(1e3*a,c);return}}let e=a.headers.get("Retry-After");if(null!==e){let a=Number(e);if(Number.isFinite(a)&&a>0){k.rateLimitResetAt=Math.min(b+1e3*a,c);return}}k.rateLimitResetAt=b+36e5}(b),i.warn("catalog-rate-limited",{status:b.status}),p(j.RATE_LIMITED);if(!b.ok)return i.warn("catalog-fetch-failed",{status:b.status}),p(j.FETCH_FAILED);try{c=await q(b,1048576)}catch(b){let a=b instanceof l?j.OVERSIZED:j.FETCH_FAILED;return i.warn("catalog-body-rejected",{reason:a}),p(a)}try{g=JSON.parse(c)}catch{return i.warn("catalog-malformed",{reason:j.MALFORMED}),p(j.MALFORMED)}let n=(0,h.JJ)(g);if(!n.ok)return i.warn("catalog-invalid-schema",{errorCount:n.errors.length}),p(j.INVALID_SCHEMA,n.errors);let r=Date.now();return k.catalog=n.value,k.validatedAt=r,k.confirmedAt=r,k.etag=b.headers.get("ETag"),k.revision=function(a){if(null===a)return null;let b=a.trim();return f.test(b)?b:null}(k.etag),{ok:!0,snapshot:o(n.value,"fresh",null)}}async function s(a={}){let{hostVersion:b="0.0.0",forceRevalidate:c=!1}=a;return!c&&null!==k.catalog&&Date.now()-k.confirmedAt<9e5&&null!==k.catalog?{ok:!0,snapshot:o(k.catalog,"cached",null)}:null!==k.rateLimitResetAt&&(!(Date.now()>=k.rateLimitResetAt)||(k.rateLimitResetAt=null,0))?p(j.RATE_LIMITED):(null===k.inflight&&(k.inflight=r(b).finally(()=>{k.inflight=null})),k.inflight)}},90164:(a,b,c)=>{c.d(b,{Dk:()=>e,kD:()=>f});let d="https://github.com/Kewton/CommandMate",e=`${d}/releases/`,f=`${d}/blob/main/docs/security-guide.md`}};
1
+ "use strict";exports.id=6130,exports.ids=[6130],exports.modules={26838:(a,b,c)=>{c.d(b,{Mj:()=>k,Sw:()=>j,lX:()=>l});var d=c(29021),e=c(33873),f=c(90164);let g=/^v?\d+\.\d+\.\d+$/,h=/^[a-zA-Z0-9.\-\s_v]+$/,i=globalThis.__versionCheckCache??(globalThis.__versionCheckCache={result:null,fetchedAt:0,rateLimitResetAt:null});function j(){return function(){try{let a=(0,d.readFileSync)((0,e.join)(process.cwd(),"package.json"),"utf-8"),b=JSON.parse(a);if("commandmate"===b.name&&"string"==typeof b.version&&b.version.length>0)return b.version;return null}catch{return null}}()??"0.29.2"}function k(){return j()}async function l(){try{var a,b,c;if(null!==i.result&&Date.now()-i.fetchedAt<36e5||i.rateLimitResetAt&&(!(Date.now()>=i.rateLimitResetAt)||(i.rateLimitResetAt=null,0)))return i.result;let d=await fetch("https://api.github.com/repos/Kewton/CommandMate/releases/latest",{headers:{Accept:"application/vnd.github+json","User-Agent":`CommandMate/${k()}`},cache:"no-store",signal:AbortSignal.timeout(5e3)});if(403===d.status)return function(a){let b=a.headers.get("X-RateLimit-Reset");b?i.rateLimitResetAt=1e3*parseInt(b,10):i.rateLimitResetAt=Date.now()+36e5}(d),i.result;if(!d.ok)return i.result;let e=await d.json(),j=k(),l=e.tag_name.replace(/^v/,""),m={hasUpdate:function(a,b){if(!g.test(a)||!g.test(b))return!1;let c=a=>a.replace(/^v/,"").split(".").map(Number),[d,e,f]=c(a),[h,i,j]=c(b);return h!==d?h>d:i!==e?i>e:j>f}(j,e.tag_name),currentVersion:j,latestVersion:l,releaseUrl:(a=e.html_url).startsWith(f.Dk)?a:null,releaseName:(b=e.name,c=e.tag_name,h.test(b)&&b.length<=128?b:c),publishedAt:e.published_at};return i.result=m,i.fetchedAt=Date.now(),m}catch{return i.result}}},88573:(a,b,c)=>{c.d(b,{Lw:()=>s});let d="https://raw.githubusercontent.com/Kewton/commandmate-skills/main/catalog/v1/catalog.json",e=[d],f=/^[A-Za-z0-9/+=_."-]{1,128}$/;var g=c(72626),h=c(13075);let i=(0,g.h)("lib/skills/catalog-client"),j={FETCH_FAILED:"SKILL_CATALOG_FETCH_FAILED",RATE_LIMITED:"SKILL_CATALOG_RATE_LIMITED",OVERSIZED:"SKILL_CATALOG_OVERSIZED",MALFORMED:"SKILL_CATALOG_MALFORMED",INVALID_SCHEMA:"SKILL_CATALOG_INVALID_SCHEMA"},k=globalThis.__skillCatalogCache??={catalog:null,validatedAt:0,confirmedAt:0,etag:null,revision:null,rateLimitResetAt:null,inflight:null};class l extends Error{}let m={[j.FETCH_FAILED]:"The Skill Catalog could not be retrieved.",[j.RATE_LIMITED]:"The Skill Catalog origin is rate limiting requests.",[j.OVERSIZED]:"The Skill Catalog response exceeded the allowed size.",[j.MALFORMED]:"The Skill Catalog response was not valid JSON.",[j.INVALID_SCHEMA]:"The Skill Catalog response did not match the supported Catalog schema."};function n(a){return new Date(a).toISOString()}function o(a,b,c){return{catalog:a,fetchedAt:n(k.validatedAt),revalidatedAt:n(k.confirmedAt),state:b,stale:"stale"===b,offline:"stale"===b,staleReason:c,source:{repository:"Kewton/commandmate-skills",ref:"main",revision:k.revision}}}function p(a,b=[]){return k.catalog?{ok:!0,snapshot:o(k.catalog,"stale",a)}:{ok:!1,failure:{code:a,message:m[a],errors:b}}}async function q(a,b){let c=a.headers.get("Content-Length");if(null!==c){let a=Number(c);if(!Number.isFinite(a)||a<0||a>b)throw new l("content-length out of bounds")}let d=a.body;if(!d||"function"!=typeof d.getReader){let c=await a.text();if(new TextEncoder().encode(c).length>b)throw new l("body exceeded size cap");return c}let e=d.getReader(),f=[],g=0;for(;;){let{done:a,value:c}=await e.read();if(a)break;if(c){if((g+=c.byteLength)>b)throw await e.cancel(),new l("body exceeded size cap");f.push(c)}}let h=new Uint8Array(g),i=0;for(let a of f)h.set(a,i),i+=a.byteLength;return new TextDecoder("utf-8").decode(h)}async function r(a){let b,c,g;if(!e.includes(d))return p(j.FETCH_FAILED);let m={Accept:"application/json","User-Agent":`CommandMate/${a}`};null!==k.catalog&&null!==k.etag&&(m["If-None-Match"]=k.etag);try{b=await fetch(d,{headers:m,cache:"no-store",signal:AbortSignal.timeout(5e3)})}catch{return i.warn("catalog-fetch-failed",{reason:j.FETCH_FAILED}),p(j.FETCH_FAILED)}if(304===b.status&&null!==k.catalog)return k.confirmedAt=Date.now(),{ok:!0,snapshot:o(k.catalog,"revalidated",null)};if(403===b.status||429===b.status)return!function(a){let b=Date.now(),c=b+864e5,d=a.headers.get("X-RateLimit-Reset");if(null!==d){let a=Number(d);if(Number.isFinite(a)&&a>0){k.rateLimitResetAt=Math.min(1e3*a,c);return}}let e=a.headers.get("Retry-After");if(null!==e){let a=Number(e);if(Number.isFinite(a)&&a>0){k.rateLimitResetAt=Math.min(b+1e3*a,c);return}}k.rateLimitResetAt=b+36e5}(b),i.warn("catalog-rate-limited",{status:b.status}),p(j.RATE_LIMITED);if(!b.ok)return i.warn("catalog-fetch-failed",{status:b.status}),p(j.FETCH_FAILED);try{c=await q(b,1048576)}catch(b){let a=b instanceof l?j.OVERSIZED:j.FETCH_FAILED;return i.warn("catalog-body-rejected",{reason:a}),p(a)}try{g=JSON.parse(c)}catch{return i.warn("catalog-malformed",{reason:j.MALFORMED}),p(j.MALFORMED)}let n=(0,h.JJ)(g);if(!n.ok)return i.warn("catalog-invalid-schema",{errorCount:n.errors.length}),p(j.INVALID_SCHEMA,n.errors);let r=Date.now();return k.catalog=n.value,k.validatedAt=r,k.confirmedAt=r,k.etag=b.headers.get("ETag"),k.revision=function(a){if(null===a)return null;let b=a.trim();return f.test(b)?b:null}(k.etag),{ok:!0,snapshot:o(n.value,"fresh",null)}}async function s(a={}){let{hostVersion:b="0.0.0",forceRevalidate:c=!1}=a;return!c&&null!==k.catalog&&Date.now()-k.confirmedAt<9e5&&null!==k.catalog?{ok:!0,snapshot:o(k.catalog,"cached",null)}:null!==k.rateLimitResetAt&&(!(Date.now()>=k.rateLimitResetAt)||(k.rateLimitResetAt=null,0))?p(j.RATE_LIMITED):(null===k.inflight&&(k.inflight=r(b).finally(()=>{k.inflight=null})),k.inflight)}},90164:(a,b,c)=>{c.d(b,{Dk:()=>e,kD:()=>f});let d="https://github.com/Kewton/CommandMate",e=`${d}/releases/`,f=`${d}/blob/main/docs/security-guide.md`}};
@@ -1 +1 @@
1
- "use strict";exports.id=6285,exports.ids=[6285],exports.modules={26285:a=>{a.exports=JSON.parse('{"title":"スケジュール","executionLogs":"実行ログ","tabs":{"schedules":"スケジュール","logs":"ログ"},"emptyState":{"title":"スケジュールはまだありません","description":"cron スケジュールでエージェントを自動実行します。","createButton":"新規スケジュール作成","manualToggle":"または CMATE.md を直接編集"},"noSchedules":"スケジュールが設定されていません。CMATE.mdにSchedulesセクションを追加してください。","noSchedulesTitle":"スケジュールが設定されていません","noSchedulesStep1":"Files タブに切り替えてください","noSchedulesStep2":"ツールバーの CMATE ボタンをクリックして CMATE.md を作成","noSchedulesStep3":"Schedules テーブルを編集(Name, Cron, Message, CLI Tool, Enabled, Permission)","noSchedulesStep4":"再度 CMATE をクリックしてバリデーション","noLogs":"実行ログはまだありません。","status":{"running":"実行中","completed":"完了","failed":"失敗","timeout":"タイムアウト","cancelled":"キャンセル"},"enabled":"有効","disabled":"無効","activeSchedulesTitle":"Active Schedules","activeSchedulesDescription":"DB設定ではなく、現在メモリ上で登録されている cron state です。","noActiveSchedules":"現在メモリ上で登録されている schedule はありません。","nextRun":"次回実行","agentLabel":"Agent","activeState":{"active":"稼働中","inactive":"停止","executing":"実行中"},"lastRun":"最終実行","cron":"Cron式","exitCode":"終了コード","noOutput":"(出力なし)","message":"メッセージ","response":"レスポンス","unknownSchedule":"(削除済みスケジュール)","retry":"再試行","loading":"読み込み中...","notes":"メモ","logs":"Schedules","notesAndLogs":"CMATE","agentTab":"Agent","agentSettings":"エージェント設定","selectAgents":"ターミナルヘッダーのタブに表示するエージェントを2つ選択してください。","agentSaveSuccess":"エージェント設定を保存しました。","agentSaveError":"エージェント設定の保存に失敗しました。","agentInstances":"エージェントインスタンス","agentInstancesDescription":"ターミナルヘッダーのタブに表示するエージェントを管理します。同じツールのインスタンスを複数追加し、それぞれに別名を付けられます。","agentInstanceAliasLabel":"別名","agentInstanceAliasPlaceholder":"表示名","agentInstanceBaseTool":"ベースツール","agentInstanceAdd":"インスタンスを追加","agentInstanceDelete":"インスタンスを削除","agentInstanceMoveUp":"上へ移動","agentInstanceMoveDown":"下へ移動","agentInstanceActions":"インスタンス操作","memoMoveUp":"上へ移動","memoMoveDown":"下へ移動","agentInstanceMax":"インスタンスは最大{max}個まで追加できます。","agentInstanceMin":"インスタンスは最低{min}個必要です。","agentInstanceSaveError":"エージェントインスタンスの保存に失敗しました。","mobileVisibleInstances":"この端末に表示","mobileVisibleInstancesDescription":"この端末でタブとして表示するインスタンスを選択します。この選択は端末ごとに保存され、共有のインスタンス一覧は変更されません。","mobileVisibleInstanceMin":"この端末には最低1つのインスタンスを表示しておく必要があります。","vibeLocalModel":"Ollamaモデル","vibeLocalModelDefault":"デフォルト","vibeLocalContextWindow":"コンテキストウィンドウ","vibeLocalContextWindowDefault":"デフォルト(自動)","ollamaNotAvailable":"Ollamaが起動していません。モデルを選択するにはOllamaを起動してください。","cmateCreated":"CMATE.mdをテンプレートで作成しました。スケジュールを設定してください。","cmateValidation":{"noSchedulesSection":"CMATE.mdにSchedulesセクションがありません。","valid":"{count}件のスケジュールが正常に検証されました。","errors":"{errorCount}件の検証エラー: {details}","failed":"CMATE.mdの処理に失敗しました。"},"edit":{"newSchedule":"新規スケジュール","titleCreate":"新規スケジュール","titleEdit":"スケジュールの編集","sectionBasic":"基本情報","sectionAdvanced":"詳細設定","sectionMessage":"メッセージ","name":"名前","namePlaceholder":"daily-review","cron":"Cron式","cronPlaceholder":"0 9 * * *","cronPreset":"プリセット","cronPresetHourly":"毎時 (0 */1 * * *)","cronPresetDaily9":"毎日9時 (0 9 * * *)","cronPresetWeeklyMon9":"毎週月曜9時 (0 9 * * 1)","cronPresetCustom":"カスタム","askAiCron":"AIに相談","askAiMessage":"AIに下書きを依頼","askAiHint":"AIチャットにプロンプトを下書きします(自動送信はされません)","aiPrompts":{"cron":"スケジュール実行のタイミングを cron 式で表現したいです。自然言語の要望(例: 「毎週月曜 9 時」)を cron 式に変換し、候補をいくつか提案してください(例: 「毎週月曜 9 時」→ `0 9 * * 1`)。","cronRefine":"スケジュール実行のタイミングを cron 式で表現したいです。現在の入力は {current} です。これを踏まえて、自然言語の要望(例: 「毎週月曜 9 時」)を cron 式に変換し、候補をいくつか提案してください(例: 「毎週月曜 9 時」→ `0 9 * * 1`)。","messageDraft":"このスケジュールで CLI ツールに定期実行させる message(指示プロンプト)を作成したいです。まず用途を私に聞き取り、それを踏まえた message の内容を提案してください。","messageDraftNamed":"スケジュール {name} で CLI ツールに定期実行させる message(指示プロンプト)を作成したいです。まず用途を私に聞き取り、それを踏まえた message の内容を提案してください。"},"cliTool":"CLIツール","model":"モデル","modelPlaceholder":"gpt-4.1","opencodeAgent":"Agent(opencode)","opencodeAgentPlaceholder":"plan","opencodeVariant":"Variant(opencode)","opencodeVariantPlaceholder":"high","opencodeTitle":"セッションタイトル(opencode)","opencodeTitlePlaceholder":"nightly-review","opencodeContinue":"直前のセッションを継続する(--continue)","permission":"権限","message":"メッセージ","messagePlaceholder":"README.mdを要約してください","charCount":"{count} / {max}","enabledLabel":"有効","save":"保存","cancel":"キャンセル","edit":"編集","delete":"削除","enable":"有効化","disable":"無効化","confirmDelete":"スケジュール「{name}」を削除しますか?","saveError":"スケジュールの保存に失敗しました。","errorNameRequired":"名前は必須です。","errorNameTooLong":"名前は{max}文字以内で入力してください。","errorNameInvalid":"名前に使用できない文字が含まれています。","errorCronInvalid":"Cron式が不正です。","errorMessageRequired":"メッセージは必須です。","errorMessageTooLong":"メッセージは{max}文字以内で入力してください。","errorModelInvalid":"モデル名が不正です。","errorAgentInvalid":"Agent 名が不正です。","errorVariantInvalid":"Variant 名が不正です。","errorTitleInvalid":"セッションタイトルが不正です。"},"timerTab":"Timer","todoTab":"ToDo","skillsTab":"Skills","verificationTab":"検証","envTab":"環境変数","timer":{"title":"遅延メッセージ","titleCreate":"タイマー作成","createButton":"タイマー作成","newTimer":"新規タイマー","close":"キャンセル","agent":"エージェント","message":"メッセージ","delay":"送信タイミング","register":"タイマー登録","cancel":"キャンセル","noTimers":"タイマーは登録されていません。","maxReached":"ワークツリーあたり最大{max}件です。","registerSuccess":"タイマーを登録しました。","registerError":"タイマーの登録に失敗しました。","cancelSuccess":"タイマーをキャンセルしました。","cancelError":"タイマーのキャンセルに失敗しました。","status":{"pending":"待機中","sending":"送信中","sent":"送信済み","failed":"失敗","cancelled":"キャンセル済み","no_session":"セッション未起動"},"sessionWarning":"セッションが起動していません。タイマー実行時にセッションが起動していない場合、メッセージは送信されません。","minutesShort":"{minutes}分","hoursMinutesShort":"{hours}時間{minutes}分","loadMore":"もっと見る","clearHistory":"履歴クリア","clearConfirm":"送信済み・失敗・キャンセル済みのタイマー履歴をすべて削除しますか?","cleared":"履歴を削除しました({count}件)","detailTitle":"タイマー詳細","statusLabel":"ステータス","scheduledTime":"予定送信時刻","createdTime":"作成時刻","sentTime":"送信時刻","failureReason":"失敗理由"},"memoAdd":"メモを追加","memoRemaining":"残り {count} 件","memoDefaultTitle":"メモ","memoTitlePlaceholder":"メモのタイトル","memoInsertToMessage":"メッセージに挿入","memoCopyContent":"メモの内容をコピー","memoDelete":"メモを削除","memoContentPlaceholder":"メモの内容を入力...","memoLoading":"メモを読み込み中...","memoSearchToggle":"メモを検索","memoEmpty":"メモはまだありません。","memoEmptyHint":"下のボタンから追加できます。","memoNoMatch":"検索条件に一致するメモがありません。","memoSearchLabel":"メモ検索","memoSearchPlaceholder":"検索...","memoSearchInputLabel":"メモを検索","memoSearchPrev":"前の一致(前へ)","memoSearchNext":"次の一致(次へ)","memoSearchClose":"検索を閉じる(閉じる)","opencodeSettings":"opencode 起動設定","opencodeSettingsDescription":"このインスタンスが opencode を起動・送信するときのエージェント/モデル/バリアントを指定します。","opencodeAgent":"エージェント","opencodeModel":"モデル","opencodeVariant":"バリアント(推論の深さ)","opencodeDefault":"opencode のデフォルト","opencodeAgentPlaceholder":"build","opencodeModelPlaceholder":"provider/model","opencodeVariantPlaceholder":"high","opencodeNoVariants":"このモデルにバリアントはありません。","opencodeSettingsOffline":"opencode が起動していないため候補を取得できません。値は直接入力できます(モデルは provider/model 形式)。","opencodeVariantLaunchNote":"エージェントとモデルは次回の起動から反映されます。バリアントは opencode 1.18.22 の TUI に --variant が無いため起動引数では渡せず、CommandMate が送信するプロンプトに適用されます(次のメッセージから反映)。","opencodeSettingsLoadError":"opencode 起動設定の読み込みに失敗しました。","opencodeSettingsSaveError":"opencode 起動設定の保存に失敗しました。"}')}};
1
+ "use strict";exports.id=6285,exports.ids=[6285],exports.modules={26285:a=>{a.exports=JSON.parse('{"title":"スケジュール","executionLogs":"実行ログ","tabs":{"schedules":"スケジュール","logs":"ログ"},"emptyState":{"title":"スケジュールはまだありません","description":"cron スケジュールでエージェントを自動実行します。","createButton":"新規スケジュール作成","manualToggle":"または CMATE.md を直接編集"},"noSchedules":"スケジュールが設定されていません。CMATE.mdにSchedulesセクションを追加してください。","noSchedulesTitle":"スケジュールが設定されていません","noSchedulesStep1":"Files タブに切り替えてください","noSchedulesStep2":"ツールバーの CMATE ボタンをクリックして CMATE.md を作成","noSchedulesStep3":"Schedules テーブルを編集(Name, Cron, Message, CLI Tool, Enabled, Permission)","noSchedulesStep4":"再度 CMATE をクリックしてバリデーション","noLogs":"実行ログはまだありません。","status":{"running":"実行中","completed":"完了","failed":"失敗","timeout":"タイムアウト","cancelled":"キャンセル"},"enabled":"有効","disabled":"無効","activeSchedulesTitle":"Active Schedules","activeSchedulesDescription":"DB設定ではなく、現在メモリ上で登録されている cron state です。","noActiveSchedules":"現在メモリ上で登録されている schedule はありません。","nextRun":"次回実行","agentLabel":"Agent","activeState":{"active":"稼働中","inactive":"停止","executing":"実行中"},"lastRun":"最終実行","cron":"Cron式","exitCode":"終了コード","noOutput":"(出力なし)","message":"メッセージ","response":"レスポンス","unknownSchedule":"(削除済みスケジュール)","retry":"再試行","loading":"読み込み中...","notes":"メモ","logs":"Schedules","notesAndLogs":"CMATE","agentTab":"Agent","agentSettings":"エージェント設定","selectAgents":"ターミナルヘッダーのタブに表示するエージェントを2つ選択してください。","agentSaveSuccess":"エージェント設定を保存しました。","agentSaveError":"エージェント設定の保存に失敗しました。","agentInstances":"エージェントインスタンス","agentInstancesDescription":"ターミナルヘッダーのタブに表示するエージェントを管理します。同じツールのインスタンスを複数追加し、それぞれに別名を付けられます。","agentInstanceAliasLabel":"別名","agentInstanceAliasPlaceholder":"表示名","agentInstanceBaseTool":"ベースツール","agentInstanceAdd":"インスタンスを追加","agentInstanceDelete":"インスタンスを削除","agentInstanceMoveUp":"上へ移動","agentInstanceMoveDown":"下へ移動","agentInstanceActions":"インスタンス操作","memoMoveUp":"上へ移動","memoMoveDown":"下へ移動","agentInstanceMax":"インスタンスは最大{max}個まで追加できます。","agentInstanceMin":"インスタンスは最低{min}個必要です。","agentInstanceSaveError":"エージェントインスタンスの保存に失敗しました。","agentDefaults":"既定として使う","agentDefaultsDescription":"いま並んでいるツールの順番を、新しいブランチの既定にしたり、このリポジトリのまだ触っていないブランチにまとめて適用したりできます。同じツールのインスタンスは 1 つとして数えます。","agentDefaultsSetDefault":"この構成を既定にする","agentDefaultsSaved":"既定として保存しました。設定画面の「新規ブランチの既定エージェント」に反映されます。","agentDefaultsSaveError":"既定の保存に失敗しました。","agentDefaultsApply":"未変更のブランチにも適用する","agentDefaultsApplyScope":"適用先はこのリポジトリのブランチだけです。他のリポジトリと、手でエージェント構成を変更したブランチは変更されません。","agentDefaultsEligible":"適用対象: このリポジトリの {count} ブランチ","agentDefaultsEligibleUnknown":"適用対象: 不明","agentDefaultsRepositoryLabel":"対象リポジトリ: {repository}","agentDefaultsRepoDeclared":"このリポジトリは .commandmate/agents.yaml でエージェントを宣言しています。一括適用はその宣言を恒久的に上書きしてしまうため、ここでは無効です。変更はファイル側で行ってください。","agentDefaultsApplyConfirm":"このリポジトリの未変更の {count} ブランチに {agents} を適用します。他のリポジトリと、手でエージェント構成を変更したブランチは変更されません。","agentDefaultsApplied":"{count} ブランチに適用しました。","agentDefaultsApplyError":"ブランチへの適用に失敗しました。","agentDefaultsCountError":"適用対象の件数を読み込めませんでした。","agentDefaultsRetry":"件数を再読み込み","agentDefaultsInvalidRoster":"既定にできるのは {min} 〜 {max} 種類のツールです。ツールの種類を増やすか減らしてください。","mobileVisibleInstances":"この端末に表示","mobileVisibleInstancesDescription":"この端末でタブとして表示するインスタンスを選択します。この選択は端末ごとに保存され、共有のインスタンス一覧は変更されません。","mobileVisibleInstanceMin":"この端末には最低1つのインスタンスを表示しておく必要があります。","vibeLocalModel":"Ollamaモデル","vibeLocalModelDefault":"デフォルト","vibeLocalContextWindow":"コンテキストウィンドウ","vibeLocalContextWindowDefault":"デフォルト(自動)","ollamaNotAvailable":"Ollamaが起動していません。モデルを選択するにはOllamaを起動してください。","cmateCreated":"CMATE.mdをテンプレートで作成しました。スケジュールを設定してください。","cmateValidation":{"noSchedulesSection":"CMATE.mdにSchedulesセクションがありません。","valid":"{count}件のスケジュールが正常に検証されました。","errors":"{errorCount}件の検証エラー: {details}","failed":"CMATE.mdの処理に失敗しました。"},"edit":{"newSchedule":"新規スケジュール","titleCreate":"新規スケジュール","titleEdit":"スケジュールの編集","sectionBasic":"基本情報","sectionAdvanced":"詳細設定","sectionMessage":"メッセージ","name":"名前","namePlaceholder":"daily-review","cron":"Cron式","cronPlaceholder":"0 9 * * *","cronPreset":"プリセット","cronPresetHourly":"毎時 (0 */1 * * *)","cronPresetDaily9":"毎日9時 (0 9 * * *)","cronPresetWeeklyMon9":"毎週月曜9時 (0 9 * * 1)","cronPresetCustom":"カスタム","askAiCron":"AIに相談","askAiMessage":"AIに下書きを依頼","askAiHint":"AIチャットにプロンプトを下書きします(自動送信はされません)","aiPrompts":{"cron":"スケジュール実行のタイミングを cron 式で表現したいです。自然言語の要望(例: 「毎週月曜 9 時」)を cron 式に変換し、候補をいくつか提案してください(例: 「毎週月曜 9 時」→ `0 9 * * 1`)。","cronRefine":"スケジュール実行のタイミングを cron 式で表現したいです。現在の入力は {current} です。これを踏まえて、自然言語の要望(例: 「毎週月曜 9 時」)を cron 式に変換し、候補をいくつか提案してください(例: 「毎週月曜 9 時」→ `0 9 * * 1`)。","messageDraft":"このスケジュールで CLI ツールに定期実行させる message(指示プロンプト)を作成したいです。まず用途を私に聞き取り、それを踏まえた message の内容を提案してください。","messageDraftNamed":"スケジュール {name} で CLI ツールに定期実行させる message(指示プロンプト)を作成したいです。まず用途を私に聞き取り、それを踏まえた message の内容を提案してください。"},"cliTool":"CLIツール","model":"モデル","modelPlaceholder":"gpt-4.1","opencodeAgent":"Agent(opencode)","opencodeAgentPlaceholder":"plan","opencodeVariant":"Variant(opencode)","opencodeVariantPlaceholder":"high","opencodeTitle":"セッションタイトル(opencode)","opencodeTitlePlaceholder":"nightly-review","opencodeContinue":"直前のセッションを継続する(--continue)","permission":"権限","message":"メッセージ","messagePlaceholder":"README.mdを要約してください","charCount":"{count} / {max}","enabledLabel":"有効","save":"保存","cancel":"キャンセル","edit":"編集","delete":"削除","enable":"有効化","disable":"無効化","confirmDelete":"スケジュール「{name}」を削除しますか?","saveError":"スケジュールの保存に失敗しました。","errorNameRequired":"名前は必須です。","errorNameTooLong":"名前は{max}文字以内で入力してください。","errorNameInvalid":"名前に使用できない文字が含まれています。","errorCronInvalid":"Cron式が不正です。","errorMessageRequired":"メッセージは必須です。","errorMessageTooLong":"メッセージは{max}文字以内で入力してください。","errorModelInvalid":"モデル名が不正です。","errorAgentInvalid":"Agent 名が不正です。","errorVariantInvalid":"Variant 名が不正です。","errorTitleInvalid":"セッションタイトルが不正です。"},"timerTab":"Timer","todoTab":"ToDo","skillsTab":"Skills","verificationTab":"検証","envTab":"環境変数","timer":{"title":"遅延メッセージ","titleCreate":"タイマー作成","createButton":"タイマー作成","newTimer":"新規タイマー","close":"キャンセル","agent":"エージェント","message":"メッセージ","delay":"送信タイミング","register":"タイマー登録","cancel":"キャンセル","noTimers":"タイマーは登録されていません。","maxReached":"ワークツリーあたり最大{max}件です。","registerSuccess":"タイマーを登録しました。","registerError":"タイマーの登録に失敗しました。","cancelSuccess":"タイマーをキャンセルしました。","cancelError":"タイマーのキャンセルに失敗しました。","status":{"pending":"待機中","sending":"送信中","sent":"送信済み","failed":"失敗","cancelled":"キャンセル済み","no_session":"セッション未起動"},"sessionWarning":"セッションが起動していません。タイマー実行時にセッションが起動していない場合、メッセージは送信されません。","minutesShort":"{minutes}分","hoursMinutesShort":"{hours}時間{minutes}分","loadMore":"もっと見る","clearHistory":"履歴クリア","clearConfirm":"送信済み・失敗・キャンセル済みのタイマー履歴をすべて削除しますか?","cleared":"履歴を削除しました({count}件)","detailTitle":"タイマー詳細","statusLabel":"ステータス","scheduledTime":"予定送信時刻","createdTime":"作成時刻","sentTime":"送信時刻","failureReason":"失敗理由"},"memoAdd":"メモを追加","memoRemaining":"残り {count} 件","memoDefaultTitle":"メモ","memoTitlePlaceholder":"メモのタイトル","memoInsertToMessage":"メッセージに挿入","memoCopyContent":"メモの内容をコピー","memoDelete":"メモを削除","memoContentPlaceholder":"メモの内容を入力...","memoLoading":"メモを読み込み中...","memoSearchToggle":"メモを検索","memoEmpty":"メモはまだありません。","memoEmptyHint":"下のボタンから追加できます。","memoNoMatch":"検索条件に一致するメモがありません。","memoSearchLabel":"メモ検索","memoSearchPlaceholder":"検索...","memoSearchInputLabel":"メモを検索","memoSearchPrev":"前の一致(前へ)","memoSearchNext":"次の一致(次へ)","memoSearchClose":"検索を閉じる(閉じる)","opencodeSettings":"opencode 起動設定","opencodeSettingsDescription":"このインスタンスが opencode を起動・送信するときのエージェント/モデル/バリアントを指定します。","opencodeAgent":"エージェント","opencodeModel":"モデル","opencodeVariant":"バリアント(推論の深さ)","opencodeDefault":"opencode のデフォルト","opencodeAgentPlaceholder":"build","opencodeModelPlaceholder":"provider/model","opencodeVariantPlaceholder":"high","opencodeNoVariants":"このモデルにバリアントはありません。","opencodeSettingsOffline":"opencode が起動していないため候補を取得できません。値は直接入力できます(モデルは provider/model 形式)。","opencodeVariantLaunchNote":"エージェントとモデルは次回の起動から反映されます。バリアントは opencode 1.18.22 の TUI に --variant が無いため起動引数では渡せず、CommandMate が送信するプロンプトに適用されます(次のメッセージから反映)。","opencodeSettingsLoadError":"opencode 起動設定の読み込みに失敗しました。","opencodeSettingsSaveError":"opencode 起動設定の保存に失敗しました。"}')}};
@@ -1 +1 @@
1
- "use strict";exports.id=6781,exports.ids=[6781],exports.modules={16781:(a,b,c)=>{c.r(b),c.d(b,{AGENT_EVENT_TYPES:()=>m.b0,MAX_CWD_LENGTH:()=>o,applyAgentStopEvent:()=>t,isAgentEventType:()=>m.o0,resolveWorktreeByCwd:()=>r,validateHookCwd:()=>p});var d=c(29021),e=c(33873),f=c(56791),g=c(48524),h=c(66007),i=c(52767),j=c(76274),k=c(48083),l=c(72626),m=c(62887);let n=(0,l.h)("lib/hooks/agent-event-service"),o=4096;function p(a){if("string"!=typeof a||""===a.trim())return{ok:!1,reason:"empty"};if(a.length>o)return{ok:!1,reason:"too_long"};let b=a;try{b=decodeURIComponent(a)}catch{b=a}return a.includes("\0")||b.includes("\0")?{ok:!1,reason:"nul_byte"}:(0,e.isAbsolute)(a)?q(a)||q(b)?{ok:!1,reason:"traversal"}:{ok:!0,cwd:a}:{ok:!1,reason:"not_absolute"}}function q(a){return a.split("\\"===e.sep?/[\\/]/:"/").some(a=>".."===a)}function r(a,b){let c=s(b);if(null===c)return null;let d=null,e=-1;for(let b of(0,f.getWorktrees)(a)){let a=s(b.path);null!==a&&(0,h.Uc)(c,a)&&a.length>e&&(d=b,e=a.length)}return d}function s(a){try{return(0,d.realpathSync)(a)}catch{return null}}async function t(a,b,c,d){let e;(0,k.S9)(b.id,c,d);try{e=(0,g.MH)(a,b.id,c,d)}catch(a){return n.warn("agent-stop-task-lookup-failed",{worktreeId:b.id,error:a instanceof Error?a.message:String(a)}),{taskId:null,taskEventApplied:!1,verificationRunId:null}}if(!e)return{taskId:null,taskEventApplied:!1,verificationRunId:null};let f=!1;try{let b=(0,i.g)(a,e.id,"agent_idle",{source:"hook"});f=null!==b&&null!==b.toStatus}catch(a){n.warn("agent-stop-event-failed",{taskId:e.id,error:a instanceof Error?a.message:String(a)})}if(!e.contract.success.autoVerifyOnStop)return{taskId:e.id,taskEventApplied:f,verificationRunId:null};let h=null;try{let{runId:a}=await (0,j.AT)({worktreeId:b.id,worktreePath:b.path,instanceId:d,taskId:e.id,trigger:"task"});h=a}catch(a){a instanceof j.Wb||n.error("agent-stop-auto-verify-failed",{taskId:e.id,error:a instanceof Error?a.message:String(a)})}return{taskId:e.id,taskEventApplied:f,verificationRunId:h}}}};
1
+ "use strict";exports.id=6781,exports.ids=[6781],exports.modules={16781:(a,b,c)=>{c.r(b),c.d(b,{AGENT_EVENT_TYPES:()=>m.b0,MAX_CWD_LENGTH:()=>o,applyAgentStopEvent:()=>t,isAgentEventType:()=>m.o0,resolveWorktreeByCwd:()=>r,validateHookCwd:()=>p});var d=c(29021),e=c(33873),f=c(56791),g=c(48524),h=c(66007),i=c(52767),j=c(23707),k=c(48083),l=c(72626),m=c(62887);let n=(0,l.h)("lib/hooks/agent-event-service"),o=4096;function p(a){if("string"!=typeof a||""===a.trim())return{ok:!1,reason:"empty"};if(a.length>o)return{ok:!1,reason:"too_long"};let b=a;try{b=decodeURIComponent(a)}catch{b=a}return a.includes("\0")||b.includes("\0")?{ok:!1,reason:"nul_byte"}:(0,e.isAbsolute)(a)?q(a)||q(b)?{ok:!1,reason:"traversal"}:{ok:!0,cwd:a}:{ok:!1,reason:"not_absolute"}}function q(a){return a.split("\\"===e.sep?/[\\/]/:"/").some(a=>".."===a)}function r(a,b){let c=s(b);if(null===c)return null;let d=null,e=-1;for(let b of(0,f.getWorktrees)(a)){let a=s(b.path);null!==a&&(0,h.Uc)(c,a)&&a.length>e&&(d=b,e=a.length)}return d}function s(a){try{return(0,d.realpathSync)(a)}catch{return null}}async function t(a,b,c,d){let e;(0,k.S9)(b.id,c,d);try{e=(0,g.MH)(a,b.id,c,d)}catch(a){return n.warn("agent-stop-task-lookup-failed",{worktreeId:b.id,error:a instanceof Error?a.message:String(a)}),{taskId:null,taskEventApplied:!1,verificationRunId:null}}if(!e)return{taskId:null,taskEventApplied:!1,verificationRunId:null};let f=!1;try{let b=(0,i.g)(a,e.id,"agent_idle",{source:"hook"});f=null!==b&&null!==b.toStatus}catch(a){n.warn("agent-stop-event-failed",{taskId:e.id,error:a instanceof Error?a.message:String(a)})}if(!e.contract.success.autoVerifyOnStop)return{taskId:e.id,taskEventApplied:f,verificationRunId:null};let h=null;try{let{runId:a}=await (0,j.AT)({worktreeId:b.id,worktreePath:b.path,instanceId:d,taskId:e.id,trigger:"task"});h=a}catch(a){a instanceof j.Wb||n.error("agent-stop-auto-verify-failed",{taskId:e.id,error:a instanceof Error?a.message:String(a)})}return{taskId:e.id,taskEventApplied:f,verificationRunId:h}}}};
@@ -0,0 +1,5 @@
1
+ "use strict";exports.id=7366,exports.ids=[7366],exports.modules={49987:(a,b,c)=>{c.d(b,{H:()=>l,Iq:()=>i,M:()=>k,xL:()=>o});var d=c(29021),e=c(21820),f=c(33873),g=c(55511);let h=(0,c(72626).h)("lib/verification/machine-lock"),i="locks",j="owner";function k(a,b){return(0,f.join)(b,`${a}.lock`)}function l(a=process.env){let b=a.CM_VERIFY_LOCK_ROOT;return b&&""!==b.trim()?b:(0,f.join)((0,e.homedir)(),".commandmate",i)}function m(a){try{let b=JSON.parse((0,d.readFileSync)((0,f.join)(a,j),"utf8"));if("number"!=typeof b.pid||"string"!=typeof b.token)return null;return{pid:b.pid,host:"string"==typeof b.host?b.host:"",token:b.token,acquiredAt:"number"==typeof b.acquiredAt?b.acquiredAt:0}}catch{return null}}function n(a){return a?`pid ${a.pid} on ${a.host||"unknown host"}`:null}async function o(a,b){let c=b.root??l(),i=b.pollIntervalMs??250,o=k(a,c),p=Date.now(),q=p+Math.max(0,b.timeoutMs),r=(0,g.randomUUID)();(0,d.mkdirSync)(c,{recursive:!0});let s=new Set;for(;;){if(b.shouldAbandon?.())return{acquired:!1,waitedMs:Date.now()-p,heldBy:n(m(o)),abandoned:!0};if(function(a,b){try{(0,d.mkdirSync)(a)}catch(a){if("EEXIST"===a.code)return!1;throw a}return(0,d.writeFileSync)((0,f.join)(a,j),JSON.stringify(b),{encoding:"utf8"}),!0}(o,{pid:process.pid,host:(0,e.hostname)(),token:r,acquiredAt:Date.now()}))return{acquired:!0,waitedMs:Date.now()-p,handle:{name:a,path:o,release:()=>{let a=m(o);if(!a||a.token===r)try{(0,d.rmSync)(o,{recursive:!0,force:!0})}catch(a){h.warn("machine-lock-release-failed",{lockPath:o,error:a instanceof Error?a.message:String(a)})}}}};let c=m(o);if(c&&!s.has(c.token)&&function(a){if(a.host!==(0,e.hostname)())return!1;try{return process.kill(a.pid,0),!1}catch(a){return"ESRCH"===a.code}}(c)){s.add(c.token);let a=m(o);if(a&&a.token===c.token)try{(0,d.rmSync)(o,{recursive:!0,force:!0}),h.warn("machine-lock-broken-stale",{lockPath:o,pid:c.pid})}catch{}continue}let g=Date.now();if(g>=q)return{acquired:!1,waitedMs:g-p,heldBy:n(c)};await function(a){return new Promise(b=>setTimeout(b,a))}(Math.min(i,q-g))}}},53604:(a,b,c)=>{c.d(b,{Cr:()=>k,L8:()=>i});var d=c(55511),e=c(29021),f=c(21820),g=c(33873);let h=(0,c(72626).h)("lib/verification/worktree-index"),i="worktree-index";function j(a,b){try{return(0,e.readFileSync)((0,g.join)(a,b),"utf8").trim()}catch{return null}}function k(a,b={}){let c=b.root??function(a=process.env){let b=a.CM_VERIFY_WORKTREE_INDEX_ROOT;return b&&""!==b.trim()?b:(0,g.join)((0,f.homedir)(),".commandmate",i)}();try{(0,e.mkdirSync)(c,{recursive:!0});let b=new Set;for(let d of(0,e.readdirSync)(c))if(/^\d+$/.test(d)){if(j(c,d)===a)return Number(d);b.add(Number(d))}for(let d=0;d<1024;d++)if(!b.has(d)&&function(a,b,c){try{return(0,e.writeFileSync)((0,g.join)(a,String(b)),`${c}
2
+ `,{encoding:"utf8",flag:"wx"}),!0}catch(d){if("EEXIST"!==d.code)throw d;return j(a,String(b))===c}}(c,d,a))return d;h.warn("worktree-index-exhausted",{worktreeId:a,root:c})}catch(b){h.warn("worktree-index-unavailable",{worktreeId:a,root:c,error:b instanceof Error?b.message:String(b)})}return Number.parseInt((0,d.createHash)("sha256").update(a).digest("hex").slice(0,8),16)%1024}},74985:(a,b,c)=>{c.d(b,{Uq:()=>i,uT:()=>n});var d=c(33873),e=c(15194),f=c(77142),g=c(90384);let h=`options.requireEnvClean (${g.aT})`;function i(a,b){let c=[];return b?.options.requireEnvClean&&c.push(h),a&&!0===a.success.requireEnvClean&&c.push("success.requireEnvClean (task contract)"),{required:c.length>0,sources:c}}let j=[...e.XH].sort((a,b)=>b.length-a.length);function k(a,b,c){switch(a){case"tmux-sessions":return function(a,b){if(!a.startsWith(f.HL))return"unattributed";let c=a.slice(f.HL.length),d=j.find(a=>c.startsWith(`${a}-`));if(!d)return"unattributed";let e=c.slice(d.length+1);return e===b||e.startsWith(`${b}-`)?"self":"other"}(b.key,c.worktreeId);case"listeners":return function(a,b){if(!a)return"unattributed";let c=(0,d.resolve)(b),e=(0,d.resolve)(a);if(e===c||e.startsWith(c+d.sep))return"self";let f=(0,d.dirname)(c);return e!==f&&e.startsWith(f+d.sep)?"other":"unattributed"}(b.anchor,c.worktreePath);default:return"unattributed"}}function l(a,b){return{key:a.key,detail:a.detail,owner:b}}function m(a,b){let c=b.slice(0,25),d=b.length-c.length,e=c.map(b=>{let c=b.detail?` ${b.detail}`:"";return` ${a} ${b.key}${c} [${b.owner}]`});return d>0&&e.push(` ... and ${d} more`),e}async function n(a){let b,c=Date.now(),d=(a,b,d)=>({status:a,exitCode:d,startedAt:c,durationMs:Date.now()-c,logTail:b});if(!a.baseline)return d("error",function(a,b){let c=a?`task ${a}`:"this run",d=b.length>0?b.join(" and "):"nothing";return`${g.Q5}: UNKNOWN — no baseline snapshot exists for ${c}, so nothing can be compared. This is NOT "the environment is unchanged": no measurement was taken. A baseline is recorded when the task is created (\`send --contract\`) and only while the gate is switched on (currently: ${d}). Switch it on, then re-send the task.`}(a.taskId,a.sources),null);let e=a.capture??(()=>(0,f._8)({worktreeId:a.worktreeId}));try{b=await e()}catch(a){return d("error",`${g.Q5}: UNKNOWN — the current snapshot could not be taken: ${a instanceof Error?a.message:String(a)}`,null)}let h=function(a,b,c){let d=f.I1.map(d=>{let e=a.probes[d],f=b.probes[d];if(!e||"ok"!==e.status)return{probeId:d,status:"unknown",reason:`baseline probe unavailable: ${e?.reason??"not recorded"}`,added:[],ignoredAdded:[],removed:[]};if(!f||"ok"!==f.status)return{probeId:d,status:"unknown",reason:`current probe unavailable: ${f?.reason??"not recorded"}`,added:[],ignoredAdded:[],removed:[]};let g=new Set(e.entries.map(a=>a.key)),h=new Set(f.entries.map(a=>a.key)),i=[],j=[];for(let a of f.entries){if(g.has(a.key))continue;let b=k(d,a,c);("other"===b?j:i).push(l(a,b))}let m=e.entries.filter(a=>!h.has(a.key)).map(a=>l(a,k(d,a,c)));return{probeId:d,status:i.length+m.length>0?"violated":"clean",reason:null,added:i,ignoredAdded:j,removed:m}});return{status:d.some(a=>"violated"===a.status)?"violated":d.some(a=>"unknown"===a.status)?"unknown":"clean",probes:d}}(a.baseline,b,a),i=`${g.Q5}: baseline=${new Date(a.baseline.capturedAt).toISOString()} status=${h.status}`,j=`${i}
3
+ ${function(a){let b=[];for(let c of a.probes){let a=f.J6[c.probeId];if("unknown"===c.status){b.push(` ${c.probeId} UNKNOWN (${a}): ${c.reason??"no reason recorded"}`);continue}if("clean"===c.status){let d=c.ignoredAdded.length>0?` (${c.ignoredAdded.length} addition(s) attributed to another worktree)`:"";b.push(` ${c.probeId} clean (${a})${d}`);continue}for(let d of(b.push(` ${c.probeId} VIOLATED (${a}): +${c.added.length} -${c.removed.length}`),b.push(...m("+",c.added)),b.push(...m("-",c.removed)),c.ignoredAdded))b.push(` \xb7 ${d.key} (ignored: belongs to another worktree)`)}return b.join("\n")}(h)}`;return"clean"===h.status?d("passed",j,0):"unknown"===h.status?d("error",`${j}
4
+ UNKNOWN is not a pass: at least one probe could not be compared, so the environment was not measured.`,null):d("failed",`${j}
5
+ Anything listed under "+" was started or created during this task and left behind — stop it by PID and remove it. Anything under "-" existed when the task started and is now gone — it was killed or deleted; restart or restore it. Never stop a process by pattern (\`pkill -f\`): it takes every process whose command line matches, which is how the production server was stopped in #1739.`,1)}},77142:(a,b,c)=>{c.d(b,{HL:()=>u,I1:()=>m,J6:()=>n,_8:()=>A,dV:()=>E,g9:()=>F});var d=c(79646),e=c(29021),f=c(21820),g=c(33873),h=c(87447),i=c(72626),j=c(49987),k=c(53604);let l=(0,i.h)("lib/verification/env-snapshot"),m=["listeners","tmux-sessions","home-entries","commandmate-entries"],n={listeners:"CommandMate TCP listeners","tmux-sessions":"mcbd-* tmux sessions","home-entries":"$HOME entries","commandmate-entries":"~/.commandmate entries"},o={run:function(a,b){return new Promise(c=>{(0,d.execFile)(a,b,{timeout:5e3,maxBuffer:4194304,encoding:"utf8"},(b,d,e)=>b?"number"!=typeof b.code||b.killed?void c({code:null,stdout:d,stderr:e,failure:b.killed?`${a} exceeded 5000ms and was terminated`:`${a} could not be run: ${b.message}`}):void c({code:b.code,stdout:d,stderr:e,failure:null}):void c({code:0,stdout:d,stderr:e,failure:null}))})},readDir:a=>(0,e.readdirSync)(a),homeDir:()=>(0,f.homedir)()},p=/commandmate|dist\/server\/server\.js|next-server|next (dev|start)|server\.ts/i;function q(a){let b=[],c=null;for(let d of a.split("\n")){if(""===d)continue;let a=d[0],e=d.slice(1);if("p"===a){let a=Number(e);if(!Number.isInteger(a)){c=null;continue}c={pid:a,fields:new Map},b.push(c);continue}if(!c)continue;let f=c.fields.get(a);f?f.push(e):c.fields.set(a,[e])}return b}function r(a){return{status:"unavailable",entries:[],reason:a}}function s(a){let b=new Map;for(let c of a)b.has(c.key)||b.set(c.key,c);return{status:"ok",entries:[...b.values()].sort((a,b)=>a.key<b.key?-1:+(a.key>b.key)),reason:null}}async function t(a){let b=await a.run("lsof",["-nP","-iTCP","-sTCP:LISTEN","-F","pcn"]);if(null!==b.failure)return r(b.failure);if(0!==b.code&&1!==b.code)return r(`lsof exited ${b.code}: ${b.stderr.trim()||"no diagnostic output"}`);let c=q(b.stdout);if(0===c.length)return s([]);let d=await a.run("ps",["-A","-o","pid=,command="]);if(null!==d.failure||0!==d.code)return r(d.failure??`ps exited ${d.code}: ${d.stderr.trim()||"no diagnostic output"}`);let e=function(a){let b=new Map;for(let c of a.split("\n")){let a=/^\s*(\d+)\s+(.*)$/.exec(c);a&&b.set(Number(a[1]),a[2].trim())}return b}(d.stdout),f=c.filter(a=>{let b=e.get(a.pid);return void 0!==b&&p.test(b)});if(0===f.length)return s([]);let g=new Map,h=f.map(a=>String(a.pid)),i=await a.run("lsof",["-a","-d","cwd","-p",h.join(","),"-F","pn"]);if(null===i.failure&&(0===i.code||1===i.code))for(let a of q(i.stdout)){let[b]=a.fields.get("n")??[];b&&g.set(a.pid,b)}let j=[];for(let a of f){let b=a.fields.get("c")?.[0]??"unknown";for(let c of a.fields.get("n")??[]){let d=function(a){let b=a.lastIndexOf(":");if(b<0)return null;let c=a.slice(b+1);return/^\d+$/.test(c)?c:null}(c);d&&j.push({key:`tcp/${d}`,detail:`${b} pid=${a.pid}`,anchor:g.get(a.pid)??null})}}return s(j)}let u="mcbd-";async function v(a){let b=await a.run("tmux",["list-sessions","-F","#{session_name}"]);return null!==b.failure?r(b.failure):0!==b.code?/no server running|error connecting to|no sessions/i.test(b.stderr)?s([]):r(`tmux list-sessions exited ${b.code}: ${b.stderr.trim()||"no diagnostic output"}`):s(b.stdout.split("\n").map(a=>a.trim()).filter(a=>a.startsWith(u)).map(a=>({key:a,detail:null,anchor:null})))}let w=[/-wal$/,/-shm$/,/-journal$/,/^\.DS_Store$/],x="env-snapshots",y=[j.Iq,k.L8];function z(a,b,{missingIsEmpty:c,alsoIgnored:d=[]}){let e;try{e=a.readDir(b)}catch(d){let a=d.code;if(c&&"ENOENT"===a)return s([]);return r(`could not list ${b}: ${d.message}`)}return s(e.filter(a=>!(a===x||w.some(b=>b.test(a)))&&!d.includes(a)).map(a=>({key:a,detail:null,anchor:null})))}async function A(a){let b=a.deps??o,[c,d]=await Promise.all([t(b).catch(a=>r(`listeners probe threw: ${a.message}`)),v(b).catch(a=>r(`tmux probe threw: ${a.message}`))]);return{version:1,capturedAt:a.now??Date.now(),worktreeId:a.worktreeId,probes:{listeners:c,"tmux-sessions":d,"home-entries":z(b,b.homeDir(),{missingIsEmpty:!1}),"commandmate-entries":z(b,(0,g.join)(b.homeDir(),".commandmate"),{missingIsEmpty:!0,alsoIgnored:y})}}}function B(){return(0,g.join)((0,g.dirname)((0,h._$)().CM_DB_PATH),x)}let C=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function D(a,b){return C.test(b)?(0,g.join)(a,`${b}.json`):null}function E(a,b,c=B()){let d=D(c,a);if(!d)return l.warn("env-snapshot-rejected-task-id",{taskId:a}),!1;try{return(0,e.mkdirSync)(c,{recursive:!0,mode:448}),(0,e.writeFileSync)(d,JSON.stringify(b),{encoding:"utf8",mode:384}),!function(a,b){let c;try{c=(0,e.readdirSync)(a)}catch{return}for(let d of c){if(!d.endsWith(".json"))continue;let c=(0,g.join)(a,d);try{b-(0,e.statSync)(c).mtimeMs>2592e6&&(0,e.rmSync)(c,{force:!0})}catch{}}}(c,b.capturedAt),!0}catch(b){return l.warn("env-snapshot-write-failed",{taskId:a,error:b instanceof Error?b.message:String(b)}),!1}}function F(a,b=B()){let c=D(b,a);if(!c)return null;try{let a=JSON.parse((0,e.readFileSync)(c,"utf8"));if(!function(a){if("object"!=typeof a||null===a||1!==a.version||"number"!=typeof a.capturedAt)return!1;let b=a.probes;return"object"==typeof b&&null!==b&&m.every(a=>{var c;return"object"==typeof(c=b[a])&&null!==c&&("ok"===c.status||"unavailable"===c.status)&&Array.isArray(c.entries)})}(a))return null;return a}catch{return null}}}};