commandmate 0.22.2 → 0.24.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.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +383 -374
- package/.next/app-path-routes-manifest.json +16 -15
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +9 -9
- package/.next/react-loadable-manifest.json +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/conversation/route.js +1 -1
- package/.next/server/app/api/assistant/conversation/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/current-output/route.js +1 -1
- package/.next/server/app/api/assistant/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/messages/route.js +1 -1
- package/.next/server/app/api/assistant/messages/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/session/route.js +1 -1
- package/.next/server/app/api/assistant/session/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/start/route.js +1 -1
- package/.next/server/app/api/assistant/start/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/terminal/route.js +3 -3
- package/.next/server/app/api/assistant/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/tools/route.js +1 -1
- package/.next/server/app/api/assistant/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route.js +1 -1
- package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route.js +1 -1
- package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route.js.nft.json +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route.js +1 -1
- package/.next/server/app/api/external-apps/route.js.nft.json +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route.js +1 -1
- package/.next/server/app/api/fs/browse/route.js.nft.json +1 -1
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route.js.nft.json +1 -1
- package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/metrics/vibe/route.js +1 -1
- package/.next/server/app/api/metrics/vibe/route.js.nft.json +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/escalation/route.js +1 -0
- package/.next/server/app/api/push/escalation/route.js.nft.json +1 -0
- package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/push/subscriptions/route.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js.nft.json +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route.js +1 -1
- package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route.js +1 -1
- package/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/route.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/excluded/route.js +1 -1
- package/.next/server/app/api/repositories/excluded/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route.js +1 -1
- package/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route.js.nft.json +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route.js +1 -1
- package/.next/server/app/api/skills/installations/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route.js +1 -1
- package/.next/server/app/api/skills/operations/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route.js +1 -1
- package/.next/server/app/api/skills/reindex/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route.js +1 -4
- package/.next/server/app/api/tasks/[taskId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route.js +1 -4
- package/.next/server/app/api/tasks/[taskId]/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route.js +1 -1
- package/.next/server/app/api/templates/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route.js +1 -1
- package/.next/server/app/api/templates/route.js.nft.json +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/todos/route.js +1 -1
- package/.next/server/app/api/todos/route.js.nft.json +1 -1
- package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route.js.nft.json +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/route.js +1 -1
- package/.next/server/app/api/verification/runs/route.js.nft.json +1 -1
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js +6 -6
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -4
- package/.next/server/app/api/worktrees/[id]/verify/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/chat/page.js +2 -2
- package/.next/server/app/chat/page.js.nft.json +1 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page.js +2 -2
- package/.next/server/app/more/page.js.nft.json +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js +1 -1
- package/.next/server/app/proxy/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page.js +2 -2
- package/.next/server/app/repositories/page.js.nft.json +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page.js +1 -1
- package/.next/server/app/review/page.js.nft.json +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +1 -1
- package/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page.js +2 -2
- package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page.js +2 -2
- package/.next/server/app/skills/installed/page.js.nft.json +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page.js +1 -1
- package/.next/server/app/skills/page.js.nft.json +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +6 -6
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +16 -15
- package/.next/server/chunks/1029.js +1 -1
- package/.next/server/chunks/1068.js +1 -1
- package/.next/server/chunks/1296.js +1 -1
- package/.next/server/chunks/1366.js +1 -1
- package/.next/server/chunks/1601.js +7 -0
- package/.next/server/chunks/1825.js +1 -1
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2404.js +1 -1
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/2546.js +1 -1
- package/.next/server/chunks/3241.js +1 -0
- package/.next/server/chunks/3417.js +1 -1
- package/.next/server/chunks/3451.js +1 -1
- package/.next/server/chunks/3480.js +1 -1
- package/.next/server/chunks/3543.js +1 -1
- package/.next/server/chunks/3945.js +1 -1
- package/.next/server/chunks/406.js +10 -6
- package/.next/server/chunks/4393.js +1 -0
- package/.next/server/chunks/4444.js +1 -1
- package/.next/server/chunks/4455.js +1 -0
- package/.next/server/chunks/5164.js +1 -0
- package/.next/server/chunks/5959.js +5 -6
- package/.next/server/chunks/5998.js +2 -13
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6159.js +1 -1
- package/.next/server/chunks/6274.js +3 -3
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/6781.js +1 -0
- package/.next/server/chunks/7458.js +6 -0
- package/.next/server/chunks/{3753.js → 7970.js} +57 -32
- package/.next/server/chunks/8536.js +1 -1
- package/.next/server/chunks/880.js +21 -0
- package/.next/server/chunks/8807.js +250 -192
- package/.next/server/chunks/9058.js +1 -1
- package/.next/server/chunks/9067.js +1 -1
- package/.next/server/chunks/9123.js +8 -8
- package/.next/server/chunks/9358.js +1 -1
- package/.next/server/chunks/9360.js +1 -1
- package/.next/server/chunks/9373.js +3 -3
- package/.next/server/chunks/9687.js +2 -2
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/src/middleware.js.map +1 -1
- package/.next/static/chunks/4322-dfd5a7119b5ba4fc.js +1 -0
- package/.next/static/chunks/{4974-eaf66770bfa9dea0.js → 4974-35592ec312322124.js} +1 -1
- package/.next/static/chunks/5229-0610b4e3288e777d.js +1 -0
- package/.next/static/chunks/6381-18a6a02a94d00d76.js +1 -0
- package/.next/static/chunks/7229.7f0f5a7032b612b4.js +1 -0
- package/.next/static/chunks/{744-fa8c0ae444c8338c.js → 744-3ad06d8c8ca482fc.js} +1 -1
- package/.next/static/chunks/app/api/app/update/{route-973ec48531555712.js → route-fae89f8d4cc3ff97.js} +1 -1
- package/.next/static/chunks/app/api/app/update-check/{route-973ec48531555712.js → route-fae89f8d4cc3ff97.js} +1 -1
- package/.next/static/chunks/app/api/assistant/conversation/{route-973ec48531555712.js → route-fae89f8d4cc3ff97.js} +1 -1
- package/.next/static/chunks/app/api/assistant/current-output/{route-973ec48531555712.js → route-fae89f8d4cc3ff97.js} +1 -1
- package/.next/static/chunks/app/api/assistant/messages/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/assistant/session/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/assistant/start/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/assistant/terminal/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/assistant/tools/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/status/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/external-apps/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/fs/browse/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/fs/recent-paths/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/hooks/agent-event/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/hooks/claude-done/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/hooks/permission-request/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/metrics/vibe/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/ollama/models/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/push/escalation/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/push/subscriptions/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/push/vapid/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/repositories/excluded/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/repositories/restore/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/repositories/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/repositories/scan/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/repositories/sync/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/repositories/validate-path/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/sidebar/group-order/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/skills/[id]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/skills/installations/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/skills/operations/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/skills/reindex/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/skills/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/slash-commands/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/templates/[id]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/templates/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/todos/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/chat/page-15d13fc024d78f5d.js +1 -0
- package/.next/static/chunks/app/layout-6a26ea22d5cf03dc.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/more/page-b8ba537baeac8d5b.js +1 -0
- package/.next/static/chunks/app/page-afc64708362f31e5.js +1 -0
- package/.next/static/chunks/app/proxy/[...path]/route-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/repositories/page-3469dacb6be7842f.js +1 -0
- package/.next/static/chunks/app/review/page-2d9cb7e068f8f35a.js +1 -0
- package/.next/static/chunks/app/sessions/page-7470c2bfd89e0df9.js +1 -0
- package/.next/static/chunks/app/skills/[skillId]/page-5e24481162f7ea78.js +1 -0
- package/.next/static/chunks/app/skills/installed/page-efd2d710a27f9735.js +1 -0
- package/.next/static/chunks/app/skills/page-0498adfc6e48684b.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-9ddcb224594f620f.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/layout-fae89f8d4cc3ff97.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-e611d30e47989e5d.js +1 -0
- package/.next/static/chunks/{webpack-180bebdee221b6f4.js → webpack-3534d858912a6c92.js} +1 -1
- package/.next/static/css/3ac44cfc082d02ad.css +1 -0
- package/.next/static/smu4mnL7qMf8w38n9dQJE/_buildManifest.js +1 -0
- package/.next/trace +12 -12
- package/.next/types/app/api/push/escalation/route.ts +347 -0
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +9 -0
- package/dist/cli/commands/capture.d.ts.map +1 -1
- package/dist/cli/commands/capture.js +6 -0
- package/dist/cli/commands/instances.d.ts.map +1 -1
- package/dist/cli/commands/instances.js +19 -1
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js +6 -0
- package/dist/cli/commands/verify.js +6 -1
- package/dist/cli/types/api-responses.d.ts +46 -0
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/cli/utils/verify-runner.d.ts.map +1 -1
- package/dist/cli/utils/verify-runner.js +17 -1
- package/dist/server/locales/en/notifications.json +20 -1
- package/dist/server/locales/ja/notifications.json +20 -1
- package/dist/server/server.js +23 -0
- package/dist/server/src/config/log-config.js +10 -1
- package/dist/server/src/config/safe-directory.js +103 -0
- package/dist/server/src/config/system-directories.js +74 -9
- package/dist/server/src/lib/cli-tools/antigravity.js +19 -2
- package/dist/server/src/lib/cli-tools/codex.js +95 -1
- package/dist/server/src/lib/cli-tools/copilot.js +30 -1
- package/dist/server/src/lib/cli-tools/gemini.js +28 -2
- package/dist/server/src/lib/cli-tools/opencode.js +51 -2
- package/dist/server/src/lib/db/db.js +2 -1
- package/dist/server/src/lib/db/migrations/index.js +2 -0
- package/dist/server/src/lib/db/migrations/runner.js +1 -1
- package/dist/server/src/lib/db/migrations/v56-gate-result-source.js +58 -0
- package/dist/server/src/lib/db/verification-db.js +26 -6
- package/dist/server/src/lib/detection/model-info-extractor.js +384 -0
- package/dist/server/src/lib/git/git-default-branch.js +59 -0
- package/dist/server/src/lib/hooks/agent-event-service.js +205 -0
- package/dist/server/src/lib/hooks/agent-event-types.js +7 -86
- package/dist/server/src/lib/hooks/hook-settings-generator.js +26 -11
- package/dist/server/src/lib/hooks/permission-decision-service.js +269 -0
- package/dist/server/src/lib/hooks/sources/abstain.js +78 -0
- package/dist/server/src/lib/hooks/sources/antigravity/hooks-config.js +372 -0
- package/dist/server/src/lib/hooks/sources/antigravity/source.js +229 -0
- package/dist/server/src/lib/hooks/sources/antigravity/tool-id.js +16 -0
- package/dist/server/src/lib/hooks/sources/claude/source.js +150 -0
- package/dist/server/src/lib/hooks/sources/claude/tool-id.js +18 -0
- package/dist/server/src/lib/hooks/sources/codex/hooks-config.js +465 -0
- package/dist/server/src/lib/hooks/sources/codex/source.js +143 -0
- package/dist/server/src/lib/hooks/sources/codex/tool-id.js +15 -0
- package/dist/server/src/lib/hooks/sources/copilot/hook-settings.js +473 -0
- package/dist/server/src/lib/hooks/sources/copilot/source.js +210 -0
- package/dist/server/src/lib/hooks/sources/copilot/tool-id.js +15 -0
- package/dist/server/src/lib/hooks/sources/define-source.js +177 -0
- package/dist/server/src/lib/hooks/sources/event-mapper.js +177 -0
- package/dist/server/src/lib/hooks/sources/gemini/event-vocabulary.js +102 -0
- package/dist/server/src/lib/hooks/sources/gemini/settings-generator.js +315 -0
- package/dist/server/src/lib/hooks/sources/gemini/shared-config-tree.js +103 -0
- package/dist/server/src/lib/hooks/sources/gemini/source.js +151 -0
- package/dist/server/src/lib/hooks/sources/gemini/tool-id.js +17 -0
- package/dist/server/src/lib/hooks/sources/hook-event-vocabulary.js +111 -0
- package/dist/server/src/lib/hooks/sources/index.js +62 -0
- package/dist/server/src/lib/hooks/sources/legacy-relay.js +84 -0
- package/dist/server/src/lib/hooks/sources/opencode/client.js +299 -0
- package/dist/server/src/lib/hooks/sources/opencode/ingest.js +267 -0
- package/dist/server/src/lib/hooks/sources/opencode/mappers.js +176 -0
- package/dist/server/src/lib/hooks/sources/opencode/payloads.js +189 -0
- package/dist/server/src/lib/hooks/sources/opencode/ports.js +295 -0
- package/dist/server/src/lib/hooks/sources/opencode/runtime.js +159 -0
- package/dist/server/src/lib/hooks/sources/opencode/source.js +253 -0
- package/dist/server/src/lib/hooks/sources/opencode/subscription.js +422 -0
- package/dist/server/src/lib/hooks/sources/opencode/tool-id.js +14 -0
- package/dist/server/src/lib/hooks/sources/opencode/turn-gate.js +193 -0
- package/dist/server/src/lib/hooks/sources/pending-decisions.js +127 -0
- package/dist/server/src/lib/hooks/sources/registry.js +111 -0
- package/dist/server/src/lib/hooks/sources/types.js +46 -0
- package/dist/server/src/lib/polling/response-checker.js +47 -0
- package/dist/server/src/lib/push/escalation-settings.js +114 -0
- package/dist/server/src/lib/push/index.js +21 -1
- package/dist/server/src/lib/push/notification-dedup.js +35 -0
- package/dist/server/src/lib/push/push-sender.js +66 -7
- package/dist/server/src/lib/push/waiting-push-notifier.js +231 -0
- package/dist/server/src/lib/realtime/waiting-broadcast.js +93 -0
- package/dist/server/src/lib/session/agent-event-state.js +260 -0
- package/dist/server/src/lib/session/agent-session-lifecycle.js +82 -0
- package/dist/server/src/lib/session/claude-session.js +10 -3
- package/dist/server/src/lib/session/current-output-builder.js +24 -0
- package/dist/server/src/lib/session/next-action-helper.js +93 -0
- package/dist/server/src/lib/session/prompt-waiting-composition.js +38 -0
- package/dist/server/src/lib/session/waiting-episode-state.js +136 -0
- package/dist/server/src/lib/session/waiting-kind.js +59 -0
- package/dist/server/src/lib/tasks/contract-message.js +218 -0
- package/dist/server/src/lib/tasks/contract-parser.js +58 -12
- package/dist/server/src/lib/verification/env-clean-gate.js +320 -0
- package/dist/server/src/lib/verification/env-snapshot.js +474 -0
- package/dist/server/src/lib/verification/gate-runner.js +844 -0
- package/dist/server/src/lib/verification/scope-gate.js +402 -0
- package/dist/server/src/lib/verification/verify-config.js +314 -0
- package/dist/server/src/lib/ws-server.js +9 -0
- package/dist/server/src/types/sidebar.js +68 -0
- package/package.json +1 -1
- package/scripts/hooks/cmate-agent-event.sh +73 -3
- package/.next/server/chunks/6283.js +0 -1
- package/.next/server/chunks/646.js +0 -21
- package/.next/server/chunks/8856.js +0 -4
- package/.next/static/XpKfn5x6H-mtTaXI9yNmb/_buildManifest.js +0 -1
- package/.next/static/chunks/4560-0917ae2e6a0e5400.js +0 -1
- package/.next/static/chunks/6488-53a3e1d78e4fe8f7.js +0 -1
- package/.next/static/chunks/7229.edb331fb9fbafa27.js +0 -1
- package/.next/static/chunks/app/api/assistant/messages/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/assistant/session/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/assistant/start/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/assistant/terminal/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/assistant/tools/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/status/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/external-apps/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/fs/browse/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/fs/recent-paths/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/hooks/agent-event/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/hooks/claude-done/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/hooks/permission-request/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/metrics/vibe/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/ollama/models/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/push/subscriptions/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/push/vapid/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/repositories/excluded/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/repositories/restore/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/repositories/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/repositories/scan/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/repositories/sync/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/repositories/validate-path/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/sidebar/group-order/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/skills/[id]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/skills/installations/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/skills/operations/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/skills/reindex/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/skills/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/slash-commands/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/templates/[id]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/templates/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/todos/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/chat/page-83a2238ab453afaa.js +0 -1
- package/.next/static/chunks/app/layout-86574192bd3c0e6b.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/more/page-1619018cac999bbc.js +0 -1
- package/.next/static/chunks/app/page-a34d26812f085b6c.js +0 -1
- package/.next/static/chunks/app/proxy/[...path]/route-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/repositories/page-202680fe6ec169c8.js +0 -1
- package/.next/static/chunks/app/review/page-b559bfb11c46931b.js +0 -1
- package/.next/static/chunks/app/sessions/page-3fa7e767d0ab3889.js +0 -1
- package/.next/static/chunks/app/skills/[skillId]/page-10d6f983e5f06ffb.js +0 -1
- package/.next/static/chunks/app/skills/installed/page-6641f95e6a6e5f9d.js +0 -1
- package/.next/static/chunks/app/skills/page-184f8e23e31a3667.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-6041d3c3db326317.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/layout-973ec48531555712.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-6dc0b8c4e808ea3e.js +0 -1
- package/.next/static/css/d3453a6876553d32.css +0 -1
- /package/.next/static/{XpKfn5x6H-mtTaXI9yNmb → smu4mnL7qMf8w38n9dQJE}/_ssgManifest.js +0 -0
|
@@ -1,84 +1,12 @@
|
|
|
1
|
-
"use strict";exports.id=8807,exports.ids=[8807],exports.modules={
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
`).get(b,c);return d?g(d):null}function j(a,b,c,e){if(!c)return{ok:!0,cliToolId:e??null};let f=i(a,b,c);return f&&(0,d.hR)(f.cliTool)?e&&e!==f.cliTool?{ok:!1,instanceId:c,rosterCliTool:f.cliTool,requestedCliTool:e}:{ok:!0,cliToolId:f.cliTool}:e?{ok:!0,cliToolId:e}:(0,d.hR)(c)?{ok:!0,cliToolId:c}:{ok:!0,cliToolId:null}}function k(a,b,c){if(c.length>d.Ab)throw new e(b);let g=new Set;for(let a of c){if(!(0,d.n6)(a.id))throw new f(`Invalid instance id: ${String(a.id)}`);if(!(0,d.hR)(a.cliTool))throw new f(`Invalid CLI tool: ${String(a.cliTool)}`);if("string"==typeof a.alias&&a.alias.length>d.pQ)throw new f(`Alias exceeds ${d.pQ} characters`);if(g.has(a.id))throw new f(`Duplicate instance id: ${a.id}`);g.add(a.id)}let h=Date.now();a.transaction(()=>{a.prepare("DELETE FROM agent_instances WHERE worktree_id = ?").run(b);let d=a.prepare(`
|
|
11
|
-
INSERT INTO agent_instances
|
|
12
|
-
(worktree_id, instance_id, cli_tool_id, alias, sort_order, created_at)
|
|
13
|
-
VALUES (?, ?, ?, ?, ?, ?)
|
|
14
|
-
`);c.forEach((a,c)=>{let e=a.alias??"",f=Number.isInteger(a.order)?a.order:c;d.run(b,a.id,a.cliTool,e,f,h)})})()}},34129:(a,b,c)=>{c.d(b,{$$:()=>m,CR:()=>h,DP:()=>i,GF:()=>n,Ud:()=>l,j2:()=>k,jf:()=>o,kx:()=>j});var d=c(55511),e=c(87374);let f="id, worktree_id, cli_tool_id, instance_id, message, delay_ms, scheduled_send_time, status, created_at, sent_at, error";function g(a){return{id:a.id,worktreeId:a.worktree_id,cliToolId:a.cli_tool_id,instanceId:a.instance_id??a.cli_tool_id,message:a.message,delayMs:a.delay_ms,scheduledSendTime:a.scheduled_send_time,status:a.status,createdAt:a.created_at,sentAt:a.sent_at,error:a.error??null}}function h(a,b){let c=(0,d.randomUUID)(),e=Date.now(),f=e+b.delayMs,g=b.instanceId??b.cliToolId;return a.prepare(`
|
|
15
|
-
INSERT INTO timer_messages (id, worktree_id, cli_tool_id, instance_id, message, delay_ms, scheduled_send_time, status, created_at, sent_at)
|
|
16
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, 'pending', ?, NULL)
|
|
17
|
-
`).run(c,b.worktreeId,b.cliToolId,g,b.message,b.delayMs,f,e),{id:c,worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:g,message:b.message,delayMs:b.delayMs,scheduledSendTime:f,status:"pending",createdAt:e,sentAt:null,error:null}}function i(a,b,c){let{before:d,limit:h=e.XS}=c??{},i=`SELECT ${f} FROM timer_messages WHERE worktree_id = ?`,j=[b];return void 0!==d&&(i+=" AND created_at < ?",j.push(d)),i+=" ORDER BY created_at DESC LIMIT ?",j.push(h+1),a.prepare(i).all(...j).map(g)}function j(a,b){let c=a.prepare(`
|
|
18
|
-
SELECT ${f}
|
|
19
|
-
FROM timer_messages
|
|
20
|
-
WHERE id = ?
|
|
21
|
-
`).get(b);return c?g(c):void 0}function k(a,b,c,d,e){let f=["status = ?"],g=[c];void 0!==d&&(f.push("sent_at = ?"),g.push(d)),void 0!==e&&(f.push("error = ?"),g.push(e)),g.push(b),a.prepare(`UPDATE timer_messages SET ${f.join(", ")} WHERE id = ?`).run(...g)}function l(a,b){return a.prepare(`
|
|
22
|
-
UPDATE timer_messages SET status = 'cancelled' WHERE id = ? AND status = 'pending'
|
|
23
|
-
`).run(b).changes>0}function m(a,b){return a.prepare(`
|
|
24
|
-
UPDATE timer_messages SET status = 'cancelled' WHERE worktree_id = ? AND status = 'pending'
|
|
25
|
-
`).run(b).changes}function n(a,b){return a.prepare(`
|
|
26
|
-
SELECT COUNT(*) as count FROM timer_messages WHERE worktree_id = ? AND status = 'pending'
|
|
27
|
-
`).get(b).count}function o(a,b){return a.prepare(`
|
|
28
|
-
DELETE FROM timer_messages
|
|
29
|
-
WHERE worktree_id = ?
|
|
30
|
-
AND status NOT IN ('pending', 'sending')
|
|
31
|
-
`).run(b).changes}},43167:(a,b,c)=>{c.d(b,{CF:()=>h,gn:()=>i,jA:()=>g,jJ:()=>j,th:()=>k});var d=c(55511);function e(a){return{id:a.id,endpoint:a.endpoint,keys:{p256dh:a.p256dh,auth:a.auth},deviceLabel:a.device_label,enabledPrompt:1===a.enabled_prompt,enabledCompletion:1===a.enabled_completion,locale:a.locale,createdAt:new Date(a.created_at),updatedAt:new Date(a.updated_at)}}let f=`
|
|
32
|
-
id, endpoint, p256dh, auth, device_label,
|
|
33
|
-
enabled_prompt, enabled_completion, locale, created_at, updated_at
|
|
34
|
-
`;function g(a,b){let c=Date.now(),e=b.deviceLabel??null,f=b.locale??null;a.prepare(`
|
|
35
|
-
INSERT INTO push_subscriptions (
|
|
36
|
-
id, endpoint, p256dh, auth, device_label,
|
|
37
|
-
enabled_prompt, enabled_completion, locale, created_at, updated_at
|
|
38
|
-
)
|
|
39
|
-
VALUES (?, ?, ?, ?, ?, 1, 1, ?, ?, ?)
|
|
40
|
-
ON CONFLICT(endpoint) DO UPDATE SET
|
|
41
|
-
p256dh = excluded.p256dh,
|
|
42
|
-
auth = excluded.auth,
|
|
43
|
-
device_label = excluded.device_label,
|
|
44
|
-
locale = COALESCE(excluded.locale, push_subscriptions.locale),
|
|
45
|
-
updated_at = excluded.updated_at
|
|
46
|
-
`).run((0,d.randomUUID)(),b.endpoint,b.p256dh,b.auth,e,f,c,c);let g=h(a,b.endpoint);if(!g)throw Error("Failed to persist push subscription");return g}function h(a,b){let c=a.prepare(`SELECT ${f} FROM push_subscriptions WHERE endpoint = ?`).get(b);return c?e(c):null}function i(a,b){return a.prepare(`SELECT ${f} FROM push_subscriptions WHERE ${"prompt"===b?"enabled_prompt":"enabled_completion"} = 1 ORDER BY created_at ASC`).all().map(e)}function j(a,b,c){let d=["updated_at = ?"],e=[Date.now()];return void 0!==c.enabledPrompt&&(d.push("enabled_prompt = ?"),e.push(+!!c.enabledPrompt)),void 0!==c.enabledCompletion&&(d.push("enabled_completion = ?"),e.push(+!!c.enabledCompletion)),e.push(b),a.prepare(`UPDATE push_subscriptions SET ${d.join(", ")} WHERE endpoint = ?`).run(...e),h(a,b)}function k(a,b){return a.prepare("DELETE FROM push_subscriptions WHERE endpoint = ?").run(b).changes>0}},48524:(a,b,c)=>{c.d(b,{MH:()=>o,UT:()=>j,Vk:()=>l,Zj:()=>n,gg:()=>k,xZ:()=>m});var d=c(55511);let e=["succeeded","failed","not_started","cancelled"],f=["running","waiting_input","verifying"],g=[...f,"failed","not_started"],h=`
|
|
47
|
-
id, worktree_id, cli_tool_id, instance_id, title, goal, contract_path, contract_json,
|
|
48
|
-
status, last_verification_run_id, created_at, updated_at, started_at, finished_at
|
|
49
|
-
`;function i(a){return{id:a.id,worktreeId:a.worktree_id,cliToolId:a.cli_tool_id,instanceId:a.instance_id,title:a.title,goal:a.goal,contractPath:a.contract_path,contract:JSON.parse(a.contract_json),status:a.status,lastVerificationRunId:a.last_verification_run_id,createdAt:new Date(a.created_at),updatedAt:new Date(a.updated_at),startedAt:null===a.started_at?null:new Date(a.started_at),finishedAt:null===a.finished_at?null:new Date(a.finished_at)}}function j(a,b){let c=Date.now(),e=(0,d.randomUUID)(),f=b.status??"pending";a.prepare(`
|
|
50
|
-
INSERT INTO tasks (
|
|
51
|
-
id, worktree_id, cli_tool_id, instance_id, title, goal, contract_path, contract_json,
|
|
52
|
-
status, last_verification_run_id, created_at, updated_at, started_at, finished_at
|
|
53
|
-
)
|
|
54
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, ?, ?, ?, NULL)
|
|
55
|
-
`).run(e,b.worktreeId,b.cliToolId,b.instanceId??null,b.contract.title,b.contract.goal,b.contractPath??null,JSON.stringify(b.contract),f,c,c,"pending"===f?null:c);let g=k(a,e);if(!g)throw Error("Failed to persist task");return g}function k(a,b){let c=a.prepare(`SELECT ${h} FROM tasks WHERE id = ?`).get(b);return c?i(c):null}function l(a,b,c=20){return a.prepare(`
|
|
56
|
-
SELECT ${h} FROM tasks
|
|
57
|
-
WHERE worktree_id = ?
|
|
58
|
-
ORDER BY created_at DESC, rowid DESC
|
|
59
|
-
LIMIT ?
|
|
60
|
-
`).all(b,c).map(i)}function m(a,b,c,d={}){let f=Date.now();if(0===a.prepare(`
|
|
61
|
-
UPDATE tasks
|
|
62
|
-
SET status = ?,
|
|
63
|
-
updated_at = ?,
|
|
64
|
-
started_at = CASE WHEN ? = 'pending' THEN started_at ELSE COALESCE(started_at, ?) END,
|
|
65
|
-
finished_at = CASE WHEN ? = 1 THEN ? ELSE finished_at END,
|
|
66
|
-
last_verification_run_id = COALESCE(?, last_verification_run_id)
|
|
67
|
-
WHERE id = ?
|
|
68
|
-
`).run(c,f,c,f,+!!e.includes(c),f,d.lastVerificationRunId??null,b).changes)throw Error(`Task ${b} not found`);return k(a,b)}function n(a,b){let c=g.map(()=>"?").join(", "),d=a.prepare(`
|
|
69
|
-
SELECT ${h} FROM tasks
|
|
70
|
-
WHERE worktree_id = ? AND status IN (${c})
|
|
71
|
-
ORDER BY updated_at DESC, created_at DESC, rowid DESC
|
|
72
|
-
LIMIT 1
|
|
73
|
-
`).get(b,...g);return d?i(d):null}function o(a,b,c,d){let e=d===c,g=f.map(()=>"?").join(", "),j=a.prepare(`
|
|
74
|
-
SELECT ${h} FROM tasks
|
|
75
|
-
WHERE worktree_id = ?
|
|
76
|
-
AND cli_tool_id = ?
|
|
77
|
-
AND (instance_id = ? OR (instance_id IS NULL AND ?))
|
|
78
|
-
AND status IN (${g})
|
|
79
|
-
ORDER BY updated_at DESC, created_at DESC, rowid DESC
|
|
80
|
-
LIMIT 1
|
|
81
|
-
`).get(b,c,d,+!!e,...f);return j?i(j):null}},72456:(a,b,c)=>{c.d(b,{vI:()=>Z});var d=c(33873),e=c.n(d);function f(a){try{let b=a.prepare("SELECT MAX(version) as version FROM schema_version").get();return b?.version??0}catch{return 0}}function g(a){let b=c(29021),d=a;for(;d!==e().dirname(d);){let a=e().join(d,".git");if(b.existsSync(a)){let c=b.statSync(a);if(c.isDirectory())return d;if(c.isFile()){let c=b.readFileSync(a,"utf-8").trim().match(/^gitdir:\s*(.+)$/);if(c)return c[1].split("/.git/")[0]}}d=e().dirname(d)}return a}var h=c(90444);let i=[{version:1,name:"initial-schema",up:a=>{(0,h.s4)(a)},down:a=>{a.exec("DROP TABLE IF EXISTS session_states;"),a.exec("DROP TABLE IF EXISTS chat_messages;"),a.exec("DROP TABLE IF EXISTS worktrees;")}},{version:2,name:"add-multi-repo-and-memo-support",up:a=>{a.exec(`
|
|
1
|
+
"use strict";exports.id=8807,exports.ids=[8807],exports.modules={18698:(a,b,c)=>{c.d(b,{FT:()=>f,Mj:()=>g,PS:()=>h,Wy:()=>ab,vI:()=>aa,i6:()=>i});var d=c(33873),e=c.n(d);let f=56;function g(a){try{let b=a.prepare("SELECT MAX(version) as version FROM schema_version").get();return b?.version??0}catch{return 0}}function h(a){try{return a.prepare(`
|
|
2
|
+
SELECT version, name, applied_at
|
|
3
|
+
FROM schema_version
|
|
4
|
+
ORDER BY version ASC
|
|
5
|
+
`).all().map(a=>({version:a.version,name:a.name,appliedAt:new Date(a.applied_at)}))}catch{return[]}}function i(a){try{let b=a.prepare(`
|
|
6
|
+
SELECT name FROM sqlite_master
|
|
7
|
+
WHERE type='table' AND name NOT LIKE 'sqlite_%'
|
|
8
|
+
ORDER BY name
|
|
9
|
+
`).all().map(a=>a.name),c=["worktrees","chat_messages","session_states","schema_version","worktree_memos","worktree_todos","external_apps","repositories","clone_jobs","scheduled_executions","execution_logs","daily_reports","report_templates","app_settings","assistant_conversations","assistant_messages","assistant_session_states","agent_instances"].filter(a=>!b.includes(a));if(c.length>0)return console.error("Missing required tables:",c.join(", ")),!1;return!0}catch(a){return console.error("Schema validation failed:",a),!1}}function j(a){let b=c(29021),d=a;for(;d!==e().dirname(d);){let a=e().join(d,".git");if(b.existsSync(a)){let c=b.statSync(a);if(c.isDirectory())return d;if(c.isFile()){let c=b.readFileSync(a,"utf-8").trim().match(/^gitdir:\s*(.+)$/);if(c)return c[1].split("/.git/")[0]}}d=e().dirname(d)}return a}var k=c(90444);let l=[{version:1,name:"initial-schema",up:a=>{(0,k.s4)(a)},down:a=>{a.exec("DROP TABLE IF EXISTS session_states;"),a.exec("DROP TABLE IF EXISTS chat_messages;"),a.exec("DROP TABLE IF EXISTS worktrees;")}},{version:2,name:"add-multi-repo-and-memo-support",up:a=>{a.exec(`
|
|
82
10
|
ALTER TABLE worktrees ADD COLUMN repository_path TEXT;
|
|
83
11
|
ALTER TABLE worktrees ADD COLUMN repository_name TEXT;
|
|
84
12
|
ALTER TABLE worktrees ADD COLUMN memo TEXT;
|
|
@@ -92,7 +20,7 @@
|
|
|
92
20
|
SET repository_path = ?,
|
|
93
21
|
repository_name = ?
|
|
94
22
|
WHERE id = ?
|
|
95
|
-
`);for(let a of b){let b=
|
|
23
|
+
`);for(let a of b){let b=j(a.path),d=e().basename(b);c.run(b,d,a.id)}let d=a.prepare(`
|
|
96
24
|
UPDATE worktrees
|
|
97
25
|
SET last_user_message = ?,
|
|
98
26
|
last_user_message_at = ?
|
|
@@ -136,7 +64,7 @@
|
|
|
136
64
|
SET repository_path = ?,
|
|
137
65
|
repository_name = ?
|
|
138
66
|
WHERE id = ?
|
|
139
|
-
`);for(let a of b){let b=
|
|
67
|
+
`);for(let a of b){let b=j(a.path),d=e().basename(b);c.run(b,d,a.id)}},down:()=>{console.log("No rollback needed for repository path fix")}},{version:4,name:"add-favorite-field",up:a=>{a.exec(`
|
|
140
68
|
ALTER TABLE worktrees ADD COLUMN favorite INTEGER DEFAULT 0;
|
|
141
69
|
`),a.exec(`
|
|
142
70
|
CREATE INDEX IF NOT EXISTS idx_worktrees_favorite
|
|
@@ -150,7 +78,7 @@
|
|
|
150
78
|
ON worktrees(status);
|
|
151
79
|
`)},down:a=>{a.exec(`
|
|
152
80
|
DROP INDEX IF EXISTS idx_worktrees_status;
|
|
153
|
-
`)}}],
|
|
81
|
+
`)}}],m=[{version:6,name:"add-link-field",up:a=>{a.exec(`
|
|
154
82
|
ALTER TABLE worktrees ADD COLUMN link TEXT DEFAULT NULL;
|
|
155
83
|
`)},down:()=>{console.log("No rollback needed for link field")}},{version:7,name:"add-cli-tool-id",up:a=>{a.exec(`
|
|
156
84
|
ALTER TABLE worktrees ADD COLUMN cli_tool_id TEXT DEFAULT 'claude';
|
|
@@ -256,7 +184,7 @@
|
|
|
256
184
|
`).all(),e=a.prepare(`
|
|
257
185
|
INSERT INTO worktree_memos (id, worktree_id, title, content, position, created_at, updated_at)
|
|
258
186
|
VALUES (?, ?, 'Memo', ?, 0, ?, ?)
|
|
259
|
-
`),f=Date.now();for(let a of d)e.run(b(),a.id,a.memo,f,f);console.log("Created worktree_memos table"),console.log(`Migrated ${d.length} existing memos to new table`)},down:a=>{a.exec("DROP TABLE IF EXISTS worktree_memos"),console.log("Dropped worktree_memos table")}}],
|
|
187
|
+
`),f=Date.now();for(let a of d)e.run(b(),a.id,a.memo,f,f);console.log("Created worktree_memos table"),console.log(`Migrated ${d.length} existing memos to new table`)},down:a=>{a.exec("DROP TABLE IF EXISTS worktree_memos"),console.log("Dropped worktree_memos table")}}],n=[{version:11,name:"add-viewed-tracking",up:a=>{a.exec(`
|
|
260
188
|
ALTER TABLE worktrees ADD COLUMN last_viewed_at TEXT;
|
|
261
189
|
`),a.exec(`
|
|
262
190
|
CREATE INDEX IF NOT EXISTS idx_chat_messages_assistant_latest
|
|
@@ -401,7 +329,7 @@
|
|
|
401
329
|
|
|
402
330
|
CREATE INDEX IF NOT EXISTS idx_worktrees_cli_tool
|
|
403
331
|
ON worktrees(cli_tool_id);
|
|
404
|
-
`),console.log("Removed initial_branch column from worktrees table")}}],
|
|
332
|
+
`),console.log("Removed initial_branch column from worktrees table")}}],o=[{version:16,name:"add-issue-no-to-external-apps",up:a=>{a.exec(`
|
|
405
333
|
ALTER TABLE external_apps ADD COLUMN issue_no INTEGER;
|
|
406
334
|
`),a.exec(`
|
|
407
335
|
CREATE INDEX IF NOT EXISTS idx_external_apps_issue_no ON external_apps(issue_no);
|
|
@@ -516,7 +444,7 @@
|
|
|
516
444
|
ALTER TABLE worktrees ADD COLUMN vibe_local_model TEXT DEFAULT NULL;
|
|
517
445
|
`),console.log("Added vibe_local_model column to worktrees table")},down:()=>{console.log("No rollback for vibe_local_model column (SQLite limitation)")}},{version:20,name:"add-vibe-local-context-window-column",up:a=>{a.exec(`
|
|
518
446
|
ALTER TABLE worktrees ADD COLUMN vibe_local_context_window INTEGER DEFAULT NULL;
|
|
519
|
-
`),console.log("Added vibe_local_context_window column to worktrees table")},down:()=>{console.log("No rollback for vibe_local_context_window column (SQLite limitation)")}}],
|
|
447
|
+
`),console.log("Added vibe_local_context_window column to worktrees table")},down:()=>{console.log("No rollback for vibe_local_context_window column (SQLite limitation)")}}],p=[{version:21,name:"add-scheduled-executions-worktree-enabled-index",up:a=>{a.exec(`
|
|
520
448
|
CREATE INDEX IF NOT EXISTS idx_scheduled_executions_worktree_enabled
|
|
521
449
|
ON scheduled_executions(worktree_id, enabled);
|
|
522
450
|
`),console.log("Created composite index idx_scheduled_executions_worktree_enabled")},down:a=>{a.exec("DROP INDEX IF EXISTS idx_scheduled_executions_worktree_enabled"),console.log("Dropped idx_scheduled_executions_worktree_enabled index")}},{version:22,name:"add-archived-column-to-chat-messages",up:a=>{a.exec(`
|
|
@@ -549,7 +477,7 @@
|
|
|
549
477
|
DROP INDEX IF EXISTS idx_timer_messages_status_scheduled;
|
|
550
478
|
DROP INDEX IF EXISTS idx_timer_messages_worktree_status;
|
|
551
479
|
DROP TABLE IF EXISTS timer_messages;
|
|
552
|
-
`)}}],
|
|
480
|
+
`)}}],q=[{version:24,name:"add-daily-reports-table",up:a=>{a.exec(`
|
|
553
481
|
CREATE TABLE daily_reports (
|
|
554
482
|
date TEXT PRIMARY KEY,
|
|
555
483
|
content TEXT NOT NULL,
|
|
@@ -558,7 +486,7 @@
|
|
|
558
486
|
created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000),
|
|
559
487
|
updated_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
|
|
560
488
|
);
|
|
561
|
-
`),console.log("Created daily_reports table")},down:a=>{a.exec("DROP TABLE IF EXISTS daily_reports"),console.log("Dropped daily_reports table")}}],
|
|
489
|
+
`),console.log("Created daily_reports table")},down:a=>{a.exec("DROP TABLE IF EXISTS daily_reports"),console.log("Dropped daily_reports table")}}],r=[{version:25,name:"add-report-templates-table",up:a=>{a.exec(`
|
|
562
490
|
CREATE TABLE report_templates (
|
|
563
491
|
id TEXT PRIMARY KEY,
|
|
564
492
|
name TEXT NOT NULL,
|
|
@@ -567,14 +495,14 @@
|
|
|
567
495
|
created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000),
|
|
568
496
|
updated_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
|
|
569
497
|
);
|
|
570
|
-
`),console.log("Created report_templates table")},down:a=>{a.exec("DROP TABLE IF EXISTS report_templates"),console.log("Dropped report_templates table")}}],
|
|
498
|
+
`),console.log("Created report_templates table")},down:a=>{a.exec("DROP TABLE IF EXISTS report_templates"),console.log("Dropped report_templates table")}}],s=[{version:26,name:"add-repository-display-name",up:a=>{a.exec("ALTER TABLE repositories ADD COLUMN display_name TEXT;"),console.log("Added display_name column to repositories table")},down:a=>{a.exec("ALTER TABLE repositories DROP COLUMN display_name;"),console.log("Removed display_name column from repositories table")}}],t=[{version:27,name:"add-app-settings-table",up:a=>{a.exec(`
|
|
571
499
|
CREATE TABLE IF NOT EXISTS app_settings (
|
|
572
500
|
key TEXT PRIMARY KEY,
|
|
573
501
|
value TEXT NOT NULL,
|
|
574
502
|
created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000),
|
|
575
503
|
updated_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
|
|
576
504
|
);
|
|
577
|
-
`)},down:a=>{a.exec("DROP TABLE IF EXISTS app_settings")}}],
|
|
505
|
+
`)},down:a=>{a.exec("DROP TABLE IF EXISTS app_settings")}}],u=[{version:28,name:"add-assistant-conversation-tables",up:a=>{a.exec(`
|
|
578
506
|
CREATE TABLE IF NOT EXISTS assistant_conversations (
|
|
579
507
|
id TEXT PRIMARY KEY,
|
|
580
508
|
repository_id TEXT NOT NULL,
|
|
@@ -627,7 +555,7 @@
|
|
|
627
555
|
DROP TABLE IF EXISTS assistant_session_states;
|
|
628
556
|
DROP TABLE IF EXISTS assistant_messages;
|
|
629
557
|
DROP TABLE IF EXISTS assistant_conversations;
|
|
630
|
-
`)}}],
|
|
558
|
+
`)}}],v=[{version:29,name:"add-assistant-non-interactive-executions",up:a=>{a.exec(`
|
|
631
559
|
ALTER TABLE assistant_conversations
|
|
632
560
|
ADD COLUMN execution_mode TEXT NOT NULL DEFAULT 'interactive';
|
|
633
561
|
|
|
@@ -677,19 +605,19 @@
|
|
|
677
605
|
ON assistant_executions(status, updated_at DESC);
|
|
678
606
|
`)},down:a=>{a.exec(`
|
|
679
607
|
DROP TABLE IF EXISTS assistant_executions;
|
|
680
|
-
`)}}],
|
|
608
|
+
`)}}],w=[{version:30,name:"add-assistant-context-snapshot",up:a=>{a.exec(`
|
|
681
609
|
ALTER TABLE assistant_conversations
|
|
682
610
|
ADD COLUMN context_snapshot TEXT;
|
|
683
611
|
`)},down:a=>{a.exec(`
|
|
684
612
|
ALTER TABLE assistant_conversations
|
|
685
613
|
DROP COLUMN context_snapshot;
|
|
686
|
-
`)}}],
|
|
614
|
+
`)}}],x=[{version:31,name:"add-repository-visible",up:a=>{a.exec("ALTER TABLE repositories ADD COLUMN visible INTEGER NOT NULL DEFAULT 1;")},down:a=>{a.exec("ALTER TABLE repositories DROP COLUMN visible;")}}],y=[{version:32,name:"add-messages-role-composite-index",up:a=>{a.exec(`
|
|
687
615
|
CREATE INDEX IF NOT EXISTS idx_messages_worktree_role_archived_time
|
|
688
616
|
ON chat_messages(worktree_id, role, archived, timestamp DESC);
|
|
689
617
|
`),a.exec("DROP INDEX IF EXISTS idx_messages_archived;")},down:a=>{a.exec("DROP INDEX IF EXISTS idx_messages_worktree_role_archived_time;"),a.exec(`
|
|
690
618
|
CREATE INDEX IF NOT EXISTS idx_messages_archived
|
|
691
619
|
ON chat_messages(worktree_id, archived, timestamp DESC);
|
|
692
|
-
`)}}],
|
|
620
|
+
`)}}],z=[{version:33,name:"add-agent-instances",up:a=>{a.exec(`
|
|
693
621
|
CREATE TABLE session_states_new (
|
|
694
622
|
worktree_id TEXT NOT NULL,
|
|
695
623
|
cli_tool_id TEXT NOT NULL DEFAULT 'claude',
|
|
@@ -757,7 +685,7 @@
|
|
|
757
685
|
SELECT worktree_id, cli_tool_id, last_captured_line, in_progress_message_id
|
|
758
686
|
FROM session_states
|
|
759
687
|
WHERE instance_id = cli_tool_id;
|
|
760
|
-
`),a.exec("DROP TABLE session_states;"),a.exec("ALTER TABLE session_states_old RENAME TO session_states;"),console.log("Rolled back agent_instances migration (v33)")}}],
|
|
688
|
+
`),a.exec("DROP TABLE session_states;"),a.exec("ALTER TABLE session_states_old RENAME TO session_states;"),console.log("Rolled back agent_instances migration (v33)")}}],A=[{version:34,name:"add-repository-todos",up:a=>{a.exec(`
|
|
761
689
|
CREATE TABLE IF NOT EXISTS repository_todos (
|
|
762
690
|
id TEXT PRIMARY KEY,
|
|
763
691
|
repository_id TEXT NOT NULL,
|
|
@@ -771,13 +699,13 @@
|
|
|
771
699
|
`),a.exec(`
|
|
772
700
|
CREATE INDEX IF NOT EXISTS idx_repository_todos_repo
|
|
773
701
|
ON repository_todos(repository_id, position);
|
|
774
|
-
`)},down:a=>{a.exec("DROP TABLE IF EXISTS repository_todos;")}}],
|
|
702
|
+
`)},down:a=>{a.exec("DROP TABLE IF EXISTS repository_todos;")}}],B=[{version:35,name:"add-instance-id-to-timer-messages",up:a=>{a.exec(`
|
|
775
703
|
ALTER TABLE timer_messages ADD COLUMN instance_id TEXT;
|
|
776
704
|
`),a.exec(`
|
|
777
705
|
UPDATE timer_messages SET instance_id = cli_tool_id WHERE instance_id IS NULL;
|
|
778
|
-
`),console.log("Added instance_id column to timer_messages table")},down:()=>{console.log("No rollback for instance_id column (SQLite limitation)")}}],
|
|
706
|
+
`),console.log("Added instance_id column to timer_messages table")},down:()=>{console.log("No rollback for instance_id column (SQLite limitation)")}}],C=[{version:36,name:"add-branch-to-worktrees",up:a=>{a.exec(`
|
|
779
707
|
ALTER TABLE worktrees ADD COLUMN branch TEXT;
|
|
780
|
-
`),console.log("Added branch column to worktrees table")},down:()=>{console.log("No rollback for branch column (SQLite limitation)")}}],
|
|
708
|
+
`),console.log("Added branch column to worktrees table")},down:()=>{console.log("No rollback for branch column (SQLite limitation)")}}],D=[{version:37,name:"add-worktree-todos",up:a=>{a.exec(`
|
|
781
709
|
CREATE TABLE IF NOT EXISTS worktree_todos (
|
|
782
710
|
id TEXT PRIMARY KEY,
|
|
783
711
|
worktree_id TEXT NOT NULL,
|
|
@@ -791,17 +719,17 @@
|
|
|
791
719
|
`),a.exec(`
|
|
792
720
|
CREATE INDEX IF NOT EXISTS idx_worktree_todos_wt
|
|
793
721
|
ON worktree_todos(worktree_id, position);
|
|
794
|
-
`)},down:a=>{a.exec("DROP TABLE IF EXISTS worktree_todos;")}}],
|
|
722
|
+
`)},down:a=>{a.exec("DROP TABLE IF EXISTS worktree_todos;")}}],E=[{version:38,name:"add-status-to-worktree-todos",up:a=>{a.exec(`
|
|
795
723
|
ALTER TABLE worktree_todos
|
|
796
724
|
ADD COLUMN status TEXT NOT NULL DEFAULT 'todo';
|
|
797
725
|
`),a.exec(`
|
|
798
726
|
UPDATE worktree_todos SET status = 'done' WHERE done = 1;
|
|
799
|
-
`)},down:()=>{}}],
|
|
727
|
+
`)},down:()=>{}}],F=[{version:39,name:"add-detail-to-worktree-todos",up:a=>{a.exec(`
|
|
800
728
|
ALTER TABLE worktree_todos
|
|
801
729
|
ADD COLUMN detail TEXT NOT NULL DEFAULT '';
|
|
802
|
-
`)},down:()=>{}}],
|
|
730
|
+
`)},down:()=>{}}],G=[{version:40,name:"add-error-to-timer-messages",up:a=>{a.exec(`
|
|
803
731
|
ALTER TABLE timer_messages ADD COLUMN error TEXT;
|
|
804
|
-
`),console.log("Added error column to timer_messages table")},down:()=>{console.log("No rollback for error column (SQLite limitation)")}}],
|
|
732
|
+
`),console.log("Added error column to timer_messages table")},down:()=>{console.log("No rollback for error column (SQLite limitation)")}}],H=[{version:41,name:"add-push-subscriptions",up:a=>{a.exec(`
|
|
805
733
|
CREATE TABLE IF NOT EXISTS push_subscriptions (
|
|
806
734
|
id TEXT PRIMARY KEY,
|
|
807
735
|
endpoint TEXT NOT NULL UNIQUE,
|
|
@@ -816,16 +744,16 @@
|
|
|
816
744
|
`),a.exec(`
|
|
817
745
|
CREATE INDEX IF NOT EXISTS idx_push_subscriptions_endpoint
|
|
818
746
|
ON push_subscriptions(endpoint);
|
|
819
|
-
`)},down:a=>{a.exec("DROP TABLE IF EXISTS push_subscriptions;")}}],
|
|
747
|
+
`)},down:a=>{a.exec("DROP TABLE IF EXISTS push_subscriptions;")}}],I=[{version:42,name:"add-locale-to-push-subscriptions",up:a=>{a.exec(`
|
|
820
748
|
ALTER TABLE push_subscriptions ADD COLUMN locale TEXT;
|
|
821
749
|
`)},down:a=>{a.exec(`
|
|
822
750
|
ALTER TABLE push_subscriptions DROP COLUMN locale;
|
|
823
|
-
`)}}],
|
|
751
|
+
`)}}],J=[{version:43,name:"remove-cm-root-dir-ghost-repository",up:a=>{let b=function(){let a=process.env.CM_ROOT_DIR??process.env.MCBD_ROOT_DIR;return a&&a.trim()?e().resolve(a.trim()):null}();return b?(function(){let a=process.env.WORKTREE_REPOS;return a&&a.trim()?a.split(",").map(a=>a.trim()).filter(a=>a.length>0).map(a=>e().resolve(a)):[]})().includes(b)?void console.log(`Migration 43: ${b} is a WORKTREE_REPOS entry; keeping its repository row`):void(a.prepare(`DELETE FROM repositories
|
|
824
752
|
WHERE path = ?
|
|
825
753
|
AND is_env_managed = 1
|
|
826
754
|
AND NOT EXISTS (
|
|
827
755
|
SELECT 1 FROM worktrees WHERE worktrees.repository_path = ?
|
|
828
|
-
)`).run(b,b).changes>0?console.log(`Migration 43: removed CM_ROOT_DIR ghost repository row (${b})`):console.log(`Migration 43: no ghost repository row at ${b}`)):void console.log("Migration 43: CM_ROOT_DIR is not set; no ghost row to remove")},down:()=>{console.log("No rollback for the CM_ROOT_DIR ghost row removal")}}],
|
|
756
|
+
)`).run(b,b).changes>0?console.log(`Migration 43: removed CM_ROOT_DIR ghost repository row (${b})`):console.log(`Migration 43: no ghost repository row at ${b}`)):void console.log("Migration 43: CM_ROOT_DIR is not set; no ghost row to remove")},down:()=>{console.log("No rollback for the CM_ROOT_DIR ghost row removal")}}],K=[{version:44,name:"add-skill-operations",up:a=>{a.exec(`
|
|
829
757
|
CREATE TABLE IF NOT EXISTS skill_operations (
|
|
830
758
|
id TEXT PRIMARY KEY,
|
|
831
759
|
operation_id TEXT NOT NULL,
|
|
@@ -869,7 +797,7 @@
|
|
|
869
797
|
BEGIN
|
|
870
798
|
SELECT RAISE(ABORT, 'skill_operations is append-only');
|
|
871
799
|
END;
|
|
872
|
-
`)},down:a=>{a.exec("DROP TRIGGER IF EXISTS skill_operations_no_delete;"),a.exec("DROP TRIGGER IF EXISTS skill_operations_no_update;"),a.exec("DROP TABLE IF EXISTS skill_operations;")}}],
|
|
800
|
+
`)},down:a=>{a.exec("DROP TRIGGER IF EXISTS skill_operations_no_delete;"),a.exec("DROP TRIGGER IF EXISTS skill_operations_no_update;"),a.exec("DROP TABLE IF EXISTS skill_operations;")}}],L=[{version:45,name:"add-skill-installations",up:a=>{a.exec(`
|
|
873
801
|
CREATE TABLE IF NOT EXISTS skill_installations (
|
|
874
802
|
id TEXT PRIMARY KEY,
|
|
875
803
|
worktree_id TEXT NOT NULL,
|
|
@@ -893,11 +821,11 @@
|
|
|
893
821
|
`),a.exec(`
|
|
894
822
|
CREATE INDEX IF NOT EXISTS idx_skill_installations_skill
|
|
895
823
|
ON skill_installations(skill_id, version);
|
|
896
|
-
`)},down:a=>{a.exec("DROP INDEX IF EXISTS idx_skill_installations_skill;"),a.exec("DROP INDEX IF EXISTS idx_skill_installations_worktree;"),a.exec("DROP TABLE IF EXISTS skill_installations;")}}],
|
|
824
|
+
`)},down:a=>{a.exec("DROP INDEX IF EXISTS idx_skill_installations_skill;"),a.exec("DROP INDEX IF EXISTS idx_skill_installations_worktree;"),a.exec("DROP TABLE IF EXISTS skill_installations;")}}],M=`
|
|
897
825
|
id, worktree_id, skill_id, version, install_root, receipt_sha256,
|
|
898
826
|
source_repository, source_ref, source_commit, artifact_sha256,
|
|
899
827
|
effective_risk, operation_id, installed_at, updated_at
|
|
900
|
-
`,
|
|
828
|
+
`,N=`
|
|
901
829
|
id TEXT PRIMARY KEY,
|
|
902
830
|
worktree_id TEXT NOT NULL,
|
|
903
831
|
skill_id TEXT NOT NULL,
|
|
@@ -913,30 +841,30 @@
|
|
|
913
841
|
installed_at INTEGER NOT NULL,
|
|
914
842
|
updated_at INTEGER NOT NULL,
|
|
915
843
|
UNIQUE (worktree_id, skill_id)
|
|
916
|
-
`;function
|
|
844
|
+
`;function O(a){a.exec(`
|
|
917
845
|
CREATE INDEX IF NOT EXISTS idx_skill_installations_worktree
|
|
918
846
|
ON skill_installations(worktree_id);
|
|
919
847
|
`),a.exec(`
|
|
920
848
|
CREATE INDEX IF NOT EXISTS idx_skill_installations_skill
|
|
921
849
|
ON skill_installations(skill_id, version);
|
|
922
|
-
`)}let
|
|
850
|
+
`)}let P=[{version:46,name:"skill-installations-worktree-cascade",up:a=>{a.exec(`
|
|
923
851
|
CREATE TABLE skill_installations_new (
|
|
924
|
-
${
|
|
852
|
+
${N},
|
|
925
853
|
FOREIGN KEY (worktree_id) REFERENCES worktrees(id) ON DELETE CASCADE
|
|
926
854
|
);
|
|
927
855
|
`),a.exec(`
|
|
928
|
-
INSERT INTO skill_installations_new (${
|
|
929
|
-
SELECT ${
|
|
856
|
+
INSERT INTO skill_installations_new (${M})
|
|
857
|
+
SELECT ${M} FROM skill_installations
|
|
930
858
|
WHERE worktree_id IN (SELECT id FROM worktrees);
|
|
931
859
|
`);let b=a.prepare(`SELECT COUNT(*) AS n FROM skill_installations
|
|
932
|
-
WHERE worktree_id NOT IN (SELECT id FROM worktrees)`).get();a.exec("DROP TABLE skill_installations;"),a.exec("ALTER TABLE skill_installations_new RENAME TO skill_installations;"),
|
|
860
|
+
WHERE worktree_id NOT IN (SELECT id FROM worktrees)`).get();a.exec("DROP TABLE skill_installations;"),a.exec("ALTER TABLE skill_installations_new RENAME TO skill_installations;"),O(a),b.n>0&&console.log(`Removed ${b.n} skill_installations row(s) with no worktree`),console.log("skill_installations now cascades with its worktree")},down:a=>{a.exec(`
|
|
933
861
|
CREATE TABLE skill_installations_old (
|
|
934
|
-
${
|
|
862
|
+
${N}
|
|
935
863
|
);
|
|
936
864
|
`),a.exec(`
|
|
937
|
-
INSERT INTO skill_installations_old (${
|
|
938
|
-
SELECT ${
|
|
939
|
-
`),a.exec("DROP TABLE skill_installations;"),a.exec("ALTER TABLE skill_installations_old RENAME TO skill_installations;"),
|
|
865
|
+
INSERT INTO skill_installations_old (${M})
|
|
866
|
+
SELECT ${M} FROM skill_installations;
|
|
867
|
+
`),a.exec("DROP TABLE skill_installations;"),a.exec("ALTER TABLE skill_installations_old RENAME TO skill_installations;"),O(a),console.log("Rolled back skill_installations cascade (v46)")}}],Q=[{version:47,name:"add-skill-installations-roots",up:a=>{a.exec("ALTER TABLE skill_installations ADD COLUMN install_roots TEXT;")},down:a=>{a.exec(`
|
|
940
868
|
CREATE TABLE skill_installations__v46 (
|
|
941
869
|
id TEXT PRIMARY KEY,
|
|
942
870
|
worktree_id TEXT NOT NULL,
|
|
@@ -971,7 +899,7 @@
|
|
|
971
899
|
`),a.exec(`
|
|
972
900
|
CREATE INDEX IF NOT EXISTS idx_skill_installations_skill
|
|
973
901
|
ON skill_installations(skill_id, version);
|
|
974
|
-
`)}}],
|
|
902
|
+
`)}}],R=[{version:48,name:"add-skill-operations-audit-index",up:a=>{a.exec("ALTER TABLE skill_operations ADD COLUMN from_version TEXT;"),a.exec("ALTER TABLE skill_operations ADD COLUMN to_version TEXT;"),a.exec(`
|
|
975
903
|
CREATE INDEX IF NOT EXISTS idx_skill_operations_recent
|
|
976
904
|
ON skill_operations(recorded_at DESC, id DESC);
|
|
977
905
|
`),a.exec(`
|
|
@@ -1034,7 +962,7 @@
|
|
|
1034
962
|
BEGIN
|
|
1035
963
|
SELECT RAISE(ABORT, 'skill_operations is append-only');
|
|
1036
964
|
END;
|
|
1037
|
-
`)}}],
|
|
965
|
+
`)}}],S=[{version:49,name:"add-verification-runs",up:a=>{a.exec(`
|
|
1038
966
|
CREATE TABLE IF NOT EXISTS verification_runs (
|
|
1039
967
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
1040
968
|
worktree_id TEXT NOT NULL,
|
|
@@ -1065,7 +993,7 @@
|
|
|
1065
993
|
`),a.exec(`
|
|
1066
994
|
CREATE INDEX IF NOT EXISTS idx_verification_gate_results_run
|
|
1067
995
|
ON verification_gate_results(run_id);
|
|
1068
|
-
`)},down:a=>{a.exec("DROP TABLE IF EXISTS verification_gate_results;"),a.exec("DROP TABLE IF EXISTS verification_runs;")}}],
|
|
996
|
+
`)},down:a=>{a.exec("DROP TABLE IF EXISTS verification_gate_results;"),a.exec("DROP TABLE IF EXISTS verification_runs;")}}],T=[{version:50,name:"add-tasks",up:a=>{a.exec(`
|
|
1069
997
|
CREATE TABLE IF NOT EXISTS tasks (
|
|
1070
998
|
id TEXT PRIMARY KEY,
|
|
1071
999
|
worktree_id TEXT NOT NULL,
|
|
@@ -1085,7 +1013,7 @@
|
|
|
1085
1013
|
`),a.exec(`
|
|
1086
1014
|
CREATE INDEX IF NOT EXISTS idx_tasks_worktree
|
|
1087
1015
|
ON tasks(worktree_id, created_at DESC);
|
|
1088
|
-
`)},down:a=>{a.exec("DROP TABLE IF EXISTS tasks;")}}],
|
|
1016
|
+
`)},down:a=>{a.exec("DROP TABLE IF EXISTS tasks;")}}],U=[{version:51,name:"add-task-events",up:a=>{a.exec(`
|
|
1089
1017
|
CREATE TABLE IF NOT EXISTS task_events (
|
|
1090
1018
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
1091
1019
|
task_id TEXT NOT NULL,
|
|
@@ -1098,12 +1026,12 @@
|
|
|
1098
1026
|
`),a.exec(`
|
|
1099
1027
|
CREATE INDEX IF NOT EXISTS idx_task_events_task
|
|
1100
1028
|
ON task_events(task_id, created_at);
|
|
1101
|
-
`)},down:a=>{a.exec("DROP TABLE IF EXISTS task_events;")}}];var
|
|
1029
|
+
`)},down:a=>{a.exec("DROP TABLE IF EXISTS task_events;")}}];var V=c(40277);let W=[{version:52,name:"delete-orphaned-worktree-children",up:a=>{let b=0;for(let{table:c,column:d}of(0,V.ZN)(a)){let e=a.prepare(`DELETE FROM "${c}"
|
|
1102
1030
|
WHERE "${d}" IS NOT NULL
|
|
1103
1031
|
AND NOT EXISTS (
|
|
1104
1032
|
SELECT 1 FROM worktrees AS cm_parent
|
|
1105
1033
|
WHERE cm_parent.id = "${c}"."${d}"
|
|
1106
|
-
)`).run();e.changes>0&&(console.log(`Deleted ${e.changes} orphaned row(s) from ${c}.${d}`),b+=e.changes)}0===b&&console.log("No orphaned worktree child rows found")},down:()=>{console.log("No rollback for orphaned child row cleanup (rows are gone)")}}],
|
|
1034
|
+
)`).run();e.changes>0&&(console.log(`Deleted ${e.changes} orphaned row(s) from ${c}.${d}`),b+=e.changes)}0===b&&console.log("No orphaned worktree child rows found")},down:()=>{console.log("No rollback for orphaned child row cleanup (rows are gone)")}}],X=[{version:53,name:"add-worktree-aliases",up:a=>{a.exec(`
|
|
1107
1035
|
CREATE TABLE IF NOT EXISTS worktree_aliases (
|
|
1108
1036
|
old_id TEXT PRIMARY KEY,
|
|
1109
1037
|
worktree_id TEXT NOT NULL REFERENCES worktrees(id) ON DELETE CASCADE,
|
|
@@ -1112,19 +1040,135 @@
|
|
|
1112
1040
|
`),a.exec(`
|
|
1113
1041
|
CREATE INDEX IF NOT EXISTS idx_worktree_aliases_worktree_id
|
|
1114
1042
|
ON worktree_aliases(worktree_id);
|
|
1115
|
-
`)},down:a=>{a.exec("DROP INDEX IF EXISTS idx_worktree_aliases_worktree_id;"),a.exec("DROP TABLE IF EXISTS worktree_aliases;")}}];var
|
|
1043
|
+
`)},down:a=>{a.exec("DROP INDEX IF EXISTS idx_worktree_aliases_worktree_id;"),a.exec("DROP TABLE IF EXISTS worktree_aliases;")}}];var Y=c(23718),Z=c(27923);let $="cmate-mig54-",_=[...l,...m,...n,...o,...p,...q,...r,...s,...t,...u,...v,...w,...x,...y,...z,...A,...B,...C,...D,...E,...F,...G,...H,...I,...J,...K,...L,...P,...Q,...R,...S,...T,...U,...W,...X,{version:54,name:"renumber-worktree-ids-from-path",up:a=>{let b=a.prepare("SELECT id, path FROM worktrees ORDER BY id").all();if(0===b.length)return void console.log("No worktrees to renumber");let c=void 0!==a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get(),d=c?a.prepare("SELECT old_id FROM worktree_aliases").all().map(a=>a.old_id):[],f=function(a,b){let c=new Set([...new Set(a.map(a=>a.id)),...b]),d=new Set,f=[];for(let b of a){let a=new Set([...c,...d]);a.delete(b.id);let g=(0,Y.ko)(e().resolve(b.path),a);d.add(g),g!==b.id&&f.push({oldId:b.id,newId:g})}return f}(b,d);if(0===f.length)return void console.log(`Worktree IDs already path-derived (${b.length} row(s) checked)`);let g=new Set([...b.map(a=>a.id),...d,...f.map(a=>a.newId)]),h=f.map((a,b)=>{let c=`${$}${b}`;for(let a=1;g.has(c);a++)c=`${$}${b}-${a}`;return g.add(c),c}),i=Date.now();f.forEach((b,c)=>{(0,Z.D6)(a,b.oldId,h[c],i)}),f.forEach((b,c)=>{(0,Z.D6)(a,h[c],b.newId,i)});let j=c?a.prepare("DELETE FROM worktree_aliases WHERE old_id = ?"):null;if(j)for(let a of h)j.run(a);for(let a of f)console.log(`Renumbered worktree ${a.oldId} -> ${a.newId}`);console.log(`Renumbered ${f.length} of ${b.length} worktree(s) to path-derived IDs`)},down:a=>{if(void 0===a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get())return void console.log("No worktree_aliases table: nothing to roll back");let b=a.prepare(`SELECT a.old_id, a.worktree_id
|
|
1116
1044
|
FROM worktree_aliases AS a
|
|
1117
1045
|
JOIN worktrees AS w ON w.id = a.worktree_id
|
|
1118
|
-
ORDER BY a.old_id`).all();if(0===b.length)return void console.log("No worktree aliases to roll back");let c=Date.now(),d=b.map((a,b)=>`${
|
|
1046
|
+
ORDER BY a.old_id`).all();if(0===b.length)return void console.log("No worktree aliases to roll back");let c=Date.now(),d=b.map((a,b)=>`${$}down-${b}`);b.forEach((b,e)=>{(0,Z.D6)(a,b.worktree_id,d[e],c)}),b.forEach((b,e)=>{(0,Z.D6)(a,d[e],b.old_id,c)});let e=a.prepare("DELETE FROM worktree_aliases WHERE old_id = ?");for(let a of d)e.run(a);for(let a of b)e.run(a.worktree_id);console.log(`Rolled back ${b.length} worktree ID renumbering(s)`)}},{version:55,name:"compact-churned-worktree-ids",up:a=>{let b=a.prepare("SELECT id, path FROM worktrees ORDER BY id").all();if(0===b.length)return void console.log("No worktrees to compact");let c=void 0!==a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get(),{renames:d,droppedAliasIds:f}=function(a,b){let c=new Map;for(let a of b){let b=c.get(a.worktreeId);b?b.push(a.oldId):c.set(a.worktreeId,[a.oldId])}let d=new Set([...a.map(a=>a.id),...b.map(a=>a.oldId)]),f=new Set,g=[],h=[];for(let b of a){let a=e().resolve(b.path),i=c.get(b.id)??[],j=new Set([...d,...f]);for(let a of(j.delete(b.id),i))j.delete(a);let k=(0,Y.ko)(a,j);if(k.length>=b.id.length){f.add(b.id);continue}for(let c of(f.add(k),g.push({oldId:b.id,newId:k}),i))c.length>k.length&&(0,Y.a1)(c,a)&&h.push(c)}return{renames:g,droppedAliasIds:h}}(b,c?a.prepare("SELECT old_id, worktree_id FROM worktree_aliases ORDER BY old_id").all().map(a=>({oldId:a.old_id,worktreeId:a.worktree_id})):[]);if(0===d.length)return void console.log(`No churned worktree IDs to compact (${b.length} row(s) checked)`);if(c&&f.length>0){let b=a.prepare("DELETE FROM worktree_aliases WHERE old_id = ?");for(let a of f)b.run(a)}let g=Date.now();for(let b of d)(0,Z.D6)(a,b.oldId,b.newId,g),console.log(`Compacted worktree ${b.oldId} -> ${b.newId}`);console.log(`Compacted ${d.length} of ${b.length} worktree ID(s); dropped ${f.length} intermediate alias(es)`)},down:a=>{if(void 0===a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get())return void console.log("No worktree_aliases table: nothing to roll back");let b=a.prepare("SELECT id, path FROM worktrees ORDER BY id").all(),c=a.prepare("DELETE FROM worktree_aliases WHERE old_id = ?"),d=Date.now(),f=0;for(let g of b){let b=e().resolve(g.path),h=a.prepare("SELECT old_id FROM worktree_aliases WHERE worktree_id = ?").all(g.id).map(a=>a.old_id).filter(a=>a.length>g.id.length&&(0,Y.a1)(a,b)).sort((a,b)=>b.length-a.length||a.localeCompare(b))[0];h&&(c.run(h),(0,Z.D6)(a,g.id,h,d),c.run(g.id),f++)}console.log(`Rolled back ${f} worktree ID compaction(s)`)}},{version:56,name:"add-source-to-verification-gate-results",up:a=>{a.prepare("PRAGMA table_info(verification_gate_results)").all().some(a=>"source"===a.name)||a.exec(`
|
|
1047
|
+
ALTER TABLE verification_gate_results ADD COLUMN source TEXT
|
|
1048
|
+
CHECK (source IS NULL OR source IN ('builtin', 'verify.yaml', 'contract'));
|
|
1049
|
+
`)},down:()=>{}}];function aa(a){!function(a,b){a.exec(`
|
|
1119
1050
|
CREATE TABLE IF NOT EXISTS schema_version (
|
|
1120
1051
|
version INTEGER PRIMARY KEY,
|
|
1121
1052
|
name TEXT NOT NULL,
|
|
1122
1053
|
applied_at INTEGER NOT NULL
|
|
1123
1054
|
);
|
|
1124
|
-
`);let c=
|
|
1055
|
+
`);let c=g(a);if(console.log(`Current schema version: ${c}`),c>f)throw Error(`This database (schema v${c}) was created by a newer version of CommandMate (this build supports up to v${f}). Please update: commandmate update`);let d=b.filter(a=>a.version>c);if(0===d.length)return console.log("Schema is up to date");for(let b of(console.log(`Found ${d.length} pending migration(s)`),d)){console.log(`Applying migration ${b.version}: ${b.name}...`);try{a.transaction(()=>{b.up(a),a.prepare(`
|
|
1125
1056
|
INSERT INTO schema_version (version, name, applied_at)
|
|
1126
1057
|
VALUES (?, ?, ?)
|
|
1127
|
-
`).run(b.version,b.name,Date.now())})(),console.log(`Migration ${b.version} applied successfully`)}catch(c){let a=c instanceof Error?c.message:String(c);throw console.error(`Migration ${b.version} failed:`,a),Error(`Migration ${b.version} (${b.name}) failed: ${a}`)}}console.log(`All migrations completed. Current version: ${
|
|
1058
|
+
`).run(b.version,b.name,Date.now())})(),console.log(`Migration ${b.version} applied successfully`)}catch(c){let a=c instanceof Error?c.message:String(c);throw console.error(`Migration ${b.version} failed:`,a),Error(`Migration ${b.version} (${b.name}) failed: ${a}`)}}console.log(`All migrations completed. Current version: ${g(a)}`)}(a,_)}function ab(a,b){!function(a,b,c){let d=g(a);if(c>=d)return console.log("No rollback needed");for(let e of(console.log(`Rolling back from version ${d} to ${c}...`),b.filter(a=>a.version>c&&a.version<=d).sort((a,b)=>b.version-a.version))){if(!e.down)throw Error(`Cannot rollback migration ${e.version} (${e.name}): no down() function defined`);console.log(`Rolling back migration ${e.version}: ${e.name}...`);try{a.transaction(()=>{e.down(a),a.prepare("DELETE FROM schema_version WHERE version = ?").run(e.version)})(),console.log(`Migration ${e.version} rolled back`)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`Rollback ${e.version} failed:`,a),Error(`Rollback of migration ${e.version} failed: ${a}`)}}console.log(`Rollback completed. Current version: ${g(a)}`)}(a,_,b)}},23718:(a,b,c)=>{c.d(b,{a1:()=>j,ko:()=>i});var d=c(55511),e=c(33873),f=c.n(e);function g(a){return a.toLowerCase().replace(/[^a-z0-9-]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}let h="worktree";function i(a,b=[]){let c=b instanceof Set?b:new Set(b),e=g(f().basename(a))||h;if(!c.has(e))return e;let j=(0,d.createHash)("sha256").update(a).digest("hex");for(let a=8;a<=j.length;a+=8){let b=`${e}-${j.slice(0,a)}`;if(!c.has(b))return b}for(let a=2;;a++){let b=`${e}-${j}-${a}`;if(!c.has(b))return b}}function j(a,b){if(!a)return!1;let c=g(f().basename(b))||h;if(a===c)return!0;if(!a.startsWith(`${c}-`))return!1;let e=a.slice(c.length+1),i=(0,d.createHash)("sha256").update(b).digest("hex");return!!(e.length>0&&e.length%8==0&&e.length<=i.length&&i.startsWith(e))||/^-[0-9]+$/.test(e.slice(i.length))&&e.startsWith(i)}},28274:(a,b,c)=>{c.d(b,{AC:()=>e,BN:()=>j,Cs:()=>m,NU:()=>o,Uq:()=>n,fs:()=>l,m0:()=>i,sB:()=>k,ug:()=>f});var d=c(15194);class e extends Error{constructor(a,b=d.Ab){super(`Worktree ${a} cannot have more than ${b} agent instances`),this.name="AgentInstanceLimitError"}}class f extends Error{constructor(a){super(a),this.name="InvalidAgentInstanceError"}}function g(a){let b=a.cli_tool_id,c=a.alias&&a.alias.length>0?a.alias:(0,d.hR)(a.cli_tool_id)?(0,d.oo)(b):a.cli_tool_id;return{id:a.instance_id,cliTool:b,alias:c,order:a.sort_order}}function h(a){if(!(0,d.n6)(a.id))throw new f(`Invalid instance id: ${String(a.id)}`);if(!(0,d.hR)(a.cliTool))throw new f(`Invalid CLI tool: ${String(a.cliTool)}`);if("string"==typeof a.alias&&a.alias.length>d.pQ)throw new f(`Alias exceeds ${d.pQ} characters`)}function i(a,b){return a.prepare(`
|
|
1059
|
+
SELECT worktree_id, instance_id, cli_tool_id, alias, sort_order, created_at
|
|
1060
|
+
FROM agent_instances
|
|
1061
|
+
WHERE worktree_id = ?
|
|
1062
|
+
ORDER BY sort_order ASC, instance_id ASC
|
|
1063
|
+
`).all(b).map(g)}function j(a,b,c){let d=a.prepare(`
|
|
1064
|
+
SELECT worktree_id, instance_id, cli_tool_id, alias, sort_order, created_at
|
|
1065
|
+
FROM agent_instances
|
|
1066
|
+
WHERE worktree_id = ? AND instance_id = ?
|
|
1067
|
+
`).get(b,c);return d?g(d):null}function k(a,b,c,e){if(!c)return{ok:!0,cliToolId:e??null};let f=j(a,b,c);return f&&(0,d.hR)(f.cliTool)?e&&e!==f.cliTool?{ok:!1,instanceId:c,rosterCliTool:f.cliTool,requestedCliTool:e}:{ok:!0,cliToolId:f.cliTool}:e?{ok:!0,cliToolId:e}:(0,d.hR)(c)?{ok:!0,cliToolId:c}:{ok:!0,cliToolId:null}}function l(a,b){return a.prepare(`
|
|
1068
|
+
SELECT COUNT(*) as count FROM agent_instances WHERE worktree_id = ?
|
|
1069
|
+
`).get(b).count}function m(a,b,c){if(c.length>d.Ab)throw new e(b);let g=new Set;for(let a of c){if(h(a),g.has(a.id))throw new f(`Duplicate instance id: ${a.id}`);g.add(a.id)}let i=Date.now();a.transaction(()=>{a.prepare("DELETE FROM agent_instances WHERE worktree_id = ?").run(b);let d=a.prepare(`
|
|
1070
|
+
INSERT INTO agent_instances
|
|
1071
|
+
(worktree_id, instance_id, cli_tool_id, alias, sort_order, created_at)
|
|
1072
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
1073
|
+
`);c.forEach((a,c)=>{let e=a.alias??"",f=Number.isInteger(a.order)?a.order:c;d.run(b,a.id,a.cliTool,e,f,i)})})()}function n(a,b,c){h(c),a.transaction(()=>{let g=l(a,b);if(g>=d.Ab)throw new e(b);if(j(a,b,c.id))throw new f(`Instance ${c.id} already exists for worktree ${b}`);let h=Number.isInteger(c.order)?c.order:g;a.prepare(`
|
|
1074
|
+
INSERT INTO agent_instances
|
|
1075
|
+
(worktree_id, instance_id, cli_tool_id, alias, sort_order, created_at)
|
|
1076
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
1077
|
+
`).run(b,c.id,c.cliTool,c.alias??"",h,Date.now())})()}function o(a,b,c){return a.prepare(`
|
|
1078
|
+
DELETE FROM agent_instances WHERE worktree_id = ? AND instance_id = ?
|
|
1079
|
+
`).run(b,c).changes>0}},34129:(a,b,c)=>{c.d(b,{$$:()=>n,CR:()=>h,DP:()=>i,GF:()=>o,Ud:()=>m,Xm:()=>r,_O:()=>k,j2:()=>l,jf:()=>q,kx:()=>j,ul:()=>p});var d=c(55511),e=c(87374);let f="id, worktree_id, cli_tool_id, instance_id, message, delay_ms, scheduled_send_time, status, created_at, sent_at, error";function g(a){return{id:a.id,worktreeId:a.worktree_id,cliToolId:a.cli_tool_id,instanceId:a.instance_id??a.cli_tool_id,message:a.message,delayMs:a.delay_ms,scheduledSendTime:a.scheduled_send_time,status:a.status,createdAt:a.created_at,sentAt:a.sent_at,error:a.error??null}}function h(a,b){let c=(0,d.randomUUID)(),e=Date.now(),f=e+b.delayMs,g=b.instanceId??b.cliToolId;return a.prepare(`
|
|
1080
|
+
INSERT INTO timer_messages (id, worktree_id, cli_tool_id, instance_id, message, delay_ms, scheduled_send_time, status, created_at, sent_at)
|
|
1081
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, 'pending', ?, NULL)
|
|
1082
|
+
`).run(c,b.worktreeId,b.cliToolId,g,b.message,b.delayMs,f,e),{id:c,worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:g,message:b.message,delayMs:b.delayMs,scheduledSendTime:f,status:"pending",createdAt:e,sentAt:null,error:null}}function i(a,b,c){let{before:d,limit:h=e.XS}=c??{},i=`SELECT ${f} FROM timer_messages WHERE worktree_id = ?`,j=[b];return void 0!==d&&(i+=" AND created_at < ?",j.push(d)),i+=" ORDER BY created_at DESC LIMIT ?",j.push(h+1),a.prepare(i).all(...j).map(g)}function j(a,b){let c=a.prepare(`
|
|
1083
|
+
SELECT ${f}
|
|
1084
|
+
FROM timer_messages
|
|
1085
|
+
WHERE id = ?
|
|
1086
|
+
`).get(b);return c?g(c):void 0}function k(a){return a.prepare(`
|
|
1087
|
+
SELECT ${f}
|
|
1088
|
+
FROM timer_messages
|
|
1089
|
+
WHERE status = 'pending'
|
|
1090
|
+
ORDER BY scheduled_send_time ASC
|
|
1091
|
+
`).all().map(g)}function l(a,b,c,d,e){let f=["status = ?"],g=[c];void 0!==d&&(f.push("sent_at = ?"),g.push(d)),void 0!==e&&(f.push("error = ?"),g.push(e)),g.push(b),a.prepare(`UPDATE timer_messages SET ${f.join(", ")} WHERE id = ?`).run(...g)}function m(a,b){return a.prepare(`
|
|
1092
|
+
UPDATE timer_messages SET status = 'cancelled' WHERE id = ? AND status = 'pending'
|
|
1093
|
+
`).run(b).changes>0}function n(a,b){return a.prepare(`
|
|
1094
|
+
UPDATE timer_messages SET status = 'cancelled' WHERE worktree_id = ? AND status = 'pending'
|
|
1095
|
+
`).run(b).changes}function o(a,b){return a.prepare(`
|
|
1096
|
+
SELECT COUNT(*) as count FROM timer_messages WHERE worktree_id = ? AND status = 'pending'
|
|
1097
|
+
`).get(b).count}function p(a,b){let c=Date.now()-24*b*36e5;return a.prepare(`
|
|
1098
|
+
DELETE FROM timer_messages
|
|
1099
|
+
WHERE status NOT IN ('pending', 'sending')
|
|
1100
|
+
AND created_at < ?
|
|
1101
|
+
`).run(c).changes}function q(a,b){return a.prepare(`
|
|
1102
|
+
DELETE FROM timer_messages
|
|
1103
|
+
WHERE worktree_id = ?
|
|
1104
|
+
AND status NOT IN ('pending', 'sending')
|
|
1105
|
+
`).run(b).changes}function r(a){return a.prepare(`
|
|
1106
|
+
UPDATE timer_messages SET status = 'failed', error = ? WHERE status = 'sending'
|
|
1107
|
+
`).run("Recovered from a stuck 'sending' state after a server restart.").changes}},43167:(a,b,c)=>{c.d(b,{CF:()=>h,Se:()=>i,gn:()=>j,jA:()=>g,jJ:()=>k,th:()=>l});var d=c(55511);function e(a){return{id:a.id,endpoint:a.endpoint,keys:{p256dh:a.p256dh,auth:a.auth},deviceLabel:a.device_label,enabledPrompt:1===a.enabled_prompt,enabledCompletion:1===a.enabled_completion,locale:a.locale,createdAt:new Date(a.created_at),updatedAt:new Date(a.updated_at)}}let f=`
|
|
1108
|
+
id, endpoint, p256dh, auth, device_label,
|
|
1109
|
+
enabled_prompt, enabled_completion, locale, created_at, updated_at
|
|
1110
|
+
`;function g(a,b){let c=Date.now(),e=b.deviceLabel??null,f=b.locale??null;a.prepare(`
|
|
1111
|
+
INSERT INTO push_subscriptions (
|
|
1112
|
+
id, endpoint, p256dh, auth, device_label,
|
|
1113
|
+
enabled_prompt, enabled_completion, locale, created_at, updated_at
|
|
1114
|
+
)
|
|
1115
|
+
VALUES (?, ?, ?, ?, ?, 1, 1, ?, ?, ?)
|
|
1116
|
+
ON CONFLICT(endpoint) DO UPDATE SET
|
|
1117
|
+
p256dh = excluded.p256dh,
|
|
1118
|
+
auth = excluded.auth,
|
|
1119
|
+
device_label = excluded.device_label,
|
|
1120
|
+
locale = COALESCE(excluded.locale, push_subscriptions.locale),
|
|
1121
|
+
updated_at = excluded.updated_at
|
|
1122
|
+
`).run((0,d.randomUUID)(),b.endpoint,b.p256dh,b.auth,e,f,c,c);let g=h(a,b.endpoint);if(!g)throw Error("Failed to persist push subscription");return g}function h(a,b){let c=a.prepare(`SELECT ${f} FROM push_subscriptions WHERE endpoint = ?`).get(b);return c?e(c):null}function i(a){return a.prepare(`SELECT ${f} FROM push_subscriptions ORDER BY created_at ASC`).all().map(e)}function j(a,b){return a.prepare(`SELECT ${f} FROM push_subscriptions WHERE ${"prompt"===b?"enabled_prompt":"enabled_completion"} = 1 ORDER BY created_at ASC`).all().map(e)}function k(a,b,c){let d=["updated_at = ?"],e=[Date.now()];return void 0!==c.enabledPrompt&&(d.push("enabled_prompt = ?"),e.push(+!!c.enabledPrompt)),void 0!==c.enabledCompletion&&(d.push("enabled_completion = ?"),e.push(+!!c.enabledCompletion)),e.push(b),a.prepare(`UPDATE push_subscriptions SET ${d.join(", ")} WHERE endpoint = ?`).run(...e),h(a,b)}function l(a,b){return a.prepare("DELETE FROM push_subscriptions WHERE endpoint = ?").run(b).changes>0}},48524:(a,b,c)=>{c.d(b,{EL:()=>g,Hi:()=>e,MH:()=>r,UT:()=>l,Vk:()=>n,Zj:()=>q,__:()=>p,gg:()=>m,sA:()=>f,uB:()=>i,xZ:()=>o});var d=c(55511);let e=["pending","running","waiting_input","verifying","succeeded","failed","not_started","cancelled"],f=["succeeded","failed","not_started","cancelled"],g=["running","waiting_input","verifying"],h=[...g,"failed","not_started"];function i(a){return f.includes(a)}let j=`
|
|
1123
|
+
id, worktree_id, cli_tool_id, instance_id, title, goal, contract_path, contract_json,
|
|
1124
|
+
status, last_verification_run_id, created_at, updated_at, started_at, finished_at
|
|
1125
|
+
`;function k(a){return{id:a.id,worktreeId:a.worktree_id,cliToolId:a.cli_tool_id,instanceId:a.instance_id,title:a.title,goal:a.goal,contractPath:a.contract_path,contract:JSON.parse(a.contract_json),status:a.status,lastVerificationRunId:a.last_verification_run_id,createdAt:new Date(a.created_at),updatedAt:new Date(a.updated_at),startedAt:null===a.started_at?null:new Date(a.started_at),finishedAt:null===a.finished_at?null:new Date(a.finished_at)}}function l(a,b){let c=Date.now(),e=(0,d.randomUUID)(),f=b.status??"pending";a.prepare(`
|
|
1126
|
+
INSERT INTO tasks (
|
|
1127
|
+
id, worktree_id, cli_tool_id, instance_id, title, goal, contract_path, contract_json,
|
|
1128
|
+
status, last_verification_run_id, created_at, updated_at, started_at, finished_at
|
|
1129
|
+
)
|
|
1130
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, ?, ?, ?, NULL)
|
|
1131
|
+
`).run(e,b.worktreeId,b.cliToolId,b.instanceId??null,b.contract.title,b.contract.goal,b.contractPath??null,JSON.stringify(b.contract),f,c,c,"pending"===f?null:c);let g=m(a,e);if(!g)throw Error("Failed to persist task");return g}function m(a,b){let c=a.prepare(`SELECT ${j} FROM tasks WHERE id = ?`).get(b);return c?k(c):null}function n(a,b,c=20){return a.prepare(`
|
|
1132
|
+
SELECT ${j} FROM tasks
|
|
1133
|
+
WHERE worktree_id = ?
|
|
1134
|
+
ORDER BY created_at DESC, rowid DESC
|
|
1135
|
+
LIMIT ?
|
|
1136
|
+
`).all(b,c).map(k)}function o(a,b,c,d={}){let e=Date.now();if(0===a.prepare(`
|
|
1137
|
+
UPDATE tasks
|
|
1138
|
+
SET status = ?,
|
|
1139
|
+
updated_at = ?,
|
|
1140
|
+
started_at = CASE WHEN ? = 'pending' THEN started_at ELSE COALESCE(started_at, ?) END,
|
|
1141
|
+
finished_at = CASE WHEN ? = 1 THEN ? ELSE finished_at END,
|
|
1142
|
+
last_verification_run_id = COALESCE(?, last_verification_run_id)
|
|
1143
|
+
WHERE id = ?
|
|
1144
|
+
`).run(c,e,c,e,+!!i(c),e,d.lastVerificationRunId??null,b).changes)throw Error(`Task ${b} not found`);return m(a,b)}function p(a,b,c,d){let e=["worktree_id = ?"],f=[b];void 0!==c&&(e.push("cli_tool_id = ?"),f.push(c)),void 0!==d&&(e.push("instance_id = ?"),f.push(d));let h=g.map(()=>"?").join(", "),i=a.prepare(`
|
|
1145
|
+
SELECT ${j} FROM tasks
|
|
1146
|
+
WHERE ${e.join(" AND ")} AND status IN (${h})
|
|
1147
|
+
ORDER BY updated_at DESC, created_at DESC, rowid DESC
|
|
1148
|
+
LIMIT 1
|
|
1149
|
+
`).get(...f,...g);return i?k(i):null}function q(a,b){let c=h.map(()=>"?").join(", "),d=a.prepare(`
|
|
1150
|
+
SELECT ${j} FROM tasks
|
|
1151
|
+
WHERE worktree_id = ? AND status IN (${c})
|
|
1152
|
+
ORDER BY updated_at DESC, created_at DESC, rowid DESC
|
|
1153
|
+
LIMIT 1
|
|
1154
|
+
`).get(b,...h);return d?k(d):null}function r(a,b,c,d){let e=d===c,f=g.map(()=>"?").join(", "),h=a.prepare(`
|
|
1155
|
+
SELECT ${j} FROM tasks
|
|
1156
|
+
WHERE worktree_id = ?
|
|
1157
|
+
AND cli_tool_id = ?
|
|
1158
|
+
AND (instance_id = ? OR (instance_id IS NULL AND ?))
|
|
1159
|
+
AND status IN (${f})
|
|
1160
|
+
ORDER BY updated_at DESC, created_at DESC, rowid DESC
|
|
1161
|
+
LIMIT 1
|
|
1162
|
+
`).get(b,c,d,+!!e,...g);return h?k(h):null}},87009:(a,b,c)=>{function d(a){return{id:a.id,taskId:a.task_id,event:a.event,fromStatus:a.from_status,toStatus:a.to_status,payload:null===a.payload_json?null:JSON.parse(a.payload_json),createdAt:new Date(a.created_at)}}function e(a,b){let c=void 0===b.payload||0===Object.keys(b.payload).length?null:JSON.stringify(b.payload);return Number(a.prepare(`
|
|
1163
|
+
INSERT INTO task_events (task_id, event, from_status, to_status, payload_json, created_at)
|
|
1164
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
1165
|
+
`).run(b.taskId,b.event,b.fromStatus,b.toStatus,c,b.createdAt).lastInsertRowid)}function f(a,b,c=200){return a.prepare(`
|
|
1166
|
+
SELECT id, task_id, event, from_status, to_status, payload_json, created_at
|
|
1167
|
+
FROM task_events
|
|
1168
|
+
WHERE task_id = ?
|
|
1169
|
+
ORDER BY created_at ASC, id ASC
|
|
1170
|
+
LIMIT ?
|
|
1171
|
+
`).all(b,c).map(d)}c.d(b,{H:()=>f,P:()=>e})},87374:(a,b,c)=>{c.d(b,{Dr:()=>i,HR:()=>h,Ky:()=>f,XS:()=>e,ms:()=>g,u8:()=>d}),Array.from({length:Math.floor(104)+1},(a,b)=>3e5+3e5*b);let d=5,e=50,f=100,g=1e4,h={PENDING:"pending",SENDING:"sending",SENT:"sent",FAILED:"failed",CANCELLED:"cancelled",NO_SESSION:"no_session"};function i(a){return"number"==typeof a&&a>=3e5&&a<=315e5&&a%3e5==0}},88807:(a,b,c)=>{c.r(b),c.d(b,{closeDbInstance:()=>p,getDbInstance:()=>o});var d=c(33873),e=c.n(d),f=c(18698),g=c(79646),h=c(87550),i=c.n(h);let j=!1;function k(a){return a instanceof Error&&"ERR_DLOPEN_FAILED"===a.code&&a.message.includes("NODE_MODULE_VERSION")}function l(a,b){let c=["better-sqlite3 could not be loaded: it was built for a different Node.js version.","This usually happens after switching Node.js versions (nvm, fnm, Homebrew, ...).","",`Automatic recovery failed: ${a}`,"","How to fix it manually:"];return b?c.push(" The install directory is not writable by the current user, so the addon"," cannot be rebuilt in place. Do not re-run this with sudo — root-owned"," files there will break future installs and updates.",""," Either switch back to the Node.js version CommandMate was installed with:",` node -v (currently ${process.version}, NODE_MODULE_VERSION ${process.versions.modules})`,""," Or reinstall CommandMate under a Node.js version manager, which keeps"," global packages in a user-owned directory:"," nvm use <version> && npm install -g commandmate"):c.push(` 1. cd ${process.cwd()}`," 2. npm rebuild better-sqlite3"," 3. Start CommandMate again",""," If that fails, reinstalling picks up the current Node.js version:"," npm install -g commandmate"),c.join("\n")}var m=c(87447);let n=null;function o(){if(!n){let a=(0,m._$)().CM_DB_PATH,b=c(29021),d=e().dirname(a);b.existsSync(d)||b.mkdirSync(d,{recursive:!0,mode:448});let h=function(a){try{return new(i())(a)}catch(c){if(!k(c))throw c;if(j)throw Error(l("a rebuild was already attempted in this process.",!1));j=!0,console.error("[commandmate] better-sqlite3 was built for a different Node.js version.\n[commandmate] Rebuilding it automatically — this can take a few minutes...");let b=function(){let a=(0,g.spawnSync)("npm",["rebuild","better-sqlite3"],{cwd:process.cwd(),encoding:"utf-8",timeout:3e5,env:{...process.env,PATH:`${e().dirname(process.execPath)}${e().delimiter}${process.env.PATH??""}`}}),b=`${a.stdout??""}${a.stderr??""}`;return a.error||0!==a.status?{success:!1,permissionDenied:/EACCES|permission denied/i.test(b),output:b}:{success:!0,permissionDenied:!1,output:b}}();if(!b.success)throw Error(l("npm rebuild better-sqlite3 failed.",b.permissionDenied));console.error("[commandmate] Rebuild succeeded. Continuing startup.");try{return new(i())(a)}catch(a){if(k(a))throw Error(l("the addon still reports a version mismatch after rebuilding.",!1));throw a}}}(a);h.pragma("foreign_keys = ON"),h.pragma("journal_mode = WAL"),h.pragma("busy_timeout = 5000");try{(0,f.vI)(h)}catch(a){throw h.close(),a}n=h}return n}function p(){n&&(n.close(),n=null)}},90444:(a,b,c)=>{function d(a){a.exec(`
|
|
1128
1172
|
CREATE TABLE IF NOT EXISTS worktrees (
|
|
1129
1173
|
id TEXT PRIMARY KEY,
|
|
1130
1174
|
name TEXT NOT NULL,
|
|
@@ -1176,7 +1220,7 @@
|
|
|
1176
1220
|
PRIMARY KEY (worktree_id, cli_tool_id),
|
|
1177
1221
|
FOREIGN KEY (worktree_id) REFERENCES worktrees(id) ON DELETE CASCADE
|
|
1178
1222
|
);
|
|
1179
|
-
`)}c.d(b,{AC:()=>
|
|
1223
|
+
`)}c.d(b,{ks:()=>g.ks,EL:()=>aF.EL,AC:()=>m.AC,Tu:()=>aA,ug:()=>m.ug,eP:()=>aC,mg:()=>aB,lm:()=>o,Hi:()=>aF.Hi,sA:()=>aF.sA,Dx:()=>an,af:()=>am,KG:()=>E,Uq:()=>m.Uq,cD:()=>_,Jj:()=>aa,Ud:()=>N.Ud,$$:()=>N.$$,ul:()=>N.ul,YX:()=>k,cf:()=>g.cf,jf:()=>N.jf,fs:()=>m.fs,G4:()=>W,hL:()=>ac,qp:()=>Y,hl:()=>au,To:()=>s,oH:()=>g.oH,UT:()=>aF.UT,CR:()=>N.CR,py:()=>B,rY:()=>as,yy:()=>J,pE:()=>g.pE,z2:()=>ak,cP:()=>u,DF:()=>g.DF,lA:()=>g.lA,Qp:()=>g.Qp,th:()=>al.th,oZ:()=>e.oZ,ZP:()=>l,Ys:()=>D,vg:()=>L,Rm:()=>e.Rm,C8:()=>av,u$:()=>at,__:()=>aF.__,MH:()=>aF.MH,BN:()=>m.BN,m0:()=>m.m0,r3:()=>f.r3,Se:()=>al.Se,Tk:()=>z,fX:()=>f.fX,nO:()=>e.nO,Sj:()=>e.Sj,iT:()=>U,gp:()=>V,$r:()=>ae,yE:()=>ab,BE:()=>$,qK:()=>ai,ap:()=>O.ap,p4:()=>e.p4,nP:()=>g.nP,sy:()=>g.sy,r8:()=>g.r8,of:()=>af,DN:()=>r,pZ:()=>q,kA:()=>g.kA,VL:()=>g.VL,lr:()=>g.lr,GF:()=>N.GF,_O:()=>N._O,CF:()=>al.CF,gn:()=>al.gn,NV:()=>e.NV,ce:()=>ag,WZ:()=>ax,y1:()=>h,gg:()=>aF.gg,kx:()=>N.kx,DP:()=>N.DP,Nr:()=>A,ob:()=>y,fr:()=>H,J6:()=>aw,Q2:()=>f.Q2,Ui:()=>e.Ui,P9:()=>e.P9,eN:()=>I,vi:()=>e.vi,uJ:()=>e.uJ,s4:()=>d,uB:()=>aF.uB,yT:()=>F,b2:()=>ah,Fi:()=>ay,HB:()=>aG.H,Vk:()=>aF.Vk,Mt:()=>az,UE:()=>aE,PL:()=>g.PL,_h:()=>e._h,jp:()=>g.jp,pG:()=>g.pG,xJ:()=>f.xJ,Xm:()=>N.Xm,NU:()=>m.NU,nQ:()=>v,yb:()=>M,l0:()=>f.l0,tt:()=>O.tt,GA:()=>e.GA,Cs:()=>m.Cs,OF:()=>j,xR:()=>X,az:()=>ad,nZ:()=>Z,PP:()=>aj,WU:()=>e.Dx,IF:()=>O.IF,O:()=>e.O,EU:()=>g.EU,HZ:()=>e.HZ,UY:()=>t,e8:()=>g.e8,cw:()=>g.cw,jJ:()=>al.jJ,DC:()=>e.DC,gb:()=>i,yB:()=>e.yB,j2:()=>N.j2,uy:()=>C,s:()=>e.s,iu:()=>e.iu,hq:()=>e.hq,z1:()=>e.z1,bl:()=>K,jA:()=>al.jA,ZL:()=>e.ZL});var e=c(73753),f=c(95506),g=c(52660);function h(a,b,c="claude"){let d=a.prepare(`
|
|
1180
1224
|
SELECT worktree_id, cli_tool_id, instance_id, last_captured_line, in_progress_message_id
|
|
1181
1225
|
FROM session_states
|
|
1182
1226
|
WHERE worktree_id = ? AND instance_id = ?
|
|
@@ -1186,13 +1230,13 @@
|
|
|
1186
1230
|
ON CONFLICT(worktree_id, instance_id) DO UPDATE SET
|
|
1187
1231
|
last_captured_line = excluded.last_captured_line,
|
|
1188
1232
|
cli_tool_id = excluded.cli_tool_id
|
|
1189
|
-
`).run(b,c,f,d)}function j(a,b,c,d){let e
|
|
1233
|
+
`).run(b,c,f,d)}function j(a,b,c,d,e){let f=e??c;a.prepare(`
|
|
1190
1234
|
INSERT INTO session_states (worktree_id, cli_tool_id, instance_id, last_captured_line, in_progress_message_id)
|
|
1191
1235
|
VALUES (?, ?, ?, 0, ?)
|
|
1192
1236
|
ON CONFLICT(worktree_id, instance_id) DO UPDATE SET
|
|
1193
1237
|
in_progress_message_id = excluded.in_progress_message_id,
|
|
1194
1238
|
cli_tool_id = excluded.cli_tool_id
|
|
1195
|
-
`).run(b,c,
|
|
1239
|
+
`).run(b,c,f,d)}function k(a,b,c,d){j(a,b,c,null,d)}function l(a,b,c,d){d?a.prepare(`
|
|
1196
1240
|
DELETE FROM session_states
|
|
1197
1241
|
WHERE worktree_id = ? AND instance_id = ?
|
|
1198
1242
|
`).run(b,d):c?a.prepare(`
|
|
@@ -1201,26 +1245,26 @@
|
|
|
1201
1245
|
`).run(b,c):a.prepare(`
|
|
1202
1246
|
DELETE FROM session_states
|
|
1203
1247
|
WHERE worktree_id = ?
|
|
1204
|
-
`).run(b)}var
|
|
1248
|
+
`).run(b)}var m=c(28274),n=c(55511);class o extends Error{constructor(a,b,c){super(a),this.code=b,this.cause=c,this.name="MemoDbError"}}function p(a){return{id:a.id,worktreeId:a.worktree_id,title:a.title,content:a.content,position:a.position,createdAt:new Date(a.created_at),updatedAt:new Date(a.updated_at)}}function q(a,b){return a.prepare(`
|
|
1205
1249
|
SELECT id, worktree_id, title, content, position, created_at, updated_at
|
|
1206
1250
|
FROM worktree_memos
|
|
1207
1251
|
WHERE worktree_id = ?
|
|
1208
1252
|
ORDER BY position ASC
|
|
1209
|
-
`).all(b).map(
|
|
1253
|
+
`).all(b).map(p)}function r(a,b){let c=a.prepare(`
|
|
1210
1254
|
SELECT id, worktree_id, title, content, position, created_at, updated_at
|
|
1211
1255
|
FROM worktree_memos
|
|
1212
1256
|
WHERE id = ?
|
|
1213
|
-
`).get(b);return c?
|
|
1257
|
+
`).get(b);return c?p(c):null}function s(a,b,c){let d=(0,n.randomUUID)(),e=Date.now(),f=c.title??"Memo",g=c.content??"",h=a.prepare(`
|
|
1214
1258
|
INSERT INTO worktree_memos (id, worktree_id, title, content, position, created_at, updated_at)
|
|
1215
1259
|
VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
1216
|
-
`);try{h.run(d,b,f,g,c.position,e,e)}catch(a){if(a instanceof Error&&a.message.includes("UNIQUE constraint"))throw new
|
|
1260
|
+
`);try{h.run(d,b,f,g,c.position,e,e)}catch(a){if(a instanceof Error&&a.message.includes("UNIQUE constraint"))throw new o(`Memo position ${c.position} is already in use for worktree "${b}"`,"DUPLICATE_POSITION",a);throw a}return{id:d,worktreeId:b,title:f,content:g,position:c.position,createdAt:new Date(e),updatedAt:new Date(e)}}function t(a,b,c){let d=Date.now(),e=["updated_at = ?"],f=[d];void 0!==c.title&&(e.push("title = ?"),f.push(c.title)),void 0!==c.content&&(e.push("content = ?"),f.push(c.content)),f.push(b),a.prepare(`
|
|
1217
1261
|
UPDATE worktree_memos
|
|
1218
1262
|
SET ${e.join(", ")}
|
|
1219
1263
|
WHERE id = ?
|
|
1220
|
-
`).run(...f)}function
|
|
1264
|
+
`).run(...f)}function u(a,b){a.prepare(`
|
|
1221
1265
|
DELETE FROM worktree_memos
|
|
1222
1266
|
WHERE id = ?
|
|
1223
|
-
`).run(b)}function
|
|
1267
|
+
`).run(b)}function v(a,b,c){if(0===c.length)return;let d=Date.now();a.transaction(()=>{let b=a.prepare(`
|
|
1224
1268
|
UPDATE worktree_memos
|
|
1225
1269
|
SET position = -1 - position
|
|
1226
1270
|
WHERE id = ?
|
|
@@ -1228,7 +1272,7 @@
|
|
|
1228
1272
|
UPDATE worktree_memos
|
|
1229
1273
|
SET position = ?, updated_at = ?
|
|
1230
1274
|
WHERE id = ?
|
|
1231
|
-
`);c.forEach((a,b)=>{e.run(b,d,a)})})()}let
|
|
1275
|
+
`);c.forEach((a,b)=>{e.run(b,d,a)})})()}let w=`
|
|
1232
1276
|
SELECT
|
|
1233
1277
|
t.id,
|
|
1234
1278
|
t.repository_id,
|
|
@@ -1241,50 +1285,50 @@
|
|
|
1241
1285
|
t.updated_at
|
|
1242
1286
|
FROM repository_todos t
|
|
1243
1287
|
JOIN repositories r ON r.id = t.repository_id
|
|
1244
|
-
`;function
|
|
1245
|
-
${
|
|
1288
|
+
`;function x(a){return{id:a.id,repositoryId:a.repository_id,repositoryName:a.repository_name,repositoryDisplayName:a.repository_display_name||void 0,content:a.content,done:1===a.done,position:a.position,createdAt:new Date(a.created_at),updatedAt:new Date(a.updated_at)}}function y(a,b){return a.prepare(`
|
|
1289
|
+
${w}
|
|
1246
1290
|
WHERE t.repository_id = ?
|
|
1247
1291
|
ORDER BY t.position ASC, t.created_at ASC
|
|
1248
|
-
`).all(b).map(
|
|
1249
|
-
${
|
|
1292
|
+
`).all(b).map(x)}function z(a){return a.prepare(`
|
|
1293
|
+
${w}
|
|
1250
1294
|
ORDER BY
|
|
1251
1295
|
COALESCE(NULLIF(TRIM(r.display_name), ''), r.name) COLLATE NOCASE ASC,
|
|
1252
1296
|
t.position ASC,
|
|
1253
1297
|
t.created_at ASC,
|
|
1254
1298
|
t.id ASC
|
|
1255
|
-
`).all().map(
|
|
1256
|
-
${
|
|
1299
|
+
`).all().map(x)}function A(a,b){let c=a.prepare(`
|
|
1300
|
+
${w}
|
|
1257
1301
|
WHERE t.id = ?
|
|
1258
|
-
`).get(b);return c?
|
|
1302
|
+
`).get(b);return c?x(c):null}function B(a,b,c){let d=(0,n.randomUUID)(),e=Date.now();a.prepare(`
|
|
1259
1303
|
INSERT INTO repository_todos (id, repository_id, content, done, position, created_at, updated_at)
|
|
1260
1304
|
VALUES (?, ?, ?, 0, ?, ?, ?)
|
|
1261
|
-
`).run(d,b,c.content,c.position,e,e);let f=
|
|
1305
|
+
`).run(d,b,c.content,c.position,e,e);let f=A(a,d);if(!f)throw Error(`Failed to load created todo '${d}'`);return f}function C(a,b,c){let d=Date.now(),e=["updated_at = ?"],f=[d];void 0!==c.content&&(e.push("content = ?"),f.push(c.content)),void 0!==c.done&&(e.push("done = ?"),f.push(+!!c.done)),f.push(b),a.prepare(`
|
|
1262
1306
|
UPDATE repository_todos
|
|
1263
1307
|
SET ${e.join(", ")}
|
|
1264
1308
|
WHERE id = ?
|
|
1265
|
-
`).run(...f)}function
|
|
1309
|
+
`).run(...f)}function D(a,b){a.prepare(`
|
|
1266
1310
|
DELETE FROM repository_todos
|
|
1267
1311
|
WHERE id = ?
|
|
1268
|
-
`).run(b)}let
|
|
1312
|
+
`).run(b)}let E=["todo","doing","done"];function F(a){return"todo"===a||"doing"===a||"done"===a}function G(a){var b,c;let d=(b=a.status,c=a.done,F(b)?b:1===c?"done":"todo");return{id:a.id,worktreeId:a.worktree_id,content:a.content,detail:a.detail??"",status:d,done:"done"===d,position:a.position,createdAt:new Date(a.created_at),updatedAt:new Date(a.updated_at)}}function H(a,b){return a.prepare(`
|
|
1269
1313
|
SELECT id, worktree_id, content, detail, done, status, position, created_at, updated_at
|
|
1270
1314
|
FROM worktree_todos
|
|
1271
1315
|
WHERE worktree_id = ?
|
|
1272
1316
|
ORDER BY position ASC, created_at ASC
|
|
1273
|
-
`).all(b).map(
|
|
1317
|
+
`).all(b).map(G)}function I(a,b){let c=a.prepare(`
|
|
1274
1318
|
SELECT id, worktree_id, content, detail, done, status, position, created_at, updated_at
|
|
1275
1319
|
FROM worktree_todos
|
|
1276
1320
|
WHERE id = ?
|
|
1277
|
-
`).get(b);return c?
|
|
1321
|
+
`).get(b);return c?G(c):null}function J(a,b,c){let d=(0,n.randomUUID)(),e=Date.now(),f=c.status??"todo",g=c.detail??"";return a.prepare(`
|
|
1278
1322
|
INSERT INTO worktree_todos (id, worktree_id, content, detail, done, status, position, created_at, updated_at)
|
|
1279
1323
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
1280
|
-
`).run(d,b,c.content,g,+("done"===f),f,c.position,e,e),{id:d,worktreeId:b,content:c.content,detail:g,status:f,done:"done"===f,position:c.position,createdAt:new Date(e),updatedAt:new Date(e)}}function
|
|
1324
|
+
`).run(d,b,c.content,g,+("done"===f),f,c.position,e,e),{id:d,worktreeId:b,content:c.content,detail:g,status:f,done:"done"===f,position:c.position,createdAt:new Date(e),updatedAt:new Date(e)}}function K(a,b,c){let d,e=Date.now(),f=["updated_at = ?"],g=[e];void 0!==c.content&&(f.push("content = ?"),g.push(c.content)),void 0!==c.detail&&(f.push("detail = ?"),g.push(c.detail)),void 0!==c.status?d=c.status:void 0!==c.done&&(d=c.done?"done":"todo"),void 0!==d&&(f.push("status = ?"),g.push(d),f.push("done = ?"),g.push(+("done"===d))),g.push(b),a.prepare(`
|
|
1281
1325
|
UPDATE worktree_todos
|
|
1282
1326
|
SET ${f.join(", ")}
|
|
1283
1327
|
WHERE id = ?
|
|
1284
|
-
`).run(...g)}function
|
|
1328
|
+
`).run(...g)}function L(a,b){a.prepare(`
|
|
1285
1329
|
DELETE FROM worktree_todos
|
|
1286
1330
|
WHERE id = ?
|
|
1287
|
-
`).run(b)}function
|
|
1331
|
+
`).run(b)}function M(a,b,c){if(0===c.length)return;let d=Date.now();a.transaction(()=>{let e=a.prepare(`
|
|
1288
1332
|
UPDATE worktree_todos
|
|
1289
1333
|
SET position = -1 - position
|
|
1290
1334
|
WHERE id = ? AND worktree_id = ?
|
|
@@ -1292,147 +1336,161 @@
|
|
|
1292
1336
|
UPDATE worktree_todos
|
|
1293
1337
|
SET position = ?, updated_at = ?
|
|
1294
1338
|
WHERE id = ? AND worktree_id = ?
|
|
1295
|
-
`);c.forEach((a,c)=>{f.run(c,d,a,b)})})()}function
|
|
1339
|
+
`);c.forEach((a,c)=>{f.run(c,d,a,b)})})()}var N=c(34129),O=c(4868);function P(a,b){return Buffer.byteLength(a,"utf-8")<=b?a:Buffer.from(a,"utf-8").subarray(0,b).toString("utf-8")}function Q(a){return{id:a.id,repositoryId:a.repository_id,cliToolId:a.cli_tool_id,workingDirectory:a.working_directory,executionMode:a.execution_mode??"interactive",resumeSessionId:a.resume_session_id??void 0,lastExecutionId:a.last_execution_id??void 0,sessionName:a.session_name??void 0,status:"idle"===a.status?"stopped":a.status,lastStartedAt:a.last_started_at?new Date(a.last_started_at):void 0,lastStoppedAt:a.last_stopped_at?new Date(a.last_stopped_at):void 0,contextSentAt:a.context_sent_at?new Date(a.context_sent_at):void 0,contextSnapshot:a.context_snapshot??void 0,createdAt:new Date(a.created_at),updatedAt:new Date(a.updated_at),archived:1===a.archived}}function R(a){return{id:a.id,conversationId:a.conversation_id,role:a.role,content:a.content,summary:a.summary??void 0,timestamp:new Date(a.timestamp),messageType:a.message_type,deliveryStatus:a.delivery_status??void 0,archived:1===a.archived}}function S(a){return{id:a.id,conversationId:a.conversation_id,cliToolId:a.cli_tool_id,status:a.status,pid:a.pid??void 0,commandLine:a.command_line,promptText:a.prompt_text,stdoutText:a.stdout_text??void 0,stderrText:a.stderr_text??void 0,finalMessageText:a.final_message_text??void 0,exitCode:a.exit_code,resumeSessionIdBefore:a.resume_session_id_before??void 0,resumeSessionIdAfter:a.resume_session_id_after??void 0,startedAt:a.started_at?new Date(a.started_at):void 0,finishedAt:a.finished_at?new Date(a.finished_at):void 0,createdAt:new Date(a.created_at),updatedAt:new Date(a.updated_at)}}function T(a,b,c){a.prepare(`
|
|
1296
1340
|
UPDATE assistant_conversations
|
|
1297
1341
|
SET updated_at = ?
|
|
1298
1342
|
WHERE id = ?
|
|
1299
|
-
`).run(c.getTime(),b)}function
|
|
1343
|
+
`).run(c.getTime(),b)}function U(a,b,c={}){let d=`
|
|
1300
1344
|
SELECT *
|
|
1301
1345
|
FROM assistant_conversations
|
|
1302
1346
|
WHERE id = ?
|
|
1303
1347
|
${c.includeArchived?"":"AND archived = 0"}
|
|
1304
1348
|
LIMIT 1
|
|
1305
|
-
`,e=a.prepare(d).get(b);return e?
|
|
1349
|
+
`,e=a.prepare(d).get(b);return e?Q(e):null}function V(a,b,c,d={}){let e=`
|
|
1306
1350
|
SELECT *
|
|
1307
1351
|
FROM assistant_conversations
|
|
1308
1352
|
WHERE repository_id = ?
|
|
1309
1353
|
AND cli_tool_id = ?
|
|
1310
1354
|
${d.includeArchived?"":"AND archived = 0"}
|
|
1311
1355
|
LIMIT 1
|
|
1312
|
-
`,f=a.prepare(e).get(b,c);return f?
|
|
1356
|
+
`,f=a.prepare(e).get(b,c);return f?Q(f):null}function W(a,b){let c=(0,n.randomUUID)(),d=Date.now();return a.prepare(`
|
|
1313
1357
|
INSERT INTO assistant_conversations (
|
|
1314
1358
|
id, repository_id, cli_tool_id, working_directory, execution_mode, resume_session_id,
|
|
1315
1359
|
last_execution_id, session_name, status,
|
|
1316
1360
|
last_started_at, last_stopped_at, context_sent_at, created_at, updated_at, archived
|
|
1317
1361
|
)
|
|
1318
1362
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0)
|
|
1319
|
-
`).run(c,b.repositoryId,b.cliToolId,b.workingDirectory,b.executionMode??"interactive",b.resumeSessionId??null,b.lastExecutionId??null,b.sessionName??null,b.status??"stopped",b.lastStartedAt?.getTime()??null,b.lastStoppedAt?.getTime()??null,b.contextSentAt?.getTime()??null,d,d),{id:c,repositoryId:b.repositoryId,cliToolId:b.cliToolId,workingDirectory:b.workingDirectory,executionMode:b.executionMode??"interactive",resumeSessionId:b.resumeSessionId,lastExecutionId:b.lastExecutionId,sessionName:b.sessionName,status:b.status??"stopped",contextSentAt:b.contextSentAt,lastStartedAt:b.lastStartedAt,lastStoppedAt:b.lastStoppedAt,createdAt:new Date(d),updatedAt:new Date(d),archived:!1}}function
|
|
1363
|
+
`).run(c,b.repositoryId,b.cliToolId,b.workingDirectory,b.executionMode??"interactive",b.resumeSessionId??null,b.lastExecutionId??null,b.sessionName??null,b.status??"stopped",b.lastStartedAt?.getTime()??null,b.lastStoppedAt?.getTime()??null,b.contextSentAt?.getTime()??null,d,d),{id:c,repositoryId:b.repositoryId,cliToolId:b.cliToolId,workingDirectory:b.workingDirectory,executionMode:b.executionMode??"interactive",resumeSessionId:b.resumeSessionId,lastExecutionId:b.lastExecutionId,sessionName:b.sessionName,status:b.status??"stopped",contextSentAt:b.contextSentAt,lastStartedAt:b.lastStartedAt,lastStoppedAt:b.lastStoppedAt,createdAt:new Date(d),updatedAt:new Date(d),archived:!1}}function X(a,b,c){let d=[],e=[];void 0!==c.workingDirectory&&(d.push("working_directory = ?"),e.push(c.workingDirectory)),void 0!==c.executionMode&&(d.push("execution_mode = ?"),e.push(c.executionMode)),void 0!==c.resumeSessionId&&(d.push("resume_session_id = ?"),e.push(c.resumeSessionId)),void 0!==c.lastExecutionId&&(d.push("last_execution_id = ?"),e.push(c.lastExecutionId)),void 0!==c.sessionName&&(d.push("session_name = ?"),e.push(c.sessionName)),void 0!==c.status&&(d.push("status = ?"),e.push(c.status)),void 0!==c.lastStartedAt&&(d.push("last_started_at = ?"),e.push(c.lastStartedAt?.getTime()??null)),void 0!==c.lastStoppedAt&&(d.push("last_stopped_at = ?"),e.push(c.lastStoppedAt?.getTime()??null)),void 0!==c.contextSentAt&&(d.push("context_sent_at = ?"),e.push(c.contextSentAt?.getTime()??null)),void 0!==c.contextSnapshot&&(d.push("context_snapshot = ?"),e.push(c.contextSnapshot??null)),void 0!==c.archived&&(d.push("archived = ?"),e.push(+!!c.archived));let f=c.updatedAt??new Date;return d.push("updated_at = ?"),e.push(f.getTime()),e.push(b),a.prepare(`
|
|
1320
1364
|
UPDATE assistant_conversations
|
|
1321
1365
|
SET ${d.join(", ")}
|
|
1322
1366
|
WHERE id = ?
|
|
1323
|
-
`).run(...e),
|
|
1367
|
+
`).run(...e),U(a,b,{includeArchived:!0})}function Y(a,b){let c=(0,n.randomUUID)();return a.prepare(`
|
|
1324
1368
|
INSERT INTO assistant_messages (
|
|
1325
1369
|
id, conversation_id, role, content, summary, timestamp, message_type, delivery_status, archived
|
|
1326
1370
|
)
|
|
1327
1371
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, 0)
|
|
1328
|
-
`).run(c,b.conversationId,b.role,b.content,b.summary??null,b.timestamp.getTime(),b.messageType,b.deliveryStatus??null),
|
|
1372
|
+
`).run(c,b.conversationId,b.role,b.content,b.summary??null,b.timestamp.getTime(),b.messageType,b.deliveryStatus??null),T(a,b.conversationId,b.timestamp),{id:c,...b,archived:!1}}function Z(a,b,c){a.prepare(`
|
|
1329
1373
|
UPDATE assistant_messages
|
|
1330
1374
|
SET delivery_status = ?
|
|
1331
1375
|
WHERE id = ?
|
|
1332
|
-
`).run(c,b)}function
|
|
1376
|
+
`).run(c,b)}function $(a,b,c={}){let{limit:d=200,before:e,includeArchived:f=!1}=c,g=[b,e?.getTime()??null,e?.getTime()??null],h=`
|
|
1333
1377
|
SELECT *
|
|
1334
1378
|
FROM assistant_messages
|
|
1335
1379
|
WHERE conversation_id = ?
|
|
1336
1380
|
AND (? IS NULL OR timestamp < ?)
|
|
1337
|
-
`;return f||(h+=" AND archived = 0"),h+=" ORDER BY timestamp DESC LIMIT ?",g.push(d),a.prepare(h).all(...g).map(
|
|
1381
|
+
`;return f||(h+=" AND archived = 0"),h+=" ORDER BY timestamp DESC LIMIT ?",g.push(d),a.prepare(h).all(...g).map(R)}function _(a,b){return a.prepare(`
|
|
1338
1382
|
UPDATE assistant_messages
|
|
1339
1383
|
SET archived = 1
|
|
1340
1384
|
WHERE conversation_id = ?
|
|
1341
1385
|
AND archived = 0
|
|
1342
|
-
`).run(b).changes}function
|
|
1386
|
+
`).run(b).changes}function aa(a,b,c){return a.prepare(`
|
|
1343
1387
|
UPDATE assistant_messages
|
|
1344
1388
|
SET archived = 1
|
|
1345
1389
|
WHERE conversation_id = ?
|
|
1346
1390
|
AND archived = 0
|
|
1347
1391
|
AND timestamp >= ?
|
|
1348
|
-
`).run(b,c).changes}function
|
|
1392
|
+
`).run(b,c).changes}function ab(a,b){let c=a.prepare(`
|
|
1349
1393
|
SELECT * FROM assistant_messages WHERE id = ?
|
|
1350
|
-
`).get(b);return c?
|
|
1394
|
+
`).get(b);return c?R(c):null}function ac(a,b){let c=(0,n.randomUUID)(),d=Date.now();return a.prepare(`
|
|
1351
1395
|
INSERT INTO assistant_executions (
|
|
1352
1396
|
id, conversation_id, cli_tool_id, status, pid, command_line, prompt_text,
|
|
1353
1397
|
stdout_text, stderr_text, final_message_text, exit_code, resume_session_id_before,
|
|
1354
1398
|
resume_session_id_after, started_at, finished_at, created_at, updated_at
|
|
1355
1399
|
)
|
|
1356
1400
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
1357
|
-
`).run(c,b.conversationId,b.cliToolId,b.status??"queued",b.pid??null,b.commandLine,
|
|
1401
|
+
`).run(c,b.conversationId,b.cliToolId,b.status??"queued",b.pid??null,b.commandLine,P(b.promptText,65536),P(b.stdoutText??"",262144)||null,P(b.stderrText??"",262144)||null,b.finalMessageText?P(b.finalMessageText,65536):null,b.exitCode??null,b.resumeSessionIdBefore??null,b.resumeSessionIdAfter??null,b.startedAt?.getTime()??null,b.finishedAt?.getTime()??null,d,d),T(a,b.conversationId,new Date(d)),{id:c,conversationId:b.conversationId,cliToolId:b.cliToolId,status:b.status??"queued",pid:b.pid,commandLine:b.commandLine,promptText:P(b.promptText,65536),stdoutText:b.stdoutText?P(b.stdoutText,262144):void 0,stderrText:b.stderrText?P(b.stderrText,262144):void 0,finalMessageText:b.finalMessageText?P(b.finalMessageText,65536):void 0,exitCode:b.exitCode,resumeSessionIdBefore:b.resumeSessionIdBefore,resumeSessionIdAfter:b.resumeSessionIdAfter,startedAt:b.startedAt,finishedAt:b.finishedAt,createdAt:new Date(d),updatedAt:new Date(d)}}function ad(a,b,c){let d=[],e=[];void 0!==c.status&&(d.push("status = ?"),e.push(c.status)),void 0!==c.pid&&(d.push("pid = ?"),e.push(c.pid)),void 0!==c.stdoutText&&(d.push("stdout_text = ?"),e.push(c.stdoutText?P(c.stdoutText,262144):null)),void 0!==c.stderrText&&(d.push("stderr_text = ?"),e.push(c.stderrText?P(c.stderrText,262144):null)),void 0!==c.finalMessageText&&(d.push("final_message_text = ?"),e.push(c.finalMessageText?P(c.finalMessageText,65536):null)),void 0!==c.exitCode&&(d.push("exit_code = ?"),e.push(c.exitCode)),void 0!==c.resumeSessionIdAfter&&(d.push("resume_session_id_after = ?"),e.push(c.resumeSessionIdAfter)),void 0!==c.startedAt&&(d.push("started_at = ?"),e.push(c.startedAt?.getTime()??null)),void 0!==c.finishedAt&&(d.push("finished_at = ?"),e.push(c.finishedAt?.getTime()??null));let f=c.updatedAt??new Date;return d.push("updated_at = ?"),e.push(f.getTime(),b),a.prepare(`
|
|
1358
1402
|
UPDATE assistant_executions
|
|
1359
1403
|
SET ${d.join(", ")}
|
|
1360
1404
|
WHERE id = ?
|
|
1361
|
-
`).run(...e),function(a,b){let c=a.prepare(`
|
|
1405
|
+
`).run(...e),ae(a,b)}function ae(a,b){let c=a.prepare(`
|
|
1362
1406
|
SELECT *
|
|
1363
1407
|
FROM assistant_executions
|
|
1364
1408
|
WHERE id = ?
|
|
1365
1409
|
LIMIT 1
|
|
1366
|
-
`).get(b);return c?
|
|
1410
|
+
`).get(b);return c?S(c):null}function af(a,b){let c=a.prepare(`
|
|
1367
1411
|
SELECT *
|
|
1368
1412
|
FROM assistant_executions
|
|
1369
1413
|
WHERE conversation_id = ?
|
|
1370
1414
|
ORDER BY created_at DESC
|
|
1371
1415
|
LIMIT 1
|
|
1372
|
-
`).get(b);return c?
|
|
1416
|
+
`).get(b);return c?S(c):null}function ag(a,b){let c=a.prepare(`
|
|
1373
1417
|
SELECT *
|
|
1374
1418
|
FROM assistant_executions
|
|
1375
1419
|
WHERE conversation_id = ?
|
|
1376
1420
|
AND status = 'running'
|
|
1377
1421
|
ORDER BY created_at DESC
|
|
1378
1422
|
LIMIT 1
|
|
1379
|
-
`).get(b);return c?
|
|
1423
|
+
`).get(b);return c?S(c):null}function ah(a){return a.prepare(`
|
|
1424
|
+
SELECT *
|
|
1425
|
+
FROM assistant_executions
|
|
1426
|
+
WHERE status = 'running'
|
|
1427
|
+
ORDER BY created_at DESC
|
|
1428
|
+
`).all().map(S)}function ai(a,b){let c=a.prepare(`
|
|
1380
1429
|
SELECT conversation_id, last_captured_line, in_progress_message_id
|
|
1381
1430
|
FROM assistant_session_states
|
|
1382
1431
|
WHERE conversation_id = ?
|
|
1383
|
-
`).get(b);return c?{conversationId:c.conversation_id,lastCapturedLine:c.last_captured_line,inProgressMessageId:c.in_progress_message_id}:null}function
|
|
1432
|
+
`).get(b);return c?{conversationId:c.conversation_id,lastCapturedLine:c.last_captured_line,inProgressMessageId:c.in_progress_message_id}:null}function aj(a,b,c,d){a.prepare(`
|
|
1384
1433
|
INSERT INTO assistant_session_states (conversation_id, last_captured_line, in_progress_message_id)
|
|
1385
1434
|
VALUES (?, ?, ?)
|
|
1386
1435
|
ON CONFLICT(conversation_id) DO UPDATE SET
|
|
1387
1436
|
last_captured_line = excluded.last_captured_line,
|
|
1388
1437
|
in_progress_message_id = excluded.in_progress_message_id
|
|
1389
|
-
`).run(b,c,d??null)}function
|
|
1438
|
+
`).run(b,c,d??null)}function ak(a,b){a.prepare(`
|
|
1390
1439
|
DELETE FROM assistant_session_states
|
|
1391
1440
|
WHERE conversation_id = ?
|
|
1392
|
-
`).run(b)}
|
|
1441
|
+
`).run(b)}var al=c(43167);let am=["manual","wait","api","task"],an=["builtin","verify.yaml","contract"],ao=`
|
|
1393
1442
|
id, worktree_id, instance_id, task_id, trigger, status, base_ref, started_at, finished_at
|
|
1394
|
-
`,
|
|
1395
|
-
id, run_id, gate_id, command, status, exit_code, duration_ms, log_tail, started_at, finished_at
|
|
1396
|
-
|
|
1443
|
+
`,ap=`
|
|
1444
|
+
id, run_id, gate_id, command, status, exit_code, duration_ms, log_tail, started_at, finished_at,
|
|
1445
|
+
source
|
|
1446
|
+
`;function aq(a){return{id:a.id,worktreeId:a.worktree_id,instanceId:a.instance_id,taskId:a.task_id,trigger:a.trigger,status:a.status,baseRef:a.base_ref,startedAt:new Date(a.started_at),finishedAt:null===a.finished_at?null:new Date(a.finished_at)}}function ar(a){return{id:a.id,runId:a.run_id,gateId:a.gate_id,command:a.command,status:a.status,exitCode:a.exit_code,durationMs:a.duration_ms,logTail:a.log_tail,startedAt:new Date(a.started_at),finishedAt:null===a.finished_at?null:new Date(a.finished_at),source:a.source??null,timingsMeasured:null!==a.finished_at&&null!==a.duration_ms&&a.finished_at-a.started_at===a.duration_ms}}function as(a,b){let c=Date.now(),d=a.prepare(`
|
|
1397
1447
|
INSERT INTO verification_runs (
|
|
1398
1448
|
worktree_id, instance_id, task_id, trigger, status, base_ref, started_at, finished_at
|
|
1399
1449
|
)
|
|
1400
1450
|
VALUES (?, ?, ?, ?, 'running', ?, ?, NULL)
|
|
1401
|
-
`).run(b.worktreeId,b.instanceId??null,b.taskId??null,b.trigger,b.baseRef??null,c),e=a.prepare(`SELECT ${
|
|
1451
|
+
`).run(b.worktreeId,b.instanceId??null,b.taskId??null,b.trigger,b.baseRef??null,c),e=a.prepare(`SELECT ${ao} FROM verification_runs WHERE id = ?`).get(Number(d.lastInsertRowid));if(!e)throw Error("Failed to persist verification run");return aq(e)}function at(a,b,c){if(0===a.prepare("UPDATE verification_runs SET status = ?, finished_at = ? WHERE id = ?").run(c,Date.now(),b).changes)throw Error(`Verification run ${b} not found`)}function au(a,b,c){let d=Date.now(),e=a.prepare(`
|
|
1402
1452
|
INSERT INTO verification_gate_results (
|
|
1403
|
-
run_id, gate_id, command, status, exit_code, duration_ms, log_tail, started_at,
|
|
1453
|
+
run_id, gate_id, command, status, exit_code, duration_ms, log_tail, started_at,
|
|
1454
|
+
finished_at, source
|
|
1404
1455
|
)
|
|
1405
|
-
VALUES (?, ?, ?, 'running', NULL, NULL, NULL, ?, NULL)
|
|
1406
|
-
`).run(b,c.gateId,c.command,d),f=a.prepare(`SELECT ${
|
|
1456
|
+
VALUES (?, ?, ?, 'running', NULL, NULL, NULL, ?, NULL, ?)
|
|
1457
|
+
`).run(b,c.gateId,c.command,d,c.source),f=a.prepare(`SELECT ${ap} FROM verification_gate_results WHERE id = ?`).get(Number(e.lastInsertRowid));if(!f)throw Error("Failed to persist verification gate result");return ar(f)}function av(a,b,c){if(0===a.prepare(`
|
|
1407
1458
|
UPDATE verification_gate_results
|
|
1408
1459
|
SET status = ?, exit_code = ?, duration_ms = ?, log_tail = ?,
|
|
1409
1460
|
started_at = COALESCE(?, started_at),
|
|
1410
1461
|
finished_at = ?
|
|
1411
1462
|
WHERE id = ?
|
|
1412
|
-
`).run(c.status,c.exitCode??null,c.durationMs??null,c.logTail??null,c.executionWindow?.startedAt??null,c.executionWindow?.finishedAt??Date.now(),b).changes)throw Error(`Verification gate result ${b} not found`)}function
|
|
1413
|
-
SELECT ${
|
|
1463
|
+
`).run(c.status,c.exitCode??null,c.durationMs??null,c.logTail??null,c.executionWindow?.startedAt??null,c.executionWindow?.finishedAt??Date.now(),b).changes)throw Error(`Verification gate result ${b} not found`)}function aw(a,b){let c=a.prepare(`SELECT ${ao} FROM verification_runs WHERE id = ?`).get(b);if(!c)return null;let d=a.prepare(`
|
|
1464
|
+
SELECT ${ap} FROM verification_gate_results
|
|
1414
1465
|
WHERE run_id = ?
|
|
1415
1466
|
ORDER BY started_at ASC, id ASC
|
|
1416
|
-
`).all(b);return{...
|
|
1417
|
-
SELECT ${
|
|
1467
|
+
`).all(b);return{...aq(c),gates:d.map(ar)}}function ax(a,b){let c=a.prepare(`
|
|
1468
|
+
SELECT ${ao} FROM verification_runs
|
|
1418
1469
|
WHERE worktree_id = ? AND status = 'running'
|
|
1419
1470
|
ORDER BY id DESC
|
|
1420
1471
|
LIMIT 1
|
|
1421
|
-
`).get(b);return c?
|
|
1422
|
-
SELECT ${
|
|
1472
|
+
`).get(b);return c?aq(c):null}function ay(a){return a.prepare(`
|
|
1473
|
+
SELECT ${ao} FROM verification_runs
|
|
1474
|
+
WHERE status = 'running'
|
|
1475
|
+
ORDER BY id ASC
|
|
1476
|
+
`).all().map(aq)}function az(a,b,c=20){return a.prepare(`
|
|
1477
|
+
SELECT ${ao} FROM verification_runs
|
|
1423
1478
|
WHERE worktree_id = ?
|
|
1424
1479
|
ORDER BY started_at DESC, id DESC
|
|
1425
1480
|
LIMIT ?
|
|
1426
|
-
`).all(b,c).map(
|
|
1427
|
-
SELECT ${
|
|
1481
|
+
`).all(b,c).map(aq)}let aA=50,aB=500,aC=90;function aD(a,b,c,d){return void 0!==a&&Number.isFinite(a)?Math.min(Math.max(Math.trunc(a),c),d):b}function aE(a,b={}){let c=aD(b.limit,aA,1,aB),d=[],e=[];if(void 0!==b.worktreeId&&(d.push("worktree_id = ?"),e.push(b.worktreeId)),void 0!==b.days){let a=aD(b.days,aC,1,aC);d.push("started_at >= ?"),e.push(Date.now()-864e5*a)}let f=d.length>0?`WHERE ${d.join(" AND ")}`:"",g=a.prepare(`
|
|
1482
|
+
SELECT ${ao} FROM verification_runs
|
|
1428
1483
|
${f}
|
|
1429
1484
|
ORDER BY started_at DESC, id DESC
|
|
1430
1485
|
LIMIT ?
|
|
1431
1486
|
`).all(...e,c);if(0===g.length)return[];let h=g.map(()=>"?").join(", "),i=a.prepare(`
|
|
1432
|
-
SELECT run_id, gate_id, status, exit_code, duration_ms
|
|
1487
|
+
SELECT run_id, gate_id, status, exit_code, duration_ms, source
|
|
1433
1488
|
FROM verification_gate_results
|
|
1434
1489
|
WHERE run_id IN (${h})
|
|
1435
1490
|
ORDER BY started_at ASC, id ASC
|
|
1436
|
-
`).all(...g.map(a=>a.id)),j=new Map;for(let a of i){let b={gateId:a.gate_id,status:a.status,exitCode:a.exit_code,durationMs:a.duration_ms},c=j.get(a.run_id);c?c.push(b):j.set(a.run_id,[b])}return g.map(a=>({...
|
|
1491
|
+
`).all(...g.map(a=>a.id)),j=new Map;for(let a of i){let b={gateId:a.gate_id,status:a.status,exitCode:a.exit_code,durationMs:a.duration_ms,source:a.source??null},c=j.get(a.run_id);c?c.push(b):j.set(a.run_id,[b])}return g.map(a=>({...aq(a),gates:j.get(a.id)??[]}))}var aF=c(48524),aG=c(87009)},95506:(a,b,c)=>{c.d(b,{Q2:()=>h,fX:()=>i,l0:()=>g,r3:()=>j,xJ:()=>f});var d=c(27923);function e(a){return void 0!==a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get()}function f(a,b,c,e=Date.now()){(0,d.b$)(a,b,c,e)}function g(a,b){if(!b)return null;if(a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(b))return b;if(!e(a))return null;let c=a.prepare("SELECT worktree_id FROM worktree_aliases WHERE old_id = ?").get(b);return c&&a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(c.worktree_id)?c.worktree_id:null}function h(a,b){return e(a)?a.prepare(`SELECT old_id, worktree_id, created_at
|
|
1492
|
+
FROM worktree_aliases
|
|
1493
|
+
WHERE worktree_id = ?
|
|
1494
|
+
ORDER BY created_at DESC, old_id ASC`).all(b).map(a=>({oldId:a.old_id,worktreeId:a.worktree_id,createdAt:a.created_at})):[]}function i(a){return e(a)?a.prepare(`SELECT old_id, worktree_id, created_at
|
|
1437
1495
|
FROM worktree_aliases
|
|
1438
|
-
ORDER BY created_at ASC, old_id ASC`).all().map(a=>({oldId:a.old_id,worktreeId:a.worktree_id,createdAt:a.created_at})):[]}function
|
|
1496
|
+
ORDER BY created_at ASC, old_id ASC`).all().map(a=>({oldId:a.old_id,worktreeId:a.worktree_id,createdAt:a.created_at})):[]}function j(a){return e(a)?a.prepare("SELECT old_id FROM worktree_aliases").all().map(a=>a.old_id):[]}}};
|