commandmate 0.24.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +266 -266
  3. package/.next/app-path-routes-manifest.json +15 -15
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/react-loadable-manifest.json +3 -3
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/app/update-check/route.js +1 -1
  11. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  32. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  68. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/chat/page.js +2 -2
  137. package/.next/server/app/chat/page.js.nft.json +1 -1
  138. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  139. package/.next/server/app/login/page.js +2 -2
  140. package/.next/server/app/login/page.js.nft.json +1 -1
  141. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  142. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/more/page.js +2 -2
  144. package/.next/server/app/more/page.js.nft.json +1 -1
  145. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  146. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  147. package/.next/server/app/page.js +1 -1
  148. package/.next/server/app/page.js.nft.json +1 -1
  149. package/.next/server/app/page_client-reference-manifest.js +1 -1
  150. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/repositories/page.js +2 -2
  152. package/.next/server/app/repositories/page.js.nft.json +1 -1
  153. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  154. package/.next/server/app/review/page.js +1 -1
  155. package/.next/server/app/review/page.js.nft.json +1 -1
  156. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  157. package/.next/server/app/sessions/page.js +1 -1
  158. package/.next/server/app/sessions/page.js.nft.json +1 -1
  159. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  160. package/.next/server/app/skills/[skillId]/page.js +2 -2
  161. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  162. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  163. package/.next/server/app/skills/installed/page.js +2 -2
  164. package/.next/server/app/skills/installed/page.js.nft.json +1 -1
  165. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  166. package/.next/server/app/skills/page.js +2 -2
  167. package/.next/server/app/skills/page.js.nft.json +1 -1
  168. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  169. package/.next/server/app/worktrees/[id]/files/[...path]/page.js +2 -2
  170. package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
  171. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  172. package/.next/server/app/worktrees/[id]/page.js +6 -6
  173. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  174. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  175. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  176. package/.next/server/app-paths-manifest.json +15 -15
  177. package/.next/server/chunks/2119.js +1 -1
  178. package/.next/server/chunks/2404.js +1 -1
  179. package/.next/server/chunks/2445.js +1 -1
  180. package/.next/server/chunks/3241.js +1 -1
  181. package/.next/server/chunks/3346.js +1 -1
  182. package/.next/server/chunks/4455.js +1 -1
  183. package/.next/server/chunks/5164.js +1 -1
  184. package/.next/server/chunks/5571.js +1 -1
  185. package/.next/server/chunks/5959.js +4 -4
  186. package/.next/server/chunks/6130.js +1 -1
  187. package/.next/server/chunks/6274.js +12 -9
  188. package/.next/server/chunks/6285.js +1 -1
  189. package/.next/server/chunks/7458.js +6 -6
  190. package/.next/server/chunks/848.js +1 -1
  191. package/.next/server/chunks/8730.js +1 -0
  192. package/.next/server/chunks/880.js +1 -1
  193. package/.next/server/chunks/9328.js +1 -1
  194. package/.next/server/chunks/9373.js +4 -3
  195. package/.next/server/middleware-build-manifest.js +1 -1
  196. package/.next/server/middleware-manifest.json +5 -5
  197. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  198. package/.next/server/pages/500.html +1 -1
  199. package/.next/server/server-reference-manifest.json +1 -1
  200. package/.next/static/chunks/2053-dfac2d49227cc942.js +1 -0
  201. package/.next/static/chunks/3898-ef488bfa804507d9.js +1 -0
  202. package/.next/static/chunks/5229-35f9acab97a553c5.js +1 -0
  203. package/.next/static/chunks/{6381-18a6a02a94d00d76.js → 6381-9303430933084b56.js} +1 -1
  204. package/.next/static/chunks/{9599-d29d2f8eeaf7c249.js → 8649-f551b0010dba4986.js} +1 -1
  205. package/.next/static/chunks/9263.f2034ec525abcf72.js +1 -0
  206. package/.next/static/chunks/app/chat/page-439b35c9cb90dbe0.js +1 -0
  207. package/.next/static/chunks/app/login/page-eefd515d8c37e5ee.js +1 -0
  208. package/.next/static/chunks/app/more/page-889b7546a8a553dc.js +1 -0
  209. package/.next/static/chunks/app/page-a8d04ac0e3e4c9fc.js +1 -0
  210. package/.next/static/chunks/app/repositories/page-f3c4d8839b1ca203.js +1 -0
  211. package/.next/static/chunks/app/review/page-6dc88649fe88ac16.js +1 -0
  212. package/.next/static/chunks/app/sessions/page-2c9ed9e969097688.js +1 -0
  213. package/.next/static/chunks/app/skills/[skillId]/page-19beef6121c4c982.js +1 -0
  214. package/.next/static/chunks/app/skills/installed/page-d5b9cef6d21fabda.js +1 -0
  215. package/.next/static/chunks/app/skills/page-06ef637e07dd9377.js +1 -0
  216. package/.next/static/chunks/app/worktrees/[id]/files/[...path]/{page-9ddcb224594f620f.js → page-5fed3984fafcd910.js} +1 -1
  217. package/.next/static/chunks/app/worktrees/[id]/page-fbdf4621a2911ac1.js +1 -0
  218. package/.next/static/chunks/{webpack-3534d858912a6c92.js → webpack-9d892a9ff07c289d.js} +1 -1
  219. package/.next/static/css/e865c4979a41aa03.css +1 -0
  220. package/.next/trace +12 -12
  221. package/README.md +96 -45
  222. package/dist/cli/commands/task.d.ts.map +1 -1
  223. package/dist/cli/commands/task.js +2 -1
  224. package/dist/cli/commands/verify.d.ts +14 -0
  225. package/dist/cli/commands/verify.d.ts.map +1 -1
  226. package/dist/cli/commands/verify.js +109 -3
  227. package/dist/cli/commands/wait.d.ts +2 -0
  228. package/dist/cli/commands/wait.d.ts.map +1 -1
  229. package/dist/cli/commands/wait.js +184 -4
  230. package/dist/cli/types/api-responses.d.ts +172 -0
  231. package/dist/cli/types/api-responses.d.ts.map +1 -1
  232. package/dist/cli/types/index.d.ts +31 -0
  233. package/dist/cli/types/index.d.ts.map +1 -1
  234. package/dist/cli/types/index.js +26 -0
  235. package/dist/cli/utils/verify-runner.d.ts +36 -1
  236. package/dist/cli/utils/verify-runner.d.ts.map +1 -1
  237. package/dist/cli/utils/verify-runner.js +114 -6
  238. package/dist/server/src/config/activity-bar-config.js +5 -1
  239. package/dist/server/src/lib/auto-yes-poller.js +40 -4
  240. package/dist/server/src/lib/auto-yes-state.js +108 -3
  241. package/dist/server/src/lib/cli-tools/antigravity.js +8 -4
  242. package/dist/server/src/lib/cli-tools/codex.js +63 -30
  243. package/dist/server/src/lib/cli-tools/copilot.js +5 -1
  244. package/dist/server/src/lib/cli-tools/gemini.js +15 -15
  245. package/dist/server/src/lib/cli-tools/opencode.js +9 -3
  246. package/dist/server/src/lib/detection/cli-patterns.js +148 -6
  247. package/dist/server/src/lib/detection/status-detector.js +28 -0
  248. package/dist/server/src/lib/detection/upstream-faults.js +120 -0
  249. package/dist/server/src/lib/hooks/permission-decision-service.js +13 -5
  250. package/dist/server/src/lib/hooks/sources/antigravity/hooks-config.js +18 -11
  251. package/dist/server/src/lib/hooks/sources/antigravity/source.js +10 -9
  252. package/dist/server/src/lib/hooks/sources/claude/source.js +5 -2
  253. package/dist/server/src/lib/hooks/sources/codex/hooks-config.js +26 -18
  254. package/dist/server/src/lib/hooks/sources/codex/source.js +6 -9
  255. package/dist/server/src/lib/hooks/sources/copilot/hook-settings.js +22 -12
  256. package/dist/server/src/lib/hooks/sources/copilot/source.js +1 -1
  257. package/dist/server/src/lib/hooks/sources/define-source.js +6 -4
  258. package/dist/server/src/lib/hooks/sources/gemini/settings-generator.js +14 -8
  259. package/dist/server/src/lib/hooks/sources/gemini/source.js +29 -29
  260. package/dist/server/src/lib/hooks/sources/index.js +4 -1
  261. package/dist/server/src/lib/hooks/sources/launch-command.js +61 -0
  262. package/dist/server/src/lib/hooks/sources/legacy-relay.js +2 -1
  263. package/dist/server/src/lib/hooks/sources/opencode/source.js +10 -7
  264. package/dist/server/src/lib/polling/prompt-dedup-state.js +95 -0
  265. package/dist/server/src/lib/polling/response-checker.js +12 -0
  266. package/dist/server/src/lib/polling/response-poller-core.js +11 -1
  267. package/dist/server/src/lib/session/agent-session-lifecycle.js +28 -7
  268. package/dist/server/src/lib/session/claude-session.js +5 -1
  269. package/dist/server/src/lib/session/current-output-builder.js +34 -0
  270. package/dist/server/src/lib/verification/env-snapshot.js +21 -3
  271. package/dist/server/src/lib/verification/gate-runner.js +258 -7
  272. package/dist/server/src/lib/verification/machine-lock.js +204 -0
  273. package/dist/server/src/lib/verification/scope-gate.js +126 -13
  274. package/dist/server/src/lib/verification/verify-config.js +85 -3
  275. package/dist/server/src/lib/verification/worktree-index.js +140 -0
  276. package/package.json +1 -1
  277. package/.next/server/chunks/3451.js +0 -1
  278. package/.next/static/chunks/2053-52d3c82014e1cd54.js +0 -1
  279. package/.next/static/chunks/5229-0610b4e3288e777d.js +0 -1
  280. package/.next/static/chunks/744-3ad06d8c8ca482fc.js +0 -1
  281. package/.next/static/chunks/9263.5259f73f89220d64.js +0 -1
  282. package/.next/static/chunks/app/chat/page-15d13fc024d78f5d.js +0 -1
  283. package/.next/static/chunks/app/login/page-0247a3fb569bb22b.js +0 -1
  284. package/.next/static/chunks/app/more/page-b8ba537baeac8d5b.js +0 -1
  285. package/.next/static/chunks/app/page-afc64708362f31e5.js +0 -1
  286. package/.next/static/chunks/app/repositories/page-3469dacb6be7842f.js +0 -1
  287. package/.next/static/chunks/app/review/page-2d9cb7e068f8f35a.js +0 -1
  288. package/.next/static/chunks/app/sessions/page-7470c2bfd89e0df9.js +0 -1
  289. package/.next/static/chunks/app/skills/[skillId]/page-5e24481162f7ea78.js +0 -1
  290. package/.next/static/chunks/app/skills/installed/page-efd2d710a27f9735.js +0 -1
  291. package/.next/static/chunks/app/skills/page-0498adfc6e48684b.js +0 -1
  292. package/.next/static/chunks/app/worktrees/[id]/page-e611d30e47989e5d.js +0 -1
  293. package/.next/static/css/3ac44cfc082d02ad.css +0 -1
  294. /package/.next/static/{smu4mnL7qMf8w38n9dQJE → hNdNiFes2xLls68SWhAU9}/_buildManifest.js +0 -0
  295. /package/.next/static/{smu4mnL7qMf8w38n9dQJE → hNdNiFes2xLls68SWhAU9}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=3346,exports.ids=[3346],exports.modules={83346:a=>{a.exports=JSON.parse('{"page":{"title":"Review","description":"Worktrees that need your attention."},"tabs":{"review":"Review","report":"Report","template":"Template"},"status":{"done":"Done","inReview":"In Review","approval":"Approval","stalled":"Stalled"},"filters":{"ariaLabel":"Review filters","loading":"Loading reviews"},"empty":{"inReview":"No worktrees in review.","approval":"No worktrees waiting for approval.","stalled":"No stalled worktrees detected."},"datePicker":{"previousDay":"Previous day","nextDay":"Next day"},"report":{"regenerateConfirm":"A report already exists for this date. Regenerate and overwrite?","toolLabel":"Tool:","modelPlaceholder":"Model (optional)","generationMode":"Generation Mode","modes":{"none":"No instruction","template":"Template","custom":"Custom"},"selectTemplate":"Select Template","loadingTemplates":"Loading templates","noTemplates":"No templates available. Create one in the Template tab.","templatePlaceholderOption":"-- Select a template --","instructionPlaceholderTemplate":"Select a template above to populate this field","instructionPlaceholderCustom":"Additional instructions for summary generation","generate":"Generate Summary","generating":"Generating...","noMessages":"No messages for this date.","messagesFound":"{count} messages found for this date.","generatingRemote":"Generating report... (tool: {tool})","generatingRemoteWithTime":"Generating report... (tool: {tool}, started: {seconds}s ago)","generatingSummary":"Generating summary...","generatedBy":"Generated by: {tool}","copy":"Copy","copied":"Copied!","edit":"Edit","save":"Save","saving":"Saving...","errors":{"fetch":"Failed to fetch report","rateLimited":"Another summary is being generated. Please wait.","generate":"Failed to generate summary","emptyContent":"Content cannot be empty","save":"Failed to save report"}},"template":{"deleteConfirm":"Delete this template?","heading":"Templates ({count}/{max})","loading":"Loading templates","empty":"No templates yet.","edit":"Edit","delete":"Delete","save":"Save","saving":"Saving...","cancel":"Cancel","newHeading":"New Template","namePlaceholder":"Template name","contentPlaceholder":"Template content (instructions for report generation)","create":"Create Template","creating":"Creating...","errors":{"fetch":"Failed to fetch templates","nameAndContentRequired":"Name and content are required","create":"Failed to create template","update":"Failed to update template","delete":"Failed to delete template"}}}')}};
1
+ "use strict";exports.id=3346,exports.ids=[3346],exports.modules={83346:a=>{a.exports=JSON.parse('{"page":{"title":"Review","description":"Worktrees that need your attention."},"tabs":{"review":"Review","report":"Report","template":"Template"},"status":{"inReview":"In Review","approval":"Approval","stalled":"Stalled"},"filters":{"ariaLabel":"Review filters","loading":"Loading reviews"},"empty":{"inReview":"No worktrees in review.","approval":"No worktrees waiting for approval.","stalled":"No stalled worktrees detected."},"datePicker":{"previousDay":"Previous day","nextDay":"Next day"},"report":{"regenerateConfirm":"A report already exists for this date. Regenerate and overwrite?","toolLabel":"Tool:","modelPlaceholder":"Model (optional)","generationMode":"Generation Mode","modes":{"none":"No instruction","template":"Template","custom":"Custom"},"selectTemplate":"Select Template","loadingTemplates":"Loading templates","noTemplates":"No templates available. Create one in the Template tab.","templatePlaceholderOption":"-- Select a template --","instructionPlaceholderTemplate":"Select a template above to populate this field","instructionPlaceholderCustom":"Additional instructions for summary generation","generate":"Generate Summary","generating":"Generating...","noMessages":"No messages for this date.","messagesFound":"{count} messages found for this date.","generatingRemote":"Generating report... (tool: {tool})","generatingRemoteWithTime":"Generating report... (tool: {tool}, started: {seconds}s ago)","generatingSummary":"Generating summary...","generatedBy":"Generated by: {tool}","copy":"Copy","copied":"Copied!","edit":"Edit","save":"Save","saving":"Saving...","errors":{"fetch":"Failed to fetch report","rateLimited":"Another summary is being generated. Please wait.","generate":"Failed to generate summary","emptyContent":"Content cannot be empty","save":"Failed to save report"}},"template":{"deleteConfirm":"Delete this template?","heading":"Templates ({count}/{max})","loading":"Loading templates","empty":"No templates yet.","edit":"Edit","delete":"Delete","save":"Save","saving":"Saving...","cancel":"Cancel","newHeading":"New Template","namePlaceholder":"Template name","contentPlaceholder":"Template content (instructions for report generation)","create":"Create Template","creating":"Creating...","errors":{"fetch":"Failed to fetch templates","nameAndContentRequired":"Name and content are required","create":"Failed to create template","update":"Failed to update template","delete":"Failed to delete template"}}}')}};
@@ -1 +1 @@
1
- "use strict";exports.id=4455,exports.ids=[4455],exports.modules={16983:(a,b,c)=>{c.d(b,{Jn:()=>e,eu:()=>f,sO:()=>d});let d=1e3,e=200,f=2e4},24455:(a,b,c)=>{c.d(b,{Cs:()=>o,G:()=>s,GE:()=>j,LP:()=>r,Re:()=>z,UL:()=>v,Ue:()=>h,W8:()=>m,XK:()=>n,ZO:()=>u,_9:()=>p,aq:()=>l,fC:()=>y,kC:()=>q,pL:()=>i,ps:()=>t,v7:()=>g});var d=c(68901);c(66007);var e=c(15194);let f=(0,c(72626).h)("auto-yes-state");function g(a,b,c){if(a.includes(":"))throw Error(`worktreeId must not contain ':': ${a}`);if(!c||c===b)return`${a}:${b}`;if(c.includes(":"))throw Error(`instanceId must not contain ':': ${c}`);return`${a}:${b}:${c}`}function h(a){let b=a.indexOf(":");return -1===b?a:a.substring(0,b)}function i(a){let b=a.split(":")[1];return void 0===b?null:(0,e.hR)(b)?b:null}function j(a){let b=a.split(":");return b[2]??b[1]??null}let k=globalThis.__autoYesStates??(globalThis.__autoYesStates=new Map);function l(a,b="claude",c){let d=g(a,b,c),e=k.get(d);return e?Date.now()>=e.expiresAt?n(a,b,"expired",c):e:null}function m(a,b,c,e,f,h){let i=g(a,b,h);if(!c)return n(a,b,void 0,h);{let a=Date.now(),b={enabled:!0,enabledAt:a,expiresAt:a+(e??d.t6),stopPattern:f};return k.set(i,b),b}}function n(a,b="claude",c,d){let e=g(a,b,d),f=k.get(e),h={enabled:!1,enabledAt:f?.enabledAt??0,expiresAt:f?.expiresAt??0,stopPattern:f?.stopPattern,stopReason:c};return k.set(e,h),h}function o(a,b,c){let e=h(a),g=i(a);if(!g)return!1;let k=j(a)??void 0,m=l(e,g,k);if(!m?.stopPattern)return!1;if(!(0,d.P0)(m.stopPattern).valid)return f.warn("invalid-stop-pattern",{detail:String({compositeKey:a})}),n(e,g,void 0,k),!1;try{let h=new RegExp(m.stopPattern),i=(0,d.eJ)(h,b);if(null===i)return f.warn("stop-condition-check",{detail:String({compositeKey:a})}),n(e,g,void 0,k),!1;if(i)return n(e,g,"stop_pattern_matched",k),c&&c(a),f.warn("stop-condition-matched",{detail:String({compositeKey:a})}),!0}catch{f.warn("stop-condition-check",{detail:String({compositeKey:a})})}return!1}function p(a,b){return a.filter(a=>h(a)===b)}function q(a){return p(Array.from(k.keys()),a)}function r(a){let b=q(a);return b.forEach(a=>k.delete(a)),b.length}function s(a){return a<x?t:Math.min(t*Math.pow(2,a-x+1),w)}let t=2e3,u=5e3,v=1e4,w=6e4,x=5,y=50,z=50},66007:(a,b,c)=>{c.d(b,{B9:()=>m,Px:()=>o,Uc:()=>l,b$:()=>n,h6:()=>k});var d=c(33873),e=c.n(d),f=c(29021),g=c(72626),h=c(80438);let i=(0,g.h)("path-validator"),j=/^[a-zA-Z0-9_-]+$/;function k(a){return!!a&&0!==a.length&&j.test(a)}function l(a,b){return a===b||a.startsWith(b+e().sep)}function m(a,b){if(!a||""===a.trim()||a.includes("\0"))return!1;let c=a;try{c=decodeURIComponent(a)}catch{c=a}if(c.includes("\0"))return!1;let d=e().resolve(b),f=e().resolve(b,c),g=e().relative(d,f);return!(g.startsWith("..")||e().isAbsolute(g))}function n(a,b){if(!a||""===a.trim())throw Error("Invalid path: Path cannot be empty");if(a.includes("\0"))throw Error("Invalid path: Null bytes not allowed");if(!m(a,b))throw Error(`Path is outside allowed directory: ${a} (allowed root: ${b})`);let c=a;try{c=decodeURIComponent(a)}catch{c=a}return e().resolve(b,c)}function o(a,b){let c;try{c=(0,f.realpathSync)(b)}catch{return!1}let d=e().resolve(b,a);if((0,f.existsSync)(d))try{let b=(0,f.realpathSync)(d),e=l(b,c);return e||(0,h.h)(i,"symlink-rejected",{targetPath:a,resolvedTarget:b}),e}catch{return!1}try{if((0,f.lstatSync)(d).isSymbolicLink())try{let b=(0,f.readlinkSync)(d),g=e().resolve(e().dirname(d),b),j=l(g,c);return j||(0,h.h)(i,"dangling-symlink-rejected",{targetPath:a,resolvedLinkTarget:g}),j}catch{return!1}}catch{}let g=e().dirname(d);for(;g!==e().dirname(g);){if((0,f.existsSync)(g))try{let a=(0,f.realpathSync)(g),b=l(a,c);return b||(0,h.h)(i,"symlink-ancestor-rejected",{currentPath:g,resolvedAncestor:a}),b}catch{break}g=e().dirname(g)}return!1}},68901:(a,b,c)=>{c.d(b,{FW:()=>l,Ke:()=>k,P0:()=>n,QN:()=>j,dR:()=>i,eJ:()=>o,t6:()=>h,ul:()=>m});var d=c(82366),e=c.n(d),f=c(16983);let g=[36e5,108e5,288e5],h=36e5;function i(a){return"number"==typeof a&&g.includes(a)}let j=5e3,k=f.sO,l=5e3,m=20;function n(a){if(a.length>500)return{valid:!1,error:"Pattern must be 500 characters or less"};if(!e()(a))return{valid:!1,error:"Pattern may cause performance issues (catastrophic backtracking detected)"};try{return new RegExp(a),{valid:!0}}catch{return{valid:!1,error:"Invalid regular expression syntax"}}}function o(a,b,c=100){try{return a.test(b)}catch{return null}}},80438:(a,b,c)=>{c.d(b,{h:()=>d});function d(a,b,c){a.warn(`security:${b}`,c)}}};
1
+ "use strict";exports.id=4455,exports.ids=[4455],exports.modules={16983:(a,b,c)=>{c.d(b,{Jn:()=>e,eu:()=>f,sO:()=>d});let d=1e3,e=200,f=2e4},24455:(a,b,c)=>{c.d(b,{Cs:()=>r,G:()=>v,GE:()=>j,LP:()=>u,Re:()=>C,UL:()=>y,Ue:()=>h,W8:()=>m,XK:()=>n,ZO:()=>x,_9:()=>s,aq:()=>l,fC:()=>B,kC:()=>t,pL:()=>i,ps:()=>w,v7:()=>g});var d=c(68901);c(66007);var e=c(15194);let f=(0,c(72626).h)("auto-yes-state");function g(a,b,c){if(a.includes(":"))throw Error(`worktreeId must not contain ':': ${a}`);if(!c||c===b)return`${a}:${b}`;if(c.includes(":"))throw Error(`instanceId must not contain ':': ${c}`);return`${a}:${b}:${c}`}function h(a){let b=a.indexOf(":");return -1===b?a:a.substring(0,b)}function i(a){let b=a.split(":")[1];return void 0===b?null:(0,e.hR)(b)?b:null}function j(a){let b=a.split(":");return b[2]??b[1]??null}let k=globalThis.__autoYesStates??(globalThis.__autoYesStates=new Map);function l(a,b="claude",c){let d=g(a,b,c),e=k.get(d);return e?Date.now()>=e.expiresAt?n(a,b,"expired",c):e:null}function m(a,b,c,e,f,h){let i=g(a,b,h);if(!c)return n(a,b,void 0,h);{let a=Date.now(),b={enabled:!0,enabledAt:a,expiresAt:a+(e??d.t6),stopPattern:f};return k.set(i,b),b}}function n(a,b="claude",c,d,e){let f=g(a,b,d),h=k.get(f),i={enabled:!1,enabledAt:h?.enabledAt??0,expiresAt:h?.expiresAt??0,stopPattern:h?.stopPattern,stopReason:c,stopMatchedText:e};return k.set(f,i),i}let o="…[truncated]",p=new TextEncoder;function q(a){return p.encode(a).length}function r(a,b,c){let e=h(a),g=i(a);if(!g)return!1;let k=j(a)??void 0,m=l(e,g,k);if(!m?.stopPattern)return!1;if(!(0,d.P0)(m.stopPattern).valid)return f.warn("invalid-stop-pattern",{detail:String({compositeKey:a})}),n(e,g,void 0,k),!1;try{let h=new RegExp(m.stopPattern),i=(0,d.eJ)(h,b);if(null===i)return f.warn("stop-condition-check",{detail:String({compositeKey:a})}),n(e,g,void 0,k),!1;if(i){let d=function(a,b){let c;try{c=a.exec(b)}catch{return null}if(!c)return null;let d=c.index,e=d+c[0].length,f=b.split("\n"),g=b.slice(0,d).split("\n").length-1,h=b.slice(0,e).split("\n").length-1,i=Math.max(0,g-1),j=Math.min(f.length-1,h+1),k=f.slice(i,j+1).join("\n"),l=k.trim();return function(a,b=400){if(q(a)<=b)return a;let c=b-q(o);if(c<=0)return o;let d=0,e="";for(let b of a){let a=q(b);if(d+a>c)break;e+=b,d+=a}return e+o}(l.length>0?l:k)}(h,b)??void 0;return n(e,g,"stop_pattern_matched",k,d),c&&c(a),f.warn("stop-condition-matched",{detail:String({compositeKey:a})}),!0}}catch{f.warn("stop-condition-check",{detail:String({compositeKey:a})})}return!1}function s(a,b){return a.filter(a=>h(a)===b)}function t(a){return s(Array.from(k.keys()),a)}function u(a){let b=t(a);return b.forEach(a=>k.delete(a)),b.length}function v(a){return a<A?w:Math.min(w*Math.pow(2,a-A+1),z)}let w=2e3,x=5e3,y=1e4,z=6e4,A=5,B=50,C=50},66007:(a,b,c)=>{c.d(b,{B9:()=>m,Px:()=>o,Uc:()=>l,b$:()=>n,h6:()=>k});var d=c(33873),e=c.n(d),f=c(29021),g=c(72626),h=c(80438);let i=(0,g.h)("path-validator"),j=/^[a-zA-Z0-9_-]+$/;function k(a){return!!a&&0!==a.length&&j.test(a)}function l(a,b){return a===b||a.startsWith(b+e().sep)}function m(a,b){if(!a||""===a.trim()||a.includes("\0"))return!1;let c=a;try{c=decodeURIComponent(a)}catch{c=a}if(c.includes("\0"))return!1;let d=e().resolve(b),f=e().resolve(b,c),g=e().relative(d,f);return!(g.startsWith("..")||e().isAbsolute(g))}function n(a,b){if(!a||""===a.trim())throw Error("Invalid path: Path cannot be empty");if(a.includes("\0"))throw Error("Invalid path: Null bytes not allowed");if(!m(a,b))throw Error(`Path is outside allowed directory: ${a} (allowed root: ${b})`);let c=a;try{c=decodeURIComponent(a)}catch{c=a}return e().resolve(b,c)}function o(a,b){let c;try{c=(0,f.realpathSync)(b)}catch{return!1}let d=e().resolve(b,a);if((0,f.existsSync)(d))try{let b=(0,f.realpathSync)(d),e=l(b,c);return e||(0,h.h)(i,"symlink-rejected",{targetPath:a,resolvedTarget:b}),e}catch{return!1}try{if((0,f.lstatSync)(d).isSymbolicLink())try{let b=(0,f.readlinkSync)(d),g=e().resolve(e().dirname(d),b),j=l(g,c);return j||(0,h.h)(i,"dangling-symlink-rejected",{targetPath:a,resolvedLinkTarget:g}),j}catch{return!1}}catch{}let g=e().dirname(d);for(;g!==e().dirname(g);){if((0,f.existsSync)(g))try{let a=(0,f.realpathSync)(g),b=l(a,c);return b||(0,h.h)(i,"symlink-ancestor-rejected",{currentPath:g,resolvedAncestor:a}),b}catch{break}g=e().dirname(g)}return!1}},68901:(a,b,c)=>{c.d(b,{FW:()=>l,Ke:()=>k,P0:()=>n,QN:()=>j,dR:()=>i,eJ:()=>o,t6:()=>h,ul:()=>m});var d=c(82366),e=c.n(d),f=c(16983);let g=[36e5,108e5,288e5],h=36e5;function i(a){return"number"==typeof a&&g.includes(a)}let j=5e3,k=f.sO,l=5e3,m=20;function n(a){if(a.length>500)return{valid:!1,error:"Pattern must be 500 characters or less"};if(!e()(a))return{valid:!1,error:"Pattern may cause performance issues (catastrophic backtracking detected)"};try{return new RegExp(a),{valid:!0}}catch{return{valid:!1,error:"Invalid regular expression syntax"}}}function o(a,b,c=100){try{return a.test(b)}catch{return null}}},80438:(a,b,c)=>{c.d(b,{h:()=>d});function d(a,b,c){a.warn(`security:${b}`,c)}}};
@@ -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]*\x07|\[[0-9;]*m/g;function e(a){return a.replace(d,"")}},85164:(a,b,c)=>{c.d(b,{CX:()=>p,DR:()=>l,Dd:()=>x,Du:()=>N,F0:()=>_,Fw:()=>aa,GT:()=>o,J7:()=>R,Jn:()=>w,KO:()=>ab,LO:()=>I,Md:()=>G,Mi:()=>Q,Qh:()=>u,XY:()=>K,_A:()=>$,_X:()=>function a(b){switch(b){case"claude":return{promptPattern:m,separatorPattern:n,thinkingPattern:h,skipPatterns:[/^─{10,}$/,/^[>❯]\s*$/,h,/^\s*[⎿⏋]\s+Tip:/,/^\s*Tip:/,/^\s*\?\s*for shortcuts/,/to interrupt\)/,A]};case"codex":return{promptPattern:q,separatorPattern:v,thinkingPattern:j,skipPatterns:[/^─.*─+$/,/^›\s*$/,/^›\s+(Implement|Find and fix|Type)/,j,/^\s*\d+%\s+context left/,/^\s*for shortcuts$/,/╭─+╮/,/╰─+╯/,/•\s*Ran\s+/,/^\s*└/,/^\s*│/,/\(.*esc to interrupt\)/,A]};case"gemini":return{promptPattern:B,separatorPattern:/^[─━]{3,}$/m,thinkingPattern:C,skipPatterns:[B,C,/^\s*$/,/Gemini\s+\d+\.\d+/,A]};case"vibe-local":return{promptPattern:S,separatorPattern:/^[·]{10,}$/m,thinkingPattern:T,skipPatterns:[S,T,/^\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/,A]};case"opencode":return{promptPattern:D,separatorPattern:L,thinkingPattern:F,skipPatterns:[...M]};case"copilot":return{promptPattern:N,separatorPattern:P,thinkingPattern:O,skipPatterns:[...R]};case"antigravity":return{promptPattern:U,separatorPattern:W,thinkingPattern:V,skipPatterns:[...Y]};default:return a("claude")}},aJ:()=>e.aJ,aU:()=>i,aW:()=>z,fW:()=>A,gm:()=>q,hx:()=>m,kD:()=>H,kT:()=>X,l8:()=>J,pn:()=>y,sx:()=>M,sy:()=>D,uA:()=>E,ut:()=>Z,wN:()=>B,zZ:()=>t});var d=c(72626),e=c(51297),f=c(46423);let g=(0,d.h)("cli-patterns"),h=RegExp(`[✻✽⏺\xb7∴✢✳✶⦿◉●○◌◎⊙⊚⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏]\\s+.+…|esc to interrupt`,"m"),i=/esc to interrupt/,j=/•\s*(Planning|Searching|Exploring|Running|Thinking|Working|Reading|Writing|Analyzing|Ran|Deciding)/m,k=/esc to interrupt/;function l(a,b){let c=(0,e.aJ)(a.slice(Math.max(0,a.length-b)).join("\n"));if(k.test(c))return!0;let d=-1;for(let b=a.length-1;b>=Math.max(0,a.length-8);b--)if(q.test((0,e.aJ)(a[b]))){d=b;break}if(d<0)return j.test(c);let g=Math.max(0,d-f.$+1),h=(0,e.aJ)(a.slice(g,d+1).join("\n"));return j.test(h)}let m=/^[>❯](\s*$|\s+\S)/m,n=/^─{10,}$/m;function o(a){let b=a=>/^─{10,}$/.test((0,e.aJ)(a).trimEnd()),c=a.length-1;for(;c>=0&&""===a[c].trim();)c--;if(c<0)return -1;let d=-1;for(let e=c;e>=Math.max(0,c-4);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||!/^[>❯]/.test((0,e.aJ)(a[f+1]??""))?-1:Math.max(0,f-1)}let p=/Yes, I trust this folder/m,q=/^›\s*/m,r=/Skip until next version|Do you trust|Press enter to continue|^\s*›\s*\d+\.\s/m,s=/^\s*›(?!\s*\d+\.)/;function t(a){let b=a.split("\n"),c=-1,d=-1;for(let a=0;a<b.length;a++){let e=b[a];if(r.test(e)){c=a;continue}s.test(e)&&(d=a)}return d>=0&&d>c}function u(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a--)if(s.test(b[a])){c=a;break}let d=b.slice(c+1).join("\n");return""===d?null:d.includes("Skip until next version")||d.includes("Update")&&d.includes("Skip")?"update":d.includes("Do you trust")?"trust":d.includes("Press enter to continue")?"press-enter":null}let v=/^─.*Worked for.*─+$/m,w=/press\s+enter\s+to\s+(?:confirm|select)/i,x=/esc\s+to\s+cancel/i,y=/(?:↑\/↓|pgup\/pgdn|home\/end)\s+to\s+(?:scroll|page|jump)|to\s+edit\s+(?:prev|next|message)/i,z=/^\s*\S.*·\s*~?\/\S*\s*$/,A=/\[Pasted text #\d+/,B=/^[>❯]\s*$|^\s*[>❯]\s+Type your message.*$/m,C=/[\u2800-\u28FF]|Thinking\.\.\./,D=/Ask anything\.\.\./,E=/tab agents\s+ctrl\+p commands/,F=/Thinking:/,G=/\u25A3\s+\w+\s+\u00b7\s+\S+(?:\s+\u00b7\s+(?:[\d]+h\s*)?(?:[\d]+m\s*)?[\d.]+s)?/,H=/esc interrupt/,I=/^\s*(Select\s+(model|provider)|Connect\s+a\s+provider)/m,J=/Enter\s+to\s+set\s+as\s+default\b/i,K=/Enter\s+to\s+(?:select\s+.*to\s+navigate|confirm\s+·\s+Esc|set\s+as\s+default)/,L=/^[\u2503\u2579\u25A3\u2580\u2500\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C]+$/,M=[L,/\u2B1D{4,}/,/^Build\s+/,E,H,D,A],N=/^[>❯]\s|^\?\s+/m,O=/[\u2800-\u28FF]|\(Esc to cancel|Reasoning\s+[■▪▮]|\.\.\.\s+Thinking|Generating|Processing/,P=/^─{10,}$/m,Q=/Search\s+\w+\.\.\.|Select\s+Model|to (?:navigate|select).*Enter to (?:select|confirm)/m,R=[A,P,O,Q,/^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:/],S=/ctx:\d+%\s*[>❯]/m,T=/[\u2800-\u28FF]|Thinking|⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏|Running|Executing/,U=/^>\s*$/m,V=/[\u2800-\u28FF]|Generating|esc to cancel/,W=/^─{3,}$/m,X=/Switch Model|↑\/↓\s*Navigate/m,Y=[W,/^>\s*$/,/^\?\s+for\s+shortcuts/,V,/[▄▀█▌▐]/,A];function Z(a,b){let c,d=g.withContext({cliToolId:a});switch(d.debug("detectThinking:check",{contentLength:b.length}),a){case"claude":default:c=h.test(b);break;case"codex":c=j.test(b);break;case"gemini":c=C.test(b);break;case"vibe-local":c=T.test(b);break;case"opencode":c=F.test(b);break;case"copilot":c=O.test(b);break;case"antigravity":c=V.test(b)}return d.debug("detectThinking:result",{isThinking:c}),c}function $(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 _=["Claude Code cannot be launched inside another Claude Code session"],aa=[/^Error:.*Claude Code/];function ab(a){if("claude"===a||"opencode"===a||"copilot"===a||"antigravity"===a)return{requireDefaultIndicator:!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]*\x07|\[[0-9;]*m/g;function e(a){return a.replace(d,"")}},85164:(a,b,c)=>{c.d(b,{CX:()=>p,DR:()=>l,Dd:()=>E,Du:()=>U,E6:()=>B,F0:()=>ag,Fw:()=>ah,GT:()=>o,J7:()=>Y,Jn:()=>D,KO:()=>ai,LO:()=>P,Md:()=>N,Mi:()=>X,Qh:()=>v,XV:()=>w,XY:()=>R,_A:()=>af,_X:()=>function a(b){switch(b){case"claude":return{promptPattern:m,separatorPattern:n,thinkingPattern:h,skipPatterns:[/^─{10,}$/,/^[>❯]\s*$/,h,/^\s*[⎿⏋]\s+Tip:/,/^\s*Tip:/,/^\s*\?\s*for shortcuts/,/to interrupt\)/,H]};case"codex":return{promptPattern:q,separatorPattern:C,thinkingPattern:j,skipPatterns:[/^─.*─+$/,/^›\s*$/,/^›\s+(Implement|Find and fix|Type)/,j,/^\s*\d+%\s+context left/,/^\s*for shortcuts$/,/╭─+╮/,/╰─+╯/,/•\s*Ran\s+/,/^\s*└/,/^\s*│/,/\(.*esc to interrupt\)/,H]};case"gemini":return{promptPattern:I,separatorPattern:/^[─━]{3,}$/m,thinkingPattern:J,skipPatterns:[I,J,/^\s*$/,/Gemini\s+\d+\.\d+/,H]};case"vibe-local":return{promptPattern:Z,separatorPattern:/^[·]{10,}$/m,thinkingPattern:$,skipPatterns:[Z,$,/^\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/,H]};case"opencode":return{promptPattern:K,separatorPattern:S,thinkingPattern:M,skipPatterns:[...T]};case"copilot":return{promptPattern:U,separatorPattern:W,thinkingPattern:V,skipPatterns:[...Y]};case"antigravity":return{promptPattern:_,separatorPattern:ab,thinkingPattern:aa,skipPatterns:[...ad]};default:return a("claude")}},aJ:()=>e.aJ,aU:()=>i,aW:()=>G,fW:()=>H,gm:()=>q,hx:()=>m,kD:()=>O,kT:()=>ac,l8:()=>Q,pn:()=>F,sx:()=>T,sy:()=>K,uA:()=>L,ut:()=>ae,wN:()=>I,zZ:()=>t});var d=c(72626),e=c(51297),f=c(46423);let g=(0,d.h)("cli-patterns"),h=RegExp(`[✻✽⏺\xb7∴✢✳✶⦿◉●○◌◎⊙⊚⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏]\\s+.+…|esc to interrupt`,"m"),i=/esc to interrupt/,j=/•\s*(Planning|Searching|Exploring|Running|Thinking|Working|Reading|Writing|Analyzing|Ran|Deciding)/m,k=/esc to interrupt/;function l(a,b){let c=(0,e.aJ)(a.slice(Math.max(0,a.length-b)).join("\n"));if(k.test(c))return!0;let d=-1;for(let b=a.length-1;b>=Math.max(0,a.length-8);b--)if(q.test((0,e.aJ)(a[b]))){d=b;break}if(d<0)return j.test(c);let g=Math.max(0,d-f.$+1),h=(0,e.aJ)(a.slice(g,d+1).join("\n"));return j.test(h)}let m=/^[>❯](\s*$|\s+\S)/m,n=/^─{10,}$/m;function o(a){let b=a=>/^─{10,}$/.test((0,e.aJ)(a).trimEnd()),c=a.length-1;for(;c>=0&&""===a[c].trim();)c--;if(c<0)return -1;let d=-1;for(let e=c;e>=Math.max(0,c-4);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||!/^[>❯]/.test((0,e.aJ)(a[f+1]??""))?-1:Math.max(0,f-1)}let p=/Yes, I trust this folder/m,q=/^›\s*/m,r=/Skip until next version|Do you trust|Press enter to continue|^\s*›\s*\d+\.\s/m,s=/^\s*›(?!\s*\d+\.)/;function t(a){let b=a.split("\n"),c=-1,d=-1;for(let a=0;a<b.length;a++){let e=b[a];if(r.test(e)){c=a;continue}s.test(e)&&(d=a)}return d>=0&&d>c}function u(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a--)if(s.test(b[a])){c=a;break}return b.slice(c+1)}function v(a){let b=u(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 w=["Hooks need review","Continue without trusting"],x=/press\s+t\s+to\s+trust\s+all\s*;/i,y=/press\s+t\s+to\s+trust\s*;/i,z=[/skip until next version/i,/^\s*[›❯]?\s*\d+\.\s*Update now/im],A=/Do you trust/;function B(a){let b=u(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(x.test(b))return"hooks-list";if(y.test(b))return"hooks-detail";if(E.test(b))break;if(z.some(a=>a.test(b)))return"update";if(A.test(b))return"trust";if(b.includes(w[1])&&d.includes(w[0]))return"hooks-review"}return null}let C=/^─.*Worked for.*─+$/m,D=/press\s+enter\s+to\s+(?:confirm|select)/i,E=/esc\s+to\s+cancel/i,F=/(?:↑\/↓|pgup\/pgdn|home\/end)\s+to\s+(?:scroll|page|jump)|to\s+edit\s+(?:prev|next|message)/i,G=/^\s*\S.*·\s*~?\/\S*\s*$/,H=/\[Pasted text #\d+/,I=/^[>❯]\s*$|^\s*[>❯]\s+Type your message.*$/m,J=/[\u2800-\u28FF]|Thinking\.\.\./,K=/Ask anything\.\.\./,L=/tab agents\s+ctrl\+p commands/,M=/Thinking:/,N=/\u25A3\s+\w+\s+\u00b7\s+\S+(?:\s+\u00b7\s+(?:[\d]+h\s*)?(?:[\d]+m\s*)?[\d.]+s)?/,O=/esc interrupt/,P=/^\s*(Select\s+(model|provider)|Connect\s+a\s+provider)/m,Q=/Enter\s+to\s+set\s+as\s+default\b/i,R=/Enter\s+to\s+(?:select\s+.*to\s+navigate|confirm\s+·\s+Esc|set\s+as\s+default)/,S=/^[\u2503\u2579\u25A3\u2580\u2500\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C]+$/,T=[S,/\u2B1D{4,}/,/^Build\s+/,L,O,K,H],U=/^[>❯]\s|^\?\s+/m,V=/[\u2800-\u28FF]|\(Esc to cancel|Reasoning\s+[■▪▮]|\.\.\.\s+Thinking|Generating|Processing/,W=/^─{10,}$/m,X=/Search\s+\w+\.\.\.|Select\s+Model|to (?:navigate|select).*Enter to (?:select|confirm)/m,Y=[H,W,V,X,/^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:/],Z=/ctx:\d+%\s*[>❯]/m,$=/[\u2800-\u28FF]|Thinking|⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏|Running|Executing/,_=/^>\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,/[▄▀█▌▐]/,H];function ae(a,b){let c,d=g.withContext({cliToolId:a});switch(d.debug("detectThinking:check",{contentLength:b.length}),a){case"claude":default:c=h.test(b);break;case"codex":c=j.test(b);break;case"gemini":c=J.test(b);break;case"vibe-local":c=$.test(b);break;case"opencode":c=M.test(b);break;case"copilot":c=V.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){if("claude"===a||"opencode"===a||"copilot"===a||"antigravity"===a)return{requireDefaultIndicator:!1}}}};
@@ -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","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."},"timerTab":"Timer","todoTab":"ToDo","skillsTab":"Skills","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)"}')}};
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","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."},"timerTab":"Timer","todoTab":"ToDo","skillsTab":"Skills","verificationTab":"Verification","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)"}')}};