commandmate 0.38.0 → 0.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +471 -576
- package/.next/app-path-routes-manifest.json +32 -42
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +9 -9
- package/.next/react-loadable-manifest.json +2 -2
- 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 +1 -1
- 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 +1 -1
- package/.next/server/app/skills/page.js.nft.json +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +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 +32 -42
- package/.next/server/chunks/1210.js +1 -1
- package/.next/server/chunks/1707.js +1 -1
- 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/366.js +1 -0
- package/.next/server/chunks/3945.js +1 -1
- package/.next/server/chunks/4443.js +1 -1
- package/.next/server/chunks/5164.js +1 -1
- package/.next/server/chunks/5354.js +1 -1
- 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/7086.js +15 -0
- package/.next/server/chunks/8550.js +1 -0
- 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/CqFH31RhKQbrRZXsMNosJ/_buildManifest.js +1 -0
- package/.next/static/chunks/1032-9e43405ac6bf6848.js +1 -0
- package/.next/static/chunks/2318-af00abceb9b8eab5.js +1 -0
- package/.next/static/chunks/{2407-6fd60b674e20ec06.js → 2407-8fe4e4d0bab1931a.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/3504-0100ab50762f591b.js +1 -0
- package/.next/static/chunks/3778-56f41fc2cecb8c43.js +1 -0
- package/.next/static/chunks/4322-f54abdc5d16b7462.js +1 -0
- package/.next/static/chunks/4768-0ad5eb716bed5de9.js +1 -0
- package/.next/static/chunks/4949-a13ace141c0183d6.js +1 -0
- package/.next/static/chunks/5449-550bd273dccc3ae4.js +1 -0
- package/.next/static/chunks/5529-83e705fc4134a503.js +1 -0
- package/.next/static/chunks/{3313.53f7ff985c0c8852.js → 5694.dda65070757534df.js} +1 -1
- 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/8019-cc6ac1cc033fd5f0.js +1 -0
- package/.next/static/chunks/8283-26ad31a4670ea52d.js +1 -0
- package/.next/static/chunks/8606-e893c1dab6fb81bc.js +1 -0
- package/.next/static/chunks/9619-c3c4c623b0a4f681.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-f43045c9edbc4d1f.js +1 -0
- package/.next/static/chunks/app/loading-db675c84e696591f.js +1 -0
- package/.next/static/chunks/app/login/{page-af7241bb4c4a8e59.js → page-269a9de3b91a45a2.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-3963a5e56e550442.js +1 -0
- package/.next/static/chunks/app/page-0c1a29ff3609bd8b.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-e9ceeefacf87d470.js +1 -0
- package/.next/static/chunks/app/review/loading-db675c84e696591f.js +1 -0
- package/.next/static/chunks/app/review/page-3028fe95de490236.js +1 -0
- package/.next/static/chunks/app/sessions/loading-db675c84e696591f.js +1 -0
- package/.next/static/chunks/app/sessions/page-3f39f99b878fdda0.js +1 -0
- package/.next/static/chunks/app/skills/[skillId]/page-6f62668eabb635f5.js +1 -0
- package/.next/static/chunks/app/skills/installed/page-c6c4ac5e26c4e73e.js +1 -0
- package/.next/static/chunks/app/skills/page-bec1d4924004d4de.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/{page-f3361237420719b4.js → page-2e98f11956fe1aea.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-0305d80c8ebda4cb.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/terminal/page-373ea37b16d930c7.js +1 -0
- package/.next/static/chunks/{webpack-0281b30457d46ebc.js → webpack-9f75198882fdaf08.js} +1 -1
- package/.next/static/css/2c63c5531f77719e.css +1 -0
- package/.next/trace +13 -14
- package/.next/types/app/api/{assistant/start → 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 +22 -5
- package/dist/server/locales/ja/worktree.json +22 -5
- 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 +3 -2
- package/release-notes/0.39.0.json +94 -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/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/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-7dbce1029c6bdbb9.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/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/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-b8651c3f17c36800.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-86ef4510c70adefc.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/terminal/page-2631bc5c4b0a9fb8.js +0 -1
- package/.next/static/css/c511ecdf1e7f18a0.css +0 -1
- package/.next/static/rM1BO5QIz3tynGdyJy0T-/_buildManifest.js +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/terminal/route.ts +0 -347
- package/.next/types/app/api/assistant/tools/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/{rM1BO5QIz3tynGdyJy0T- → CqFH31RhKQbrRZXsMNosJ}/_ssgManifest.js +0 -0
|
@@ -33,8 +33,10 @@
|
|
|
33
33
|
* ## Which events are registered
|
|
34
34
|
*
|
|
35
35
|
* `SessionStart`, `PostToolUse` and `Stop` go to the fire-and-forget event
|
|
36
|
-
* receiver through the relay
|
|
37
|
-
*
|
|
36
|
+
* receiver through the relay (`Stop` with one field read on the way, Issue
|
|
37
|
+
* #2614 — see {@link buildAntigravityStopHookCommand}). `PreToolUse` goes
|
|
38
|
+
* somewhere else entirely, and that split is the single most important thing
|
|
39
|
+
* in this module.
|
|
38
40
|
*
|
|
39
41
|
* The other three are safe *and measured to be safe*, which is not the same
|
|
40
42
|
* claim twice:
|
|
@@ -71,9 +73,10 @@
|
|
|
71
73
|
* @module lib/hooks/sources/antigravity/hooks-config
|
|
72
74
|
*/
|
|
73
75
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
74
|
-
exports.ANTIGRAVITY_ABSTAIN_BODY = exports.ANTIGRAVITY_PERMISSION_TIMEOUT_SECONDS = exports.ANTIGRAVITY_PERMISSION_CURL_TIMEOUT_SECONDS = exports.ANTIGRAVITY_PERMISSION_URL_ENV_VAR = exports.ANTIGRAVITY_PERMISSION_HOOK_EVENT = exports.ANTIGRAVITY_REGISTERED_HOOKS = exports.ANTIGRAVITY_TOOL_MATCHER = exports.ANTIGRAVITY_HOOK_NAME = void 0;
|
|
76
|
+
exports.ANTIGRAVITY_FULLY_IDLE_FIELD = exports.ANTIGRAVITY_ABSTAIN_BODY = exports.ANTIGRAVITY_PERMISSION_TIMEOUT_SECONDS = exports.ANTIGRAVITY_PERMISSION_CURL_TIMEOUT_SECONDS = exports.ANTIGRAVITY_PERMISSION_URL_ENV_VAR = exports.ANTIGRAVITY_PERMISSION_HOOK_EVENT = exports.ANTIGRAVITY_REGISTERED_HOOKS = exports.ANTIGRAVITY_TOOL_MATCHER = exports.ANTIGRAVITY_HOOK_NAME = void 0;
|
|
75
77
|
exports.getAntigravityHooksConfigPath = getAntigravityHooksConfigPath;
|
|
76
78
|
exports.buildAntigravityHookCommand = buildAntigravityHookCommand;
|
|
79
|
+
exports.buildAntigravityStopHookCommand = buildAntigravityStopHookCommand;
|
|
77
80
|
exports.buildAntigravityPermissionHookCommand = buildAntigravityPermissionHookCommand;
|
|
78
81
|
exports.buildAntigravityHookConfig = buildAntigravityHookConfig;
|
|
79
82
|
exports.mergeAntigravityHooksConfig = mergeAntigravityHooksConfig;
|
|
@@ -82,6 +85,7 @@ exports.buildAntigravityLaunchCommand = buildAntigravityLaunchCommand;
|
|
|
82
85
|
const os_1 = require("os");
|
|
83
86
|
const path_1 = require("path");
|
|
84
87
|
const types_1 = require("../../../../lib/cli-tools/types");
|
|
88
|
+
const agent_event_types_1 = require("../../../../lib/hooks/agent-event-types");
|
|
85
89
|
const hook_settings_generator_1 = require("../../../../lib/hooks/hook-settings-generator");
|
|
86
90
|
const logger_1 = require("../../../../lib/logger");
|
|
87
91
|
// The `~/.gemini` tree belongs to gemini; agy lives inside it. The merge that
|
|
@@ -198,6 +202,60 @@ function buildAntigravityHookCommand(relayPath, event) {
|
|
|
198
202
|
'--stdin-json',
|
|
199
203
|
].join(' ');
|
|
200
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* The `Stop` payload field that says whether agy has background work left
|
|
207
|
+
* (Issue #2614).
|
|
208
|
+
*
|
|
209
|
+
* agy's own hook contract, as embedded in its binary: `"fullyIdle": true, //
|
|
210
|
+
* true if all background tasks are done`. A `schedule` timer is one of those
|
|
211
|
+
* tasks — the transcript records it as "Tool is running as a background task …
|
|
212
|
+
* Timer: 60s" — and so is a `run_command` that outlived `WaitMsBeforeAsync`.
|
|
213
|
+
* Both wake the agent with a system message when they finish, with nobody
|
|
214
|
+
* typing anything, so a `Stop` carrying `false` is not the end of the work.
|
|
215
|
+
*
|
|
216
|
+
* Captured as `true` in `tests/fixtures/hooks/antigravity/stop.json`. agy's
|
|
217
|
+
* protojson writes zero values (`"executionNum": 0`, `"error": ""` in the same
|
|
218
|
+
* fixture), so `false` is spelled out rather than omitted.
|
|
219
|
+
*/
|
|
220
|
+
exports.ANTIGRAVITY_FULLY_IDLE_FIELD = 'fullyIdle';
|
|
221
|
+
/**
|
|
222
|
+
* The `Stop` command: the relay, told when agy still has background work
|
|
223
|
+
* (Issue #2614).
|
|
224
|
+
*
|
|
225
|
+
* The relay (`scripts/hooks/cmate-agent-event.sh`) rebuilds the body it posts
|
|
226
|
+
* from a handful of fields and drops the rest of the payload, so
|
|
227
|
+
* {@link ANTIGRAVITY_FULLY_IDLE_FIELD} never reaches the server on its own. This
|
|
228
|
+
* reads the payload once, and when it says `false` hands the relay
|
|
229
|
+
* `--detail self_resume_pending` — the relay's own flag, which lands in
|
|
230
|
+
* `structuredEvents.lastEventDetail` where `commandmate wait` reads it.
|
|
231
|
+
*
|
|
232
|
+
* Everything else is the plain relay invocation, byte for byte, and three
|
|
233
|
+
* properties are what keep it safe on a `Stop`:
|
|
234
|
+
*
|
|
235
|
+
* - **It prints nothing.** agy obeys `{"decision":"continue"}` on this event's
|
|
236
|
+
* stdout, so the payload goes to the relay through a pipe and the relay's
|
|
237
|
+
* own `curl` output goes to `/dev/null`.
|
|
238
|
+
* - **Whitespace is not trusted.** Go's protojson varies it on purpose, so the
|
|
239
|
+
* check runs on the payload with blanks removed. A string value cannot fake
|
|
240
|
+
* the match: a quote inside one is escaped, and `\"fullyIdle\"` does not read
|
|
241
|
+
* as `"fullyIdle"`.
|
|
242
|
+
* - **Anything but a literal `false` is the old command.** `true`, a missing
|
|
243
|
+
* field and an empty payload all call the relay with exactly the arguments
|
|
244
|
+
* {@link buildAntigravityHookCommand} gives it, so a future agy that stops
|
|
245
|
+
* sending the field costs the hold in `wait` and nothing else.
|
|
246
|
+
*
|
|
247
|
+
* `tr` and `case` only — no `jq`, no `grep` — for the same reason the relay
|
|
248
|
+
* parses JSON with `sed`.
|
|
249
|
+
*
|
|
250
|
+
* @param relayPath - Absolute path to the relay script
|
|
251
|
+
*/
|
|
252
|
+
function buildAntigravityStopHookCommand(relayPath) {
|
|
253
|
+
const pending = `'"${exports.ANTIGRAVITY_FULLY_IDLE_FIELD}":false'`;
|
|
254
|
+
return ('p=$(cat); set --; ' +
|
|
255
|
+
`case "$(printf '%s' "$p" | tr -d ' \\t\\r\\n')" in ` +
|
|
256
|
+
`*${pending}*) set -- --detail ${agent_event_types_1.SELF_RESUME_PENDING_DETAIL} ;; esac; ` +
|
|
257
|
+
`printf '%s' "$p" | ${buildAntigravityHookCommand(relayPath, 'stop')} "$@"`);
|
|
258
|
+
}
|
|
201
259
|
/**
|
|
202
260
|
* The `PreToolUse` command, whose stdout **is** the verdict (Issue #1779).
|
|
203
261
|
*
|
|
@@ -260,7 +318,10 @@ function buildAntigravityHookConfig(relayPath) {
|
|
|
260
318
|
for (const [nativeName, event] of exports.ANTIGRAVITY_REGISTERED_HOOKS) {
|
|
261
319
|
const handler = {
|
|
262
320
|
type: 'command',
|
|
263
|
-
|
|
321
|
+
// Issue #2614: `Stop` alone carries a field the relay would drop.
|
|
322
|
+
command: event === 'stop'
|
|
323
|
+
? buildAntigravityStopHookCommand(relayPath)
|
|
324
|
+
: buildAntigravityHookCommand(relayPath, event),
|
|
264
325
|
timeout: hook_settings_generator_1.HOOK_TIMEOUT_SECONDS,
|
|
265
326
|
};
|
|
266
327
|
config[nativeName] = ANTIGRAVITY_GROUPED_EVENTS.has(nativeName)
|
|
@@ -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.0",
|
|
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",
|
|
@@ -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
|
+
}
|
|
@@ -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"]}
|