commandmate 0.38.1 → 0.39.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +463 -570
- package/.next/app-path-routes-manifest.json +31 -41
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +12 -12
- package/.next/react-loadable-manifest.json +5 -5
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +0 -23
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/release-notes/route.js +1 -0
- package/.next/server/app/api/app/release-notes/route.js.nft.json +1 -0
- package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -0
- 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/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/capabilities/route.js +1 -1
- package/.next/server/app/api/capabilities/route_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +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_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_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/route.js +1 -1
- package/.next/server/app/api/relays/route.js.nft.json +1 -1
- package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/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_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/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_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_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]/clear-composer/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +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]/env/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/env/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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/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_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js +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_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_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/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]/resolve-target/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/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 +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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +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_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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_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_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]/tasks/route.js +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_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_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_client-reference-manifest.js +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_client-reference-manifest.js +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/config/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route.js +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]/cancel/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/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_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_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/apply-default-agents/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/login/page.js +2 -2
- package/.next/server/app/login/page.js.nft.json +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.js +1 -1
- package/.next/server/app/offline/page.js.nft.json +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +2 -2
- 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_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 +2 -2
- 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 +2 -2
- 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 +11 -11
- 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 +31 -41
- package/.next/server/chunks/1210.js +1 -1
- package/.next/server/chunks/1674.js +15 -0
- package/.next/server/chunks/1825.js +1 -1
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/3241.js +1 -1
- package/.next/server/chunks/3323.js +1 -1
- package/.next/server/chunks/3543.js +1 -1
- package/.next/server/chunks/3945.js +1 -1
- package/.next/server/chunks/4443.js +1 -1
- package/.next/server/chunks/4802.js +1 -1
- package/.next/server/chunks/5164.js +1 -1
- package/.next/server/chunks/5354.js +1 -1
- package/.next/server/chunks/5742.js +1 -0
- package/.next/server/chunks/6092.js +14 -0
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6159.js +1 -1
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/650.js +1 -1
- package/.next/server/chunks/6661.js +1 -1
- package/.next/server/chunks/7075.js +1 -1
- package/.next/server/chunks/8581.js +60 -0
- package/.next/server/chunks/8728.js +2 -2
- package/.next/server/chunks/8807.js +184 -323
- package/.next/server/chunks/8918.js +1 -1
- package/.next/server/chunks/9130.js +3 -3
- package/.next/server/chunks/9584.js +1 -1
- package/.next/server/chunks/9627.js +1 -1
- package/.next/server/chunks/{1886.js → 9731.js} +3 -3
- package/.next/server/chunks/{6677.js → 9882.js} +1 -1
- 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/static/7Ge9-hsqlip_Z6bhEnVkd/_buildManifest.js +1 -0
- package/.next/static/chunks/1642-fb2e176aaadbd137.js +1 -0
- package/.next/static/chunks/{2053-ce3fe896ad45e50f.js → 2053-611dd27d42721b79.js} +1 -1
- package/.next/static/chunks/2318-af00abceb9b8eab5.js +1 -0
- package/.next/static/chunks/{2407-be448eda70bc19b6.js → 2407-9ac8b6188ddbb119.js} +1 -1
- package/.next/static/chunks/2619-04bc32f026a0d946.js +1 -0
- package/.next/static/chunks/344-6f9fc1f38f01a839.js +1 -0
- package/.next/static/chunks/3778-56f41fc2cecb8c43.js +1 -0
- package/.next/static/chunks/{3922.9c1ec01fff819c88.js → 3922.8e79fc89f593280b.js} +1 -1
- package/.next/static/chunks/4768-0ad5eb716bed5de9.js +1 -0
- package/.next/static/chunks/5449-550bd273dccc3ae4.js +1 -0
- package/.next/static/chunks/{3313.53f7ff985c0c8852.js → 5694.dda65070757534df.js} +1 -1
- package/.next/static/chunks/6192-a67df090838b9aad.js +1 -0
- package/.next/static/chunks/6322-f1b30ed0ee43518f.js +1 -0
- package/.next/static/chunks/6966-bb854d1145783a64.js +1 -0
- package/.next/static/chunks/{7485.52361bc061cc663a.js → 7485.442b21101fca7257.js} +1 -1
- package/.next/static/chunks/8165-d3b7c8a7aa776bc7.js +1 -0
- package/.next/static/chunks/8283-26ad31a4670ea52d.js +1 -0
- package/.next/static/chunks/8318-01e7d1e5ad0a15a3.js +1 -0
- package/.next/static/chunks/8407-9a72e6f07c5d5458.js +1 -0
- package/.next/static/chunks/8606-e893c1dab6fb81bc.js +1 -0
- package/.next/static/chunks/9619-7bc0e9524f0773b5.js +1 -0
- package/.next/static/chunks/982-edf98d9d54c5ce9b.js +1 -0
- package/.next/static/chunks/app/api/agents/update/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/agents/versions/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/app/release-notes/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/app/update/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/app/update-check/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/capabilities/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/status/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/external-apps/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/fs/browse/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/fs/recent-paths/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/hooks/agent-event/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/hooks/claude-done/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/hooks/permission-request/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/metrics/vibe/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/ollama/models/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/push/escalation/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/push/subscriptions/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/push/vapid/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/relays/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/remote/pair/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/repositories/excluded/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/repositories/restore/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/repositories/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/repositories/scan/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/repositories/sync/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/repositories/validate-path/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/settings/default-agents/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/settings/default-surface-mode/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/sidebar/group-order/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/skills/[id]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/skills/installations/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/skills/operations/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/skills/reindex/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/skills/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/slash-commands/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/templates/[id]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/templates/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/env/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/{error-c1dc1038d0a84a33.js → error-d9a7067074e7f460.js} +1 -1
- package/.next/static/chunks/app/layout-542d075e9d7cc541.js +1 -0
- package/.next/static/chunks/app/loading-db675c84e696591f.js +1 -0
- package/.next/static/chunks/app/login/{page-af7241bb4c4a8e59.js → page-38d401f553693b03.js} +1 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/more/loading-db675c84e696591f.js +1 -0
- package/.next/static/chunks/app/more/page-30057cf1e0762ad2.js +1 -0
- package/.next/static/chunks/app/page-8483ba400af011f5.js +1 -0
- package/.next/static/chunks/app/proxy/[...path]/route-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/repositories/loading-db675c84e696591f.js +1 -0
- package/.next/static/chunks/app/repositories/page-6f7511f4ac8449e2.js +1 -0
- package/.next/static/chunks/app/review/loading-db675c84e696591f.js +1 -0
- package/.next/static/chunks/app/review/page-8ed49e2edcc7667b.js +1 -0
- package/.next/static/chunks/app/sessions/loading-db675c84e696591f.js +1 -0
- package/.next/static/chunks/app/sessions/page-56f6a2466dd0479d.js +1 -0
- package/.next/static/chunks/app/skills/[skillId]/page-ab7e432b69fccb3b.js +1 -0
- package/.next/static/chunks/app/skills/installed/page-e000102a01a42c98.js +1 -0
- package/.next/static/chunks/app/skills/page-56b4fa11223e0cbd.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/{page-f3361237420719b4.js → page-5445205c8dd80109.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/layout-70779af8b4c8259a.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/loading-db675c84e696591f.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-760408096ad697b4.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/terminal/page-373ea37b16d930c7.js +1 -0
- package/.next/static/chunks/{webpack-0281b30457d46ebc.js → webpack-7e5907979c182510.js} +1 -1
- package/.next/static/css/b4aaf81d10efdd00.css +1 -0
- package/.next/trace +13 -14
- package/.next/types/app/api/{assistant/tools → app/release-notes}/route.ts +3 -3
- package/.next/types/routes.d.ts +3 -13
- package/.next/types/validator.ts +9 -99
- package/dist/cli/commands/wait.d.ts +45 -0
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +172 -3
- package/dist/server/locales/en/worktree.json +20 -4
- package/dist/server/locales/ja/worktree.json +20 -4
- package/dist/server/src/config/activity-bar-config.js +3 -1
- package/dist/server/src/lib/cli-tools/copilot.js +244 -11
- package/dist/server/src/lib/db/db.js +3 -32
- package/dist/server/src/lib/db/worktree-todo-db.js +1 -2
- package/dist/server/src/lib/detection/cli-patterns.js +39 -2
- package/dist/server/src/lib/detection/tools/codex/prompt.js +15 -1
- package/dist/server/src/lib/hooks/agent-event-types.js +19 -1
- package/dist/server/src/lib/hooks/sources/antigravity/hooks-config.js +65 -4
- package/dist/server/src/lib/hooks/sources/antigravity/source.js +32 -3
- package/dist/server/src/lib/hooks/sources/claude/source.js +5 -0
- package/dist/server/src/lib/hooks/sources/codex/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/command-code/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/copilot/source.js +3 -0
- package/dist/server/src/lib/hooks/sources/gemini/source.js +2 -0
- package/dist/server/src/lib/hooks/sources/legacy-relay.js +2 -0
- package/dist/server/src/lib/hooks/sources/opencode/source.js +2 -0
- package/dist/server/src/lib/session/current-output-builder.js +3 -1
- package/dist/server/src/lib/session/send-user-message.js +112 -17
- package/dist/server/src/lib/verification/verification-reconciler.js +2 -2
- package/package.json +5 -3
- package/public/sw.js +5 -5
- package/release-notes/0.39.0.json +94 -0
- package/release-notes/0.39.1.json +29 -0
- package/.next/server/app/api/assistant/conversation/route.js +0 -1
- package/.next/server/app/api/assistant/conversation/route.js.nft.json +0 -1
- package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/assistant/current-output/route.js +0 -1
- package/.next/server/app/api/assistant/current-output/route.js.nft.json +0 -1
- package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/assistant/messages/route.js +0 -1
- package/.next/server/app/api/assistant/messages/route.js.nft.json +0 -1
- package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/assistant/session/route.js +0 -1
- package/.next/server/app/api/assistant/session/route.js.nft.json +0 -1
- package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/assistant/start/route.js +0 -32
- package/.next/server/app/api/assistant/start/route.js.nft.json +0 -1
- package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/assistant/terminal/route.js +0 -34
- package/.next/server/app/api/assistant/terminal/route.js.nft.json +0 -1
- package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/assistant/tools/route.js +0 -1
- package/.next/server/app/api/assistant/tools/route.js.nft.json +0 -1
- package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js +0 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js.nft.json +0 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/repositories/[id]/todos/route.js +0 -1
- package/.next/server/app/api/repositories/[id]/todos/route.js.nft.json +0 -1
- package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +0 -1
- package/.next/server/app/api/todos/route.js +0 -1
- package/.next/server/app/api/todos/route.js.nft.json +0 -1
- package/.next/server/app/api/todos/route_client-reference-manifest.js +0 -1
- package/.next/server/app/chat/page.js +0 -2
- package/.next/server/app/chat/page.js.nft.json +0 -1
- package/.next/server/app/chat/page_client-reference-manifest.js +0 -1
- package/.next/server/chunks/1366.js +0 -15
- package/.next/server/chunks/1467.js +0 -48
- package/.next/server/chunks/1707.js +0 -14
- package/.next/server/chunks/180.js +0 -1
- package/.next/server/chunks/3123.js +0 -1
- package/.next/server/chunks/3708.js +0 -1
- package/.next/server/chunks/5364.js +0 -1
- package/.next/server/chunks/6015.js +0 -1
- package/.next/server/chunks/8118.js +0 -1
- package/.next/server/chunks/8554.js +0 -1
- package/.next/server/chunks/9123.js +0 -13
- package/.next/static/DryXJ1-iHfWxfrHkkWVy8/_buildManifest.js +0 -1
- package/.next/static/chunks/3160-79d24ca264a528b9.js +0 -1
- package/.next/static/chunks/4322-59a7dbd77a7763cc.js +0 -1
- package/.next/static/chunks/4388-a778968d9c4e9327.js +0 -1
- package/.next/static/chunks/4718-56ebb6e55073ed5e.js +0 -1
- package/.next/static/chunks/4949-fa93029d6e05db0d.js +0 -1
- package/.next/static/chunks/5520-8bde9501846ae660.js +0 -1
- package/.next/static/chunks/5694-498765336d0b8c2b.js +0 -1
- package/.next/static/chunks/6022-d2d7bd9373ff3ae9.js +0 -1
- package/.next/static/chunks/6402-d91e099c3f2d78f4.js +0 -1
- package/.next/static/chunks/6983-3ed2099251793bdf.js +0 -1
- package/.next/static/chunks/790-d8e6acd26e03679c.js +0 -1
- package/.next/static/chunks/8019-cbf130d0e6334d2d.js +0 -1
- package/.next/static/chunks/934-a37509667baa86ee.js +0 -1
- package/.next/static/chunks/9948-d139e3e5dbecaf73.js +0 -1
- package/.next/static/chunks/998-292ebcd30f329eb1.js +0 -1
- package/.next/static/chunks/app/api/agents/update/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/agents/versions/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/app/update/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/app/update-check/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/assistant/conversation/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/assistant/current-output/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/assistant/messages/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/assistant/session/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/assistant/start/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/assistant/terminal/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/assistant/tools/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/capabilities/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/status/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/external-apps/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/fs/browse/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/fs/recent-paths/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/hooks/agent-event/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/hooks/claude-done/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/hooks/permission-request/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/metrics/vibe/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/ollama/models/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/push/escalation/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/push/subscriptions/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/push/vapid/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/relays/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/remote/pair/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/repositories/excluded/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/repositories/restore/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/repositories/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/repositories/scan/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/repositories/sync/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/repositories/validate-path/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/settings/default-agents/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/settings/default-surface-mode/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/sidebar/group-order/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/skills/[id]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/skills/installations/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/skills/operations/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/skills/reindex/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/skills/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/slash-commands/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/templates/[id]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/templates/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/todos/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/env/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/chat/loading-c58ba2c3f4363277.js +0 -1
- package/.next/static/chunks/app/chat/page-bfc1f5bb17bd771d.js +0 -1
- package/.next/static/chunks/app/layout-114dc6e93e332392.js +0 -1
- package/.next/static/chunks/app/loading-c58ba2c3f4363277.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/more/loading-c58ba2c3f4363277.js +0 -1
- package/.next/static/chunks/app/more/page-400ffa825f8f150e.js +0 -1
- package/.next/static/chunks/app/page-a4f03c188610c6c8.js +0 -1
- package/.next/static/chunks/app/proxy/[...path]/route-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/repositories/loading-c58ba2c3f4363277.js +0 -1
- package/.next/static/chunks/app/repositories/page-a15efb4ce1d1721e.js +0 -1
- package/.next/static/chunks/app/review/loading-c58ba2c3f4363277.js +0 -1
- package/.next/static/chunks/app/review/page-90ac618489676cbc.js +0 -1
- package/.next/static/chunks/app/sessions/loading-c58ba2c3f4363277.js +0 -1
- package/.next/static/chunks/app/sessions/page-fe42c8f6fd59b9e7.js +0 -1
- package/.next/static/chunks/app/skills/[skillId]/page-ce8f6fd9e4356580.js +0 -1
- package/.next/static/chunks/app/skills/installed/page-566dfde26d7e63ba.js +0 -1
- package/.next/static/chunks/app/skills/page-7859540e8092aace.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/layout-c4d2d5016c5f2a0a.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/loading-c58ba2c3f4363277.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-1eb4297af22afac8.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/terminal/page-2631bc5c4b0a9fb8.js +0 -1
- package/.next/static/css/ed092b853e52b5eb.css +0 -1
- package/.next/types/app/api/assistant/conversation/route.ts +0 -347
- package/.next/types/app/api/assistant/current-output/route.ts +0 -347
- package/.next/types/app/api/assistant/messages/route.ts +0 -347
- package/.next/types/app/api/assistant/session/route.ts +0 -347
- package/.next/types/app/api/assistant/start/route.ts +0 -347
- package/.next/types/app/api/assistant/terminal/route.ts +0 -347
- package/.next/types/app/api/repositories/[id]/todos/[todoId]/route.ts +0 -347
- package/.next/types/app/api/repositories/[id]/todos/route.ts +0 -347
- package/.next/types/app/api/todos/route.ts +0 -347
- package/.next/types/app/chat/page.ts +0 -84
- package/dist/server/src/lib/db/assistant-conversation-db.js +0 -428
- package/dist/server/src/lib/db/todo-db.js +0 -150
- package/dist/server/src/types/assistant.js +0 -5
- /package/.next/static/{DryXJ1-iHfWxfrHkkWVy8 → 7Ge9-hsqlip_Z6bhEnVkd}/_ssgManifest.js +0 -0
|
@@ -65,6 +65,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
65
65
|
exports.antigravityAgentEventSource = void 0;
|
|
66
66
|
exports.parseAntigravityPermissionRequest = parseAntigravityPermissionRequest;
|
|
67
67
|
exports.encodeAntigravityVerdict = encodeAntigravityVerdict;
|
|
68
|
+
exports.extractAntigravityEventDetail = extractAntigravityEventDetail;
|
|
69
|
+
const agent_event_types_1 = require("../../../../lib/hooks/agent-event-types");
|
|
68
70
|
const permission_request_payload_1 = require("../../../../lib/hooks/permission-request-payload");
|
|
69
71
|
const define_source_1 = require("../define-source");
|
|
70
72
|
const event_mapper_1 = require("../event-mapper");
|
|
@@ -152,6 +154,29 @@ function encodeAntigravityVerdict(verdict) {
|
|
|
152
154
|
return { decision: 'deny', reason: verdict.message ?? '' };
|
|
153
155
|
return { ...ABSTAIN_BODY };
|
|
154
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* The subtype of one agy event, read off agy's own payload.
|
|
159
|
+
*
|
|
160
|
+
* `pre_tool_use` / `post_tool_use` carry the tool name under `toolCall`.
|
|
161
|
+
* `stop` carries {@link SELF_RESUME_PENDING_DETAIL} when agy says background
|
|
162
|
+
* work is still running (Issue #2614) — `fullyIdle` must be the boolean
|
|
163
|
+
* `false`; `true`, a missing field or any other type is a plain stop, which is
|
|
164
|
+
* what every `Stop` was before this Issue.
|
|
165
|
+
*
|
|
166
|
+
* In production the `Stop` arrives through the relay, which forwards its own
|
|
167
|
+
* `--detail` rather than this payload, and `./hooks-config` computes that flag
|
|
168
|
+
* from the same field. This is the source's reading of the payload itself, as
|
|
169
|
+
* the tool-name case already is.
|
|
170
|
+
*/
|
|
171
|
+
function extractAntigravityEventDetail(event, payload) {
|
|
172
|
+
if (event === 'pre_tool_use' || event === 'post_tool_use') {
|
|
173
|
+
return (0, event_mapper_1.boundDetail)((0, event_mapper_1.readNestedString)(payload, ['toolCall', 'name']));
|
|
174
|
+
}
|
|
175
|
+
if (event === 'stop' && payload[hooks_config_1.ANTIGRAVITY_FULLY_IDLE_FIELD] === false) {
|
|
176
|
+
return agent_event_types_1.SELF_RESUME_PENDING_DETAIL;
|
|
177
|
+
}
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
155
180
|
/**
|
|
156
181
|
* Antigravity as an event source.
|
|
157
182
|
*
|
|
@@ -200,6 +225,11 @@ exports.antigravityAgentEventSource = (0, define_source_1.definePushHookSource)(
|
|
|
200
225
|
// nothing streams it, `../../../polling/structured-history-gate` reads it
|
|
201
226
|
// when the `Stop` hook says a turn ended. See `./history`.
|
|
202
227
|
transcriptHistory: 'pull',
|
|
228
|
+
// Issue #2614. agy's `Stop` says whether background work — a `schedule`
|
|
229
|
+
// timer, a backgrounded command — is still running (`fullyIdle`), and the
|
|
230
|
+
// `Stop` hook in `./hooks-config` passes a `false` on as
|
|
231
|
+
// `SELF_RESUME_PENDING_DETAIL`. See `extractDetail` below.
|
|
232
|
+
stopReportsSelfResume: true,
|
|
203
233
|
},
|
|
204
234
|
// Empty on purpose, and the only empty mapper list in the codebase. There is
|
|
205
235
|
// nothing in an agy payload to map *from*: no `hook_event_name`, no `type`,
|
|
@@ -221,9 +251,8 @@ exports.antigravityAgentEventSource = (0, define_source_1.definePushHookSource)(
|
|
|
221
251
|
modelFields: ['modelName'],
|
|
222
252
|
// The tool name is nested under `toolCall`, and it is present on both
|
|
223
253
|
// `PreToolUse` and `PostToolUse` payloads (checked against both fixtures).
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
: null,
|
|
254
|
+
// A `Stop` says whether background work remains (Issue #2614).
|
|
255
|
+
extractDetail: extractAntigravityEventDetail,
|
|
227
256
|
// agy has no `PermissionRequest` event; its approvals ride on `PreToolUse`,
|
|
228
257
|
// which #1779 registers against its own receiver.
|
|
229
258
|
parsePermissionRequest: parseAntigravityPermissionRequest,
|
|
@@ -125,6 +125,11 @@ exports.claudeAgentEventSource = (0, define_source_1.definePushHookSource)({
|
|
|
125
125
|
// JSONL when the poller asks (#2121); the gate dispatches on this word
|
|
126
126
|
// rather than on the tool id.
|
|
127
127
|
transcriptHistory: 'pull',
|
|
128
|
+
// Issue #2614. Claude Code does resume itself (background tasks, session
|
|
129
|
+
// crons), and its `Stop` payload carries `background_tasks` /
|
|
130
|
+
// `session_crons` — but only the empty form has been captured, so nothing
|
|
131
|
+
// reads them yet and this stays false until a non-empty one is measured.
|
|
132
|
+
stopReportsSelfResume: false,
|
|
128
133
|
},
|
|
129
134
|
// S1. A plain name table is enough *for this tool* — one native name, one
|
|
130
135
|
// word, no predicates — so it is expressed as rules built from the table
|
|
@@ -114,6 +114,8 @@ exports.codexAgentEventSource = (0, define_source_1.definePushHookSource)({
|
|
|
114
114
|
// `$CODEX_HOME/sessions/**/rollout-*-<session_id>.jsonl`, and the hook
|
|
115
115
|
// payload names that file outright — see `./history`.
|
|
116
116
|
transcriptHistory: 'pull',
|
|
117
|
+
// Issue #2614. codex's `Stop` payload names no background work.
|
|
118
|
+
stopReportsSelfResume: false,
|
|
117
119
|
},
|
|
118
120
|
// Same CamelCase dialect as Claude and copilot (#1757 §8.1). The table is
|
|
119
121
|
// shared, the choice to use it is this source's.
|
|
@@ -245,6 +245,8 @@ exports.commandCodeAgentEventSource = (0, define_source_1.definePushHookSource)(
|
|
|
245
245
|
// The `<slug>` is `slugify(cwd)` and is deliberately not computed — the
|
|
246
246
|
// reader finds the file by session id instead (Epic #2249 決定 4).
|
|
247
247
|
transcriptHistory: 'pull',
|
|
248
|
+
// Issue #2614. Command Code's `Stop` payload names no background work.
|
|
249
|
+
stopReportsSelfResume: false,
|
|
248
250
|
},
|
|
249
251
|
// The four-row private table. See COMMAND_CODE_HOOK_EVENT_NAMES.
|
|
250
252
|
mappers: (0, event_mapper_1.fromNameTable)(exports.COMMAND_CODE_HOOK_EVENT_NAMES),
|
|
@@ -222,6 +222,9 @@ exports.copilotAgentEventSource = (0, define_source_1.definePushHookSource)({
|
|
|
222
222
|
resync: 'none',
|
|
223
223
|
// Issue #2197. Nobody but the screen scraper records copilot replies.
|
|
224
224
|
transcriptHistory: null,
|
|
225
|
+
// Issue #2614. `stop_reason: end_turn` is not a statement about background
|
|
226
|
+
// work, and nothing else in copilot's `Stop` payload is.
|
|
227
|
+
stopReportsSelfResume: false,
|
|
225
228
|
},
|
|
226
229
|
// The same CamelCase dialect as Claude and codex — measured against six
|
|
227
230
|
// captured payloads (#1757 §8.1), not assumed from the resemblance. Shared
|
|
@@ -134,6 +134,8 @@ exports.geminiAgentEventSource = (0, define_source_1.definePushHookSource)({
|
|
|
134
134
|
resync: 'none',
|
|
135
135
|
// Issue #2197. Nobody but the screen scraper records gemini replies.
|
|
136
136
|
transcriptHistory: null,
|
|
137
|
+
// Issue #2614. Not audited; no stop detail is written.
|
|
138
|
+
stopReportsSelfResume: false,
|
|
137
139
|
},
|
|
138
140
|
// gemini's own table, kept in gemini's own module: four of the seven are
|
|
139
141
|
// spelled differently, and merging them into the shared CamelCase table would
|
|
@@ -70,6 +70,8 @@ function createLegacyRelaySource(cliToolId) {
|
|
|
70
70
|
// Issue #2197. A tool on the compatibility relay has no reader, which
|
|
71
71
|
// is the same "nobody has measured this" the empty event list states.
|
|
72
72
|
transcriptHistory: null,
|
|
73
|
+
// Issue #2614. A tool on the compatibility relay writes no stop detail.
|
|
74
|
+
stopReportsSelfResume: false,
|
|
73
75
|
},
|
|
74
76
|
mappers: (0, event_mapper_1.fromNameTable)(hook_event_vocabulary_1.CAMEL_CASE_HOOK_EVENT_NAMES),
|
|
75
77
|
nativeEventNameFields: ['hook_event_name'],
|
|
@@ -325,6 +325,8 @@ exports.opencodeAgentEventSource = (0, define_source_1.definePullEventSource)({
|
|
|
325
325
|
// the reply out of the SSE stream, so the gate asks whether the
|
|
326
326
|
// subscription is live rather than asking for the turn.
|
|
327
327
|
transcriptHistory: 'push',
|
|
328
|
+
// Issue #2614. Not audited; `session.idle` carries only the session id.
|
|
329
|
+
stopReportsSelfResume: false,
|
|
328
330
|
},
|
|
329
331
|
// C4. Predicates, not a name table: see ./mappers.
|
|
330
332
|
mappers: mappers_1.OPENCODE_MAPPERS,
|
|
@@ -1148,7 +1148,9 @@ async function buildPayload(db, worktreeId, cliToolId, instanceId) {
|
|
|
1148
1148
|
isComplete: isPromptWaiting,
|
|
1149
1149
|
isGenerating: merged.thinking,
|
|
1150
1150
|
thinking: merged.thinking,
|
|
1151
|
-
|
|
1151
|
+
// Issue #2607: named after the tool actually running. A fixed "Claude" was
|
|
1152
|
+
// published for every agent, and `capture --json` readers took it at its word.
|
|
1153
|
+
thinkingMessage: merged.thinking ? `${(0, types_2.getCliToolDisplayName)(cliToolId)} is thinking...` : null,
|
|
1152
1154
|
isPromptWaiting,
|
|
1153
1155
|
promptData,
|
|
1154
1156
|
autoYes: {
|
|
@@ -9,9 +9,13 @@
|
|
|
9
9
|
* appear in Message History.
|
|
10
10
|
*
|
|
11
11
|
* Responsibilities (in order):
|
|
12
|
-
* 1.
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
* 1. copilot /model command — Issue #576 (copilot only); then wait for
|
|
13
|
+
* the poller still watching the previous
|
|
14
|
+
* turn to record it (Issue #2630)
|
|
15
|
+
* 2. savePendingAssistantResponse — persist the previous assistant reply;
|
|
16
|
+
* the user-row stamp is read just before
|
|
17
|
+
* it, after step 1 (Issue #2630)
|
|
18
|
+
* 3. orphan detection — Issue #379 duplicate-message guard
|
|
15
19
|
* 4. send to CLI tool — image branch / ICLITool.sendMessage
|
|
16
20
|
* 5. createMessage (role: 'user') — INSERT INTO chat_messages (History source)
|
|
17
21
|
* 5b. broadcastMessage('message') — Issue #2195, push the user row to every
|
|
@@ -30,6 +34,7 @@
|
|
|
30
34
|
* and session-start (running) checks. The caller passes already-validated input.
|
|
31
35
|
*/
|
|
32
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.PREVIOUS_TURN_RECORD_TIMEOUT_MS = void 0;
|
|
33
38
|
exports.sendUserMessage = sendUserMessage;
|
|
34
39
|
const db_1 = require("../../lib/db");
|
|
35
40
|
const manager_1 = require("../../lib/cli-tools/manager");
|
|
@@ -45,6 +50,45 @@ const logger = (0, logger_1.createLogger)('session/send-user-message');
|
|
|
45
50
|
function getErrorMessage(error) {
|
|
46
51
|
return error instanceof Error ? error.message : String(error);
|
|
47
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* How long a copilot body waits, after its `/model` switch, for the response
|
|
55
|
+
* poller still watching the previous turn to record that turn (Issue #2630).
|
|
56
|
+
*
|
|
57
|
+
* Two of the poller's ticks (`POLLING_INTERVAL`, 2 s) and a second of margin.
|
|
58
|
+
* The switch ends with `invalidateCache`, so the first tick that starts after
|
|
59
|
+
* it reads a fresh, idle frame; the second tick covers one that was already
|
|
60
|
+
* in flight with an older capture. Past this bound the body is sent anyway:
|
|
61
|
+
* a live poller that did not stop has declined to record the frame (an empty
|
|
62
|
+
* or duplicate reply), and waiting longer would not change its answer.
|
|
63
|
+
*/
|
|
64
|
+
exports.PREVIOUS_TURN_RECORD_TIMEOUT_MS = 5_000;
|
|
65
|
+
/** How often {@link waitForPreviousTurnRecorded} re-reads the poller registry. */
|
|
66
|
+
const PREVIOUS_TURN_RECORD_CHECK_MS = 100;
|
|
67
|
+
/**
|
|
68
|
+
* Wait until no response poller is watching this instance (Issue #2630).
|
|
69
|
+
*
|
|
70
|
+
* copilot's replies are recorded by the response poller alone:
|
|
71
|
+
* `savePendingAssistantResponse` returns early for every alternate-screen tool
|
|
72
|
+
* (Issue #1292). The poller records a turn only from a frame in which that turn
|
|
73
|
+
* is the newest one, and a copilot chain stops itself once it has recorded one
|
|
74
|
+
* — so a chain that is still registered once copilot has gone idle is one that
|
|
75
|
+
* has not recorded the turn yet.
|
|
76
|
+
*
|
|
77
|
+
* @param worktreeId - Target worktree
|
|
78
|
+
* @param resolvedInstanceId - The instance, already resolved to its id
|
|
79
|
+
* @returns false when the chain was still registered at the deadline
|
|
80
|
+
*/
|
|
81
|
+
async function waitForPreviousTurnRecorded(worktreeId, resolvedInstanceId) {
|
|
82
|
+
// The key `getPollerKey` (lib/polling/response-poller-core) builds.
|
|
83
|
+
const pollerKey = `${worktreeId}:${resolvedInstanceId}`;
|
|
84
|
+
const deadline = Date.now() + exports.PREVIOUS_TURN_RECORD_TIMEOUT_MS;
|
|
85
|
+
while ((0, response_poller_1.getActivePollers)().includes(pollerKey)) {
|
|
86
|
+
if (Date.now() >= deadline)
|
|
87
|
+
return false;
|
|
88
|
+
await new Promise((resolve) => setTimeout(resolve, PREVIOUS_TURN_RECORD_CHECK_MS));
|
|
89
|
+
}
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
48
92
|
/**
|
|
49
93
|
* Send a validated user message to the CLI tool and record it in history.
|
|
50
94
|
*
|
|
@@ -98,10 +142,69 @@ async function sendUserMessage(db, params) {
|
|
|
98
142
|
error: (0, prompt_waiting_guard_1.promptWaitingMessage)(worktreeId, promptGuard.blockedBy),
|
|
99
143
|
};
|
|
100
144
|
}
|
|
145
|
+
// 1. Issue #576: Send /model command before message if model is specified (copilot only).
|
|
146
|
+
//
|
|
147
|
+
// Issue #2623: the body below is typed only once this resolves, and it now
|
|
148
|
+
// resolves only on copilot's own answer to `/model` — never merely because
|
|
149
|
+
// the composer is drawn, which it is while copilot is still loading and a
|
|
150
|
+
// body typed then is never run. A refused id (`✗ Model "…" is unsupported.`)
|
|
151
|
+
// or no answer rejects, so the send stops here with `stage: 'model'` and the
|
|
152
|
+
// body is not typed into a model nobody confirmed.
|
|
153
|
+
//
|
|
154
|
+
// Issue #2630: that wait is also why this step now comes FIRST. It waits for
|
|
155
|
+
// copilot to be idle — up to 30 s when the send arrives mid-turn — so the
|
|
156
|
+
// previous turn can end inside it, and everything that used to run before it
|
|
157
|
+
// described the moment the request arrived rather than the moment the body is
|
|
158
|
+
// typed. A failed switch returns before anything below has run, which loses
|
|
159
|
+
// nothing: the only tool that gets here is copilot, whose pending-response
|
|
160
|
+
// save is a no-op (#1292), and the poller watching its previous turn is left
|
|
161
|
+
// running because `startPolling` below is never reached.
|
|
162
|
+
if (copilotModel && cliToolId === 'copilot') {
|
|
163
|
+
try {
|
|
164
|
+
const copilotTool = cliTool;
|
|
165
|
+
await copilotTool.sendModelCommand(worktreeId, copilotModel, instanceId);
|
|
166
|
+
logger.info('copilot-model-command-sent', { model: copilotModel });
|
|
167
|
+
}
|
|
168
|
+
catch (error) {
|
|
169
|
+
logger.error('failed-to-send-model-command:', { error: getErrorMessage(error) });
|
|
170
|
+
return { ok: false, stage: 'model', error: getErrorMessage(error) };
|
|
171
|
+
}
|
|
172
|
+
// Issue #2630: copilot is idle now, and if the previous turn ended during the
|
|
173
|
+
// switch its reply is still unrecorded: the poller watching it ticks every
|
|
174
|
+
// 2 s, and the body typed next makes the NEXT prompt the newest turn on the
|
|
175
|
+
// pane, after which that poller — and the fresh one `startPolling` starts
|
|
176
|
+
// below — extract only what follows it. Measured on copilot 1.0.85 (UAT
|
|
177
|
+
// TC-2623-06): the turn stopped 5.6 s before `/model` answered, the body
|
|
178
|
+
// followed 0.3 s after the answer, and the reply never reached History.
|
|
179
|
+
// Typing only once that poller has recorded the turn and stopped closes the
|
|
180
|
+
// window; a send to an already idle copilot finds no poller and waits for
|
|
181
|
+
// nothing.
|
|
182
|
+
const recorded = await waitForPreviousTurnRecorded(worktreeId, resolvedInstanceId);
|
|
183
|
+
if (!recorded) {
|
|
184
|
+
logger.warn('previous-turn-poller-still-running', {
|
|
185
|
+
worktreeId,
|
|
186
|
+
instanceId: resolvedInstanceId,
|
|
187
|
+
waitedMs: exports.PREVIOUS_TURN_RECORD_TIMEOUT_MS,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
101
191
|
// Generate the user-message timestamp BEFORE saving the pending response so
|
|
102
192
|
// ordering holds: assistantResponse < userMessage.
|
|
193
|
+
//
|
|
194
|
+
// Issue #2630: and only AFTER step 1. This is the row `wait`'s #1975 gate
|
|
195
|
+
// (src/cli/commands/wait.ts `outstandingPrompt`) compares with the agent's
|
|
196
|
+
// last `stop`: a stamp taken when the request arrived was older than a
|
|
197
|
+
// previous turn that ended during the `/model` wait, so that turn's `stop`
|
|
198
|
+
// read as the end of this one and `wait` completed before the body reached
|
|
199
|
+
// copilot. Read here, it is later than any turn that ended before the body is
|
|
200
|
+
// typed and earlier than the `stop` of the turn the body starts. copilot's
|
|
201
|
+
// body send cannot move a previous turn's end past it either: its composer
|
|
202
|
+
// wait holds only while copilot is still loading (no turn is running) or
|
|
203
|
+
// behind a dialog (refused by the prompt guard above), and returns at once
|
|
204
|
+
// while a turn is running. A send without `--model` skips step 1, so its stamp
|
|
205
|
+
// is read at the same point as before.
|
|
103
206
|
const userMessageTimestamp = new Date();
|
|
104
|
-
//
|
|
207
|
+
// 2. Save any pending assistant response before sending the new user message.
|
|
105
208
|
try {
|
|
106
209
|
await (0, assistant_response_saver_1.savePendingAssistantResponse)(db, worktreeId, cliToolId, userMessageTimestamp, instanceId);
|
|
107
210
|
}
|
|
@@ -109,7 +212,7 @@ async function sendUserMessage(db, params) {
|
|
|
109
212
|
// Log but don't fail - user message should still be saved
|
|
110
213
|
logger.error('failed-to-save-pending-assistant-response:', { error: getErrorMessage(error) });
|
|
111
214
|
}
|
|
112
|
-
//
|
|
215
|
+
// 3. Clean up orphaned user messages (Issue #379: duplicate message prevention).
|
|
113
216
|
// If the most recent message for THIS INSTANCE is a user message with the same
|
|
114
217
|
// content, the assistant never responded and the user is retrying. Remove it
|
|
115
218
|
// (only after the retry message is persisted) to prevent duplicates.
|
|
@@ -127,6 +230,10 @@ async function sendUserMessage(db, params) {
|
|
|
127
230
|
// NULL and read back as the primary instance), so the orphan they are would
|
|
128
231
|
// survive as a visible duplicate. Same expression as #2196's
|
|
129
232
|
// `findUnkeyedUserMessages`.
|
|
233
|
+
//
|
|
234
|
+
// Issue #2630: read after step 2 as before, and now after step 1 too. A reply
|
|
235
|
+
// the poller recorded during the `/model` wait is the newest row by then, so
|
|
236
|
+
// the user row above it is no longer mistaken for one nobody answered.
|
|
130
237
|
let orphanedMessageIdToDelete = null;
|
|
131
238
|
try {
|
|
132
239
|
const recentMessages = (0, db_1.getMessages)(db, worktreeId, {
|
|
@@ -145,18 +252,6 @@ async function sendUserMessage(db, params) {
|
|
|
145
252
|
// Log but don't fail - cleanup candidate discovery is best-effort
|
|
146
253
|
logger.error('failed-to-detect-orphaned-messages:', { error: getErrorMessage(error) });
|
|
147
254
|
}
|
|
148
|
-
// 3. Issue #576: Send /model command before message if model is specified (copilot only).
|
|
149
|
-
if (copilotModel && cliToolId === 'copilot') {
|
|
150
|
-
try {
|
|
151
|
-
const copilotTool = cliTool;
|
|
152
|
-
await copilotTool.sendModelCommand(worktreeId, copilotModel, instanceId);
|
|
153
|
-
logger.info('copilot-model-command-sent', { model: copilotModel });
|
|
154
|
-
}
|
|
155
|
-
catch (error) {
|
|
156
|
-
logger.error('failed-to-send-model-command:', { error: getErrorMessage(error) });
|
|
157
|
-
return { ok: false, stage: 'model', error: getErrorMessage(error) };
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
255
|
// 4. Send message to CLI tool.
|
|
161
256
|
try {
|
|
162
257
|
// Issue #474: Image-aware sending
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* closed as `error` rather than `failed`: no gate reached a verdict about the
|
|
14
14
|
* work, which is exactly the distinction `error` encodes.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* Modelled on the Assistant Chat execution reconciler, which Issue #2655
|
|
17
|
+
* removed together with the feature.
|
|
18
18
|
*
|
|
19
19
|
* @module lib/verification/verification-reconciler
|
|
20
20
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "commandmate",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.39.1",
|
|
4
4
|
"description": "A local control plane for agent CLIs — orchestration and visibility for Claude Code, Codex, Gemini CLI, and more across Git worktrees",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude-code",
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
"!.next/cache",
|
|
34
34
|
"public/",
|
|
35
35
|
"scripts/hooks/",
|
|
36
|
-
".env.example"
|
|
36
|
+
".env.example",
|
|
37
|
+
"release-notes/"
|
|
37
38
|
],
|
|
38
39
|
"scripts": {
|
|
39
40
|
"dev": "tsx server.ts",
|
|
@@ -43,7 +44,8 @@
|
|
|
43
44
|
"build:all": "npm run build && npm run build:cli && npm run build:server",
|
|
44
45
|
"prepublishOnly": "npm run build:all",
|
|
45
46
|
"start": "NODE_ENV=production node dist/server/server.js",
|
|
46
|
-
"lint": "eslint
|
|
47
|
+
"lint": "eslint . --ext .js,.jsx,.ts,.tsx,.mjs,.cjs",
|
|
48
|
+
"lint:sh": "shellcheck -x -P scripts --severity=style --exclude=SC2086,SC2317,SC2116 $(find scripts tests/scripts .claude/lib -name '*.sh')",
|
|
47
49
|
"check:tracking": "./scripts/check-commandmate-tracking.sh",
|
|
48
50
|
"check:detector-freshness": "tsx scripts/check-detector-freshness.ts",
|
|
49
51
|
"test": "NODE_ENV=test vitest",
|
package/public/sw.js
CHANGED
|
@@ -108,7 +108,7 @@ async function offlineFallback(request) {
|
|
|
108
108
|
// Navigation responses are intentionally NOT cached: they may contain
|
|
109
109
|
// authenticated content. Only the offline fallback page is served on error.
|
|
110
110
|
return await fetch(request);
|
|
111
|
-
} catch
|
|
111
|
+
} catch {
|
|
112
112
|
const cache = await caches.open(CACHE_NAME);
|
|
113
113
|
const offline = await cache.match(OFFLINE_URL);
|
|
114
114
|
return offline || Response.error();
|
|
@@ -123,7 +123,7 @@ self.addEventListener('fetch', function (event) {
|
|
|
123
123
|
let url;
|
|
124
124
|
try {
|
|
125
125
|
url = new URL(request.url);
|
|
126
|
-
} catch
|
|
126
|
+
} catch {
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
129
129
|
|
|
@@ -197,7 +197,7 @@ function replaceStaleNotifications(title, options) {
|
|
|
197
197
|
stale[i].close();
|
|
198
198
|
}
|
|
199
199
|
})
|
|
200
|
-
.catch(function (
|
|
200
|
+
.catch(function (_err) {
|
|
201
201
|
// A registration that cannot enumerate its notifications still has to
|
|
202
202
|
// show one. Showing the replacement below is what keeps the promise;
|
|
203
203
|
// on this path the tag alone collapses the stale card on most engines.
|
|
@@ -213,7 +213,7 @@ self.addEventListener('push', function (event) {
|
|
|
213
213
|
var payload = {};
|
|
214
214
|
try {
|
|
215
215
|
payload = event.data ? event.data.json() : {};
|
|
216
|
-
} catch
|
|
216
|
+
} catch {
|
|
217
217
|
payload = {};
|
|
218
218
|
}
|
|
219
219
|
|
|
@@ -275,7 +275,7 @@ self.addEventListener('notificationclick', function (event) {
|
|
|
275
275
|
if (new URL(client.url).pathname === targetUrl && 'focus' in client) {
|
|
276
276
|
return client.focus();
|
|
277
277
|
}
|
|
278
|
-
} catch
|
|
278
|
+
} catch {
|
|
279
279
|
// ignore malformed client URL
|
|
280
280
|
}
|
|
281
281
|
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.39.0",
|
|
3
|
+
"date": "2026-09-19",
|
|
4
|
+
"highlight": {
|
|
5
|
+
"ja": "サイドバーの上端がリポジトリ・セッション・レビューの画面移動ナビになり、画面を移ってもサイドバーとヘッダーが作り直されなくなりました。",
|
|
6
|
+
"en": "The top of the sidebar is now navigation for Repositories, Sessions and Review, and moving between screens no longer rebuilds the sidebar and header."
|
|
7
|
+
},
|
|
8
|
+
"added": [
|
|
9
|
+
{
|
|
10
|
+
"ja": "サイドバーの表示に「セッション」が加わり、エージェント 1 つを 1 行で一覧できるようになりました。",
|
|
11
|
+
"en": "The sidebar can now show Sessions, listing one row per agent."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"ja": "更新のあとに「新機能と改善」が表示されるようになりました。",
|
|
15
|
+
"en": "After an update, a list of what is new and improved is now shown."
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"ja": "ブランチ画面のアクティビティバーの一番下に、設定メニューの歯車ボタンが付きました。",
|
|
19
|
+
"en": "A settings menu is now available from the gear button at the bottom of the activity bar."
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"ja": "レビュー行に要対応の件数が表示されるようになりました。",
|
|
23
|
+
"en": "The Review row now shows how many items need your attention."
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"improved": [
|
|
27
|
+
{
|
|
28
|
+
"ja": "画面を移ってもサイドバーとヘッダーが作り直されなくなり、スクロール位置や並びが保たれるようになりました。",
|
|
29
|
+
"en": "Moving between screens no longer rebuilds the sidebar and header, so scroll position and ordering are kept."
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"ja": "サイドバーのナビとコマンドパレットからの移動も、ほかの画面移動と同じクロスフェードになりました。",
|
|
33
|
+
"en": "Navigating from the sidebar and the command palette now uses the same crossfade as elsewhere."
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"ja": "更新があるとき、画面右上の「Update」ボタンからそのまま更新できるようになりました。",
|
|
37
|
+
"en": "When an update is available, you can now start it from the Update button at the top right."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"ja": "サイドバーの表示切替と並び替えが、アイコンではなく文字で選べるようになりました。",
|
|
41
|
+
"en": "The sidebar's view switch and sort order are now chosen by text instead of icons."
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"ja": "PC の入力欄が、手動で高さを変えたあとも内容に応じて伸び縮みするようになりました。手動の高さは縮まないための下限として扱われます。",
|
|
45
|
+
"en": "The desktop composer now grows and shrinks with its content even after a manual resize, and the manual height is kept as a floor."
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"ja": "ファイルツリーのアイコンが見分けやすくなりました。",
|
|
49
|
+
"en": "The file tree icon is now easier to tell apart."
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"ja": "スマホの下部ナビに「ブランチ」ボタンが加わりました。",
|
|
53
|
+
"en": "A Branch button has been added to the bottom navigation on phones."
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"ja": "ホーム画面とアシスタントチャットを廃止しました。ホームを開くと、最後に見ていたブランチに移動します。",
|
|
57
|
+
"en": "The Home screen and Assistant Chat have been removed. Opening Home now takes you to the branch you last viewed."
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"fixed": [
|
|
61
|
+
{
|
|
62
|
+
"ja": "画面を移るときのスピナーが、画面全体ではなく本文の中央に出るようになりました。",
|
|
63
|
+
"en": "The spinner shown while moving between screens now appears centered in the content area instead of covering the screen."
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"ja": "スマホで、ページの一番下が下部ナビに隠れる問題を直しました。",
|
|
67
|
+
"en": "Fixed the bottom of the page being hidden behind the bottom navigation on phones."
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"ja": "ファイルツリーの幅を狭めたときに、ファイル名が消えたりツールバーの文字が折り返したりする問題を直しました。",
|
|
71
|
+
"en": "Fixed file names disappearing and toolbar text wrapping when the file tree panel is narrow."
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"ja": "検索欄が狭い幅で崩れる問題を直しました。",
|
|
75
|
+
"en": "Fixed the search box breaking at narrow widths."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"ja": "Copilot をモデル指定で起動すると、依頼の本文が実行されない問題を直しました。",
|
|
79
|
+
"en": "Fixed the message body not running when Copilot is started with a model specified."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"ja": "作業中の Copilot にモデル指定で送ったとき、前の応答が履歴に残らない問題を直しました。",
|
|
83
|
+
"en": "Fixed an earlier reply going missing from the history when sending to a busy Copilot with a model specified."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"ja": "Codex の確認画面で、状態表示と送信の判定が食い違う問題を直しました。",
|
|
87
|
+
"en": "Fixed the status display and send detection disagreeing on Codex approval screens."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"ja": "エージェントが自分で作業を再開するとき、待機が途中で完了と判断される問題を直しました。",
|
|
91
|
+
"en": "Fixed a wait finishing early when an agent resumes its own work."
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.39.1",
|
|
3
|
+
"date": "2026-09-20",
|
|
4
|
+
"highlight": {
|
|
5
|
+
"ja": "パソコンでは設定がダイアログで開くようになり、画面を移動せずに変更できます。モーダルが背景のクリックで閉じない問題も直しました。",
|
|
6
|
+
"en": "On a computer, settings now open in a dialog so you can change them without leaving the page. Clicking outside a dialog to close it also works again."
|
|
7
|
+
},
|
|
8
|
+
"added": [
|
|
9
|
+
{
|
|
10
|
+
"ja": "サイドバーの下部から設定を開けるようになりました。",
|
|
11
|
+
"en": "You can now open settings from the bottom of the sidebar."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"ja": "パソコンでは、設定が画面を移動せずダイアログで開くようになりました。",
|
|
15
|
+
"en": "On a computer, settings now open in a dialog instead of moving you to another page."
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"improved": [],
|
|
19
|
+
"fixed": [
|
|
20
|
+
{
|
|
21
|
+
"ja": "ダイアログの外側をクリックしても閉じないことがある問題を直しました。",
|
|
22
|
+
"en": "Fixed dialogs sometimes not closing when you clicked outside them."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"ja": "スマートフォンで、画面下のナビゲーションに本文がわずかに重なる問題を直しました。",
|
|
26
|
+
"en": "Fixed content slightly overlapping the bottom navigation bar on phones."
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=9996,a.ids=[964,8583,9996],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3421:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(71237),e=c(55088),f=c(17679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{a.exports=require("assert")},16700:(a,b,c)=>{c.d(b,{A:()=>e,Y:()=>f});let d=new Set(["claude","codex","antigravity"]);function e(a){return d.has(a)?"non_interactive":"interactive"}function f(a){return"non_interactive"===e(a)}},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},34631:a=>{a.exports=require("tls")},40964:(a,b,c)=>{c.d(b,{m:()=>g});var d=c(15194);let e=/^[a-zA-Z0-9_-]+$/;function f(a){if(!e.test(a))throw Error(`Invalid session name format: ${a}`)}function g(a,b,c){let e=`mcbd-${a}-${b}`;if(!c||c===a)return f(e),e;let g=(0,d.pL)(c,a),h=g?`${e}-${g}`:e;return f(h),h}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46961:(a,b,c)=>{c.d(b,{e:()=>f});var d=c(56791),e=c(82149);function f(a,b){if(!(0,d.getAssistantConversationById)(a,b))return;let c=(0,d.getRunningAssistantExecutionByConversation)(a,b),f=(0,e.kx)(b);c&&!f&&((0,d.updateAssistantExecution)(a,c.id,{status:"failed",finishedAt:new Date,stderrText:[c.stderrText??"","[Execution reconciled after process registry loss]"].filter(Boolean).join("\n")}),(0,d.updateAssistantConversation)(a,b,{status:"ready"}))}},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57821:(a,b,c)=>{c.d(b,{G:()=>e,O:()=>f});var d=c(43234);function e(a){return`assistant-${a}`}function f(a,b){let c=d.CLIToolManager.getInstance().getTool(a),f=e(b),g=c.getSessionName(f);return{cliTool:c,worktreeId:f,sessionName:g}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74075:a=>{a.exports=require("zlib")},79428:a=>{a.exports=require("buffer")},79551:a=>{a.exports=require("url")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80668:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>J,patchFetch:()=>I,routeModule:()=>E,serverHooks:()=>H,workAsyncStorage:()=>F,workUnitAsyncStorage:()=>G});var d={};c.r(d),c.d(d,{GET:()=>D});var e=c(95736),f=c(9117),g=c(4044),h=c(39326),i=c(32324),j=c(261),k=c(54290),l=c(85328),m=c(38928),n=c(46595),o=c(3421),p=c(17679),q=c(41681),r=c(63446),s=c(86439),t=c(51356),u=c(10641),v=c(15194),w=c(88807),x=c(56791),y=c(10406),z=c(79892),A=c(57821),B=c(16700),C=c(46961);async function D(a){let{searchParams:b}=new URL(a.url),c=b.get("repositoryId"),d=b.get("cliToolId");if(!c||"string"!=typeof c)return u.NextResponse.json({error:"Invalid repositoryId parameter"},{status:400});if(!d||!(0,v.hR)(d))return u.NextResponse.json({error:"Invalid cliToolId parameter"},{status:400});let e=(0,w.getDbInstance)();if(!(0,y.r)(e,c))return u.NextResponse.json({error:"Repository not found"},{status:404});let f=(0,x.getAssistantConversationByRepositoryAndCliTool)(e,c,d);if(!f)return u.NextResponse.json({conversation:null});if((0,B.Y)(d))return(0,C.e)(e,f.id),u.NextResponse.json({conversation:(0,x.getAssistantConversationByRepositoryAndCliTool)(e,c,d)});if("running"===f.status){let{sessionName:a}=(0,A.O)(d,f.id);if(!await (0,z.N)(a)){let a=(0,x.updateAssistantConversation)(e,f.id,{status:"stopped",lastStoppedAt:new Date});return u.NextResponse.json({conversation:a})}}return u.NextResponse.json({conversation:f})}let E=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/assistant/conversation/route",pathname:"/api/assistant/conversation",filename:"route",bundlePath:"app/api/assistant/conversation/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/assistant/conversation/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:F,workUnitAsyncStorage:G,serverHooks:H}=E;function I(){return(0,g.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:G})}async function J(a,b,c){var d;let e="/api/assistant/conversation/route";"/index"===e&&(e="/");let g=await E.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,resolvedPathname:C}=g,D=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[D]||y.routes[C]);if(F&&!x){let a=!!y.routes[C],b=y.dynamicRoutes[D];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||E.isDev||x||(G="/index"===(G=C)?"/":G);let H=!0===E.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>E.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>E.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&A&&B&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await E.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await E.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await E.onRequestError(a,b,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},81630:a=>{a.exports=require("http")},82149:(a,b,c)=>{c.d(b,{AR:()=>i,Qi:()=>j,XO:()=>f,kx:()=>h,uT:()=>g});let d=new Map,e=new Map;function f(a,b,c){d.set(a,{executionId:a,conversationId:b,process:c,cancellationRequested:!1}),e.set(b,a)}function g(a){let b=d.get(a);b&&(e.delete(b.conversationId),d.delete(a))}function h(a){let b=e.get(a);return b?d.get(b)??null:null}function i(a){return d.get(a)?.cancellationRequested??!1}function j(a){let b=h(a);return!!b&&(b.cancellationRequested=!0,!b.process.killed&&b.process.kill("SIGTERM"))}},83997:a=>{a.exports=require("tty")},84297:a=>{a.exports=require("async_hooks")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},95736:(a,b,c)=>{a.exports=c(44870)}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1331,641,3722,4390,9627,8807,406,5164,6661,9080,9130,4443,8800,7905,1886],()=>b(b.s=80668));module.exports=c})();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../../data/cm.db","../../../../../../locales/en/notifications.json","../../../../../../locales/en/worktree.json","../../../../../../locales/ja/notifications.json","../../../../../../locales/ja/worktree.json","../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../node_modules/better-sqlite3/package.json","../../../../../../node_modules/bindings/bindings.js","../../../../../../node_modules/bindings/package.json","../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../../scripts/hooks/cmate-agent-event.sh","../../../../../../src/lib/relay/relay-delivery.ts","../../../../../package.json","../../../../chunks/1191.js","../../../../chunks/1210.js","../../../../chunks/1331.js","../../../../chunks/1356.js","../../../../chunks/1501.js","../../../../chunks/1503.js","../../../../chunks/1634.js","../../../../chunks/1719.js","../../../../chunks/1886.js","../../../../chunks/2119.js","../../../../chunks/2445.js","../../../../chunks/2839.js","../../../../chunks/3077.js","../../../../chunks/3241.js","../../../../chunks/3323.js","../../../../chunks/3480.js","../../../../chunks/3707.js","../../../../chunks/3722.js","../../../../chunks/406.js","../../../../chunks/4390.js","../../../../chunks/4443.js","../../../../chunks/5164.js","../../../../chunks/5220.js","../../../../chunks/6065.js","../../../../chunks/641.js","../../../../chunks/650.js","../../../../chunks/6661.js","../../../../chunks/6677.js","../../../../chunks/6781.js","../../../../chunks/7905.js","../../../../chunks/8583.js","../../../../chunks/8728.js","../../../../chunks/8800.js","../../../../chunks/8807.js","../../../../chunks/8918.js","../../../../chunks/9080.js","../../../../chunks/9130.js","../../../../chunks/9627.js","../../../../chunks/964.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}
|