commandmate 0.49.2 → 0.50.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 +476 -423
- package/.next/app-path-routes-manifest.json +28 -21
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +9 -9
- package/.next/react-loadable-manifest.json +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +40 -0
- 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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route_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.js +1 -1
- package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route.js +1 -1
- package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_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 -103
- 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 +2 -2
- 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.js +1 -1
- package/.next/server/app/api/push/escalation/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js +4 -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/[relayId]/resolve/route.js +1 -0
- package/.next/server/app/api/relays/[relayId]/resolve/route.js.nft.json +1 -0
- package/.next/server/app/api/relays/[relayId]/resolve/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/relays/[relayId]/route.js +1 -1
- package/.next/server/app/api/relays/[relayId]/route.js.nft.json +1 -1
- package/.next/server/app/api/relays/[relayId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/route.js +4 -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.js +2 -2
- package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/role-defaults/route.js +1 -0
- package/.next/server/app/api/repositories/[id]/role-defaults/route.js.nft.json +1 -0
- package/.next/server/app/api/repositories/[id]/role-defaults/route_client-reference-manifest.js +1 -0
- 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.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/roles/[id]/route.js +1 -0
- package/.next/server/app/api/roles/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/roles/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/roles/route.js +1 -0
- package/.next/server/app/api/roles/route.js.nft.json +1 -0
- package/.next/server/app/api/roles/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/settings/agent-role-defaults/route.js +1 -0
- package/.next/server/app/api/settings/agent-role-defaults/route.js.nft.json +1 -0
- package/.next/server/app/api/settings/agent-role-defaults/route_client-reference-manifest.js +1 -0
- 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.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 +3 -3
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/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 +2 -2
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_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 +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]/instances/roles/route.js +1 -0
- package/.next/server/app/api/worktrees/[id]/instances/roles/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/instances/roles/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/worktrees/[id]/instances/roles/settle/route.js +1 -0
- package/.next/server/app/api/worktrees/[id]/instances/roles/settle/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/instances/roles/settle/route_client-reference-manifest.js +1 -0
- 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 +2 -2
- 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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +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]/prompt-response/strict/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/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 +2 -2
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +1 -144
- 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 +3 -104
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route.js +2 -2
- package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -103
- 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_client-reference-manifest.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.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js.nft.json +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_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 +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_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_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page.js +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +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 +10 -10
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +28 -21
- package/.next/server/chunks/1184.js +5 -0
- package/.next/server/chunks/1501.js +5 -5
- package/.next/server/chunks/1656.js +2 -2
- package/.next/server/chunks/1957.js +2 -2
- package/.next/server/chunks/1990.js +103 -0
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2404.js +1 -1
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/2819.js +1 -0
- package/.next/server/chunks/2897.js +1 -1
- package/.next/server/chunks/3042.js +2 -0
- package/.next/server/chunks/3241.js +1 -1
- package/.next/server/chunks/3294.js +3 -0
- package/.next/server/chunks/3417.js +1 -1
- package/.next/server/chunks/3480.js +1 -1
- package/.next/server/chunks/3505.js +2 -6
- package/.next/server/chunks/3543.js +1 -1
- package/.next/server/chunks/3801.js +7 -7
- package/.next/server/chunks/3945.js +1 -1
- package/.next/server/chunks/4207.js +1 -1
- package/.next/server/chunks/454.js +1 -0
- package/.next/server/chunks/4645.js +1 -0
- package/.next/server/chunks/4911.js +1 -1
- package/.next/server/chunks/5209.js +2 -2
- package/.next/server/chunks/5350.js +216 -0
- package/.next/server/chunks/5354.js +1 -1
- package/.next/server/chunks/5571.js +1 -1
- package/.next/server/chunks/6009.js +12 -0
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6285.js +1 -1
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/6486.js +2 -2
- package/.next/server/chunks/6569.js +1 -0
- package/.next/server/chunks/6781.js +1 -1
- package/.next/server/chunks/6793.js +4 -4
- package/.next/server/chunks/696.js +3 -0
- package/.next/server/chunks/7023.js +3 -3
- package/.next/server/chunks/7083.js +1 -0
- package/.next/server/chunks/741.js +1 -0
- package/.next/server/chunks/7662.js +1 -0
- package/.next/server/chunks/7905.js +1 -1
- package/.next/server/chunks/8143.js +33 -0
- package/.next/server/chunks/8581.js +6 -6
- package/.next/server/chunks/8728.js +2 -2
- package/.next/server/chunks/8782.js +1 -1
- package/.next/server/chunks/8807.js +181 -93
- package/.next/server/chunks/8918.js +3 -105
- package/.next/server/chunks/8955.js +1 -0
- package/.next/server/chunks/9169.js +1 -0
- package/.next/server/chunks/923.js +1 -0
- package/.next/server/chunks/9390.js +2 -2
- package/.next/server/chunks/9627.js +9 -9
- package/.next/server/chunks/973.js +1 -0
- package/.next/server/chunks/9731.js +3 -3
- 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/chunks/2314-2c9d587a27e8f731.js +1 -0
- package/.next/static/chunks/2407-ee881c99e218975b.js +1 -0
- package/.next/static/chunks/3931-24d7e245a93feb25.js +1 -0
- package/.next/static/chunks/4548-9afa02fd18afa6c7.js +1 -0
- package/.next/static/chunks/{5794-7975b8e51e731b19.js → 5794-38b3b504b3d97e04.js} +1 -1
- package/.next/static/chunks/{6966-d8dc6032410ffaba.js → 6966-dbfa4a43397f8c6d.js} +1 -1
- package/.next/static/chunks/7090-28e83f5a0efdb3b4.js +1 -0
- package/.next/static/chunks/7229.016d007c467a3600.js +1 -0
- package/.next/static/chunks/{8407-35bbfc84793d7004.js → 8407-dd6a8062fc449899.js} +1 -1
- package/.next/static/chunks/app/api/agents/update/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/agents/versions/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/app/release-notes/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/app/update/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/app/update-check/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/capabilities/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/status/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/external-apps/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/fs/browse/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/fs/recent-paths/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/hooks/agent-event/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/hooks/claude-done/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/hooks/permission-request/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/metrics/vibe/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/ollama/models/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/push/escalation/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/push/subscriptions/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/push/vapid/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/relays/[relayId]/resolve/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/relays/[relayId]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/relays/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/remote/pair/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/role-defaults/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/repositories/excluded/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/repositories/restore/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/repositories/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/repositories/scan/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/repositories/sync/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/repositories/validate-path/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/roles/[id]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/roles/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/settings/agent-role-defaults/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/settings/default-agents/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/settings/default-surface-mode/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/sidebar/group-order/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/skills/[id]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/skills/installations/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/skills/operations/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/skills/reindex/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/skills/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/slash-commands/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/templates/[id]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/templates/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/env/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/roles/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/roles/settle/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/layout-7bf800fcc5e025b1.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/more/{page-ff5af5ca48774c89.js → page-e8f5780f6e4fb657.js} +1 -1
- package/.next/static/chunks/app/{page-b4863bfe0452e09d.js → page-869f353a4ac4e15b.js} +1 -1
- package/.next/static/chunks/app/proxy/[...path]/route-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/repositories/page-bedb505687010f18.js +1 -0
- package/.next/static/chunks/app/review/page-87c4a9b0de50fa80.js +1 -0
- package/.next/static/chunks/app/sessions/{page-c6eb7c02db2f4c80.js → page-82ca46793789fce4.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/layout-476063c3571b81dd.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-570eb79fbbd1a934.js +1 -0
- package/.next/static/chunks/{webpack-838df0273b03af19.js → webpack-16b1a3143fa42ca0.js} +1 -1
- package/.next/static/css/d4f2c9522cf1b449.css +1 -0
- package/.next/static/z4d8-5MaLkoD-4EhueZwk/_buildManifest.js +1 -0
- package/.next/trace +14 -13
- package/.next/types/app/api/relays/[relayId]/resolve/route.ts +347 -0
- package/.next/types/app/api/repositories/[id]/role-defaults/route.ts +347 -0
- package/.next/types/app/api/roles/[id]/route.ts +347 -0
- package/.next/types/app/api/roles/route.ts +347 -0
- package/.next/types/app/api/settings/agent-role-defaults/route.ts +347 -0
- package/.next/types/app/api/worktrees/[id]/instances/roles/route.ts +347 -0
- package/.next/types/app/api/worktrees/[id]/instances/roles/settle/route.ts +347 -0
- package/.next/types/routes.d.ts +8 -1
- package/.next/types/validator.ts +63 -0
- package/dist/cli/commands/instances.d.ts +1 -0
- package/dist/cli/commands/instances.d.ts.map +1 -1
- package/dist/cli/commands/instances.js +290 -33
- package/dist/cli/commands/message-dispatch.d.ts +25 -3
- package/dist/cli/commands/message-dispatch.d.ts.map +1 -1
- package/dist/cli/commands/message-dispatch.js +26 -6
- package/dist/cli/commands/prompt.d.ts.map +1 -1
- package/dist/cli/commands/prompt.js +2 -1
- package/dist/cli/commands/relays.d.ts +7 -0
- package/dist/cli/commands/relays.d.ts.map +1 -1
- package/dist/cli/commands/relays.js +179 -6
- package/dist/cli/commands/report.d.ts +7 -2
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +19 -6
- package/dist/cli/commands/respond-strict.d.ts.map +1 -1
- package/dist/cli/commands/respond-strict.js +9 -2
- package/dist/cli/commands/roles.d.ts +11 -0
- package/dist/cli/commands/roles.d.ts.map +1 -0
- package/dist/cli/commands/roles.js +392 -0
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +526 -38
- package/dist/cli/commands/task.d.ts +22 -0
- package/dist/cli/commands/task.d.ts.map +1 -1
- package/dist/cli/commands/task.js +26 -18
- package/dist/cli/docs/agent-operations.d.ts +1 -1
- package/dist/cli/docs/agent-operations.d.ts.map +1 -1
- package/dist/cli/docs/agent-operations.js +91 -3
- package/dist/cli/index.d.ts +4 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +6 -0
- package/dist/cli/types/api-responses.d.ts +106 -0
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/cli/types/index.d.ts +38 -0
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/cli/types/index.js +15 -1
- package/dist/cli/utils/agent-instances.d.ts +29 -1
- package/dist/cli/utils/agent-instances.d.ts.map +1 -1
- package/dist/cli/utils/agent-instances.js +67 -7
- package/dist/cli/utils/agent-roles.d.ts +75 -0
- package/dist/cli/utils/agent-roles.d.ts.map +1 -0
- package/dist/cli/utils/agent-roles.js +238 -0
- package/dist/cli/utils/api-client-deadline.d.ts +28 -0
- package/dist/cli/utils/api-client-deadline.d.ts.map +1 -0
- package/dist/cli/utils/api-client-deadline.js +46 -0
- package/dist/cli/utils/api-client-errors.d.ts +140 -0
- package/dist/cli/utils/api-client-errors.d.ts.map +1 -0
- package/dist/cli/utils/api-client-errors.js +222 -0
- package/dist/cli/utils/api-client.d.ts +9 -131
- package/dist/cli/utils/api-client.d.ts.map +1 -1
- package/dist/cli/utils/api-client.js +43 -258
- package/dist/cli/utils/role-failure.d.ts +31 -0
- package/dist/cli/utils/role-failure.d.ts.map +1 -0
- package/dist/cli/utils/role-failure.js +90 -0
- package/dist/cli/utils/role-input.d.ts +16 -0
- package/dist/cli/utils/role-input.d.ts.map +1 -0
- package/dist/cli/utils/role-input.js +78 -0
- package/dist/cli/utils/security-logger.d.ts +17 -0
- package/dist/cli/utils/security-logger.d.ts.map +1 -1
- package/dist/cli/utils/security-logger.js +44 -5
- package/dist/lib/cli-tools/types.d.ts +6 -0
- package/dist/lib/cli-tools/types.d.ts.map +1 -1
- package/dist/lib/detection/tools/verified-against.d.ts +16 -0
- package/dist/lib/detection/tools/verified-against.d.ts.map +1 -1
- package/dist/lib/detection/tools/verified-against.js +16 -0
- package/dist/lib/session/send-attempt-types.d.ts +4 -0
- package/dist/lib/session/send-attempt-types.d.ts.map +1 -1
- package/dist/lib/verification/verify-config.d.ts +22 -0
- package/dist/lib/verification/verify-config.d.ts.map +1 -1
- package/dist/lib/verification/verify-config.js +32 -2
- package/dist/server/locales/en/worktree.json +30 -4
- package/dist/server/locales/ja/worktree.json +30 -4
- package/dist/server/src/config/safe-directory.js +30 -0
- package/dist/server/src/lib/agent-roles/adapters.js +174 -0
- package/dist/server/src/lib/agent-roles/artifacts.js +638 -0
- package/dist/server/src/lib/agent-roles/composition.js +222 -0
- package/dist/server/src/lib/agent-roles/fingerprint.js +21 -0
- package/dist/server/src/lib/agent-roles/jsonc.js +85 -0
- package/dist/server/src/lib/agent-roles/launch-errors.js +58 -0
- package/dist/server/src/lib/agent-roles/pane-env.js +63 -0
- package/dist/server/src/lib/agent-roles/resolve.js +375 -0
- package/dist/server/src/lib/agent-roles/toml-basic.js +140 -0
- package/dist/server/src/lib/agent-roles/unicode.js +16 -0
- package/dist/server/src/lib/agent-roles/validation.js +61 -0
- package/dist/server/src/lib/cli-tools/antigravity.js +39 -6
- package/dist/server/src/lib/cli-tools/base.js +63 -5
- package/dist/server/src/lib/cli-tools/claude-auto-default-nudge.js +141 -0
- package/dist/server/src/lib/cli-tools/claude.js +15 -3
- package/dist/server/src/lib/cli-tools/codex.js +134 -21
- package/dist/server/src/lib/cli-tools/command-code.js +28 -13
- package/dist/server/src/lib/cli-tools/copilot.js +189 -31
- package/dist/server/src/lib/cli-tools/gemini.js +37 -3
- package/dist/server/src/lib/cli-tools/launch-answer-skips.js +76 -0
- package/dist/server/src/lib/cli-tools/opencode-v2.js +10 -0
- package/dist/server/src/lib/cli-tools/opencode.js +214 -12
- package/dist/server/src/lib/cli-tools/prompt-wait-dialog.js +115 -0
- package/dist/server/src/lib/cli-tools/submit-composer-read.js +65 -12
- package/dist/server/src/lib/cli-tools/submit-verified-sender-composer.js +78 -0
- package/dist/server/src/lib/cli-tools/submit-verified-sender-lock.js +116 -0
- package/dist/server/src/lib/cli-tools/submit-verified-sender-report.js +250 -0
- package/dist/server/src/lib/cli-tools/submit-verified-sender-shared.js +106 -0
- package/dist/server/src/lib/cli-tools/submit-verified-sender.js +94 -295
- package/dist/server/src/lib/cli-tools/vibe-local.js +111 -0
- package/dist/server/src/lib/db/agent-instances-db.js +53 -0
- package/dist/server/src/lib/db/agent-roles-db.js +409 -0
- package/dist/server/src/lib/db/agent-session-cost-sampler.js +3 -2
- package/dist/server/src/lib/db/chat-db.js +14 -1
- package/dist/server/src/lib/db/db-instance.js +84 -2
- package/dist/server/src/lib/db/migrations/index.js +6 -0
- package/dist/server/src/lib/db/migrations/runner.js +1 -1
- package/dist/server/src/lib/db/migrations/v63-session-relays-delivery-attempt.js +61 -0
- package/dist/server/src/lib/db/migrations/v64-agent-roles.js +123 -0
- package/dist/server/src/lib/db/migrations/v65-agent-instance-creation-keys.js +42 -0
- package/dist/server/src/lib/db/relay-bind-db-base.js +89 -0
- package/dist/server/src/lib/db/relay-bind-db-delivery.js +223 -0
- package/dist/server/src/lib/db/relay-bind-db-pending.js +183 -0
- package/dist/server/src/lib/db/relay-bind-db.js +88 -167
- package/dist/server/src/lib/db/relay-db-base.js +20 -0
- package/dist/server/src/lib/db/relay-db-count.js +49 -0
- package/dist/server/src/lib/db/relay-db-delivery.js +104 -0
- package/dist/server/src/lib/db/relay-db-hold.js +250 -0
- package/dist/server/src/lib/db/relay-db.js +68 -92
- package/dist/server/src/lib/detection/cli-patterns.js +13 -3
- package/dist/server/src/lib/detection/model-info-extractor.js +1 -1
- package/dist/server/src/lib/detection/tools/claude/patterns.js +76 -0
- package/dist/server/src/lib/detection/tools/codex/cli-patterns.js +5 -0
- package/dist/server/src/lib/detection/tools/codex/detect.js +5 -1
- package/dist/server/src/lib/detection/tools/codex/patterns.js +52 -2
- package/dist/server/src/lib/detection/tools/codex/prompt.js +23 -3
- package/dist/server/src/lib/detection/tools/opencode/composer-own-text.js +119 -0
- package/dist/server/src/lib/detection/tools/opencode/detect.js +30 -15
- package/dist/server/src/lib/detection/tools/opencode/patterns.js +268 -7
- package/dist/server/src/lib/detection/tools/opencode/readiness.js +71 -0
- package/dist/server/src/lib/detection/tools/opencode-v2/detect.js +51 -15
- package/dist/server/src/lib/detection/tools/opencode-v2/patterns.js +195 -11
- package/dist/server/src/lib/detection/tools/run-detection.js +5 -2
- package/dist/server/src/lib/detection/tools/verified-against.js +16 -0
- package/dist/server/src/lib/detection/tools/vibe-local/readiness.js +92 -0
- package/dist/server/src/lib/git/git-common-dir.js +192 -0
- package/dist/server/src/lib/hooks/hook-settings-generator.js +8 -2
- package/dist/server/src/lib/hooks/sources/copilot/hook-settings.js +31 -1
- package/dist/server/src/lib/hooks/sources/launch-command.js +31 -8
- package/dist/server/src/lib/hooks/sources/opencode/client.js +20 -0
- package/dist/server/src/lib/hooks/sources/opencode-v2/client.js +24 -0
- package/dist/server/src/lib/hooks/sources/opencode-v2/history.js +208 -35
- package/dist/server/src/lib/hooks/sources/opencode-v2/secrets.js +7 -1
- package/dist/server/src/lib/hooks/sources/opencode-v2/subscription.js +117 -2
- package/dist/server/src/lib/job-executor.js +18 -1
- package/dist/server/src/lib/polling/response-checker-extraction-steps.js +58 -4
- package/dist/server/src/lib/polling/response-checker.js +32 -7
- package/dist/server/src/lib/relay/relay-bound-reply.js +20 -9
- package/dist/server/src/lib/relay/relay-delivery-block.js +150 -0
- package/dist/server/src/lib/relay/relay-delivery.js +416 -79
- package/dist/server/src/lib/relay/relay-messages.js +13 -0
- package/dist/server/src/lib/relay/relay-system-line.js +28 -15
- package/dist/server/src/lib/relay/types.js +14 -2
- package/dist/server/src/lib/response-cleaner.js +13 -3
- package/dist/server/src/lib/response-extractor.js +38 -3
- package/dist/server/src/lib/session/agent-session-lifecycle.js +9 -1
- package/dist/server/src/lib/session/claude-executor.js +13 -1
- package/dist/server/src/lib/session/claude-session.js +113 -14
- package/dist/server/src/lib/session/current-output-builder.js +7 -5
- package/dist/server/src/lib/session/instance-input-lock.js +140 -6
- package/dist/server/src/lib/session/prompt-submit-receipt.js +87 -18
- package/dist/server/src/lib/session/prompt-waiting-guard.js +8 -2
- package/dist/server/src/lib/session/respond-target.js +82 -0
- package/dist/server/src/lib/session/role-launch.js +722 -0
- package/dist/server/src/lib/session/send-attempt-state.js +137 -3
- package/dist/server/src/lib/session/send-user-message.js +84 -7
- package/dist/server/src/lib/session/session-generation-archive.js +7 -8
- package/dist/server/src/lib/session/session-launch-flight.js +33 -1
- package/dist/server/src/lib/session/structured-prompt.js +12 -7
- package/dist/server/src/lib/session/worktree-session-reconcile.js +15 -0
- package/dist/server/src/lib/session-key-sender.js +6 -1
- package/dist/server/src/lib/test-run-detection.js +53 -0
- package/dist/server/src/lib/tmux/read-mode.js +4 -0
- package/dist/server/src/lib/tmux/session-hook-scripts.js +36 -4
- package/dist/server/src/lib/tui-accumulator.js +14 -5
- package/dist/server/src/lib/verification/env-clean-gate.js +117 -12
- package/dist/server/src/lib/verification/gate-runner.js +9 -8
- package/dist/server/src/lib/verification/verify-config.js +32 -2
- package/dist/server/src/types/agent-roles.js +56 -0
- package/dist/types/agent-roles.d.ts +351 -0
- package/dist/types/agent-roles.d.ts.map +1 -0
- package/dist/types/agent-roles.js +56 -0
- package/docs/en/user-guide/webapp-guide.md +16 -0
- package/package.json +2 -1
- package/release-notes/0.49.3.json +52 -0
- package/release-notes/0.50.0.json +113 -0
- package/.next/server/chunks/1062.js +0 -1
- package/.next/server/chunks/110.js +0 -1
- package/.next/server/chunks/2422.js +0 -1
- package/.next/server/chunks/3756.js +0 -1
- package/.next/server/chunks/4936.js +0 -1
- package/.next/server/chunks/5630.js +0 -1
- package/.next/server/chunks/610.js +0 -1
- package/.next/server/chunks/6119.js +0 -1
- package/.next/server/chunks/6808.js +0 -4
- package/.next/server/chunks/7491.js +0 -3
- package/.next/server/chunks/9198.js +0 -144
- package/.next/server/chunks/9360.js +0 -2
- package/.next/server/chunks/9584.js +0 -1
- package/.next/static/chunks/2407-07a237575e1ceb9e.js +0 -1
- package/.next/static/chunks/344-e1cefd00787060e4.js +0 -1
- package/.next/static/chunks/3931-61ad1a4fc0208d0e.js +0 -1
- package/.next/static/chunks/7229.7f0f5a7032b612b4.js +0 -1
- package/.next/static/chunks/8165-263172c17ae8e8c3.js +0 -1
- package/.next/static/chunks/app/api/agents/update/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/agents/versions/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/app/release-notes/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/app/update/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/app/update-check/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/capabilities/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/status/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/external-apps/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/fs/browse/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/fs/recent-paths/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/hooks/agent-event/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/hooks/claude-done/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/hooks/permission-request/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/metrics/vibe/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/ollama/models/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/push/escalation/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/push/subscriptions/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/push/vapid/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/relays/[relayId]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/relays/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/remote/pair/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/repositories/excluded/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/repositories/restore/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/repositories/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/repositories/scan/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/repositories/sync/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/repositories/validate-path/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/settings/default-agents/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/settings/default-surface-mode/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/sidebar/group-order/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/skills/[id]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/skills/installations/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/skills/operations/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/skills/reindex/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/skills/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/slash-commands/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/templates/[id]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/templates/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/env/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/layout-4f64316957b0a8e5.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/proxy/[...path]/route-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/repositories/page-71f5a5ac29b0370d.js +0 -1
- package/.next/static/chunks/app/review/page-ff3efb96fdf9bb4b.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/layout-a4f129c451de7859.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-33afc6aa96289fb0.js +0 -1
- package/.next/static/css/c1e307d05daf93b6.css +0 -1
- package/.next/static/yGatWDsS532awSs51kXyd/_buildManifest.js +0 -1
- /package/.next/static/{yGatWDsS532awSs51kXyd → z4d8-5MaLkoD-4EhueZwk}/_ssgManifest.js +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use strict";exports.id=7023,exports.ids=[7023],exports.modules={722:(a,b,c)=>{c.d(b,{UI:()=>j});var d=c(38301);function e(){return{pending:0,delivered:0,prompt:0,expired:0,cancelled:0}}let f=[],g=new Map;function h(){return{open:f,counts:e()}}async function i(a,b){try{let c=await fetch(`/api/relays?worktree=${encodeURIComponent(a)}`);if(!c.ok)return;let d=await c.json();if(g.get(a)!==b)return;for(let a of(b.snapshot={open:Array.isArray(d.open)?d.open:f,counts:d.counts??e()},b.listeners))a()}catch{}}function j(a){let[b]=(0,d.useState)(h),c=(0,d.useCallback)(b=>{let c;if(!a)return()=>{};let d=((c=g.get(a))||(c={snapshot:h(),listeners:new Set,timer:null,refs:0},g.set(a,c)),c.refs+=1,null===c.timer&&(i(a,c),c.timer=setInterval(()=>void i(a,c),2e4)),c);return d.listeners.add(b),()=>{d.listeners.delete(b),function(a){let b=g.get(a);b&&(b.refs-=1,b.refs>0||(b.timer&&clearInterval(b.timer),g.delete(a)))}(a)}},[a]),e=(0,d.useCallback)(()=>a?g.get(a)?.snapshot??b:b,[a,b]),{open:f,counts:j}=(0,d.useSyncExternalStore)(c,e,e),k=(0,d.useCallback)(()=>{let b=a?g.get(a):void 0;a&&b&&i(a,b)},[a]);return(0,d.useMemo)(()=>({open:f,counts:j,owedBy:b=>f.filter(c=>c.to.worktreeId===a&&c.to.instanceId===b),awaitedBy:b=>f.filter(c=>c.from.worktreeId===a&&c.from.instanceId===b),refresh:k}),[f,j,a,k])}},1401:(a,b,c)=>{c.d(b,{IJ:()=>e,mW:()=>h});let d="decision_not_found";async function e(a){let b=await a.json().catch(()=>null),c="object"==typeof b&&null!==b?b:{};if(a.ok)return{outcome:!1===c.success?"refused":"answered",body:c,partial:!1};let e=c.code===d||c.reason===d;if(404===a.status&&e)return{outcome:"refused",body:c,partial:!1};let f="answer_input_lost"===c.reason&&!0===c.keysSent;return{outcome:"failed",body:c,partial:f}}let f={refused:{messageKey:"promptResponse.refused",type:"warning"},failed:{messageKey:"promptResponse.failed",type:"error"}},g={messageKey:"promptResponse.partial",type:"warning"};function h(a,b){return"failed"===a&&b?g:f[a]}},2842:(a,b,c)=>{c.d(b,{H:()=>g});var d=c(21124);c(38301);var e=c(56722),f=c(45538);let g={code:({node:a,className:b,children:c,...g})=>(0,f.c)(b)?(0,d.jsx)(e.AY,{className:b,node:a,children:c}):(0,d.jsx)("code",{className:b,...g,children:c}),pre:({node:a,children:b,...c})=>(0,f.D)(b)?(0,d.jsx)(d.Fragment,{children:b}):(0,d.jsx)("pre",{...c,children:b})}},3171:(a,b,c)=>{c.d(b,{D:()=>s});var d=c(21124),e=c(38301),f=c(20481),g=c(70584),h=c(24417),i=c(27357),j=c(82258);let k=/\x1b(?:\[[0-9;?]*)?$/;var l=c(7879);function m(a){return""===(0,l.aJ)(a).trim()}var n=c(44489),o=c(77478);function p({query:a,onQueryChange:b,matchCount:c,currentIndex:f,onNext:g,onPrev:h,onClose:i,isAtMaxMatches:j=!1}){let k=(0,e.useRef)(null),l=(0,e.useCallback)(a=>{"Escape"===a.key&&i()},[i]),m=(0,e.useCallback)(a=>{b(a.target.value)},[b]),n=0===c?"0/0":j?`${f+1}/${o.F0}以上`:`${f+1}/${c}`;return(0,d.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1 bg-gray-800 border border-gray-600 rounded shadow-lg",role:"search","aria-label":"ターミナル内テキスト検索",children:[(0,d.jsx)("input",{ref:k,type:"text",value:a,onChange:m,onKeyDown:l,placeholder:"検索...",className:"bg-transparent text-gray-200 text-sm outline-none w-32 sm:w-40 placeholder-gray-500","aria-label":"検索キーワード",autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1}),(0,d.jsx)("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"text-gray-400 text-xs min-w-[3rem] text-right",children:n}),(0,d.jsx)("button",{onClick:h,disabled:0===c,"aria-label":"前の結果",className:"text-gray-300 hover:text-white disabled:text-gray-600 min-w-[36px] min-h-[36px] flex items-center justify-center text-base",children:"▲"}),(0,d.jsx)("button",{onClick:g,disabled:0===c,"aria-label":"次の結果",className:"text-gray-300 hover:text-white disabled:text-gray-600 min-w-[36px] min-h-[36px] flex items-center justify-center text-base",children:"▼"}),(0,d.jsx)("button",{onClick:i,"aria-label":"検索を閉じる",className:"text-gray-400 hover:text-white min-w-[36px] min-h-[36px] flex items-center justify-center text-base ml-1",children:"✕"})]})}var q=c(84666);function r(){return(0,d.jsxs)("div",{"data-testid":"thinking-indicator",className:"flex items-center gap-2 py-2 px-1 text-gray-400",children:[(0,d.jsxs)("span",{className:"flex gap-1",children:[(0,d.jsx)("span",{className:"animate-pulse delay-0",children:"."}),(0,d.jsx)("span",{className:"animate-pulse delay-150",children:"."}),(0,d.jsx)("span",{className:"animate-pulse delay-300",children:"."})]}),(0,d.jsx)("span",{className:"text-sm",children:"Thinking"})]})}let s=(0,e.memo)(function({output:a,isActive:b,attaching:c=!1,isThinking:s=!1,autoScroll:t=!0,onScrollChange:u,disableAutoFollow:v=!1,compactTuiLayoutPadding:w=!1,preservePaintedPanelRows:x=!1,wrapMode:y="viewport",density:z="regular",searchBarTopClassName:A="top-2",className:B=""}){let C=(0,f.c)("worktree"),{scrollRef:D,autoScroll:E,handleScroll:F,scrollToBottom:G,scrollToTop:H}=function(a={}){let{initialAutoScroll:b=!0,onAutoScrollChange:c}=a,d=(0,e.useRef)(null),[f,g]=(0,e.useState)(b),h=(0,e.useRef)(!1),i=(0,e.useRef)(null),j=(0,e.useCallback)(a=>{g(a),c?.(a)},[c]),k=(0,e.useCallback)(()=>{let a=d.current;if(!a)return!0;let{scrollTop:b,scrollHeight:c,clientHeight:e}=a;return c-e-b<=50},[]),l=(0,e.useCallback)(()=>{if(h.current)return;let a=k();a&&!f?j(!0):!a&&f&&j(!1)},[f,k,j]),m=(0,e.useCallback)(()=>{let a=d.current;a&&(h.current=!0,a.scrollTo({top:a.scrollHeight,behavior:"smooth"}),f||j(!0),i.current=setTimeout(()=>{h.current=!1,i.current=null},500))},[f,j]),n=(0,e.useCallback)(()=>{let a=d.current;a&&(h.current=!0,a.scrollTo({top:0,behavior:"smooth"}),f&&j(!1),i.current=setTimeout(()=>{h.current=!1,i.current=null},500))},[f,j]);return{scrollRef:d,autoScroll:f,setAutoScroll:j,scrollToBottom:m,scrollToTop:n,handleScroll:l}}({initialAutoScroll:t,onAutoScrollChange:u}),I=a??"",J=(0,e.useMemo)(()=>w?x?(0,n.Dk)(I):function(a){if(""===a)return"";let b=a.split("\n"),c=[],d=!1,e=0;for(;e<b.length;){if(!m(b[e])){c.push(b[e]),d=!0,e++;continue}let a=e;for(;a<b.length&&m(b[a]);)a++;let f=a-e,g=!d,h=a>=b.length;if(!g&&!h)if(f<=2)for(let d=e;d<a;d++)c.push(b[d]);else c.push((0,l.x6)(b.slice(e,a).join("")));e=a}return c.join("\n")}(I):I,[w,x,I]),K=(0,e.useMemo)(()=>{if("frame"===y)return{minWidth:`${(0,q.pN)(J)}ch`}},[y,J]),{isOpen:L,query:M,matchCount:N,currentIndex:O,isAtMaxMatches:P,openSearch:Q,closeSearch:R,setQuery:S,nextMatch:T,prevMatch:U}=(0,o.Yr)({output:J,containerRef:D}),V=(0,e.useCallback)(a=>{(a.ctrlKey||a.metaKey)&&"f"===a.key&&(a.preventDefault(),Q())},[Q]);(0,e.useEffect)(()=>{let a=()=>Q();return window.addEventListener("terminal-search-open",a),()=>window.removeEventListener("terminal-search-open",a)},[Q]);let[W,X]=(0,e.useState)(()=>J?[{key:0,html:(0,i.l5)(J)}]:[]),Y=(0,e.useRef)(J),Z=(0,e.useRef)(0);(0,e.useEffect)(()=>{let a=function(a,b){if(a===b)return{mode:"noop",text:b,appended:"",retainedLength:a.length};if(0===a.length||b.length<=a.length||!b.startsWith(a))return{mode:"replace",text:b,appended:"",retainedLength:0};let c=a.match(k),d=c?a.length-c[0].length:a.length;return{mode:"append",text:b,appended:b.slice(d),retainedLength:d}}(Y.current,J);if(Y.current=J,"noop"===a.mode)return;let b="append"===a.mode&&a.appended.length>j.ZJ;if("append"===a.mode&&!b)return void X(b=>(Z.current+=1,b.length>=400)?[{key:Z.current,html:(0,i.l5)(J)}]:[...b,{key:Z.current,html:(0,i.l5)(a.appended)}]);Z.current+=1,X(J?[{key:Z.current,html:(0,i.l5)(J)}]:[])},[J]);let[$,_]=(0,e.useState)(!1);(0,e.useEffect)(()=>{c?_(!1):b&&_(!0)},[c,b]);let aa=!a,ab=aa&&c,ac=aa&&!c&&!b&&$,ad=(0,e.useRef)(!1);(0,e.useEffect)(()=>{v&&(ad.current=!0)},[v]),(0,e.useEffect)(()=>{if(D.current){if(ad.current&&v&&J){D.current.scrollTo({top:0,behavior:"instant"}),ad.current=!1;return}!v&&E&&D.current.scrollTo({top:D.current.scrollHeight,behavior:"instant"})}},[W,J,E,v,D]);let ae=(0,e.useMemo)(()=>["terminal","font-mono","compact"===z?"text-xs":"text-sm","compact"===z?"p-2":"p-4","rounded-lg","overflow-y-auto","frame"===y?"overflow-x-auto":"overflow-x-hidden","bg-gray-900","text-gray-300","border","border-gray-700","h-full",b?"active":"",B].filter(Boolean).join(" "),[b,B,y,z]),[af,ag]=(0,e.useState)(!1),ah=(0,e.useRef)(null),ai=(0,e.useCallback)(()=>{ag(!0),ah.current&&clearTimeout(ah.current),ah.current=setTimeout(()=>ag(!1),1500)},[]);(0,e.useEffect)(()=>()=>{ah.current&&clearTimeout(ah.current)},[]);let aj=(0,e.useCallback)(()=>{F(),ai()},[F,ai]),ak=["absolute bottom-4 right-4 flex items-center justify-center h-9 w-9 rounded-full bg-surface/80 backdrop-blur border border-border text-muted-foreground shadow-lg transition-opacity hover:text-surface-foreground hover:opacity-100 focus-visible:opacity-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",af?"opacity-100":"opacity-60"].join(" ");return(0,d.jsxs)("div",{className:"relative h-full flex flex-col",children:[L&&(0,d.jsx)("div",{className:`absolute ${A} right-2 z-10`,children:(0,d.jsx)(p,{query:M,onQueryChange:S,matchCount:N,currentIndex:O,onNext:T,onPrev:U,onClose:R,isAtMaxMatches:P})}),(0,d.jsxs)("div",{ref:D,role:"log","aria-live":"polite","aria-label":"Terminal output",className:ae,onScroll:aj,onKeyDown:V,tabIndex:0,children:[(0,d.jsx)("div",{className:"frame"===y?"whitespace-pre w-max":"whitespace-pre-wrap break-words",style:K,children:W.map(a=>(0,d.jsx)("span",{dangerouslySetInnerHTML:{__html:a.html}},a.key))}),ab&&(0,d.jsx)("div",{"data-testid":"terminal-loading-placeholder",className:"flex h-full items-center justify-center px-4 text-center text-sm text-gray-500 select-none",children:C("terminal.loading")}),ac&&(0,d.jsx)("div",{"data-testid":"terminal-ended-placeholder",className:"flex h-full items-center justify-center px-4 text-center text-sm text-gray-500 select-none",children:C("terminal.sessionEnded")}),b&&s&&(0,d.jsx)(r,{})]}),E?(0,d.jsx)("button",{type:"button",onClick:H,className:ak,"aria-label":"Scroll to top",children:(0,d.jsx)(g.A,{size:16,"aria-hidden":"true"})}):(0,d.jsx)("button",{type:"button",onClick:G,className:ak,"aria-label":"Scroll to bottom",children:(0,d.jsx)(h.A,{size:16,"aria-hidden":"true"})})]})})},3754:(a,b,c)=>{c.d(b,{cV:()=>j,g6:()=>i});var d=c(21124),e=c(38301),f=c(35550),g=c(24761),h=c(70107);let i="worktree-history-pane",j=(0,e.memo)(function({history:a,terminal:b}){let{visible:c,width:j,setWidth:k}=(0,g.TG)(),l=(0,e.useRef)(null),m=(0,e.useCallback)(a=>{let b=l.current;if(!b)return;let c=b.offsetWidth;0!==c&&k(j+a/c*100)},[j,k]);return(0,d.jsxs)("div",{ref:l,className:"flex h-full min-h-0 w-full",children:[null!=a&&(c?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{id:i,"data-testid":"terminal-container-history-slot","aria-label":"History pane",style:{width:`${j}%`},className:"flex-shrink-0 overflow-hidden transition-[width] duration-200 ease-in-out",children:(0,d.jsx)(f.t,{componentName:"HistoryPane",children:a})}),(0,d.jsx)(h.f,{onResize:m,orientation:"horizontal",ariaValueNow:j})]}):null),(0,d.jsx)("div",{"data-testid":"terminal-container-terminal-slot","aria-label":"Terminal pane",className:"flex-grow overflow-hidden min-w-0",children:(0,d.jsx)(f.t,{componentName:"TerminalAndFilePanel",children:b})})]})})},6225:(a,b,c)=>{c.d(b,{r:()=>d});function d(a){return null!=a&&"sent"===a.outcome&&!0===a.currentPrompt}},7027:(a,b,c)=>{c.d(b,{AW:()=>k,Fo:()=>i,HA:()=>h,hu:()=>o,lK:()=>n});var d=c(38301),e=c(75071),f=c(55948),g=c(12894);function h(a,b){if("string"!=typeof a||!a.trim())return{kind:"none"};let c=(0,f.z)(a);if("external"===c)return{kind:"external",href:a.trim()};if("file"!==c)return{kind:"none"};let d=(0,f.h)(a,b);return null===d?{kind:"none"}:!d.startsWith("/")&&(0,e.df)(function(a){let b=a.slice(a.lastIndexOf("/")+1),c=b.lastIndexOf(".");return c>0?b.slice(c):""}(d))?{kind:"worktree",path:d}:{kind:"file",href:a.trim()}}function i(a,b){return`/api/worktrees/${a}/files/${(0,g.o)(b)}`}let j=/!\[([^\]\n]*)\]\(([^()\s]+)\)/g;function k(a,b){let c=[],d=0;for(let e of a.matchAll(j)){let[f,g,i]=e,j=h(i,b);if("worktree"!==j.kind||!j.path.startsWith(".commandmate/attachments/"))continue;let k=e.index??0;k>d&&c.push({type:"text",content:a.slice(d,k)}),c.push({type:"image",src:i,alt:g,path:j.path}),d=k+f.length}return d<a.length&&c.push({type:"text",content:a.slice(d)}),c}let l=Object.freeze({}),m=(0,d.createContext)(l),n=m.Provider;function o(){return(0,d.useContext)(m)}},7879:(a,b,c)=>{c.d(b,{aJ:()=>g,wJ:()=>h,x6:()=>i});let d="\\x1b\\][^\\x07\\x1b]*(?:\\x07|\\x1b\\\\)",e=RegExp(d,"g"),f=RegExp(`\\x1b\\[[0-9;]*[a-zA-Z]|${d}|\\[[0-9;]*m`,"g");function g(a){return a.replace(f,"")}function h(a){return a.replace(e,"")}function i(a){let b=a.match(f);return b?b.join(""):""}},8842:(a,b,c)=>{c.d(b,{B7:()=>f,CK:()=>n,JD:()=>h,ML:()=>m,UY:()=>k,hM:()=>g});var d=c(65468),e=c(50082);let f=8,g=120,h=40,i={variant:"none",startedAtMs:null};function j(a){return`${a.cliToolId??""}|${a.instanceId??""}`}function k(a){let b,c=function(a){let b=[],c=[],d=[],f=!1,g=()=>{b.push(...c,...d),c=[],d=[]};for(let h of a){if("user"===h.role&&!(0,e.nY)(h)){g(),b.push(h);continue}if(!(0,e.nY)(h)){d.push(h);continue}d.length>0&&(f=!0),c.push(h)}return g(),f?b:a}(a),f=function(a){let b=new Map;for(let c of a){if("user"!==c.role||(0,e.nY)(c)||c.optimisticState||c.archived)continue;let a=c.requestId;if("string"!=typeof a||0===a.length)continue;if(b.has(a)){b.set(a,null);continue}let d=c.timestamp instanceof Date?c.timestamp.getTime():NaN;b.set(a,Number.isFinite(d)?{atMs:d,scope:j(c)}:null)}return b}(c),g=[],h=function(a){let b=new Map,c=0,d=!1;for(let f of a){if(!(0,e.nY)(f)){d=!1;continue}d||(c+=1,d=!0),b.has(f.id)||b.set(f.id,c)}return b}(a),k=[],l=null,m=null,n=()=>{0!==k.length&&(g.push({kind:"approvals",key:`approvals:${k[0].id}`,entries:(0,e.GV)(k,{runIds:h})}),k=[])};for(let a of c){var o;if((0,e.nY)(a)){k.push(a);continue}n();let c=!(o=b)||o.role!==a.role,h=i;if("assistant"!==a.role)l=null,m=null,c&&(h={variant:"role",startedAtMs:null});else{let b=j(a);(c||m!==b)&&(l=null),m=b;let e=(0,d.Qu)(a.requestId),g=function(a,b,c){if(null===b)return null;let e=(0,d.QN)(b);if(null===e)return null;let f=c.get(e);if(!f||f.scope!==j(a))return null;let g=a.timestamp instanceof Date?a.timestamp.getTime():NaN;return!Number.isFinite(g)||f.atMs>g?null:f.atMs}(a,e,f);c?h={variant:"role",startedAtMs:g}:null!==e&&null!==l&&e!==l&&(h={variant:"time",startedAtMs:g}),null!==e&&(l=e)}g.push({kind:"message",key:a.id,message:a,showHeader:c,header:h}),b=a}return n(),g}let l=/(^|[\s`"'(\[<(「『【])(\/[^\s\n<>"']+\.[a-zA-Z0-9]+)/g;function m(a){if("string"!=typeof a||0===a.length)return[{type:"text",content:""}];let b=[],c=0;for(let d of a.matchAll(l)){let e=d[1]??"",f=d[2];if(!f)continue;let g=(d.index??0)+e.length;g>c&&b.push({type:"text",content:a.slice(c,g)}),b.push({type:"path",content:f}),c=g+f.length}return 0===b.length?[{type:"text",content:a}]:(c<a.length&&b.push({type:"text",content:a.slice(c)}),b)}function n(a){return!a||"assistant"!==a.role}},11131:(a,b,c)=>{c.d(b,{Mx:()=>h,mE:()=>d,oO:()=>g,qL:()=>f});let d="s",e=["Up","Down","Left","Right","Enter","Escape","Tab","BTab","PageUp","PageDown","Home","End","q","1","2","3","4","5","6","7","8","9","y","n"],f=["claude","command-code"];[...e];let g=["command-code"],h="C-x",i=["C-p","C-t"],j=["a","l","t","m","g","u","r","c"];[...e,...i,...j],[...e,...i,...j]},11801:(a,b,c)=>{c.d(b,{UK:()=>g,dl:()=>d,gP:()=>h,v8:()=>e,wP:()=>f});let d=[50,100,150,200,250,500,1e3],e=50,f="commandmate:historyDisplayLimit";function g(a){return d.includes(a)}let h="commandmate:historyUserOnly"},12178:(a,b,c)=>{c.d(b,{U:()=>k});var d=c(21124),e=c(38301),f=c(50391),g=c(22631);let h=[{key:"Left",label:"◀",ariaLabel:"Send Left"},{key:"Up",label:"▲",ariaLabel:"Send Up"},{key:"Down",label:"▼",ariaLabel:"Send Down"},{key:"Right",label:"▶",ariaLabel:"Send Right"},{key:"Enter",label:"↵",ariaLabel:"Send Enter"}],i={key:"Escape",label:"Esc",ariaLabel:"Send Escape"},j={key:"q",label:"q",ariaLabel:"Send q (quit)"};function k({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:k}){let{activeKey:l,markPressed:m}=(0,g.t)(),n=(0,f.B)(a,b,c,k),o="codex"===b?[...h,i,j]:[...h,i],p=(0,e.useCallback)(a=>{m(a),n([a])},[m,n]);return(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 py-1.5 bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-800/50 rounded-lg",role:"toolbar","aria-label":"Terminal navigation keys",children:[(0,d.jsx)("span",{className:"text-xs text-amber-700 dark:text-amber-400 mx-2",title:"Send navigation / escape keys when the terminal is stuck in a TUI overlay",children:"Navigate"}),o.map(({key:a,label:b,ariaLabel:c})=>(0,d.jsx)("button",{type:"button",className:`min-w-[44px] min-h-[44px] px-3 py-2 text-sm font-medium rounded-md
|
|
1
|
+
"use strict";exports.id=7023,exports.ids=[7023],exports.modules={1401:(a,b,c)=>{c.d(b,{IJ:()=>e,mW:()=>h});let d="decision_not_found";async function e(a){let b=await a.json().catch(()=>null),c="object"==typeof b&&null!==b?b:{};if(a.ok)return{outcome:!1===c.success?"refused":"answered",body:c,partial:!1};let e=c.code===d||c.reason===d;if(404===a.status&&e)return{outcome:"refused",body:c,partial:!1};let f="answer_input_lost"===c.reason&&!0===c.keysSent;return{outcome:"failed",body:c,partial:f}}let f={refused:{messageKey:"promptResponse.refused",type:"warning"},failed:{messageKey:"promptResponse.failed",type:"error"}},g={messageKey:"promptResponse.partial",type:"warning"};function h(a,b){return"failed"===a&&b?g:f[a]}},2842:(a,b,c)=>{c.d(b,{H:()=>g});var d=c(21124);c(38301);var e=c(56722),f=c(45538);let g={code:({node:a,className:b,children:c,...g})=>(0,f.c)(b)?(0,d.jsx)(e.AY,{className:b,node:a,children:c}):(0,d.jsx)("code",{className:b,...g,children:c}),pre:({node:a,children:b,...c})=>(0,f.D)(b)?(0,d.jsx)(d.Fragment,{children:b}):(0,d.jsx)("pre",{...c,children:b})}},3171:(a,b,c)=>{c.d(b,{D:()=>s});var d=c(21124),e=c(38301),f=c(20481),g=c(70584),h=c(24417),i=c(27357),j=c(82258);let k=/\x1b(?:\[[0-9;?]*)?$/;var l=c(7879);function m(a){return""===(0,l.aJ)(a).trim()}var n=c(44489),o=c(77478);function p({query:a,onQueryChange:b,matchCount:c,currentIndex:f,onNext:g,onPrev:h,onClose:i,isAtMaxMatches:j=!1}){let k=(0,e.useRef)(null),l=(0,e.useCallback)(a=>{"Escape"===a.key&&i()},[i]),m=(0,e.useCallback)(a=>{b(a.target.value)},[b]),n=0===c?"0/0":j?`${f+1}/${o.F0}以上`:`${f+1}/${c}`;return(0,d.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1 bg-gray-800 border border-gray-600 rounded shadow-lg",role:"search","aria-label":"ターミナル内テキスト検索",children:[(0,d.jsx)("input",{ref:k,type:"text",value:a,onChange:m,onKeyDown:l,placeholder:"検索...",className:"bg-transparent text-gray-200 text-sm outline-none w-32 sm:w-40 placeholder-gray-500","aria-label":"検索キーワード",autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1}),(0,d.jsx)("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"text-gray-400 text-xs min-w-[3rem] text-right",children:n}),(0,d.jsx)("button",{onClick:h,disabled:0===c,"aria-label":"前の結果",className:"text-gray-300 hover:text-white disabled:text-gray-600 min-w-[36px] min-h-[36px] flex items-center justify-center text-base",children:"▲"}),(0,d.jsx)("button",{onClick:g,disabled:0===c,"aria-label":"次の結果",className:"text-gray-300 hover:text-white disabled:text-gray-600 min-w-[36px] min-h-[36px] flex items-center justify-center text-base",children:"▼"}),(0,d.jsx)("button",{onClick:i,"aria-label":"検索を閉じる",className:"text-gray-400 hover:text-white min-w-[36px] min-h-[36px] flex items-center justify-center text-base ml-1",children:"✕"})]})}var q=c(84666);function r(){return(0,d.jsxs)("div",{"data-testid":"thinking-indicator",className:"flex items-center gap-2 py-2 px-1 text-gray-400",children:[(0,d.jsxs)("span",{className:"flex gap-1",children:[(0,d.jsx)("span",{className:"animate-pulse delay-0",children:"."}),(0,d.jsx)("span",{className:"animate-pulse delay-150",children:"."}),(0,d.jsx)("span",{className:"animate-pulse delay-300",children:"."})]}),(0,d.jsx)("span",{className:"text-sm",children:"Thinking"})]})}let s=(0,e.memo)(function({output:a,isActive:b,attaching:c=!1,isThinking:s=!1,autoScroll:t=!0,onScrollChange:u,disableAutoFollow:v=!1,compactTuiLayoutPadding:w=!1,preservePaintedPanelRows:x=!1,wrapMode:y="viewport",density:z="regular",searchBarTopClassName:A="top-2",className:B=""}){let C=(0,f.c)("worktree"),{scrollRef:D,autoScroll:E,handleScroll:F,scrollToBottom:G,scrollToTop:H}=function(a={}){let{initialAutoScroll:b=!0,onAutoScrollChange:c}=a,d=(0,e.useRef)(null),[f,g]=(0,e.useState)(b),h=(0,e.useRef)(!1),i=(0,e.useRef)(null),j=(0,e.useCallback)(a=>{g(a),c?.(a)},[c]),k=(0,e.useCallback)(()=>{let a=d.current;if(!a)return!0;let{scrollTop:b,scrollHeight:c,clientHeight:e}=a;return c-e-b<=50},[]),l=(0,e.useCallback)(()=>{if(h.current)return;let a=k();a&&!f?j(!0):!a&&f&&j(!1)},[f,k,j]),m=(0,e.useCallback)(()=>{let a=d.current;a&&(h.current=!0,a.scrollTo({top:a.scrollHeight,behavior:"smooth"}),f||j(!0),i.current=setTimeout(()=>{h.current=!1,i.current=null},500))},[f,j]),n=(0,e.useCallback)(()=>{let a=d.current;a&&(h.current=!0,a.scrollTo({top:0,behavior:"smooth"}),f&&j(!1),i.current=setTimeout(()=>{h.current=!1,i.current=null},500))},[f,j]);return{scrollRef:d,autoScroll:f,setAutoScroll:j,scrollToBottom:m,scrollToTop:n,handleScroll:l}}({initialAutoScroll:t,onAutoScrollChange:u}),I=a??"",J=(0,e.useMemo)(()=>w?x?(0,n.Dk)(I):function(a){if(""===a)return"";let b=a.split("\n"),c=[],d=!1,e=0;for(;e<b.length;){if(!m(b[e])){c.push(b[e]),d=!0,e++;continue}let a=e;for(;a<b.length&&m(b[a]);)a++;let f=a-e,g=!d,h=a>=b.length;if(!g&&!h)if(f<=2)for(let d=e;d<a;d++)c.push(b[d]);else c.push((0,l.x6)(b.slice(e,a).join("")));e=a}return c.join("\n")}(I):I,[w,x,I]),K=(0,e.useMemo)(()=>{if("frame"===y)return{minWidth:`${(0,q.pN)(J)}ch`}},[y,J]),{isOpen:L,query:M,matchCount:N,currentIndex:O,isAtMaxMatches:P,openSearch:Q,closeSearch:R,setQuery:S,nextMatch:T,prevMatch:U}=(0,o.Yr)({output:J,containerRef:D}),V=(0,e.useCallback)(a=>{(a.ctrlKey||a.metaKey)&&"f"===a.key&&(a.preventDefault(),Q())},[Q]);(0,e.useEffect)(()=>{let a=()=>Q();return window.addEventListener("terminal-search-open",a),()=>window.removeEventListener("terminal-search-open",a)},[Q]);let[W,X]=(0,e.useState)(()=>J?[{key:0,html:(0,i.l5)(J)}]:[]),Y=(0,e.useRef)(J),Z=(0,e.useRef)(0);(0,e.useEffect)(()=>{let a=function(a,b){if(a===b)return{mode:"noop",text:b,appended:"",retainedLength:a.length};if(0===a.length||b.length<=a.length||!b.startsWith(a))return{mode:"replace",text:b,appended:"",retainedLength:0};let c=a.match(k),d=c?a.length-c[0].length:a.length;return{mode:"append",text:b,appended:b.slice(d),retainedLength:d}}(Y.current,J);if(Y.current=J,"noop"===a.mode)return;let b="append"===a.mode&&a.appended.length>j.ZJ;if("append"===a.mode&&!b)return void X(b=>(Z.current+=1,b.length>=400)?[{key:Z.current,html:(0,i.l5)(J)}]:[...b,{key:Z.current,html:(0,i.l5)(a.appended)}]);Z.current+=1,X(J?[{key:Z.current,html:(0,i.l5)(J)}]:[])},[J]);let[$,_]=(0,e.useState)(!1);(0,e.useEffect)(()=>{c?_(!1):b&&_(!0)},[c,b]);let aa=!a,ab=aa&&c,ac=aa&&!c&&!b&&$,ad=(0,e.useRef)(!1);(0,e.useEffect)(()=>{v&&(ad.current=!0)},[v]),(0,e.useEffect)(()=>{if(D.current){if(ad.current&&v&&J){D.current.scrollTo({top:0,behavior:"instant"}),ad.current=!1;return}!v&&E&&D.current.scrollTo({top:D.current.scrollHeight,behavior:"instant"})}},[W,J,E,v,D]);let ae=(0,e.useMemo)(()=>["terminal","font-mono","compact"===z?"text-xs":"text-sm","compact"===z?"p-2":"p-4","rounded-lg","overflow-y-auto","frame"===y?"overflow-x-auto":"overflow-x-hidden","bg-gray-900","text-gray-300","border","border-gray-700","h-full",b?"active":"",B].filter(Boolean).join(" "),[b,B,y,z]),[af,ag]=(0,e.useState)(!1),ah=(0,e.useRef)(null),ai=(0,e.useCallback)(()=>{ag(!0),ah.current&&clearTimeout(ah.current),ah.current=setTimeout(()=>ag(!1),1500)},[]);(0,e.useEffect)(()=>()=>{ah.current&&clearTimeout(ah.current)},[]);let aj=(0,e.useCallback)(()=>{F(),ai()},[F,ai]),ak=["absolute bottom-4 right-4 flex items-center justify-center h-9 w-9 rounded-full bg-surface/80 backdrop-blur border border-border text-muted-foreground shadow-lg transition-opacity hover:text-surface-foreground hover:opacity-100 focus-visible:opacity-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",af?"opacity-100":"opacity-60"].join(" ");return(0,d.jsxs)("div",{className:"relative h-full flex flex-col",children:[L&&(0,d.jsx)("div",{className:`absolute ${A} right-2 z-10`,children:(0,d.jsx)(p,{query:M,onQueryChange:S,matchCount:N,currentIndex:O,onNext:T,onPrev:U,onClose:R,isAtMaxMatches:P})}),(0,d.jsxs)("div",{ref:D,role:"log","aria-live":"polite","aria-label":"Terminal output",className:ae,onScroll:aj,onKeyDown:V,tabIndex:0,children:[(0,d.jsx)("div",{className:"frame"===y?"whitespace-pre w-max":"whitespace-pre-wrap break-words",style:K,children:W.map(a=>(0,d.jsx)("span",{dangerouslySetInnerHTML:{__html:a.html}},a.key))}),ab&&(0,d.jsx)("div",{"data-testid":"terminal-loading-placeholder",className:"flex h-full items-center justify-center px-4 text-center text-sm text-gray-500 select-none",children:C("terminal.loading")}),ac&&(0,d.jsx)("div",{"data-testid":"terminal-ended-placeholder",className:"flex h-full items-center justify-center px-4 text-center text-sm text-gray-500 select-none",children:C("terminal.sessionEnded")}),b&&s&&(0,d.jsx)(r,{})]}),E?(0,d.jsx)("button",{type:"button",onClick:H,className:ak,"aria-label":"Scroll to top",children:(0,d.jsx)(g.A,{size:16,"aria-hidden":"true"})}):(0,d.jsx)("button",{type:"button",onClick:G,className:ak,"aria-label":"Scroll to bottom",children:(0,d.jsx)(h.A,{size:16,"aria-hidden":"true"})})]})})},3754:(a,b,c)=>{c.d(b,{cV:()=>j,g6:()=>i});var d=c(21124),e=c(38301),f=c(35550),g=c(24761),h=c(70107);let i="worktree-history-pane",j=(0,e.memo)(function({history:a,terminal:b}){let{visible:c,width:j,setWidth:k}=(0,g.TG)(),l=(0,e.useRef)(null),m=(0,e.useCallback)(a=>{let b=l.current;if(!b)return;let c=b.offsetWidth;0!==c&&k(j+a/c*100)},[j,k]);return(0,d.jsxs)("div",{ref:l,className:"flex h-full min-h-0 w-full",children:[null!=a&&(c?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{id:i,"data-testid":"terminal-container-history-slot","aria-label":"History pane",style:{width:`${j}%`},className:"flex-shrink-0 overflow-hidden transition-[width] duration-200 ease-in-out",children:(0,d.jsx)(f.t,{componentName:"HistoryPane",children:a})}),(0,d.jsx)(h.f,{onResize:m,orientation:"horizontal",ariaValueNow:j})]}):null),(0,d.jsx)("div",{"data-testid":"terminal-container-terminal-slot","aria-label":"Terminal pane",className:"flex-grow overflow-hidden min-w-0",children:(0,d.jsx)(f.t,{componentName:"TerminalAndFilePanel",children:b})})]})})},6225:(a,b,c)=>{c.d(b,{r:()=>d});function d(a){return null!=a&&"sent"===a.outcome&&!0===a.currentPrompt}},7027:(a,b,c)=>{c.d(b,{AW:()=>k,Fo:()=>i,HA:()=>h,hu:()=>o,lK:()=>n});var d=c(38301),e=c(75071),f=c(55948),g=c(12894);function h(a,b){if("string"!=typeof a||!a.trim())return{kind:"none"};let c=(0,f.z)(a);if("external"===c)return{kind:"external",href:a.trim()};if("file"!==c)return{kind:"none"};let d=(0,f.h)(a,b);return null===d?{kind:"none"}:!d.startsWith("/")&&(0,e.df)(function(a){let b=a.slice(a.lastIndexOf("/")+1),c=b.lastIndexOf(".");return c>0?b.slice(c):""}(d))?{kind:"worktree",path:d}:{kind:"file",href:a.trim()}}function i(a,b){return`/api/worktrees/${a}/files/${(0,g.o)(b)}`}let j=/!\[([^\]\n]*)\]\(([^()\s]+)\)/g;function k(a,b){let c=[],d=0;for(let e of a.matchAll(j)){let[f,g,i]=e,j=h(i,b);if("worktree"!==j.kind||!j.path.startsWith(".commandmate/attachments/"))continue;let k=e.index??0;k>d&&c.push({type:"text",content:a.slice(d,k)}),c.push({type:"image",src:i,alt:g,path:j.path}),d=k+f.length}return d<a.length&&c.push({type:"text",content:a.slice(d)}),c}let l=Object.freeze({}),m=(0,d.createContext)(l),n=m.Provider;function o(){return(0,d.useContext)(m)}},7879:(a,b,c)=>{c.d(b,{aJ:()=>g,wJ:()=>h,x6:()=>i});let d="\\x1b\\][^\\x07\\x1b]*(?:\\x07|\\x1b\\\\)",e=RegExp(d,"g"),f=RegExp(`\\x1b\\[[0-9;]*[a-zA-Z]|${d}|\\[[0-9;]*m`,"g");function g(a){return a.replace(f,"")}function h(a){return a.replace(e,"")}function i(a){let b=a.match(f);return b?b.join(""):""}},8842:(a,b,c)=>{c.d(b,{B7:()=>f,CK:()=>n,JD:()=>h,ML:()=>m,UY:()=>k,hM:()=>g});var d=c(65468),e=c(50082);let f=8,g=120,h=40,i={variant:"none",startedAtMs:null};function j(a){return`${a.cliToolId??""}|${a.instanceId??""}`}function k(a){let b,c=function(a){let b=[],c=[],d=[],f=!1,g=()=>{b.push(...c,...d),c=[],d=[]};for(let h of a){if("user"===h.role&&!(0,e.nY)(h)){g(),b.push(h);continue}if(!(0,e.nY)(h)){d.push(h);continue}d.length>0&&(f=!0),c.push(h)}return g(),f?b:a}(a),f=function(a){let b=new Map;for(let c of a){if("user"!==c.role||(0,e.nY)(c)||c.optimisticState||c.archived)continue;let a=c.requestId;if("string"!=typeof a||0===a.length)continue;if(b.has(a)){b.set(a,null);continue}let d=c.timestamp instanceof Date?c.timestamp.getTime():NaN;b.set(a,Number.isFinite(d)?{atMs:d,scope:j(c)}:null)}return b}(c),g=[],h=function(a){let b=new Map,c=0,d=!1;for(let f of a){if(!(0,e.nY)(f)){d=!1;continue}d||(c+=1,d=!0),b.has(f.id)||b.set(f.id,c)}return b}(a),k=[],l=null,m=null,n=()=>{0!==k.length&&(g.push({kind:"approvals",key:`approvals:${k[0].id}`,entries:(0,e.GV)(k,{runIds:h})}),k=[])};for(let a of c){var o;if((0,e.nY)(a)){k.push(a);continue}n();let c=!(o=b)||o.role!==a.role,h=i;if("assistant"!==a.role)l=null,m=null,c&&(h={variant:"role",startedAtMs:null});else{let b=j(a);(c||m!==b)&&(l=null),m=b;let e=(0,d.Qu)(a.requestId),g=function(a,b,c){if(null===b)return null;let e=(0,d.QN)(b);if(null===e)return null;let f=c.get(e);if(!f||f.scope!==j(a))return null;let g=a.timestamp instanceof Date?a.timestamp.getTime():NaN;return!Number.isFinite(g)||f.atMs>g?null:f.atMs}(a,e,f);c?h={variant:"role",startedAtMs:g}:null!==e&&null!==l&&e!==l&&(h={variant:"time",startedAtMs:g}),null!==e&&(l=e)}g.push({kind:"message",key:a.id,message:a,showHeader:c,header:h}),b=a}return n(),g}let l=/(^|[\s`"'(\[<(「『【])(\/[^\s\n<>"']+\.[a-zA-Z0-9]+)/g;function m(a){if("string"!=typeof a||0===a.length)return[{type:"text",content:""}];let b=[],c=0;for(let d of a.matchAll(l)){let e=d[1]??"",f=d[2];if(!f)continue;let g=(d.index??0)+e.length;g>c&&b.push({type:"text",content:a.slice(c,g)}),b.push({type:"path",content:f}),c=g+f.length}return 0===b.length?[{type:"text",content:a}]:(c<a.length&&b.push({type:"text",content:a.slice(c)}),b)}function n(a){return!a||"assistant"!==a.role}},9009:(a,b,c)=>{c.d(b,{Ho:()=>f,Lo:()=>e});let d=["pending","prompt"];function e(a){return d.includes(a)}function f(){return{pending:0,delivered:0,prompt:0,expired:0,cancelled:0}}},11131:(a,b,c)=>{c.d(b,{Mx:()=>h,mE:()=>d,oO:()=>g,qL:()=>f});let d="s",e=["Up","Down","Left","Right","Enter","Escape","Tab","BTab","PageUp","PageDown","Home","End","q","1","2","3","4","5","6","7","8","9","y","n"],f=["claude","command-code"];[...e];let g=["command-code"],h="C-x",i=["C-p","C-t"],j=["a","l","t","m","g","u","r","c"];[...e,...i,...j],[...e,...i,...j]},11801:(a,b,c)=>{c.d(b,{UK:()=>g,dl:()=>d,gP:()=>h,v8:()=>e,wP:()=>f});let d=[50,100,150,200,250,500,1e3],e=50,f="commandmate:historyDisplayLimit";function g(a){return d.includes(a)}let h="commandmate:historyUserOnly"},12178:(a,b,c)=>{c.d(b,{U:()=>k});var d=c(21124),e=c(38301),f=c(50391),g=c(22631);let h=[{key:"Left",label:"◀",ariaLabel:"Send Left"},{key:"Up",label:"▲",ariaLabel:"Send Up"},{key:"Down",label:"▼",ariaLabel:"Send Down"},{key:"Right",label:"▶",ariaLabel:"Send Right"},{key:"Enter",label:"↵",ariaLabel:"Send Enter"}],i={key:"Escape",label:"Esc",ariaLabel:"Send Escape"},j={key:"q",label:"q",ariaLabel:"Send q (quit)"};function k({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:k}){let{activeKey:l,markPressed:m}=(0,g.t)(),n=(0,f.B)(a,b,c,k),o="codex"===b?[...h,i,j]:[...h,i],p=(0,e.useCallback)(a=>{m(a),n([a])},[m,n]);return(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 py-1.5 bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-800/50 rounded-lg",role:"toolbar","aria-label":"Terminal navigation keys",children:[(0,d.jsx)("span",{className:"text-xs text-amber-700 dark:text-amber-400 mx-2",title:"Send navigation / escape keys when the terminal is stuck in a TUI overlay",children:"Navigate"}),o.map(({key:a,label:b,ariaLabel:c})=>(0,d.jsx)("button",{type:"button",className:`min-w-[44px] min-h-[44px] px-3 py-2 text-sm font-medium rounded-md
|
|
2
2
|
border border-amber-300 dark:border-amber-700
|
|
3
3
|
focus:outline-none focus:ring-2 focus:ring-amber-500
|
|
4
4
|
transition-colors duration-75
|
|
5
|
-
${l===a?"bg-amber-500 text-white border-amber-500 scale-95":"bg-white dark:bg-gray-700 hover:bg-amber-50 dark:hover:bg-gray-600 active:bg-amber-100 dark:active:bg-gray-500"}`,"aria-label":c,onClick:()=>p(a),children:b},a))]})}},12529:(a,b,c)=>{c.d(b,{Fs:()=>l,bk:()=>g,gO:()=>h,hq:()=>k,p1:()=>i,ro:()=>j});var d=c(30872),e=c(43907),f=c(11131);let g=Object.freeze({numberKeyCount:0,offersSessionScope:!1,commitsDefaultOnEnter:!1,offersPlanApprove:!1});function h(a){var b;if(!a)return g;let c=(0,d.S$)(a);return{numberKeyCount:(0,d.xw)(c)&&null===(0,d.Dk)(a)?Math.min(c.optionCount,(b=a,(0,d.S$)((0,e.Bw)(b,{selectionList:!0})).optionCount)):0,offersSessionScope:c.offersSessionScope,commitsDefaultOnEnter:c.commitsDefaultOnEnter,offersPlanApprove:c.offersPlanApprove}}function i(a,b){return a.offersPlanApprove&&!!b&&f.oO.includes(b)}function j({isSelectionListActive:a,isPagerActive:b=!1,reading:c,cliToolId:d}){return a&&!b&&i(c,d)}function k(a,b){return a.numberKeyCount===b.numberKeyCount&&a.offersSessionScope===b.offersSessionScope&&a.commitsDefaultOnEnter===b.commitsDefaultOnEnter&&a.offersPlanApprove===b.offersPlanApprove}function l({reading:a,cliToolId:b,surface:c,pager:d=!1}){let e=a.offersPlanApprove;if(d)return{padEnter:!e,numberKeyCount:0,commitKeys:null,planReview:!1,opencodeModelKeys:!1};let g=a.offersSessionScope&&f.qL.includes(b)?{commitsDefaultOnEnter:a.commitsDefaultOnEnter}:null;return{padEnter:!e&&("terminal"!==c||null===g),numberKeyCount:a.numberKeyCount,commitKeys:g,planReview:i(a,b),opencodeModelKeys:"chat"===c}}},12712:(a,b,c)=>{c.d(b,{T:()=>o});var d=c(21124),e=c(38301),f=c(20481),g=c(74892),h=c(98033),i=c(63643),j=c(21768),k=c(37382);function l(a){return`flex-1 py-2 px-3 text-sm font-medium rounded-md border-2 transition-colors ${a?"border-accent-600 bg-accent-50 dark:bg-accent-900/30 text-accent-700 dark:text-accent-400":"border-border bg-surface dark:bg-surface-2 text-foreground hover:border-muted-foreground"}`}function m({isOpen:a,onConfirm:b,onCancel:c,cliToolName:g}){let m=(0,f.c)("autoYes"),n=(0,f.c)("common"),[o,p]=(0,e.useState)(i.t6),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(""),[u,v]=(0,e.useState)(j.Rb),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(!1),A=(0,e.useRef)(null),B=a=>m("durationHours",{hours:(0,i.nG)(a)});return(0,d.jsx)(h.a,{isOpen:a,onClose:c,title:g?m("enableTitleWithTool",{toolName:g}):m("enableTitle"),size:"sm",showCloseButton:!0,children:(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"text-sm text-foreground",children:[(0,d.jsx)("p",{className:"font-medium mb-2",children:m("featureDescription")}),(0,d.jsxs)("ul",{className:"list-disc list-inside space-y-1",children:[(0,d.jsx)("li",{children:m("yesNoAutoResponse")}),(0,d.jsx)("li",{children:m("multipleChoiceAutoSelect")})]}),(0,d.jsx)("p",{className:"mt-1",children:m("autoDisableAfter",{duration:B(o)})}),g&&(0,d.jsx)("p",{className:"mt-2 text-muted-foreground",children:m("appliesOnlyToCurrent",{toolName:g})})]}),(0,d.jsxs)("div",{className:"text-sm text-foreground",children:[(0,d.jsx)("p",{className:"font-medium mb-2",children:m("duration")}),(0,d.jsxs)("div",{className:"flex gap-2",children:[i.CN.map(a=>(0,d.jsx)("button",{type:"button",onClick:()=>{r(!1),p(a)},className:l(!q&&o===a),style:{minHeight:"44px"},"aria-pressed":!q&&o===a,"data-testid":`auto-yes-duration-${(0,i.nG)(a)}h`,children:B(a)},a)),(0,d.jsx)("button",{type:"button",onClick:()=>r(!0),className:l(q),style:{minHeight:"44px"},"aria-pressed":q,"data-testid":"auto-yes-duration-other",children:m("durationOther")})]}),q&&(0,d.jsx)("select",{value:o,onChange:a=>{let b=Number(a.target.value);(0,i.dR)(b)&&p(b)},"aria-label":m("durationSelectLabel"),className:"mt-2 w-full px-3 py-2 border border-input rounded-md text-sm bg-surface dark:bg-surface-2 text-foreground focus:outline-none focus:ring-1 focus:ring-ring","data-testid":"auto-yes-duration-select",children:i._q.map(a=>(0,d.jsx)("option",{value:a,children:B(a)},a))}),(0,d.jsx)("p",{className:"mt-2 text-xs text-muted-foreground","data-testid":"auto-yes-long-duration-note",children:m("longDurationNote")})]}),(0,d.jsx)(k.o,{value:u,onChange:v}),(0,d.jsxs)("div",{className:"text-sm text-foreground",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[(0,d.jsx)("label",{htmlFor:"stop-pattern-input",className:"font-medium",children:m("stopPatternLabel")}),(0,d.jsxs)("div",{className:"relative",ref:A,children:[(0,d.jsx)("button",{type:"button",onClick:()=>z(!y),className:"inline-flex items-center justify-center w-4 h-4 rounded-full bg-muted text-muted-foreground text-[10px] font-bold hover:bg-muted/80 focus:outline-none","aria-label":m("regexTipsLabel"),"data-testid":"regex-tips-button",children:"?"}),y&&(0,d.jsxs)("div",{className:"absolute left-0 top-6 z-50 w-72 rounded-md border border-border bg-surface p-3 shadow-lg text-xs text-foreground","data-testid":"regex-tips-tooltip",children:[(0,d.jsx)("p",{className:"font-medium mb-1.5",children:m("regexTipsTitle")}),(0,d.jsxs)("ul",{className:"space-y-1",children:[(0,d.jsxs)("li",{children:[(0,d.jsx)("code",{className:"bg-muted px-1 rounded",children:"\\bcat\\b"})," ",m("regexTipWordBoundary")]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("code",{className:"bg-muted px-1 rounded",children:"error|fatal"})," ",m("regexTipOr")]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("code",{className:"bg-muted px-1 rounded",children:"(?i)error"})," ",m("regexTipCaseNote")]})]})]})]})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground mb-2",children:m("stopPatternDescription")}),(0,d.jsx)("input",{id:"stop-pattern-input",type:"text",value:s,onChange:a=>t(a.target.value),placeholder:m("stopPatternPlaceholder"),className:`w-full px-3 py-2 border rounded-md text-sm font-mono bg-surface dark:bg-surface-2 text-foreground ${w?"border-danger focus:ring-danger focus:border-danger":"border-input focus:ring-ring focus:border-accent-500"} focus:outline-none focus:ring-1`,"data-testid":"stop-pattern-input"}),w&&(0,d.jsx)("p",{className:"mt-1 text-xs text-danger","data-testid":"stop-pattern-error",children:w})]}),(0,d.jsxs)("div",{className:"text-sm text-foreground",children:[(0,d.jsx)("p",{className:"font-medium mb-2",children:m("aboutRisks")}),(0,d.jsx)("p",{children:m("riskWarning")})]}),(0,d.jsx)("div",{className:"bg-warning-subtle border-l-4 border-warning p-3",children:(0,d.jsxs)("p",{className:"text-sm text-warning-foreground",children:[(0,d.jsx)("span",{className:"font-medium",children:m("disclaimer")}),m("disclaimerText")]})}),(0,d.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[(0,d.jsx)("button",{type:"button",onClick:c,className:"px-4 py-2 text-sm font-medium rounded-md bg-muted hover:bg-muted/80 text-foreground",children:n("cancel")}),(0,d.jsx)("button",{type:"button",onClick:()=>{let a=s.trim();u===j.Rb?b(o,a||void 0):b(o,a||void 0,u)},disabled:!!w,className:`px-4 py-2 text-sm font-medium rounded-md text-white ${w?"bg-muted-foreground cursor-not-allowed":"bg-warning hover:bg-warning/90"}`,"data-testid":"confirm-button",children:m("agreeAndEnable")})]})]})})}var n=c(17252);let o=(0,e.memo)(function({enabled:a,expiresAt:b,onToggle:c,cliToolName:h,inline:j=!1,showToolName:k=!0,onExpire:l,blockedByContract:o=!1,releasedByRestart:p=!1,answerMode:q}){let r=(0,f.c)("autoYes"),[s,t]=(0,e.useState)(""),[u,v]=(0,e.useState)(!1),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)(!1);(0,e.useEffect)(()=>{if(!a||!b){t(""),z(!1);return}z(!1);let c=!1,d=()=>(t((0,i.$B)(b)),b-Date.now()<=0&&!c&&(c=!0,z(!0),l?.(),!0));if(d())return;let e=setInterval(()=>{d()&&clearInterval(e)},i.$s);return()=>clearInterval(e)},[a,b,l]);let A=a&&!y,B=(0,e.useCallback)(()=>{A?(v(!0),c({enabled:!1}).finally(()=>v(!1))):x(!0)},[A,c]),C=(0,e.useCallback)((a,b,d)=>{x(!1),v(!0),c({enabled:!0,duration:a,stopPattern:b,...d?{answerMode:d}:{}}).finally(()=>v(!1))},[c]),D=(0,e.useCallback)(()=>{x(!1)},[]);return(0,d.jsxs)("div",{className:j?"flex items-center gap-2":"flex items-center gap-3 px-4 py-2 bg-surface-2 border-b border-border",children:[(0,d.jsx)(g.d,{checked:A,onCheckedChange:B,disabled:u,"aria-label":r("toggleLabel")}),(0,d.jsx)("span",{className:"text-sm font-medium text-foreground",children:r("label")}),k&&h&&(0,d.jsxs)("span",{className:"text-xs text-accent-600 dark:text-accent-400 font-medium","aria-label":r("targetLabel"),children:["(",(0,n.f_)(h,""),")"]}),A&&s&&(0,d.jsx)("span",{className:"text-sm text-muted-foreground","aria-label":r("timeRemaining"),children:s}),A&&q&&(0,d.jsx)("span",{className:"text-xs font-medium text-muted-foreground",title:r(`answerModeBadgeTitle.${q}`),"data-testid":"auto-yes-answer-mode","data-answer-mode":q,children:r(`answerModeBadge.${q}`)}),A&&o&&(0,d.jsx)("span",{className:"text-xs font-medium text-warning-foreground",title:r("blockedByContractTitle"),"data-testid":"auto-yes-blocked-by-contract",children:r("blockedByContract")}),!A&&p&&(0,d.jsx)("span",{className:"text-xs font-medium text-warning-foreground",title:r("releasedByRestartTitle"),"data-testid":"auto-yes-released-by-restart",children:r("releasedByRestart")}),(0,d.jsx)(m,{isOpen:w,onConfirm:C,onCancel:D,cliToolName:(0,n.f_)(h,"")})]})})},12894:(a,b,c)=>{c.d(b,{o:()=>d});function d(a){return a?a.split("/").map(encodeURIComponent).join("/"):""}},13074:(a,b,c)=>{c.d(b,{O:()=>h,k:()=>g});var d=c(38301);let e=Object.freeze({}),f=(0,d.createContext)(e),g=f.Provider;function h(){return(0,d.useContext)(f)}},15457:(a,b,c)=>{function d(a){switch(a.kind){case"question":return{text:a.text};case"approval":return a.toolName?{key:"structuredApprovalTitle",values:{toolName:a.toolName}}:{key:"structuredApprovalTitleNoTool"};case"agent-question":return{key:"structuredQuestionTitle"};case"unreadable":return{key:"unclassifiedTitle"}}}c.d(b,{$y:()=>f,KX:()=>g,SD:()=>d,ds:()=>k,zM:()=>i});let e=[/^[^\S\n]*type\s+something\b/i];function f(a){return!0===a.requiresTextInput&&e.some(b=>b.test(a.label))}function g(a){if(!a)return null;let b=a.decisionId;return"string"==typeof b&&""!==b?b:null}function h(a){return Array.isArray(a.decisionOptions)&&a.decisionOptions.length>0}function i(a){if(!a||null===g(a)||h(a))return null;let b=a.askUserQuestion;if(!b||"string"!=typeof b.question||""===b.question||!Array.isArray(b.labels)||0===b.labels.length)return null;let c=b.labels.filter(a=>"string"==typeof a&&""!==a);if(c.length!==b.labels.length)return null;let d="number"==typeof b.questionCount?b.questionCount:1;return 1!==d?null:{question:b.question,labels:c,questionCount:d,...!0===b.custom?{custom:!0}:{}}}let j={kind:"unreadable",heading:{kind:"unreadable"},choices:[],multiSelect:!1,freeText:null,decisionId:null,apiTarget:null};function k(a){if(null==a)return null;if("unclassified"!==a.type){let b=function(a){let b=Array.isArray(a.options)?a.options:[],c=[];for(let d of b){if("string"==typeof d){c.push({answer:d,label:d,isDefault:a.defaultOption===d,takesText:!1});continue}d&&"object"==typeof d&&"number"==typeof d.number&&"string"==typeof d.label&&c.push({answer:String(d.number),label:d.label,isDefault:!0===d.isDefault,takesText:f({label:d.label,requiresTextInput:!0===d.requiresTextInput}),..."string"==typeof d.description?{description:d.description}:{}})}return c}(a);return{kind:"screen-choices",heading:{kind:"question",text:"string"==typeof a.question?a.question:""},choices:b,multiSelect:!0===a.multiSelect,freeText:b.some(a=>a.takesText)?{via:"screen"}:null,decisionId:null,apiTarget:null}}let b=g(a);if(null!==b&&h(a)){let c=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)c&&"number"==typeof c.number&&"string"==typeof c.label&&b.push({answer:String(c.number),label:c.label,isDefault:!1,takesText:!1});return b}(a.decisionOptions);if(c.length>0)return{kind:"api-choices",heading:{kind:"approval",toolName:"string"==typeof a.toolName&&a.toolName?a.toolName:null},choices:c,multiSelect:!1,freeText:null,decisionId:b,apiTarget:"approval"}}let c=i(a);return null!==b&&null!==c?{kind:"api-choices",heading:{kind:"agent-question",text:c.question},choices:c.labels.map((a,b)=>({answer:String(b+1),label:a,isDefault:!1,takesText:!1})),multiSelect:!1,freeText:!0===c.custom?{via:"api"}:null,decisionId:b,apiTarget:"question"}:j}},15783:(a,b,c)=>{c.d(b,{CM:()=>i,LA:()=>j,S5:()=>g,bS:()=>f,bw:()=>d,h0:()=>h,vF:()=>e});let d=36,e=160,f=4096,g="commandmate:composer-height:";function h(a){return`split:${a}`}let i="session-tile",j=160},18219:(a,b,c)=>{c.d(b,{b4:()=>j,lo:()=>i});var d=c(38301),e=c(15783);let f=d.useEffect;function g(a,b){return`${e.S5}${a}:${b}`}function h(a,b){let c=null!=b&&Number.isFinite(b)?Math.min(b,e.bS):e.bS;return Math.max(e.bw,Math.min(Math.round(a),c))}function i({worktreeId:a,scope:b,maxHeight:c,enabled:i=!0}){let j=i&&!!b,[k,l]=(0,d.useState)(null),m=(0,d.useRef)(null),n=(0,d.useRef)(c);f(()=>{let c=j&&b?function(a,b){try{return function(a){if(null===a)return null;let b=a.trim();if(""===b)return null;let c=Number(b);if(!Number.isFinite(c))return null;let d=Math.round(c);return d<e.bw||d>e.bS?null:d}(window.localStorage.getItem(g(a,b)))}catch{return null}}(a,b):null;m.current=c,l(c)},[j,a,b]),f(()=>{n.current=c},[c]);let o=(0,d.useCallback)((c,d)=>{if(!j||!b||!Number.isFinite(c))return;let e=n.current,f=null===m.current?h(d,e):h(m.current,e),i=h(f+c,e);m.current=i,l(i);try{window.localStorage.setItem(g(a,b),String(h(i)))}catch{}},[j,a,b]),p=(0,d.useCallback)(()=>{if(j&&b){m.current=null,l(null);try{window.localStorage.removeItem(g(a,b))}catch{}}},[j,a,b]),q=j?k:null,r=null===q?null:h(q,c);return{storedHeight:q,height:r,resizeBy:o,reset:p}}function j(a,b,c){let[e,g]=(0,d.useState)(null),h=(0,d.useRef)(null);return f(()=>{if(!a||!b||"undefined"==typeof ResizeObserver)return;let d=b.querySelector('[data-testid="message-input-textarea"]');if(!d)return;let e=()=>{let b=function(a,b,c){let d=a.parentElement;if(!d)return null;let e=b.getBoundingClientRect().height;if(e<=0)return null;let f=0;for(let b of Array.from(d.children)){if(b===a||!(b instanceof HTMLElement))continue;let{display:c,position:d}=window.getComputedStyle(b);"none"!==c&&"absolute"!==d&&"fixed"!==d&&(f+=b.getBoundingClientRect().height)}return Math.floor(e+(function(a){let b=window.getComputedStyle(a),c=a=>parseFloat(a)||0;return a.getBoundingClientRect().height-c(b.borderTopWidth)-c(b.borderBottomWidth)-c(b.paddingTop)-c(b.paddingBottom)}(d)-f)-c)}(a,d,c);null!==b&&b!==h.current&&(h.current=b,g(b))},f=new ResizeObserver(e),i=a.parentElement;return i&&f.observe(i),f.observe(a),f.observe(b),f.observe(d),e(),()=>f.disconnect()},[a,b,c]),e}},20203:(a,b,c)=>{c.d(b,{D:()=>d});function d(a,b,c){let d=new TextEncoder;if(d.encode(a).length<=b)return a;let e=b-d.encode(c).length,f=0,g="";for(let b of a){let a=d.encode(b).length;if(f+a>e)break;f+=a,g+=b}return`${g}${c}`}},22631:(a,b,c)=>{c.d(b,{t:()=>f});var d=c(38301),e=c(58970);function f(){let[a,b]=(0,d.useState)(null),c=(0,d.useRef)(null);return{activeKey:a,markPressed:(0,d.useCallback)(a=>{b(a),null!==c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,b(null)},e.tX)},[])}}},24761:(a,b,c)=>{c.d(b,{Ce:()=>i,TG:()=>h,jt:()=>f,sg:()=>g});var d=c(38301);let e={visible:"commandmate.worktree.historyVisible",width:"commandmate.worktree.historyWidth",defaultVisible:!1},f={visible:"commandmate.sessions.tileHistoryVisible",width:"commandmate.sessions.tileHistoryWidth"},g=40;function h(a=e){let{visible:b,width:c,defaultVisible:f=!0}=a,[i,j]=(0,d.useState)(f),[k,l]=(0,d.useState)(g),m=(0,d.useRef)(i);m.current=i;let n=(0,d.useRef)(k);return n.current=k,{visible:i,width:k,toggle:(0,d.useCallback)(()=>{let a=!m.current;j(a),n.current},[b]),setWidth:(0,d.useCallback)(a=>{let b=Number.isFinite(a)?Math.min(60,Math.max(10,a)):g;l(b),m.current},[b,c])}}function i(a){return`split-history-slot-${a}`}},25178:(a,b,c)=>{c.d(b,{Af:()=>m});var d=c(38301);let e=null,f=new Set;function g(){for(let a of Array.from(f))a()}function h(){return null===e&&(e=!1),e}function i(){return!1}function j(a){(null===a.key||"commandmate:chatShowToolActivity"===a.key)&&(e=!1,g())}function k(a){return f.add(a),1===f.size&&window.addEventListener("storage",j),()=>{f.delete(a),0===f.size&&(window.removeEventListener("storage",j),e=null)}}function l(){e=!h(),g()}function m(){return[(0,d.useSyncExternalStore)(k,h,i),l]}},27357:(a,b,c)=>{c.d(b,{l5:()=>l});var d=c(3350),e=c.n(d),f=c(19331),g=c.n(f),h=c(82258),i=c(7879);let j=new(g())({fg:"#d1d5db",bg:"#1f2937",newline:!0,escapeXML:!0}),k=/[\x40-\x7e]/;function l(a){let b=function(a){if(a.length<=h.ZJ)return a;let b=h.ED+"\n",c=h.ZJ-b.length;if(c<=0)return h.ED.slice(0,h.ZJ);let d=a.length-c,e=a.indexOf("\n",d);if(-1!==e&&e-d<=h.yi)return b+a.slice(e+1);let f=function(a,b){let c=a.lastIndexOf("\x1b",b-1);if(-1===c)return b;let d=a.slice(c+1,b);if(k.test(d.slice(1)))return b;for(let c=b;c<a.length;c++)if(k.test(a[c]))return c+1;return a.length}(a,d),g=a.charCodeAt(f);return g>=56320&&g<=57343&&(f+=1),b+a.slice(f)}(a.replace(/\0/g,"")),c=(0,i.wJ)(b),d=j.toHtml(c);return e().sanitize(d,{ALLOWED_TAGS:["span","br"],ALLOWED_ATTR:["style"],ALLOW_DATA_ATTR:!1})}},27412:(a,b,c)=>{c.d(b,{Y:()=>h});var d=c(21124),e=c(38301),f=c(20481),g=c(77478);function h({query:a,onQueryChange:b,matchCount:c,currentIndex:h,onNext:i,onPrev:j,onClose:k,isAtMaxMatches:l,onCompositionStart:m,onCompositionEnd:n}){let o=(0,e.useRef)(null),p=(0,f.c)("worktree"),q=(0,e.useCallback)(a=>{"Escape"===a.key&&k()},[k]),r=(0,e.useCallback)(a=>{b(a.target.value)},[b]),s=0===c?"0/0":l?p("history.search.countAtMax",{current:h+1,max:g.F0}):`${h+1}/${c}`;return(0,d.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1 bg-surface border border-border rounded shadow-lg",role:"search","aria-label":p("history.search.regionLabel"),children:[(0,d.jsx)("input",{ref:o,type:"text",value:a,onChange:r,onKeyDown:q,onCompositionStart:m,onCompositionEnd:n,placeholder:p("history.search.placeholder"),className:"bg-transparent text-foreground text-sm outline-none w-32 sm:w-40 placeholder-muted-foreground","aria-label":p("history.search.keywordLabel"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1}),(0,d.jsx)("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"text-muted-foreground text-xs min-w-[3rem] text-right",children:s}),(0,d.jsx)("button",{type:"button",onClick:j,disabled:0===c,"aria-label":p("history.search.prev"),className:"text-muted-foreground hover:text-foreground disabled:opacity-40 min-w-[36px] min-h-[36px] flex items-center justify-center text-base",children:"▲"}),(0,d.jsx)("button",{type:"button",onClick:i,disabled:0===c,"aria-label":p("history.search.next"),className:"text-muted-foreground hover:text-foreground disabled:opacity-40 min-w-[36px] min-h-[36px] flex items-center justify-center text-base",children:"▼"}),(0,d.jsx)("button",{type:"button",onClick:k,"aria-label":p("history.search.close"),className:"text-muted-foreground hover:text-foreground min-w-[36px] min-h-[36px] flex items-center justify-center text-base ml-1",children:"✕"})]})}},28232:(a,b,c)=>{c.d(b,{Lx:()=>f,Oy:()=>h,bJ:()=>d});let d="Thinking",e=/^>[ \t]*\*\*Thinking(?:[ \t]*\((\d+)\))?\*\*[ \t]*$/;function f(a){if(!a.includes(d))return{body:a,reasoning:null,blocks:0};let b=a.split("\n"),c=g(b);if(0===c.blocks)return{body:a,reasoning:null,blocks:0};let e=c.kept.map(a=>b[a]),f=c.sections.map(([a,c])=>b.slice(a,c).map(a=>a.replace(/^>[ \t]?/,"")).join("\n").replace(/^\n+/,"").replace(/\n+$/,""));return{body:e.join("\n").replace(/\n{3,}/g,"\n\n").trim(),reasoning:f.join("\n\n").replace(/^\n+/,"").replace(/\n+$/,""),blocks:c.blocks,lineRanges:c.sections.map(([a,b])=>[a-1,b])}}function g(a){let b=[],c=[],d=0,f=0;for(;f<a.length;){let g=e.exec(a[f]),h=0===f||!a[f-1].startsWith(">");if(!g||!h){b.push(f),f+=1;continue}let i=f+1;for(;i<a.length&&a[i].startsWith(">");)i+=1;let j=g[1]?Number.parseInt(g[1],10):1;d+=Number.isFinite(j)&&j>0?j:1,c.push([f+1,i]),f=i}return{kept:b,sections:c,blocks:d}}function h(a){let b=a.split("\n"),c=a=>({text:b[a],line:a,column:0}),e=a.includes(d)?g(b):{kept:[],sections:[],blocks:0};if(0===e.blocks)return{body:b.map((a,b)=>c(b)),reasoning:[]};let f=[];for(let a of e.kept){let d=f[f.length-1];(""!==b[a]||d?.text!=="")&&f.push(c(a))}let h=function(a){let b=0,c=a.length-1;for(;b<=c&&""===a[b].text.trim();)b+=1;for(;c>=b&&""===a[c].text.trim();)c-=1;if(b>c)return[];let d=a.slice(b,c+1),e=d[0],f=e.text.trimStart();d[0]={...e,text:f,column:e.column+e.text.length-f.length};let g=d[d.length-1];return d[d.length-1]={...g,text:g.text.trimEnd()},d}(f),i=[];for(e.sections.forEach(([a,c],d)=>{d>0&&i.push({text:"",line:null,column:0});let e=[];for(let d=a;d<c;d++){let a=b[d].replace(/^>[ \t]?/,"");e.push({text:a,line:d,column:b[d].length-a.length})}for(;e.length>0&&""===e[0].text;)e.shift();for(;e.length>0&&""===e[e.length-1].text;)e.pop();i.push(...e.length>0?e:[{text:"",line:null,column:0}])});i.length>0&&""===i[0].text;)i.shift();for(;i.length>0&&""===i[i.length-1].text;)i.pop();return{body:h,reasoning:i}}},29460:(a,b,c)=>{c.d(b,{i:()=>g,w:()=>f});var d=c(38301),e=c(77478);function f({messages:a}){let[b,c]=(0,d.useState)(!1),[f,g]=(0,d.useState)(""),[h,i]=(0,d.useState)([]),[j,k]=(0,d.useState)(0),[l,m]=(0,d.useState)(!1),n=(0,d.useRef)(null),o=(0,d.useRef)(""),p=(0,d.useRef)(!1);(0,d.useRef)(function(a){if(0===a.length)return"0";let b=a[a.length-1],c=b.timestamp instanceof Date?b.timestamp.getTime():String(b.timestamp);return`${a.length}|${b.id}|${c}`}(a));let q=(0,d.useRef)(a);q.current=a;let r=h.reduce((a,b)=>a+b.ranges.length,0),s=(0,d.useMemo)(()=>(function(a,b){if(0===a.length||b<0)return null;let c=0;for(let d of a){if(b<c+d.ranges.length)return{messageId:d.messageId,localIndex:b-c};c+=d.ranges.length}return null})(h,j),[h,j]),t=(0,d.useCallback)(()=>{n.current&&(clearTimeout(n.current),n.current=null)},[]),u=(0,d.useCallback)(a=>{let{positions:b,capped:c}=function(a,b){if(b.length<e.E2||0===a.length)return{positions:[],capped:!1};let c=b.toLowerCase(),d=b.length,f=[],g=0,h=!1;for(let b of a){if(h)break;let i=b.content;if(!i)continue;let j=i.toLowerCase(),k=[],l=0;for(;;){let f=j.indexOf(c,l);if(-1===f)break;if(k.push({start:f,end:f+d}),l=f+1,(g+=1)>=e.F0){if(-1!==j.indexOf(c,l))h=!0;else{let d=a.indexOf(b)+1;for(let b=d;b<a.length;b++){let d=a[b].content;if(d&&-1!==d.toLowerCase().indexOf(c)){h=!0;break}}}break}}k.length>0&&f.push({messageId:b.id,ranges:k})}return{positions:f,capped:h}}(q.current,a);i(b),k(0),m(c)},[]),v=(0,d.useCallback)(a=>{t(),o.current=a,p.current||(n.current=setTimeout(()=>{u(a)},e.e1))},[t,u]),w=(0,d.useCallback)(a=>{g(a),v(a)},[v]),x=(0,d.useCallback)(()=>{c(!0)},[]),y=(0,d.useCallback)(()=>{c(!1),g(""),o.current="",i([]),k(0),m(!1),t()},[t]),z=(0,d.useCallback)(()=>{k(a=>0===r?0:(a+1)%r)},[r]),A=(0,d.useCallback)(()=>{k(a=>0===r?0:(a-1+r)%r)},[r]);return{isOpen:b,query:f,matchCount:r,currentIndex:j,isAtMaxMatches:l,matchPositions:h,currentMatch:s,openSearch:x,closeSearch:y,setQuery:w,onCompositionStart:(0,d.useCallback)(()=>{p.current=!0,t()},[t]),onCompositionEnd:(0,d.useCallback)(()=>{p.current=!1;let a=o.current;a.length>=e.E2&&(t(),n.current=setTimeout(()=>{u(a)},e.e1))},[t,u]),nextMatch:z,prevMatch:A}}function g(a,b){let[c,e]=(0,d.useState)(0);return c}c(91075)},30872:(a,b,c)=>{c.d(b,{$H:()=>q,VC:()=>v,gg:()=>l,pw:()=>A,Dk:()=>u,S$:()=>y,xw:()=>z});var d=c(7879);let e=/\btype\s+to\s+search\b|\bsearch\s+\w+\s*(?:…|\.\.\.)|(?:^|·)\s*\/\s+search\b/im,f=/^\s*(?:❯ +)?Approve\s+ctrl\+a\b[^\n]*\n\s*(?:❯ +)?Cancel\s+esc\s*$/im,g=">[^\\S\\n]+[A-Z][A-Za-z-]*[^\\S\\n]mode:[^\\n]*\\(shift\\+tab to cycle\\)[^\\S\\n]*";RegExp(`^${g}$`,"m"),RegExp(`^(?:>\\s*|${g})$`,"m");let h=/↑\/↓\s*Navigate/,i=/Do you trust the contents of this project\?/,j=/\benter\s+to\s+select\b\s*[·•]\s*esc\s+to\s+cancel\b/i,k=/^\s*(?:press|hit|type)?\s*(?:<)?esc(?:ape)?(?:>)?\s+to\s+(?:close|dismiss|exit)\b[\s.·•]*$/im;function l(a){if(!a)return!1;let b=(0,d.aJ)(a.replace(/\r\n/g,"\n")).split("\n"),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;return!(c<0)&&b.slice(Math.max(0,c+1-15),c+1).some(a=>k.test(a))}let m=/^\u2500+$/,n="●◉⦿",o=RegExp(`^\\s*([${n}◯○◌⚪✔])\\s+\\S`),p=/\besc\s+to\s+interrupt\b|^[^\S\n]*✻[^\S\n]+\S/im,q=9,r=/^[^0-9A-Za-z]*([1-9])[.)]\s+\S/,s=/\bs\s+to\s+use\s+this\s+session\s+only\b/i,t=/\bEnter\s+to\s+set\s+as\s+default\b/i;function u(a){let b=function(a){if(!a)return null;let b=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;if(c<1)return null;let f=-1;for(let a=c-1;a>=0;a-=1){let c=b[a].trim();if(!(c.length<40)&&m.test(c)){f=a;break}}if(f<0)return null;let g=b.slice(f+1,c+1),h=g.join("\n");if(e.test(h)||j.test(h)||k.test(h)||p.test(h))return null;let i=g.findIndex(a=>""!==a.trim());if(i<0||!function(a){let b=a.split("|");if(b.length<2)return!1;let c=0,d=0;for(let a of b){let b=o.exec(a);if(null===b)return!1;n.includes(b[1])?c+=1:d+=1}return c>0&&d>0}(g[i]))return null;let l=[],q=-1;for(let a=i+1;a<g.length;a+=1){let b=r.exec(g[a]);null!==b&&(q<0&&(q=a),l.push(Number(b[1])))}if(l.length<2||!g.slice(i+1,q).some(a=>""!==a.trim()))return null;let s=0,t=-1,u=!1;for(let a=0;a<g.length;a+=1){let b=g[a].split("❯").length-1;0!==b&&(s+=b,t=a,u=r.test(g[a]))}return 0===s?null:{ruleLineIndex:f,firstLineIndex:f+1,lastLineIndex:c,tabLineIndex:f+1+i,numbers:l,cursorCount:s,cursorLineIndex:f+1+t,cursorOnOptionRow:u}}(a);return null!==b&&b.numbers.every((a,b)=>a===b+1)&&1===b.cursorCount?{ruleLineIndex:b.ruleLineIndex,firstLineIndex:b.firstLineIndex,lastLineIndex:b.lastLineIndex,tabLineIndex:b.tabLineIndex,cursorLineIndex:b.cursorLineIndex,cursorOnOptionRow:b.cursorOnOptionRow,optionCount:b.numbers.length}:null}function v(a){let b=a.replace(/\r\n/g,"\n").split("\n"),c=-1;for(let a=b.length-1;a>=0;a-=1)if(j.test((0,d.aJ)(b[a]))){c=a;break}if(c<0){let c=u(a);return null===c?null:b.slice(c.firstLineIndex,c.lastLineIndex+1).join("\n")}for(let a=c-1;a>=0;a-=1){let e=(0,d.aJ)(b[a]).trim();if(!(e.length<40)&&m.test(e))return b.slice(a+1,c+1).join("\n")}return null}let w={optionCount:0,offersSessionScope:!1,commitsDefaultOnEnter:!1,hasFilterInput:!1,offersPlanApprove:!1};function x(a){let b=(0,d.aJ)(a.replace(/\r\n/g,"\n")).split("\n"),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;return c<0?[]:b.slice(Math.max(0,c+1-40),c+1)}function y(a){if(!a)return w;let b=x(a);if(0===b.length)return w;let c=b.join("\n");return{optionCount:function(a){let b=0,c=0;for(let d of a){let a=r.exec(d);if(null===a)continue;let e=Number(a[1]);e===c+1?(c=e,b=e):1===e?(c=1,b=1):c=0}return Math.min(b,q)}(b),offersSessionScope:s.test(c),commitsDefaultOnEnter:t.test(c),hasFilterInput:e.test(c),offersPlanApprove:f.test(c)}}function z(a){return a.optionCount>0&&!a.offersSessionScope&&!a.hasFilterInput&&!a.offersPlanApprove}function A(a,b){var c;return!!a&&"antigravity"===b&&(c=x(a).slice(-15).join("\n"),i.test(c)&&h.test(c))}},30917:(a,b,c)=>{c.d(b,{n:()=>g});var d=c(21124),e=c(38301),f=c(20481);function g({apiUrl:a,alt:b,width:c,height:g,lazy:h=!1,loadingFallback:i,errorFallback:j,className:k,style:l,wrap:m}){let n=(0,f.c)("worktree"),[o,p]=(0,e.useState)(null),[q,r]=(0,e.useState)("idle"),[s,t]=(0,e.useState)(!h),u=(0,e.useRef)(null),v=i??(0,d.jsx)("span",{style:{color:"#999"},children:n("markdownPreview.loadingImage")});if("error"===q)return(0,d.jsx)(d.Fragment,{children:j??v});if(!o)return h?(0,d.jsx)("span",{ref:u,children:v}):v;let w=(0,d.jsx)("img",{src:o,alt:b,width:c,height:g,className:k,style:l??{maxWidth:c||"100%"},onError:void 0!==j?()=>r("error"):void 0});return m?(0,d.jsx)(d.Fragment,{children:m(w)}):w}},31179:(a,b,c)=>{c.d(b,{B:()=>e,b:()=>d});let d=Object.freeze({sessionStatus:"",agentMode:c(51919).J_,isSelectionListActive:!1,isPagerActive:!1,isDismissablePanelActive:!1,isUnclassifiedActive:!1,startingSince:null});function e(a,b){return Object.keys(a).every(c=>Object.is(a[c],b[c]))}},31666:(a,b,c)=>{function d(a){let b=[],c=a.awaiting.filter(a=>"prompt"===a.state);c.length>0&&b.push({tone:"prompt",key:"badgePrompt",params:{count:c.length,alias:a.aliasOf(c[0].to)},titleKey:"promptTitle",count:c.length});let d=a.awaiting.filter(a=>"prompt"!==a.state);return 1===d.length?b.push({tone:"awaiting",key:"badgeAwaiting",params:{alias:a.aliasOf(d[0].to)},titleKey:"awaitingTitle",count:1}):d.length>1&&b.push({tone:"awaiting",key:"badgeAwaitingMany",params:{count:d.length},titleKey:"awaitingTitle",count:d.length}),1===a.owed.length?b.push({tone:"owed",key:"badgeOwed",params:{alias:a.aliasOf(a.owed[0].from)},titleKey:"owedTitle",count:1}):a.owed.length>1&&b.push({tone:"owed",key:"badgeOwedMany",params:{count:a.owed.length},titleKey:"owedTitle",count:a.owed.length}),b}function e(a){if(0===a.length)return null;let[b]=a,c="prompt"===b.tone?"stripPrompt":"owed"===b.tone?"stripOwed":b.count>1?"stripAwaitingMany":"stripAwaiting";return{...b,key:c}}c.d(b,{g:()=>d,y:()=>e})},35550:(a,b,c)=>{c.d(b,{t:()=>g});var d=c(21124),e=c(38301),f=c(20481);class g extends e.Component{constructor(a){super(a),this.handleRetry=()=>{this.setState({hasError:!1,error:null})},this.state={hasError:!1,error:null}}static getDerivedStateFromError(a){return{hasError:!0,error:a}}componentDidCatch(a,b){console.error(`[ErrorBoundary:${this.props.componentName||"unknown"}]`,a,b),this.props.onError?.(a,b)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:(0,d.jsx)(h,{componentName:this.props.componentName,error:this.state.error,onRetry:this.handleRetry}):this.props.children}}function h({componentName:a,error:b,onRetry:c}){let e=(0,f.c)("error"),g=(0,f.c)("common");return(0,d.jsxs)("div",{className:"p-4 bg-danger-subtle border border-danger-border rounded-lg",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-danger-foreground mb-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",children:(0,d.jsx)("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})}),(0,d.jsx)("span",{className:"font-medium",children:a?e("boundary.errorOccurredIn",{componentName:a}):e("boundary.errorOccurred")})]}),b&&(0,d.jsx)("p",{className:"text-sm text-danger-foreground/80 mb-3",children:b.message}),c&&(0,d.jsx)("button",{onClick:c,className:"px-4 py-2 bg-danger-foreground text-danger-subtle rounded hover:opacity-90 transition-opacity text-sm",children:g("retry")})]})}},37834:(a,b,c)=>{function d(a){return a?.state==="answering"}function e(a,b){return void 0===a||void 0===b||(a.confirmation??null)!==(b.confirmation??null)?b:b.observedAt<a.observedAt?a:b}c.d(b,{Ft:()=>e,TR:()=>d})},38463:(a,b,c)=>{c.d(b,{bl:()=>ab,Ce:()=>o.Ce});var d=c(21124),e=c(38301),f=c.n(e),g=c(20481),h=c(21554),i=c(82788),j=c(63091),k=c(10578),l=c(88285),m=c(8294),n=c(85866),o=c(24761),p=c(29460),q=c(14263),r=c(18310),s=c(9212),t=c(47089),u=c(25770),v=c(10708),w=c(85351),x=c(55992),y=c(27867),z=c(29701),A=c(37950),B=c(91075),C=c(65468),D=c(79695),E=c(54228),F=c(8842),G=c(88033),H=c(47786),I=c(2842);function J(a){let b=a.split("\n");if(b.length<=2&&a.length<=100)return{text:a,isTruncated:!1};let c=b.slice(0,2).join("\n");return c.length>100&&(c=c.slice(0,100)),{text:c,isTruncated:!0}}let K=(0,e.memo)(function({content:a,onFilePathClick:b}){let c=(0,g.c)("worktree"),f=(0,e.useMemo)(()=>(0,F.ML)(a),[a]),h=(0,e.useCallback)(a=>()=>b(a),[b]);return(0,d.jsx)("span",{children:f.map((a,b)=>"path"===a.type?(0,d.jsx)("button",{type:"button",onClick:h(a.content),className:"text-accent-700 dark:text-accent-400 hover:text-accent-600 dark:hover:text-accent-300 hover:underline cursor-pointer font-mono text-sm","aria-label":c("conversation.openFile",{path:a.content}),children:a.content},b):(0,d.jsx)("span",{children:a.content},b))})}),L=(0,e.memo)(function({content:a,onFilePathClick:b}){let c=(0,e.useMemo)(()=>{let a=a=>f().Children.map(a,a=>"string"==typeof a?(0,d.jsx)(K,{content:a,onFilePathClick:b}):a);return{p:({children:b,...c})=>(0,d.jsx)("p",{...(0,B.po)(c),children:a(b)}),li:({children:b,...c})=>(0,d.jsx)("li",{...(0,B.po)(c),children:a(b)}),td:({children:b,...c})=>(0,d.jsx)("td",{...(0,B.po)(c),children:a(b)}),th:({children:b,...c})=>(0,d.jsx)("th",{...(0,B.po)(c),children:a(b)}),strong:({children:b,...c})=>(0,d.jsx)("strong",{...(0,B.po)(c),children:a(b)}),em:({children:b,...c})=>(0,d.jsx)("em",{...(0,B.po)(c),children:a(b)}),a:({href:a,children:c,node:e,...f})=>(0,d.jsx)(H.ZS,{...f,href:a,onFilePathClick:b,children:c}),...I.H}},[b]),g=(0,e.useMemo)(()=>[z.A,B.p0,A.A],[]);return(0,d.jsx)(y.oz,{remarkPlugins:G.eT,rehypePlugins:g,components:c,children:a})});function M(){let a=(0,g.c)("worktree");return(0,d.jsxs)("div",{"data-testid":"pending-indicator",className:"flex items-center gap-2 text-muted-foreground py-2",children:[(0,d.jsxs)("div",{className:"flex gap-1","aria-hidden":"true",children:[(0,d.jsx)("span",{className:"w-2 h-2 bg-muted-foreground rounded-full animate-pulse"}),(0,d.jsx)("span",{className:"w-2 h-2 bg-muted-foreground rounded-full animate-pulse",style:{animationDelay:"150ms"}}),(0,d.jsx)("span",{className:"w-2 h-2 bg-muted-foreground rounded-full animate-pulse",style:{animationDelay:"300ms"}})]}),(0,d.jsx)("span",{className:"text-sm",children:a("conversation.waitingForResponse")})]})}let N=(0,e.memo)(function({message:a,onFilePathClick:b,onCopy:c,onInsertToMessage:e,onRetryPending:f,onDiscardPending:h}){let i=(0,x.Ym)(),j=(0,g.c)("worktree"),k=(0,g.c)("common"),l=(0,D.M)(i),m=(0,E.bg)(a.timestamp,l),n=a.optimisticState,o=["group relative border-l-2 p-3 transition-opacity","error"===n?"border-danger-border bg-danger-subtle":"border-accent-500 bg-accent-500/10","sending"===n?"opacity-70":""].filter(Boolean).join(" ");return(0,d.jsxs)("div",{className:o,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,d.jsx)("span",{className:"text-xs font-medium text-accent-700 dark:text-accent-400",children:j("conversation.you")}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:m}),"sending"===n&&(0,d.jsxs)("span",{"data-testid":"optimistic-sending",className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,d.jsx)(q.A,{size:12,className:"animate-spin","aria-hidden":"true"}),(0,d.jsx)("span",{children:j("conversation.sending")})]}),"error"===n&&(0,d.jsxs)("span",{"data-testid":"optimistic-error",className:"flex items-center gap-1 text-xs text-danger-foreground",children:[(0,d.jsx)(r.A,{size:12,"aria-hidden":"true"}),(0,d.jsx)("span",{children:j("conversation.failedToSend")})]}),"error"===n?(0,d.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[f&&(0,d.jsxs)("button",{type:"button","data-testid":"pending-retry",onClick:()=>f(a.id),className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-accent-700 dark:text-accent-400 hover:bg-muted transition-colors","aria-label":j("conversation.retrySending"),title:k("retry"),children:[(0,d.jsx)(s.A,{size:12,"aria-hidden":"true"}),k("retry")]}),h&&(0,d.jsxs)("button",{type:"button","data-testid":"pending-discard",onClick:()=>h(a.id),className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-muted-foreground hover:text-danger-foreground hover:bg-muted transition-colors","aria-label":j("conversation.discardMessage"),title:j("conversation.discard"),children:[(0,d.jsx)(t.A,{size:12,"aria-hidden":"true"}),j("conversation.discard")]})]}):(0,d.jsxs)("div",{className:"ml-auto flex items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100 [@media(hover:none)]:opacity-100",children:[e&&(0,d.jsx)("button",{type:"button","data-testid":"insert-user-message",onClick:()=>e(a.content),className:"p-1 text-muted-foreground hover:text-accent-600 dark:hover:text-accent-400 hover:bg-muted rounded transition-colors","aria-label":j("conversation.insertToMessage"),title:j("conversation.insertToMessage"),children:(0,d.jsx)(u.A,{size:14,"aria-hidden":"true"})}),c&&(0,d.jsx)("button",{type:"button","data-testid":"copy-user-message",onClick:()=>c(a.content),className:"p-1 text-muted-foreground hover:text-foreground hover:bg-muted rounded transition-colors","aria-label":j("conversation.copyMessage"),title:j("conversation.copy"),children:(0,d.jsx)(v.A,{size:14,"aria-hidden":"true"})})]})]}),(0,d.jsx)("div",{"data-message-id":a.id,className:"text-sm text-foreground whitespace-pre-wrap break-words [word-break:break-word] max-w-full overflow-x-hidden",children:(0,d.jsx)(K,{content:a.content,onFilePathClick:b})})]})}),O=(0,e.memo)(function({message:a,index:b,total:c,isExpanded:f,onFilePathClick:h,onCopy:i,hasLongContent:j=!1,onToggleExpand:k}){let l=(0,x.Ym)(),m=(0,g.c)("worktree"),n=(0,D.M)(l),o=(0,E.bg)(a.timestamp,n),{text:p,isTruncated:q}=(0,e.useMemo)(()=>J(a.content),[a.content]),r=f||!q?a.content:p,s=(0,C.bx)(a.requestId),t=s&&q&&!f;return(0,d.jsxs)("div",{className:"assistant-message-item group relative",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,d.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:m("conversation.assistant")}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:o}),c>1&&(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",b+1,"/",c,")"]}),(0,d.jsxs)("div",{className:"ml-auto flex items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100 [@media(hover:none)]:opacity-100",children:[0===b&&j&&!!k&&(0,d.jsxs)("button",{type:"button",onClick:k,className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-accent-700 dark:text-accent-400 hover:text-accent-600 dark:hover:text-accent-300 hover:bg-muted transition-colors","aria-expanded":f,"aria-label":m(f?"conversation.collapseMessage":"conversation.expandMessage"),children:[(0,d.jsx)(w.A,{size:12,className:`transition-transform ${f?"rotate-180":""}`,"aria-hidden":"true"}),m(f?"conversation.collapse":"conversation.expand")]}),i&&(0,d.jsx)("button",{type:"button","data-testid":"copy-assistant-message",onClick:()=>i(a.content),className:"p-1 text-muted-foreground hover:text-foreground hover:bg-muted rounded transition-colors","aria-label":m("conversation.copyMessage"),title:m("conversation.copy"),children:(0,d.jsx)(v.A,{size:14,"aria-hidden":"true"})})]})]}),s?(0,d.jsx)("div",{"data-message-id":a.id,"data-markdown":"true",className:["assistant-md text-xs text-foreground break-words [word-break:break-word] max-w-full overflow-x-hidden",t?"max-h-[3.25rem] overflow-y-hidden":""].filter(Boolean).join(" "),children:(0,d.jsx)(L,{content:a.content,onFilePathClick:h})}):(0,d.jsxs)("div",{"data-message-id":a.id,className:"text-xs text-foreground whitespace-pre-wrap break-words [word-break:break-word] max-w-full overflow-x-hidden",children:[(0,d.jsx)(K,{content:r,onFilePathClick:h}),!f&&q&&(0,d.jsx)("span",{className:"text-muted-foreground",children:"..."})]})]})}),P=(0,e.memo)(function({messages:a,isExpanded:b,onFilePathClick:c,onCopy:e,hasLongContent:g=!1,onToggleExpand:h}){return(0,d.jsx)("div",{className:"bg-surface-2/50 border-l-2 border-border p-2 border-t border-border space-y-2",children:a.map((i,j)=>(0,d.jsxs)(f().Fragment,{children:[j>0&&(0,d.jsx)("div",{"data-testid":"assistant-message-divider",className:"border-t border-dashed border-border"}),(0,d.jsx)(O,{message:i,index:j,total:a.length,isExpanded:b,onFilePathClick:c,onCopy:e,hasLongContent:g,onToggleExpand:h})]},i.id))})});function Q(){let a=(0,g.c)("worktree");return(0,d.jsxs)("div",{"data-testid":"orphan-indicator",className:"bg-warning/10 text-warning-foreground text-xs px-3 py-1 flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,d.jsx)("span",{children:a("conversation.systemMessage")})]})}let R=(0,e.memo)(function({pair:a,onFilePathClick:b,isExpanded:c=!1,onToggleExpand:f,onCopy:h,onInsertToMessage:i,showAssistant:j=!0,onRetryPending:k,onDiscardPending:l}){let m=(0,g.c)("worktree"),n=a.userMessage?.optimisticState!==void 0,o=(0,e.useMemo)(()=>a.assistantMessages.some(a=>{let{isTruncated:b}=J(a.content);return b}),[a.assistantMessages]),p=(0,e.useCallback)(()=>{f&&f()},[f]),q=(0,e.useMemo)(()=>{let b="pending"===a.status?"pending":"orphan"===a.status?"orphan border-l-4 border-warning":"";return`border border-border rounded-lg overflow-hidden mb-4 transition-colors ${b}`.trim()},[a.status]),r=a.userMessage?m("conversation.conversationLabel",{preview:`${a.userMessage.content.substring(0,50)}${a.userMessage.content.length>50?"...":""}`}):m("conversation.systemMessageLabel");return(0,d.jsxs)("div",{"data-testid":"conversation-pair-card",role:"article","aria-label":r,className:q,children:["orphan"===a.status&&(0,d.jsx)(Q,{}),a.userMessage&&(0,d.jsx)(N,{message:a.userMessage,onFilePathClick:b,onCopy:h,onInsertToMessage:i,onRetryPending:k,onDiscardPending:l}),"pending"!==a.status||n?j&&a.assistantMessages.length>0?(0,d.jsx)(P,{messages:a.assistantMessages,isExpanded:c,onFilePathClick:b,onCopy:h,hasLongContent:o,onToggleExpand:p}):null:(0,d.jsx)("div",{className:"bg-muted/40 border-l-2 border-border p-3 border-t border-border",children:(0,d.jsx)(M,{})})]})});var S=c(27412),T=c(3754),U=c(63156),V=c(55948),W=c(93777),X=c(13074),Y=c(11801),Z=c(88826);function $(){let a=(0,g.c)("worktree");return(0,d.jsx)("div",{"data-testid":"loading-indicator",role:"status","aria-label":a("history.loading"),children:[0,1,2].map(a=>(0,d.jsxs)("div",{className:"mb-4 overflow-hidden rounded-lg border border-border",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 p-3",children:[(0,d.jsx)(n.EA,{className:"h-4 w-4 rounded-full"}),(0,d.jsx)(n.EA,{className:"h-4 w-1/3"})]}),(0,d.jsxs)("div",{className:"space-y-2 px-3 pb-3",children:[(0,d.jsx)(n.EA,{className:"h-3 w-full"}),(0,d.jsx)(n.EA,{className:"h-3 w-5/6"}),(0,d.jsx)(n.EA,{className:"h-3 w-2/3"})]})]},a))})}function _(){let a=(0,g.c)("worktree");return(0,d.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 text-muted-foreground",children:[(0,d.jsx)("svg",{className:"w-12 h-12 mb-2 opacity-50",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})}),(0,d.jsx)("p",{className:"text-sm",children:a("history.empty")})]})}let aa=["h-full","flex","flex-col","overflow-hidden","bg-surface-2","rounded-lg","border","border-border"],ab=(0,e.memo)(function({messages:a,worktreeId:b,worktreePath:c,onFilePathClick:f,isLoading:q=!1,className:r="",showToast:s,onInsertToMessage:t,onRetryPending:u,onDiscardPending:v,showArchived:w=!1,onShowArchivedChange:x,historyDisplayLimit:y,onHistoryDisplayLimitChange:z,historyUserOnly:A=!1,onHistoryUserOnlyChange:C,onCollapse:D,splitIndex:E,cliToolId:F}){let G=(0,g.c)("worktree"),H=(0,e.useRef)(null),I=(0,X.O)(),J=c??I.worktreePath,K=(0,e.useMemo)(()=>void 0===E?B.Gw:(0,B.eu)(E),[E]),L=void 0===E?"history-pane-collapse-button":`history-pane-collapse-button-${E}`,M=void 0===E?T.g6:(0,o.Ce)(E),N=(0,e.useRef)(!0),O=(0,e.useRef)(-1),P=(0,e.useRef)(null),{pairs:Q,isExpanded:ab,toggleExpand:ac}=function(a){let b=(0,e.useMemo)(()=>(function(a){if(0===a.length)return[];let b=[...a].sort((a,b)=>a.timestamp.getTime()-b.timestamp.getTime()),c=[],d=null;for(let a of b)if("user"===a.role)d={id:a.id,userMessage:a,assistantMessages:[],status:"pending"},c.push(d);else if("assistant"===a.role)if(d&&null!==d.userMessage)d.assistantMessages.push(a),d.status="completed";else if(d&&null===d.userMessage)d.assistantMessages.push(a);else{let b={id:`orphan-${a.id}`,userMessage:null,assistantMessages:[a],status:"orphan"};c.push(b),d=b}return c})(a),[a]),[c,d]=(0,e.useState)(new Set),f=(0,e.useCallback)(a=>{d(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),g=(0,e.useCallback)(a=>c.has(a),[c]),h=(0,e.useCallback)(()=>{d(new Set(b.map(a=>a.id)))},[b]);return{pairs:b,expandedPairs:c,toggleExpand:f,isExpanded:g,expandAll:h,collapseAll:(0,e.useCallback)(()=>{d(new Set)},[])}}(a),ad=(0,e.useMemo)(()=>a.filter(a=>!a.archived&&"string"==typeof a.content&&a.content.length>0&&(!A||"user"===a.role)),[a,A]),{isOpen:ae,query:af,matchCount:ag,currentIndex:ah,isAtMaxMatches:ai,matchPositions:aj,currentMatch:ak,openSearch:al,closeSearch:am,setQuery:an,onCompositionStart:ao,onCompositionEnd:ap,nextMatch:aq,prevMatch:ar}=(0,p.w)({messages:ad}),as=ae&&aj.length>0,at=(0,e.useMemo)(()=>new Map(ad.map(a=>[a.id,a.content])),[ad]),au=(0,e.useMemo)(()=>a.filter(a=>"relay"===a.messageType).length,[a]),[av,aw]=(0,e.useState)(new Set);(0,e.useEffect)(()=>{am()},[b]);let ax=(0,e.useMemo)(()=>A?Q.filter(a=>a.userMessage):Q,[Q,A]),ay=(0,e.useMemo)(()=>{let a=new Map;for(let b of ax)for(let c of(b.userMessage&&a.set(b.userMessage.id,b.id),b.assistantMessages))a.set(c.id,b.id);return a},[ax]),az=(0,e.useMemo)(()=>{let a=new Map;return ax.forEach((b,c)=>a.set(b.id,c)),a},[ax]),aA=(0,h.Te)({count:ax.length,getScrollElement:()=>H.current,estimateSize:()=>Z.__,overscan:Z.b,getItemKey:a=>ax[a]?.id??a}),aB=aA.getVirtualItems(),aC=aB.length>0?`${aB[0].index}-${aB[aB.length-1].index}`:"",aD=(0,e.useCallback)(()=>{let a=H.current;a&&(N.current=(0,Z.Mp)({scrollTop:a.scrollTop,scrollHeight:a.scrollHeight,clientHeight:a.clientHeight}))},[]);(0,e.useLayoutEffect)(()=>{let a=O.current,b=ax.length;O.current=b,-1!==a&&b>a&&b>0&&N.current&&!as&&aA.scrollToIndex(b-1,{align:"end"})},[ax.length,as,aA]),(0,e.useLayoutEffect)(()=>{if(!ae||0===aj.length)return void aw(a=>0===a.size?a:new Set);aw(function(a,b){let c=new Map;for(let a of b)for(let b of(a.userMessage&&c.set(a.userMessage.id,a.id),a.assistantMessages))c.set(b.id,a.id);let d=new Set;for(let b of a){let a=c.get(b.messageId);a&&d.add(a)}return d}(aj,Q))},[ae,aj,Q]),(0,e.useEffect)(()=>{if(!ae||!ak)return;let a=ay.get(ak.messageId);if(void 0===a)return;let b=az.get(a);void 0!==b&&aA.scrollToIndex(b,{align:"center"})},[ae,ak,ay,az,aA]);let aE=(0,p.i)(H,as);(0,e.useLayoutEffect)(()=>{let a=H.current;if(!a)return;if(!ae||0===aj.length)return void(0,B.fq)(K);let b=null;for(let d of aj){var c;let e=(c=d.messageId,a.querySelector(`[data-message-id="${CSS.escape(c)}"]`));if(!e)continue;let f=ak?.messageId===d.messageId,g=f?ak.localIndex:-1;(0,B.Gg)(e,d.ranges,g,K,{sourceText:at.get(d.messageId)}),f&&e instanceof HTMLElement&&(b=e)}return b&&"function"==typeof b.scrollIntoView&&b.scrollIntoView({block:"center",behavior:"smooth"}),()=>{(0,B.fq)(K)}},[ae,aj,ak,av,K,aC,at,aE]),(0,e.useEffect)(()=>{let a=H.current;if(ae)null===P.current&&a&&(P.current=a.scrollTop);else{if(null!==P.current&&a){let b=P.current;requestAnimationFrame(()=>{a.scrollTop=b})}P.current=null}},[ae]);let aF=(0,e.useMemo)(()=>[...aa,r].filter(Boolean).join(" "),[r]),aG=(0,e.useRef)(G);aG.current=G;let aH=(0,e.useCallback)(a=>{let c=(0,V.h)(a,J);null!==c&&(async()=>{if("missing"===await (0,W.o4)(b,c))return s?.(aG.current("conversation.filePathMissing"),"error");f(c)})()},[f,b,J,s]),aI=(0,e.useCallback)(a=>()=>ac(a),[ac]),aJ=(0,e.useCallback)(async a=>{try{await (0,U.l)(a),s?.(aG.current("history.copied"),"success")}catch{console.error("[HistoryPane] Failed to copy to clipboard"),s?.(aG.current("history.copyFailed"),"error")}},[s]),aK=a=>{let b=a.userMessage?.archived===!0||a.assistantMessages?.some(a=>!0===a.archived),c=ab(a.id)||av.has(a.id);return(0,d.jsx)("div",{className:b?"opacity-60":"",children:(0,d.jsx)(R,{pair:a,onFilePathClick:aH,isExpanded:c,onToggleExpand:aI(a.id),onCopy:aJ,onInsertToMessage:t,onRetryPending:u,onDiscardPending:v,showAssistant:!A})})},aL=(0,e.useCallback)(a=>{let b=parseInt(a.target.value,10);(0,Y.UK)(b)&&z?.(b)},[z]),aM=(0,e.useCallback)(()=>{ae?am():al()},[ae,al,am]);return(0,d.jsxs)("div",{role:"region","aria-label":G("history.regionLabel"),className:aF,children:[(0,d.jsxs)("div",{className:"flex-shrink-0 bg-surface-2 border-b border-border px-4 py-2 flex items-center justify-between flex-wrap gap-1",children:[(0,d.jsx)("h3",{className:"text-sm font-medium text-foreground",children:G("history.title")}),au>0&&(0,d.jsxs)("span",{"data-testid":"history-relay-count",title:G("relay.historyBadgeTitle"),className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,d.jsx)(i.A,{size:12,className:"shrink-0","aria-hidden":"true"}),G("relay.historyCount",{count:au})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[z&&void 0!==y&&(0,d.jsxs)("label",{className:"flex items-center gap-1.5 text-xs text-muted-foreground cursor-pointer",children:[(0,d.jsx)("span",{children:G("history.show")}),(0,d.jsx)("select",{value:y,onChange:aL,"aria-label":G("history.displayLimit"),className:"rounded border border-input bg-surface text-foreground text-xs px-1.5 py-0.5 focus:outline-none focus:ring-1 focus:ring-ring",children:Y.dl.map(a=>(0,d.jsx)("option",{value:a,children:a},a))})]}),x&&(0,d.jsxs)("label",{className:"flex items-center gap-1.5 text-xs text-muted-foreground cursor-pointer",children:[(0,d.jsx)(n.Sc,{checked:w,onCheckedChange:a=>x(!0===a),className:"h-3.5 w-3.5"}),G("history.showArchived")]}),C&&(0,d.jsx)("button",{type:"button",onClick:()=>C(!A),"aria-label":G("history.showUserOnly"),"aria-pressed":A,className:`p-1 rounded transition-colors ${A?"bg-accent-500/15 text-accent-700 dark:text-accent-300":"text-muted-foreground hover:text-foreground"}`,title:G(A?"history.showAllMessages":"history.showUserOnly"),children:A?(0,d.jsx)(j.A,{size:14,"aria-hidden":"true"}):(0,d.jsx)(k.A,{size:14,"aria-hidden":"true"})}),(0,d.jsx)("button",{type:"button",onClick:aM,"aria-label":G(ae?"history.closeSearch":"history.openSearch"),"aria-pressed":ae,className:"p-1 text-muted-foreground hover:text-foreground rounded transition-colors",title:G(ae?"history.closeSearch":"history.openSearch"),children:(0,d.jsx)(l.A,{size:14,"aria-hidden":"true"})}),D&&(0,d.jsx)("button",{type:"button",onClick:D,"aria-label":G("terminal.hideHistory"),"aria-expanded":"true","aria-controls":M,className:"p-1 text-muted-foreground hover:text-foreground rounded transition-colors",title:G("terminal.hideHistory"),"data-testid":L,children:(0,d.jsx)(m.A,{size:14,"aria-hidden":"true"})})]})]}),ae&&(0,d.jsx)("div",{className:"flex-shrink-0 px-3 py-2 bg-surface-2 border-b border-border",children:(0,d.jsx)(S.Y,{query:af,onQueryChange:an,matchCount:ag,currentIndex:ah,onNext:aq,onPrev:ar,onClose:am,isAtMaxMatches:ai,onCompositionStart:ao,onCompositionEnd:ap})}),(0,d.jsx)("div",{ref:H,"data-testid":"history-scroll-container",onScroll:aD,className:"flex-1 min-h-0 overflow-y-auto overflow-x-hidden p-4",children:q?(0,d.jsx)($,{}):0===ax.length?(0,d.jsx)(_,{}):0===aB.length?(0,d.jsx)("div",{"data-testid":"history-fallback-list",children:ax.slice(0,Z.vC).map(a=>(0,d.jsx)("div",{children:aK(a)},a.id))}):(0,d.jsx)("div",{style:{height:aA.getTotalSize(),width:"100%",position:"relative"},children:aB.map(a=>{let b=ax[a.index];return b?(0,d.jsx)("div",{"data-index":a.index,ref:aA.measureElement,className:"absolute left-0 top-0 w-full",style:{transform:`translateY(${a.start}px)`},children:aK(b)},a.key):null})})})]})})},39203:(a,b,c)=>{c.d(b,{$U:()=>j,HB:()=>h,IL:()=>i,L1:()=>k});var d=c(98354);let e=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\[[0-9;]*m/g,f=/^(?:\x1b\[|\[)([0-9;]*)m$/,g=new Set([38,48,58]);function h(a){let b;e.lastIndex=0;let c=[],h="",i=null,j=0,k=0,l=0;for(;null!==(b=e.exec(a));){let e=a.slice(l,b.index);h+=e,j+=(0,d.LQ)(e),l=b.index+b[0].length;let m=f.exec(b[0]);if(null===m)continue;let n=function(a,b){let c=(""===b?"0":b).split(";"),d=a;for(let a=0;a<c.length;a++){let b=Number(""===c[a]?"0":c[a]);if(Number.isFinite(b)){if(g.has(b)){let e="2"===c[a+1]?4:2*("5"===c[a+1]);e>0&&48===b&&(d=c.slice(a,a+1+e).join(";")),a+=e;continue}0===b||49===b?d=null:(b>=40&&b<=47||b>=100&&b<=107)&&(d=c[a])}}return d}(i,m[1]);n!==i&&(j>k&&c.push({bg:i,start:k,end:j}),i=n,k=j)}let m=a.slice(l);h+=m,(j+=(0,d.LQ)(m))>k&&c.push({bg:i,start:k,end:j});let n=new Set(c.map(a=>a.start));return c.length>0&&n.add(c[c.length-1].end),{text:h,segments:c,edges:n,width:j}}function i(a,b){for(let c of a.segments)if(c.start<=b&&b<c.end)return c.bg;return null}function j(a){let b=new Set;for(let c of a.segments)null!==c.bg&&b.add(c.bg);return b}function k(a){let b=new Map;for(let c of a.segments)null!==c.bg&&b.set(c.bg,(b.get(c.bg)??0)+(c.end-c.start));let c=null,d=0;for(let[a,e]of b)e>d&&(c=a,d=e);return{bg:c,columns:d}}},43108:(a,b,c)=>{function d(a){let b="[^\\S\\n]";return RegExp(`(?:^${b}*|\xb7${b}*|${b}{2})${a}(?:${b}\\([^()\\n]{1,32}\\))?(?:${b}*\xb7|${b}{2}|${b}*$)`,"i")}c.d(b,{A:()=>h,h:()=>g});let e={key:"BTab",cycle:["default","plan","autopilot"],indicators:[{mode:"autopilot",pattern:d("autopilot")},{mode:"plan",pattern:d("plan(?:[^\\S\\n]mode)?")}],tailRows:2,noteId:null},f={claude:{key:"BTab",cycle:["auto","manual","accept-edits","plan"],indicators:[{mode:"accept-edits",pattern:/⏵⏵\s*accept edits on\b/},{mode:"auto",pattern:/⏵⏵\s*auto mode on\b/},{mode:"plan",pattern:/⏸\s*plan mode on\b/},{mode:"manual",pattern:/⏸\s*manual mode on\b/}],tailRows:3,noteId:null},"command-code":{key:"BTab",cycle:["default","accept-edits","plan"],indicators:[{mode:"accept-edits",pattern:/»\s*accept edits on\b/},{mode:"bypass",pattern:/»\s*permission bypass on\b/},{mode:"dont-ask",pattern:/»\s*don't-ask on\b/},{mode:"plan",pattern:/^[^\S\n]*plan mode\b/},{mode:"default",pattern:/\?\s+for\s+shortcuts\b/}],tailRows:4,noteId:null},codex:{key:"BTab",cycle:["default","plan"],indicators:[{mode:"plan",pattern:/\bPlan mode\s*\(shift\+tab to cycle\)/i}],tailRows:3,noteId:"codexModelCoupled"},copilot:e,antigravity:{key:"BTab",cycle:["default","accept-edits","plan"],indicators:[{mode:"accept-edits",pattern:d("accept-edits")},{mode:"plan",pattern:d("plan(?:[^\\S\\n]mode)?")}],tailRows:2,noteId:null},"opencode-v2":{key:"BTab",cycle:["build","plan"],indicators:[{mode:"build",pattern:/^[^\S\n]*┃[^\S\n]+Build[^\S\n]·[^\S\n]/},{mode:"plan",pattern:/^[^\S\n]*┃[^\S\n]+Plan[^\S\n]·[^\S\n]/}],tailRows:4,noteId:"opencodeAgentSwitch"}};function g(a){return f[a]??null}let h=Object.keys(f)},43907:(a,b,c)=>{c.d(b,{d8:()=>l,Bw:()=>n});var d=c(44489),e=c(20203),f=c(39203),g=c(98354);let h=/\S[^\S\n]{2,}esc[^\S\n]*$/,i=/^[│┃╹]/;function j(a,b,c){if(!a.edges.has(b)||!a.edges.has(c))return!1;for(let d of a.segments)if(!(d.end<=b)&&!(d.start>=c)&&null===d.bg)return!1;return!((0,f.IL)(a,b-1)===(0,f.IL)(a,b)||c<a.width&&(0,f.IL)(a,c)===(0,f.IL)(a,c-1)||i.test((0,g.Ml)(a.text,b-1,b)))&&!i.test((0,g.Ml)(a.text,b,c))}var k=c(30872);let l=16,m=[function(a){let b=function(a){let b=a.split("\n").map(f.HB),c=new Set,d=null;for(let a of b){if(!a.text.includes("esc"))continue;let f=[...a.edges].sort((a,b)=>a-b);for(let i of f)if(!(i<1))for(let k of f){if(k-i<16)continue;let f=`${i}:${k}`;if(c.has(f)||!j(a,i,k))continue;let l=(0,g.Ml)(a.text,i,k);if(!h.test(l))continue;c.add(f);let m=b.filter(a=>j(a,i,k));if(m.length<3)continue;let n=m.indexOf(a);n<0||n>=3||(null===d||m.length>d.rows)&&(d={id:"opencode_modal_overlay",headerText:(0,e.D)(l.trim(),200,"…[truncated]"),left:i,right:k,rows:m.length,headerRow:n,frameRowStart:b.indexOf(m[0]),frameRowEnd:b.indexOf(m[m.length-1])})}}return d}(a);return null===b?null:a.split("\n").slice(b.frameRowStart,b.frameRowEnd+1).join("\n")},k.VC];function n(a,b={}){if(!a)return"";let c=a.replace(/\r\n/g,"\n");if(b.selectionList)for(let a of m){let b=a(c);if(null===b)continue;let e=(0,d.Uw)(b,{isStructuralRow:d.CG});if(""!==e)return e}let e=(0,d.Uw)(c,{isStructuralRow:d.CG});if(""===e)return"";if(b.selectionList)return e;let f=e.split("\n"),g=function(a){if(void 0===a||!Number.isFinite(a))return l;let b=Math.trunc(a);return b<12?12:b>20?20:b}(b.maxLines);return f.slice(-g).join("\n")}},44047:(a,b,c)=>{c.d(b,{TE:()=>l});var d=c(21124),e=c(38301),f=c(54095),g=c(14263),h=c(20481),i=c(93467),j=c(29281),k=c(17252);let l=(0,e.memo)(function({cliToolId:a,startingSince:b,onShowTerminal:c,variant:l="pane"}){let m=(0,h.c)("worktree"),n=function(a){let[b,c]=(0,e.useState)(()=>Date.now());return Math.max(0,b-a)}(b),o=(0,k.oo)(a),p=n>j.Up?m("sessionStarting.titleWithElapsed",{agent:o,elapsed:(0,i.C)(n)}):m("sessionStarting.title",{agent:o}),q=c?(0,d.jsxs)("button",{type:"button",onClick:c,"data-testid":"session-starting-show-terminal",className:"inline-flex min-h-[32px] shrink-0 items-center gap-1 rounded-md border border-border bg-surface px-2 py-1 text-xs font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",children:[(0,d.jsx)(f.A,{size:14,"aria-hidden":"true"}),m("sessionStarting.showTerminal")]}):null;return"strip"===l?(0,d.jsxs)("div",{role:"status","aria-label":m("sessionStarting.label"),"data-testid":"session-starting-notice","data-variant":"strip",className:"flex flex-wrap items-center gap-2 rounded-lg border border-border bg-surface-2 px-2 py-1.5",children:[(0,d.jsx)(g.A,{size:14,className:"shrink-0 animate-spin text-muted-foreground","aria-hidden":"true"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 text-xs text-foreground","data-testid":"session-starting-title",children:p}),q]}):(0,d.jsxs)("div",{role:"status","aria-label":m("sessionStarting.label"),"data-testid":"session-starting-notice","data-variant":"pane",className:"flex h-full min-h-0 w-full flex-col items-center justify-center gap-3 bg-surface px-4 text-center text-surface-foreground",children:[(0,d.jsx)(g.A,{size:24,className:"animate-spin text-muted-foreground","aria-hidden":"true"}),(0,d.jsx)("p",{className:"text-sm font-medium text-foreground","data-testid":"session-starting-title",children:p}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:m("sessionStarting.hint")}),q]})})},44150:(a,b,c)=>{c.d(b,{E:()=>L});var d=c(21124),e=c(38301),f=c(20481),g=c(78352),h=c(85866);function i(a,b,c=a=>a.description??""){if(!b.trim())return a;let d=b.toLowerCase();return a.map(a=>({...a,commands:a.commands.filter(a=>{let b=a.name.toLowerCase().includes(d),e=c(a).toLowerCase().includes(d);return b||e})})).filter(a=>a.commands.length>0)}function j(a,b){return"codex-skill"===a.source?"antigravity"===b?`/${a.name}`:`$${a.name}`:`/${a.name}`}function k(a,b){return a.descriptionKey?b(a.descriptionKey):a.description??""}function l({groups:a,onSelect:b,highlightedIndex:c=-1,className:e="",cliToolId:g}){let h=(0,f.c)("worktree"),i=0;return 0===a.length?(0,d.jsx)("div",{className:`text-sm text-muted-foreground p-4 text-center ${e}`,children:h("slashCommands.empty")}):(0,d.jsx)("div",{className:`overflow-y-auto ${e}`,children:a.map(a=>(0,d.jsxs)("div",{className:"mb-2",children:[(0,d.jsx)("div",{className:"px-3 py-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider bg-muted",children:a.label}),(0,d.jsx)("div",{children:a.commands.map(a=>{let e=i;i++;let f=e===c;return(0,d.jsxs)("button",{type:"button","data-command-item":!0,"data-highlighted":f,onClick:()=>b(a),className:`w-full px-3 py-2 text-left flex items-start gap-2 hover:bg-accent-50 dark:hover:bg-accent-900/30 transition-colors ${f?"bg-accent-100 dark:bg-accent-900/40":""}`,children:[(0,d.jsx)("span",{className:"text-accent-600 dark:text-accent-400 font-mono text-sm flex-shrink-0",children:j(a,g)}),a.cliTools?.length===1&&"codex"===a.cliTools[0]&&(0,d.jsx)("span",{className:"mt-0.5 rounded border border-accent-200 bg-accent-50 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-accent-700 dark:border-accent-800 dark:bg-accent-950/40 dark:text-accent-300",children:"Codex"}),"user-catalog"===a.source&&(0,d.jsx)("span",{"data-testid":"user-catalog-badge",className:"mt-0.5 rounded border border-border bg-muted px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:h("slashCommands.sourceBadge.userCatalog")}),(0,d.jsx)("span",{className:"text-muted-foreground text-sm truncate",children:k(a,h)})]},a.name)})})]},a.category))})}function m(a,b,c){if(b<=0||c<=0)return 0;let d=a+b+8-c;return d>0?-Math.min(d,Math.max(0,a-8)):a<8?8-a:0}let n=(0,e.memo)(function({isOpen:a,groups:b,onSelect:c,onClose:g,isMobile:h=!1,position:j,onFreeInput:n,isCatalogStale:o=!1,cliToolId:p}){let[q,r]=(0,e.useState)(""),[s,t]=(0,e.useState)(0),u=(0,e.useRef)(null),v=(0,e.useRef)(null),w=(0,e.useRef)({x:0,y:0}),[x,y]=(0,e.useState)({x:0,y:0}),z=(0,f.c)("worktree"),A=(0,f.c)("common"),B=(0,e.useMemo)(()=>i(b,q,a=>k(a,z)),[b,q,z]),C=(0,e.useMemo)(()=>B.flatMap(a=>a.commands),[B]);(0,e.useEffect)(()=>{a&&(r(""),t(0),setTimeout(()=>{u.current?.focus()},50))},[a]);let D=(0,e.useCallback)(a=>{c(a),g()},[c,g]),E=(0,e.useCallback)(b=>{if(a)switch(b.key){case"Escape":b.preventDefault(),g();break;case"ArrowDown":b.preventDefault(),t(a=>Math.min(a+1,C.length-1));break;case"ArrowUp":b.preventDefault(),t(a=>Math.max(a-1,0));break;case"Enter":b.preventDefault(),C[s]&&D(C[s])}},[a,C,s,g,D]);if((0,e.useEffect)(()=>{if(a)return document.addEventListener("keydown",E),()=>{document.removeEventListener("keydown",E)}},[a,E]),(0,e.useLayoutEffect)(()=>{let b=a=>{w.current=a,y(b=>b.x===a.x&&b.y===a.y?b:a)};if(!a||h)return void b({x:0,y:0});let c=v.current;if(!c)return;let d=c.getBoundingClientRect();b({x:m(d.left-w.current.x,d.width,window.innerWidth),y:m(d.top-w.current.y,d.height,window.innerHeight)})},[a,h,B,j?.top,j?.left]),!a)return null;let F=o?(0,d.jsx)("div",{"data-testid":"slash-command-stale-note",className:"px-3 py-2 border-t border-border text-xs text-muted-foreground",children:z("slashCommands.catalogStale.hint")}):null;if(h)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40",onClick:g,"aria-hidden":"true"}),(0,d.jsxs)("div",{"data-testid":"slash-command-bottom-sheet",className:"fixed bottom-0 left-0 right-0 bg-surface rounded-t-xl z-50 max-h-[70vh] flex flex-col shadow-xl",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:z("slashCommands.title")}),(0,d.jsx)("button",{type:"button",onClick:g,"aria-label":A("close"),className:"p-2 rounded-full hover:bg-muted",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,d.jsx)("div",{className:"px-4 py-2 border-b border-border",children:(0,d.jsx)("input",{ref:u,type:"text",value:q,onChange:a=>r(a.target.value),placeholder:z("slashCommands.searchPlaceholder"),className:"w-full px-3 py-2 border border-input bg-surface dark:bg-surface-2 text-foreground rounded-lg focus:outline-none focus:ring-2 focus:ring-ring"})}),n&&(0,d.jsxs)("button",{type:"button","data-testid":"free-input-button",onClick:()=>n(q),className:"w-full px-4 py-3 text-left border-b border-border flex items-center gap-2 hover:bg-accent-50 dark:hover:bg-accent-900/30 transition-colors",children:[(0,d.jsx)("span",{className:"text-accent-600 dark:text-accent-400",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})})}),(0,d.jsx)("span",{className:"text-muted-foreground",children:z("slashCommands.enterCustomCommand")})]}),(0,d.jsx)(l,{groups:B,onSelect:D,highlightedIndex:s,className:"flex-1 overflow-y-auto pb-20",cliToolId:p}),F]})]});let G=j?{top:j.top,left:j.left}:{bottom:"100%",left:0,marginBottom:"4px"};return(0,d.jsxs)("div",{ref:v,role:"listbox","data-testid":"slash-command-dropdown",className:"absolute bg-surface border border-border rounded-lg shadow-lg z-50 w-80 max-h-96 flex flex-col",style:0!==x.x||0!==x.y?{...G,transform:`translate(${x.x}px, ${x.y}px)`}:G,children:[(0,d.jsx)("div",{className:"px-3 py-2 border-b border-border",children:(0,d.jsx)("input",{ref:u,type:"text",value:q,onChange:a=>r(a.target.value),placeholder:z("slashCommands.searchPlaceholder"),className:"w-full px-3 py-1.5 text-sm border border-input bg-surface dark:bg-surface-2 text-foreground rounded focus:outline-none focus:ring-1 focus:ring-ring"})}),n&&(0,d.jsxs)("button",{type:"button","data-testid":"free-input-button",onClick:()=>n(q),className:"w-full px-3 py-2 text-left border-b border-border flex items-center gap-2 hover:bg-accent-50 dark:hover:bg-accent-900/30 transition-colors text-sm",children:[(0,d.jsx)("span",{className:"text-accent-600 dark:text-accent-400",children:(0,d.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})})}),(0,d.jsx)("span",{className:"text-muted-foreground",children:z("slashCommands.enterCustomCommand")})]}),(0,d.jsx)(l,{groups:B,onSelect:D,highlightedIndex:s,className:"flex-1 overflow-y-auto",cliToolId:p}),F,(0,d.jsxs)("div",{className:"px-3 py-1.5 border-t border-border text-xs text-muted-foreground flex gap-3",children:[(0,d.jsxs)("span",{children:[(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded",children:"Enter"})," ",z("slashCommands.selectHint")]}),(0,d.jsxs)("span",{children:[(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded",children:"Esc"})," ",z("slashCommands.closeHint")]})]})]})});var o=c(17793);let p=(0,e.memo)(function({worktreeId:a,cliToolId:b,instanceId:c,disabled:g=!1,onInterrupt:h}){let i=(0,f.c)("worktree"),[j,k]=(0,e.useState)(!1),l=(0,e.useRef)(0),m=(0,e.useCallback)(async()=>{let d=Date.now();if(!(d-l.current<1e3)){l.current=d,k(!0);try{let d=c&&c!==b?{cliToolId:b,instanceId:c}:{cliToolId:b},e=await fetch(`/api/worktrees/${a}/interrupt`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)});if(e.ok)h?.();else{let a=await e.json().catch(()=>({}));console.error("[InterruptButton] Failed to send interrupt:",a.error||e.statusText)}}catch(a){console.error("[InterruptButton] Error sending interrupt:",a)}finally{k(!1)}}},[a,b,c,h]);return(0,d.jsx)("button",{type:"button",onClick:m,disabled:g||j,className:"flex-shrink-0 p-2 text-danger hover:bg-danger/10 rounded-full transition-colors disabled:text-muted-foreground/40 disabled:hover:bg-transparent","aria-label":i("interrupt.stopProcessing"),"data-testid":"interrupt-button",children:j?(0,d.jsx)(o.y,{size:"md"}):(0,d.jsx)(q,{})})});function q(){return(0,d.jsx)("svg",{className:"h-5 w-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}var r=c(31449),s=c(19654),t=c(19470),u=c(38442),v=c(71613),w=c(10708),x=c(31906);let y=(0,e.memo)(function({worktreeId:a,cliToolId:b,instanceId:c,disabled:g=!1,onActionComplete:i,showToast:j}){let k=(0,f.c)("worktree.opencodeSession"),l=(0,h.SC)(),[m,n]=(0,e.useState)(null),[o,p]=(0,e.useState)(null),[q,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(null),D="opencode"===b,E=c??b,F=(0,e.useCallback)(a=>{if(j){C(null),j(a,"error");return}C(a)},[j]),G=(0,e.useCallback)((a,b,c)=>"NO_OPENCODE_PORT"===a.code?k("errorNoPort"):"NO_OPENCODE_SESSION"===a.code?k(c):a.error||b||k("errorUnknown"),[k]),H=(0,e.useCallback)(async()=>{if(D)try{let b=await fetch(`/api/worktrees/${a}/opencode/share?instance=${encodeURIComponent(E)}`);if(!b.ok)return void p(null);p(await b.json())}catch{p(null)}},[D,a,E]);(0,e.useEffect)(()=>{H()},[H]);let I=(0,e.useCallback)(async b=>{n(b),C(null);try{let c=await fetch(`/api/worktrees/${a}/opencode/session`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:b,instanceId:E})});if(!c.ok){let a=await c.json().catch(()=>({}));console.error("[OpencodeSessionControls] action failed:",b,a.error||c.statusText),F(G(a,c.statusText,"errorNoSessionFork"));return}i?.(b),"list"!==b&&(y(null),H())}catch(a){console.error("[OpencodeSessionControls] request error:",a),F(k("errorRequestFailed"))}finally{n(null)}},[a,E,i,H,F,G,k]),J=(0,e.useCallback)(async()=>{if(await l({title:k("shareConfirmTitle"),description:k("shareConfirmBody"),confirmLabel:k("shareConfirmLabel"),variant:"danger"})){n("share"),C(null);try{let b=await fetch(`/api/worktrees/${a}/opencode/share`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({instanceId:E})}),c=await b.json().catch(()=>({}));if(!b.ok||"string"!=typeof c.url){console.error("[OpencodeSessionControls] share failed:",c.error||b.statusText),F(G(c,b.statusText,"errorNoSessionShare")),H();return}y(c.url),A(!1),H()}catch(a){console.error("[OpencodeSessionControls] share request error:",a),F(k("errorRequestFailed"))}finally{n(null)}}},[l,k,a,E,H,F,G]),K=(0,e.useCallback)(async()=>{n("unshare"),C(null);try{let b=await fetch(`/api/worktrees/${a}/opencode/share?instance=${encodeURIComponent(E)}`,{method:"DELETE"});if(!b.ok){let a=await b.json().catch(()=>({}));console.error("[OpencodeSessionControls] unshare failed:",a.error||b.statusText),F(G(a,b.statusText,"errorNoSessionShare"));return}y(null),A(!1),H()}catch(a){console.error("[OpencodeSessionControls] unshare request error:",a),F(k("errorRequestFailed"))}finally{n(null)}},[a,E,H,F,G,k]),L=(0,e.useCallback)(async()=>{if(null!==q)try{await navigator.clipboard.writeText(q),A(!0),C(null)}catch(a){console.error("[OpencodeSessionControls] clipboard write failed:",a),F(k("errorCopyFailed"))}},[q,F,k]);if(!D)return null;let M=[{action:"new",icon:(0,d.jsx)(r.A,{className:"h-5 w-5","aria-hidden":"true"})},{action:"list",icon:(0,d.jsx)(s.A,{className:"h-5 w-5","aria-hidden":"true"})},{action:"fork",icon:(0,d.jsx)(t.A,{className:"h-5 w-5","aria-hidden":"true"})}],N="flex-shrink-0 p-2 text-muted-foreground hover:text-accent-600 hover:bg-accent-50 dark:hover:text-accent-400 dark:hover:bg-accent-900/30 rounded-full transition-colors disabled:text-muted-foreground/50 disabled:hover:bg-transparent";return(0,d.jsxs)("div",{className:"flex items-center gap-1","data-testid":"opencode-session-controls",children:[M.map(({action:a,icon:b})=>(0,d.jsx)(h.$n,{variant:"ghost",type:"button",onClick:()=>void I(a),disabled:g||null!==m,className:N,"aria-label":k(a),title:k(a),"data-testid":`opencode-session-${a}`,children:m===a?(0,d.jsx)(h.y$,{size:"md"}):b},a)),o?.canShare?(0,d.jsx)(h.$n,{variant:"ghost",type:"button",onClick:()=>void J(),disabled:g||null!==m,className:N,"aria-label":k("share"),title:k("share"),"data-testid":"opencode-session-share",children:"share"===m?(0,d.jsx)(h.y$,{size:"md"}):(0,d.jsx)(u.A,{className:"h-5 w-5","aria-hidden":"true"})}):null,null!==q?(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1 rounded-full border border-warning-border bg-warning-subtle px-2 py-0.5 text-xs text-warning-foreground","data-testid":"opencode-share-result",children:[(0,d.jsx)("span",{className:"sr-only",children:k("sharePublicNotice")}),(0,d.jsx)("a",{href:q,target:"_blank",rel:"noopener noreferrer",className:"truncate text-accent-600 underline dark:text-accent-400",title:q,"data-testid":"opencode-share-url",children:q}),(0,d.jsx)(h.$n,{variant:"ghost",type:"button",onClick:()=>void L(),className:"flex-shrink-0 rounded-full p-1 text-muted-foreground hover:text-accent-600","aria-label":k("shareCopy"),title:k("shareCopy"),"data-testid":"opencode-share-copy",children:z?(0,d.jsx)(v.A,{className:"h-3.5 w-3.5","aria-hidden":"true"}):(0,d.jsx)(w.A,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),(0,d.jsx)(h.$n,{variant:"ghost",type:"button",onClick:()=>void K(),disabled:null!==m,className:"flex-shrink-0 rounded-full p-1 text-muted-foreground hover:text-danger-foreground","aria-label":k("unshare"),title:k("unshare"),"data-testid":"opencode-session-unshare",children:"unshare"===m?(0,d.jsx)(h.y$,{size:"sm"}):(0,d.jsx)(x.A,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]}):null,null!==B?(0,d.jsx)("span",{role:"alert",className:"flex min-w-0 items-center rounded-full border border-danger-border bg-danger-subtle px-2 py-0.5 text-xs text-danger-foreground",title:B,"data-testid":"opencode-session-error",children:(0,d.jsx)("span",{className:"truncate",children:B})}):null]})});var z=c(70107);function A({message:a,hasAttachment:b,sending:c,ariaLabel:e}){return(0,d.jsx)(h.$n,{variant:"ghost",type:"submit","data-testid":"send-message-button","data-can-send":String((!!a.trim()||b)&&!c),disabled:!a.trim()&&!b||c,className:`flex-shrink-0 p-2 rounded-full transition-colors disabled:hover:bg-transparent ${(a.trim()||b)&&!c?"bg-accent-600 text-white hover:bg-accent-700 shadow-sm":"text-muted-foreground/50"}`,"aria-label":e,children:c?(0,d.jsx)(h.y$,{size:"md"}):(0,d.jsx)("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 19l9 2-9-18-9 18 9-2zm0 0v-8"})})})}var B=c(85647);function C({autoYesSlot:a,isMobile:b,commandsHint:c,newlineHint:e}){return(0,d.jsx)(d.Fragment,{children:(a||!b)&&(0,d.jsxs)("div",{className:`${b?"":"@container "}flex items-center justify-between gap-2 min-w-0`,"data-testid":"composer-meta-row",children:[(0,d.jsx)("div",{className:`flex items-center gap-2 min-w-0 overflow-x-auto scrollbar-hide${b?"":" whitespace-nowrap"}`,"data-testid":"composer-auto-yes",children:a}),!b&&(0,d.jsxs)("div",{className:"hidden @min-[420px]:flex flex-shrink-0 items-center gap-1.5 whitespace-nowrap text-[11px] text-muted-foreground select-none","data-testid":"composer-hints",children:[(0,d.jsx)(B.u,{children:"/"}),(0,d.jsx)("span",{children:c}),(0,d.jsx)("span",{"aria-hidden":"true",className:"opacity-50",children:"\xb7"}),(0,d.jsx)(B.u,{children:"⇧"}),(0,d.jsx)(B.u,{children:"↵"}),(0,d.jsx)("span",{children:e})]})]})})}c(90349);var D=c(90076),E=c(75071),F=c(18219),G=c(15783);let H="commandmate:draft-message:",I="Queued (session busy) — your message will run after the current task finishes.",J=e.useEffect;function K(a,b){return`${H}${a}:${b}`}let L=(0,e.memo)(function({worktreeId:a,onMessageSent:b,cliToolId:c,instanceId:k,isSessionRunning:l=!1,isSessionStarting:m=!1,pendingInsertText:o,onInsertConsumed:q,splitIndex:r=0,onFocus:s,isProcessing:t=!1,showToast:u,autoYesSlot:v,agentModeSlot:w,directInputSlot:x,onOptimisticSend:B,heightScope:L,maxHeight:M,planReviewActive:N=!1}){let O=(0,f.c)("worktree"),[P,Q]=(0,e.useState)(""),[R,S]=(0,e.useState)(!1),[T,U]=(0,e.useState)(null),[V,W]=(0,e.useState)(!1),[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(!1),[_,aa]=(0,e.useState)(!1);(0,e.useEffect)(()=>{N||aa(!1)},[N]);let ab=(0,e.useRef)(null),ac=(0,e.useRef)(null),ad=(0,e.useRef)(!1),ae=(0,e.useRef)(null),af=(0,e.useRef)(null),ag=(0,D.a)(),{groups:ah,isCatalogStale:ai}=function(a,b){let[c,d]=(0,e.useState)([]),[f,h]=(0,e.useState)(!0),[j,k]=(0,e.useState)(null),[l,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(b||"claude"),[p,q]=(0,e.useState)({}),r=(0,e.useCallback)(async()=>{try{h(!0),k(null);let c=a?`/api/worktrees/${a}/slash-commands`:"/api/slash-commands";b&&(c+=`?cliTool=${b}`);let e=await fetch(c,{cache:"no-store"});if(!e.ok)throw Error(`HTTP error ${e.status}`);let f=await e.json();d(f.groups),o(f.cliTool||b||"claude"),q(f.catalogStaleness??{})}catch(a){k((0,g.hS)(a)),d([]),q({})}finally{h(!1)}},[a,b]),s=(0,e.useMemo)(()=>c.flatMap(a=>a.commands),[c]),t=(0,e.useMemo)(()=>i(c,l),[c,l]),u=(0,e.useMemo)(()=>Object.values(p).some(a=>a.stale),[p]);return{groups:c,filteredGroups:t,allCommands:s,loading:f,error:j,filter:l,setFilter:m,refresh:(0,e.useCallback)(()=>{r()},[r]),cliTool:n,isCatalogStale:u}}(a,c),aj=!ag&&!!L,{height:ak,resizeBy:al,reset:am}=(0,F.lo)({worktreeId:a,scope:L,maxHeight:M,enabled:aj}),an="number"==typeof M&&Number.isFinite(M)?M:1/0,ao=(0,e.useCallback)(a=>{al(-a,ab.current?.getBoundingClientRect().height??G.bw)},[al]),{attachedImage:ap,fileInputRef:aq,isUploading:ar,error:as,acceptAttribute:at,openFileDialog:au,handleFileSelect:av,removeAttachment:aw,resetAfterSend:ax}=function(a,b){let[c,d]=(0,e.useState)(null),[f,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(null),j=(0,e.useRef)(null),k=(0,e.useCallback)(()=>{j.current?.click()},[]),l=(0,e.useCallback)(async c=>{let e=c.target.files?.[0];if(!e)return;i(null);let f=function(a){let b=a.name.lastIndexOf(".");if(-1===b)return"Unsupported file format";let c=(0,E.HB)(a.name.substring(b));if(!E.Hv.includes(c))return`Unsupported file format: ${c}`;if(a.size>E.Fg){let a=E.Fg/1024/1024;return`File size exceeds ${a}MB limit`}return null}(e);if(f){i(f),j.current&&(j.current.value="");return}g(!0);try{let c=await b(a,e);d({file:e,path:c.path})}catch(a){i(a instanceof Error?a.message:"Upload failed")}finally{g(!1),j.current&&(j.current.value="")}},[a,b]),m=(0,e.useCallback)(()=>{d(null),i(null)},[]),n=(0,e.useCallback)(()=>{d(null)},[]);return{attachedImage:c,fileInputRef:j,isUploading:f,error:h,acceptAttribute:E.F5,openFileDialog:k,handleFileSelect:l,removeAttachment:m,resetAfterSend:n}}(a,(0,e.useCallback)((a,b)=>g.y.uploadImageFile(a,b),[]));(0,e.useEffect)(()=>{try{0===r&&function(a){try{let b=`${H}${a}`,c=window.localStorage.getItem(b);if(null===c)return;let d=K(a,0);null===window.localStorage.getItem(d)&&window.localStorage.setItem(d,c),window.localStorage.removeItem(b)}catch{}}(a);let b=window.localStorage.getItem(K(a,r));b?Q(b):Q("")}catch{}return()=>{af.current&&clearTimeout(af.current)}},[a,r]),(0,e.useEffect)(()=>{af.current&&clearTimeout(af.current),af.current=setTimeout(()=>{try{let b=K(a,r);P?window.localStorage.setItem(b,P):window.localStorage.removeItem(b)}catch{}},500)},[P,a,r]),J(()=>{let a=ab.current;if(!a)return;let b="number"==typeof M&&Number.isFinite(M)?M:1/0,c=Math.min(ak??G.bw,b);if(!P){a.style.height=`${c}px`;return}a.style.height="auto";let d=Math.min(a.scrollHeight,G.vF);a.style.height=`${Math.min(Math.max(c,d),b)}px`},[P,ak,M]),(0,e.useEffect)(()=>{o&&(Q(a=>""===a.trim()?o:a+"\n\n"+o),q?.())},[o,q]);let ay=(0,e.useCallback)(async()=>{if(V||!P.trim()&&!ap||R)return;if(N)return void aa(!0);let d=P.trim(),e=c||"claude",f={cliToolId:e};if(k&&k!==e&&(f.instanceId=k),ap&&(f.imagePath=ap.path),B){U(null),B(d,f),Q(""),$(!1),ax();try{window.localStorage.removeItem(K(a,r))}catch{}t&&u?.(I,"warning"),b?.(e);return}try{S(!0),U(null);let c=await g.y.sendMessage(a,d,f);Q(""),$(!1),ax();try{window.localStorage.removeItem(K(a,r))}catch{}t&&u?.(I,"warning"),b?.(e,c)}catch(a){U((0,g.hS)(a))}finally{S(!1)}},[V,P,ap,R,a,c,k,b,ax,r,t,u,B,N]),az=(0,e.useCallback)(async a=>{a.preventDefault(),await ay()},[ay]),aA=(0,e.useCallback)(()=>{W(!0),ad.current=!1,ac.current&&clearTimeout(ac.current)},[]),aB=(0,e.useCallback)(()=>{W(!1),ad.current=!0,ac.current&&clearTimeout(ac.current),ac.current=setTimeout(()=>{ad.current=!1},300)},[]),aC=(0,e.useCallback)(a=>{Q(`${j(a,c)} `),Y(!1),ab.current?.focus()},[c]),aD=(0,e.useCallback)(()=>{Y(!1),$(!1),ab.current?.focus()},[]),aE=(0,e.useCallback)(a=>{Y(!1),$(!0),Q(a?`/${a}`:"/"),setTimeout(()=>{ab.current?.focus()},50)},[]),aF=(0,e.useCallback)(a=>{let b=a.target.value;if(Q(b),""===b){$(!1),Y(!1);return}if(Z)return;let d="/"===b||b.startsWith("/")&&!b.includes(" "),e="codex"===c&&("$"===b||b.startsWith("$")&&!b.includes(" "));d||e?Y(!0):Y(!1)},[Z,c]),aG=(0,e.useCallback)(a=>{let{keyCode:b}=a.nativeEvent;if(229!==b){if("Escape"===a.key&&X){a.preventDefault(),aD();return}if(ad.current&&"Enter"===a.key){ad.current=!1;return}if("Enter"===a.key&&!V&&(!X||Z)){if(ag)return;a.shiftKey||(a.preventDefault(),ay())}}},[X,Z,V,ag,ay,aD]),aH=(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.$n,{variant:"ghost",type:"button",onClick:au,disabled:ar||R,className:"flex-shrink-0 p-2 text-muted-foreground hover:text-accent-600 hover:bg-accent-50 dark:hover:text-accent-400 dark:hover:bg-accent-900/30 rounded-full transition-colors disabled:text-muted-foreground/50 disabled:hover:bg-transparent","aria-label":O("composer.attachImage"),"data-testid":"attach-image-button",children:ar?(0,d.jsx)(h.y$,{size:"md"}):(0,d.jsx)("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13"})})}),(0,d.jsx)(y,{worktreeId:a,cliToolId:c||"claude",instanceId:k,disabled:!l,showToast:u}),m?null:w]}),aI=(0,d.jsx)(p,{worktreeId:a,cliToolId:c||"claude",instanceId:k,disabled:!l||m});return(0,d.jsxs)("div",{ref:ae,className:"space-y-2 relative","data-testid":"message-input-container",children:[(T||as)&&(0,d.jsx)("div",{className:"p-2 bg-danger-subtle border border-danger-border rounded text-sm text-danger-foreground",children:T||as}),N&&(0,d.jsxs)("div",{"data-testid":"composer-plan-review-notice",role:_?"alert":"status",className:"rounded border border-warning-border bg-warning-subtle px-2 py-1 text-xs leading-5 text-foreground",children:[O("planReview.composerNotice")," ",(0,d.jsx)("button",{type:"button","data-testid":"composer-plan-review-goto",onClick:()=>(function(a){if("undefined"==typeof document)return;let b=Array.from(document.querySelectorAll("[data-plan-review-target]")).filter(b=>b.dataset.planReviewTarget===a),c=b.find(a=>a.getClientRects().length>0)??b[0];c&&(c.scrollIntoView?.({block:"nearest"}),c.focus({preventScroll:!0}))})(`${a}:${k??c??"claude"}`),className:"inline rounded-sm font-medium text-warning-foreground underline underline-offset-2 hover:no-underline focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",children:O("planReview.composerGoto")})]}),ap&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-4 py-1.5 bg-accent-50 dark:bg-accent-900/20 border border-accent-200 dark:border-accent-800 rounded-lg text-sm","data-testid":"image-attachment-preview",children:[(0,d.jsx)("svg",{className:"h-4 w-4 flex-shrink-0 text-accent-600 dark:text-accent-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),(0,d.jsx)("span",{className:"truncate text-accent-800 dark:text-accent-300",children:ap.file.name}),(0,d.jsx)("button",{type:"button",onClick:aw,className:"flex-shrink-0 p-0.5 text-accent-600 hover:text-danger-foreground dark:text-accent-400 rounded transition-colors","aria-label":O("composer.removeAttachment"),"data-testid":"remove-attachment-button",children:(0,d.jsx)("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,d.jsx)("input",{ref:aq,type:"file",accept:at,onChange:av,className:"hidden","data-testid":"image-file-input"}),(0,d.jsxs)("form",{onSubmit:az,className:"relative rounded-xl bg-surface border border-border shadow-sm px-3 py-2 focus-within:ring-2 focus-within:ring-accent-500/40 transition-shadow flex flex-col gap-1.5",children:[aj&&(0,d.jsx)("div",{className:"absolute inset-x-3 top-0 -translate-y-1/2","data-testid":"composer-resize-handle","data-height-mode":null===ak?"auto":"floor",children:(0,d.jsx)(z.f,{orientation:"vertical",onResize:ao,onDoubleClick:am,ariaLabel:O("composer.resizeHandle"),ariaValueNow:function(a,b){if(null===a||null==b)return 0;let c=b-G.bw;return c<=0?100:Math.round(Math.min(100,Math.max(0,(a-G.bw)/c*100)))}(ak,M)})}),(0,d.jsxs)("div",{className:"@container flex flex-col gap-1","data-testid":"composer-input-row",children:[(0,d.jsx)("div",{className:"flex items-center gap-1","data-testid":"composer-toolbar",children:ag?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.$n,{variant:"ghost",type:"button",onClick:()=>{Z&&$(!1),Y(!0)},className:"flex-shrink-0 p-2 text-muted-foreground hover:text-accent-600 hover:bg-accent-50 dark:hover:text-accent-400 dark:hover:bg-accent-900/30 rounded-full transition-colors","aria-label":O("composer.showSlashCommands"),"data-testid":"mobile-command-button",children:(0,d.jsx)("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 20l4-16m2 16l4-16M6 9h14M4 15h14"})})}),aH,x,aI]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-1 overflow-x-auto scrollbar-hide","data-testid":"composer-toolbar-start",children:aH}),(0,d.jsxs)("div",{className:"flex flex-shrink-0 items-center gap-1","data-testid":"composer-toolbar-end",children:[x,aI]})]})}),(0,d.jsxs)("div",{className:`flex ${ag?"items-center":"items-end"} gap-2 flex-1 min-w-0`,"data-testid":"composer-textarea-row",children:[(0,d.jsx)("textarea",{ref:ab,"data-testid":"message-input-textarea",value:P,onChange:aF,onKeyDown:aG,onCompositionStart:aA,onCompositionEnd:aB,onFocus:s,placeholder:O("composer.placeholder"),disabled:R,rows:1,inputMode:"text",enterKeyHint:"send",className:"flex-1 outline-none bg-transparent resize-none overflow-y-auto scrollbar-thin",style:{minHeight:`${Math.min(ak??G.bw,an)}px`,maxHeight:`${Math.min(Math.max(ak??0,G.vF),an)}px`,paddingTop:"8px",paddingBottom:"8px",lineHeight:"20px"}}),(0,d.jsx)(A,{message:P,hasAttachment:!!ap,sending:R,ariaLabel:O("composer.sendMessage")})]})]}),(0,d.jsx)(C,{autoYesSlot:v,isMobile:ag,commandsHint:O("composer.commandsHint"),newlineHint:O("composer.newlineHint")})]}),(0,d.jsx)(n,{isOpen:X,groups:ah,onSelect:aC,onClose:aD,isMobile:ag,onFreeInput:aE,isCatalogStale:ai,cliToolId:c})]})})},44489:(a,b,c)=>{c.d(b,{CG:()=>g,Dk:()=>i,Uw:()=>h});var d=c(7879);let e=/\x1b\[([0-9;]*)m/g;function f(a){return""===(0,d.aJ)(a).trim()}function g(a){return f(a)&&""!==(0,d.aJ)(a)&&function(a){let b;for(e.lastIndex=0;null!==(b=e.exec(a));)if(function(a){let b=0;for(;b<a.length;){let c=a[b];if(38===c||48===c||58===c){if(48===c)return!0;let d=a[b+1];b+=5===d?3:2===d?5:2;continue}if(c>=40&&c<=47||c>=100&&c<=107)return!0;b+=1}return!1}(b[1].split(";").filter(a=>""!==a).map(a=>Number(a)).filter(a=>Number.isInteger(a))))return!0;return!1}(a)}function h(a,b={}){if(""===a)return"";let{isStructuralRow:c}=b,e=a.split("\n"),g=[],i=!1,j=0,k=a=>f(a)&&!c?.(a);for(;j<e.length;){if(!k(e[j])){g.push(e[j]),i=!0,j++;continue}let a=j;for(;a<e.length&&k(e[a]);)a++;let b=a-j,c=!i,f=a>=e.length;if(!c&&!f)if(b<=2)for(let b=j;b<a;b++)g.push(e[b]);else g.push((0,d.x6)(e.slice(j,a).join("")));j=a}return g.join("\n")}function i(a){return h(a,{isStructuralRow:g})}},47015:(a,b,c)=>{c.d(b,{Z:()=>p});var d=c(21124),e=c(38301),f=c(20481),g=c(99086),h=c(52935),i=c(49343),j=c(1401);let k={plan_review_ambiguous_answer:"planReview.refusal.ambiguousAnswer",plan_review_busy:"planReview.refusal.busy",plan_review_nothing_to_submit:"planReview.refusal.nothingToSubmit",plan_review_invalid_request:"planReview.refusal.invalidRequest",plan_review_not_active:"planReview.refusal.notActive",answer_input_lost:"planReview.refusal.inputLost"};function l(a,b){let c=a[b];return"string"==typeof c?c:null}function m({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:g,compact:h=!1}){var i;let m=(0,f.c)("worktree"),[n,o]=(0,e.useState)(""),[p,q]=(0,e.useState)(!1),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),v=(i=c??b,`${a}:${i}`),w=`plan-review-comment-${v}`,x=(0,e.useCallback)(async d=>{s(d),u(null);try{let e=await fetch(`/api/worktrees/${encodeURIComponent(a)}/prompt-response`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(function(a,b,c,d){let e={planReviewAction:a,cliTool:b},f=c.trim();return("comment"===a||"submit"===a)&&f&&(e.answer=f),d&&d!==b&&(e.instanceId=d),e}(d,b,n,c))}),{outcome:f,body:h}=await (0,j.IJ)(e);if("answered"!==f)return void u({reason:l(h,"reason"),message:l(h,"message")??l(h,"error")});("comment"===d||"submit"===d)&&o(""),g?.()}catch{u({reason:null,message:null})}finally{s(null)}},[a,b,n,c,g]),y=n.trim().length>0,z=null!==r,A=t?.reason?k[t.reason]:void 0,B="min-h-[44px] rounded-md border px-3 py-2 text-sm font-medium transition-colors touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50",C=`${B} border-border bg-surface text-foreground hover:bg-muted dark:bg-surface-2`,D=a=>m(h?`planReview.${a}Compact`:`planReview.${a}`),E=(0,d.jsx)("button",{type:"button","data-testid":"plan-review-comment",disabled:z||!y,onClick:()=>void x("comment"),className:`${C}${h?" shrink-0":""}`,children:m("planReview.comment")});return(0,d.jsxs)("div",{"data-testid":"plan-review-controls","data-plan-review-target":v,role:"group","aria-label":m("planReview.groupLabel"),tabIndex:-1,className:"flex min-h-0 flex-col gap-2 rounded-lg bg-muted px-2 py-1.5 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,d.jsxs)("div",{"data-testid":"plan-review-comment-area",className:`min-h-0 overflow-y-auto p-0.5 ${h?"flex max-h-24 items-start gap-1.5":"max-h-40"}`,children:[(0,d.jsx)("label",{className:h?"sr-only":"mb-1 block text-xs text-muted-foreground",htmlFor:w,children:m("planReview.commentLabel")}),(0,d.jsx)("textarea",{id:w,"data-testid":"plan-review-comment-input",value:n,onChange:a=>o(a.target.value),placeholder:m("planReview.commentPlaceholder"),rows:h?1:2,className:`block resize-y rounded-md border border-border bg-surface px-2 py-1.5 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring dark:bg-surface-2 ${h?"min-h-[44px] min-w-0 flex-1":"w-full"}`}),h?E:null]}),(0,d.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-1.5",children:[h?null:E,(0,d.jsx)("button",{type:"button","data-testid":"plan-review-submit",disabled:z,onClick:()=>void x("submit"),title:h?m("planReview.submit"):void 0,className:C,children:D("submit")}),(0,d.jsx)("button",{type:"button","data-testid":"plan-review-approve",disabled:z||p,onClick:()=>q(!0),title:h?m("planReview.approve"):void 0,className:`${B} border-accent-500 bg-surface text-accent-600 hover:bg-muted dark:bg-surface-2 dark:text-accent-400`,children:D("approve")}),(0,d.jsx)("button",{type:"button","data-testid":"plan-review-cancel",disabled:z,onClick:()=>void x("cancel"),title:h?m("planReview.cancel"):void 0,className:C,children:D("cancel")})]}),p?(0,d.jsxs)("div",{"data-testid":"plan-review-approve-confirm",role:"alertdialog","aria-label":m("planReview.approveConfirmLabel"),className:`shrink-0 rounded-md border border-warning-border bg-warning-subtle px-2 py-1.5 ${h?"flex flex-wrap items-center gap-1.5":"space-y-1.5"}`,children:[(0,d.jsx)("p",{className:`text-xs text-foreground${h?" min-w-0 flex-1 basis-40":""}`,children:m("planReview.approveConfirmText")}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,d.jsx)("button",{type:"button","data-testid":"plan-review-approve-confirm-yes",disabled:z,onClick:()=>{q(!1),x("approve")},className:`${B} border-accent-500 bg-accent-500 text-white`,children:m("planReview.approveConfirmYes")}),(0,d.jsx)("button",{type:"button","data-testid":"plan-review-approve-confirm-no",onClick:()=>q(!1),className:C,children:m("planReview.approveConfirmNo")})]})]}):null,t?(0,d.jsxs)("div",{"data-testid":"plan-review-error",role:"alert",className:"max-h-16 min-h-0 space-y-0.5 overflow-y-auto text-xs text-danger-foreground",children:[(0,d.jsx)("p",{children:A?m(A):m("planReview.refusal.generic")}),t.message?(0,d.jsx)("p",{"data-testid":"plan-review-error-detail",children:t.message}):null]}):null]})}var n=c(30872),o=c(12529);function p({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:j,frame:k,reading:l,surface:p,showPagerKeys:q=!1,trustConfirmation:r,compact:s=!1}){let t=(0,f.c)("worktree"),u=(0,e.useMemo)(()=>l??(0,o.gO)(k),[l,k]),v=(0,e.useMemo)(()=>(0,o.Fs)({reading:u,cliToolId:b,surface:p,pager:q}),[u,b,p,q]),w={worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:j},x="terminal"===p&&!q&&(r??(0,n.pw)(k,b));return(0,d.jsxs)("div",{"data-testid":"selection-list-keys",className:v.planReview?"chat"===p?"contents":"flex min-h-0 flex-col gap-2":"space-y-2",children:[x?(0,d.jsx)("p",{"data-testid":"selection-trust-notice",role:"status",className:"rounded-md border border-warning-border bg-warning-subtle px-2 py-1.5 text-xs text-foreground",children:t("trustConfirmation.notice")}):null,v.planReview?(0,d.jsx)("div",{"data-testid":"selection-list-pad-slot",className:"min-h-0 shrink-[100000] overflow-y-auto",children:(0,d.jsx)(g.y,{...w,showPagerKeys:q,hideEnterKey:!v.padEnter})}):(0,d.jsx)(g.y,{...w,showPagerKeys:q,hideEnterKey:!v.padEnter}),v.numberKeyCount>0?(0,d.jsx)(h._u,{...w,optionCount:v.numberKeyCount}):null,v.commitKeys?(0,d.jsx)(h.wd,{...w,commitsDefaultOnEnter:v.commitKeys.commitsDefaultOnEnter}):null,v.planReview?(0,d.jsx)(m,{...w,compact:s}):null,v.opencodeModelKeys?(0,d.jsx)(i.tY,{...w,frame:k}):null]})}},47786:(a,b,c)=>{c.d(b,{CL:()=>ae,Et:()=>aj,UI:()=>U,a3:()=>af,vY:()=>X,ZS:()=>aq,Gn:()=>aw,qI:()=>ax,PZ:()=>W,ZK:()=>ad,t_:()=>ao});var d=c(21124),e=c(38301),f=c.n(e),g=c(20481),h=c(85351),i=c(59405),j=c(60073),k=c(98688),l=c(54095),m=c(14263),n=c(18310),o=c(9212),p=c(47089),q=c(10708),r=c(2445),s=c(25770),t=c(27867),u=c(46831),v=c(29701),w=c(37950),x=c(91075),y=c(65468),z=c(54228),A=c(7879),B=c(8842),C=c(88033),D=c(55948),E=c(7027),F=c(46148),G=c(30917);function H({src:a,alt:b,kind:c,onFilePathClick:e,searchRaw:f}){let h=(0,g.c)("worktree"),i=b||h("conversation.imageUnavailable"),j=null;return"external"===c?j=(0,d.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"break-all underline",children:a}):"file"===c?j=(0,d.jsx)(aq,{href:a,onFilePathClick:e,children:a}):a&&(j=(0,d.jsx)("span",{className:"break-all font-mono text-xs",children:a})),(0,d.jsxs)("span",{...f,"data-testid":"chat-image-fallback",className:"inline-flex max-w-full flex-wrap items-center gap-1 align-middle text-muted-foreground",children:[(0,d.jsx)(F.A,{size:14,"aria-hidden":"true",className:"shrink-0"}),(0,d.jsx)("span",{children:i}),j]})}let I=(0,e.memo)(function({src:a,alt:b,onFilePathClick:c,searchRaw:f}){let h=(0,g.c)("worktree"),{worktreeId:i,worktreePath:j}=(0,E.hu)(),k=(0,E.HA)(a,j),l=b??"",m=a?.trim()??"",n=(0,e.useCallback)(()=>c(m),[c,m]);if("worktree"!==k.kind||!i){let a="worktree"===k.kind?"file":k.kind;return(0,d.jsx)(H,{src:m,alt:l,kind:a,onFilePathClick:c,searchRaw:f})}return(0,d.jsx)(G.n,{apiUrl:(0,E.Fo)(i,k.path),alt:l,lazy:!0,loadingFallback:(0,d.jsx)("span",{...f,"data-testid":"chat-image-loading",className:"flex h-40 w-full max-w-sm items-center justify-center rounded-md border border-border bg-muted text-xs text-muted-foreground",children:h("conversation.imageLoading")}),errorFallback:(0,d.jsx)(H,{src:m,alt:l,kind:"file",onFilePathClick:c,searchRaw:f}),className:"block h-auto max-w-full rounded-md border border-border object-contain",style:{maxHeight:320},wrap:a=>(0,d.jsx)("button",{type:"button","data-testid":"chat-image",onClick:n,className:"block max-w-full cursor-pointer","aria-label":h("conversation.openImage",{path:k.path}),children:a})},k.path)});var J=c(75071);let K=[".mp4"],L=(0,e.memo)(function({target:a,label:b,fallback:c,onFilePathClick:f,searchRaw:h}){let i=(0,g.c)("worktree"),{worktreeId:j,worktreePath:k}=(0,E.hu)(),[l,m]=(0,e.useState)(!1),n=function(a,b){if("string"!=typeof a||!a.trim()||"file"!==(0,D.z)(a))return null;let c=(0,D.h)(a,b);return null===c||c.startsWith("/")||!function(a){if(!a)return!1;let b=(0,J.HB)(a);return K.includes(b)}(function(a){let b=a.slice(a.lastIndexOf("/")+1),c=b.lastIndexOf(".");return c>0?b.slice(c):""}(c))?null:c}(a,k);if(!n||!j||!a)return(0,d.jsx)(d.Fragment,{children:c});let o=a.trim(),p=(0,d.jsx)(aq,{...h,href:o,onFilePathClick:f,children:b});return l?p:(0,d.jsxs)("span",{className:"my-1 block w-full",children:[(0,d.jsx)("video",{"data-testid":"chat-video",controls:!0,preload:"none",src:`${(0,E.Fo)(j,n)}?raw=1`,"aria-label":i("conversation.videoLabel",{path:n}),onError:()=>m(!0),className:"block w-full rounded-md border border-border bg-black",style:{maxHeight:360}},n),(0,d.jsx)("span",{className:"mt-1 block break-all text-xs",children:p})]})});var M=c(2842),N=c(45538),O=c(9758),P=c(33661),Q=c(63121),R=c(28232),S=c(98882);function T(a){let b=(0,S.h)(a),c=(0,R.Lx)(b.prose);return{body:c.body,reasoning:c.reasoning,reasoningBlocks:c.blocks,toolLog:b.toolLog,toolCalls:b.toolCalls,folded:b.prose!==a||null!==c.reasoning}}let U="flex w-full flex-col gap-1 pb-3",V=f().createContext({showAll:!1}),W=V.Provider,X={showAll:!0},Y="mr-auto flex w-fit max-w-full items-center gap-1.5 rounded-full border border-border bg-surface-2 px-2.5 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring";function Z(){let{showAll:a}=f().useContext(V),[b,c]=(0,e.useState)(null),d=null!==b&&b.against===a?b.isOpen:a,g=(0,e.useCallback)(()=>c({against:a,isOpen:!d}),[a,d]);return{isOpen:d,toggle:g}}var $=c(54937),_=c(57e3),aa=c(50082);let ab={human:"chatTranscript.toolApproval.answeredByHuman",auto:"chatTranscript.toolApproval.autoApproved",terminal:"chatTranscript.toolApproval.answeredInTerminal",pending:"chatTranscript.toolApproval.awaitingAnswer",unclassified:"chatTranscript.toolApproval.unclassified",unknown:"chatTranscript.toolApproval.resolved"},ac={...ab,auto:"chatTranscript.toolApproval.autoAnswered"},ad=(0,e.memo)(function({entries:a}){let b=(0,g.c)("worktree"),{isOpen:c,toggle:e}=Z();if(0===a.length)return null;let f=c?h.A:i.A,j=(0,aa.rS)(a),k=j.questions+j.confirmations>0,l=j.approvals>0,m=[];l&&m.push(b("chatTranscript.toolApproval.summary",{count:j.approvals})),j.questions>0&&m.push(b("chatTranscript.toolApproval.summaryQuestions",{count:j.questions})),j.confirmations>0&&m.push(b(l||j.questions>0?"chatTranscript.toolApproval.summaryConfirmations":"chatTranscript.toolApproval.summaryConfirmationsOnly",{count:j.confirmations}));let n=l?$.A:_.A;return(0,d.jsxs)("div",{"data-testid":"chat-tool-approval-group","data-approval-count":a.length,"data-approvals":j.approvals,"data-questions":j.questions,"data-confirmations":j.confirmations,className:`${U} items-start`,children:[(0,d.jsxs)("button",{type:"button","data-testid":"chat-tool-approval-toggle",onClick:e,"aria-expanded":c,"aria-label":b(`chatTranscript.toolApproval.${c?"collapse":"expand"}${k&&l?"Mixed":k?"Questions":""}`),className:Y,children:[(0,d.jsx)(n,{size:12,"aria-hidden":"true"}),(0,d.jsx)("span",{children:m.join(b("chatTranscript.toolApproval.summarySeparator"))}),(0,d.jsx)(f,{size:12,"aria-hidden":"true"})]}),c&&(0,d.jsx)("ul",{"data-testid":"chat-tool-approval-list",className:"mr-auto flex w-full max-w-full flex-col gap-1 pl-1",children:a.map(a=>{let c="question"===a.kind,e=c?ac:ab,f=c?"confirmation"===a.phase?"chatTranscript.toolApproval.submitConfirmation":"chatTranscript.toolApproval.unlabeledQuestion":"chatTranscript.toolApproval.unlabeled";return(0,d.jsxs)("li",{"data-testid":"chat-tool-approval-entry","data-approval-outcome":a.outcome,"data-approval-kind":a.kind,"data-approval-phase":a.phase,"data-approval-confirmation":a.confirmationOutcome,"data-approval-audit":a.isPermissionAudit?"true":void 0,"data-approval-merged":a.messageIds.length,className:"flex max-w-full flex-wrap items-baseline gap-x-2 gap-y-0.5 text-xs text-muted-foreground",children:["confirmation"===a.phase&&a.label&&(0,d.jsx)("span",{"data-testid":"chat-tool-approval-phase",children:b("chatTranscript.toolApproval.submitConfirmation")}),(0,d.jsx)("span",{className:"min-w-0 break-words [word-break:break-word] font-mono text-foreground",children:a.label||b(f)}),(0,d.jsx)("span",{"data-testid":"chat-tool-approval-outcome",children:b(e[a.outcome])}),a.confirmationOutcome&&(0,d.jsx)("span",{"data-testid":"chat-tool-approval-confirmation",children:b("chatTranscript.toolApproval.confirmation",{outcome:b(ac[a.confirmationOutcome])})})]},a.id)})})]})}),ae="mr-auto w-full max-w-full px-1 text-sm text-foreground",af="chat-bubble",ag="chat-turn-header",ah="chat-turn-time",ai="max-w-full overflow-x-hidden break-words [word-break:break-word]",aj=`${ai} chat-md`;function ak({groupTestId:a,toggleTestId:b,bodyTestId:c,groupData:e,spaced:f=!1,Icon:g,label:j,collapseLabel:k,expandLabel:l,children:m}){let{isOpen:n,toggle:o}=Z(),p=n?h.A:i.A;return(0,d.jsxs)("div",{"data-testid":a,...e,className:`${f?"mt-2 ":""}flex w-full flex-col gap-1`,children:[(0,d.jsxs)("button",{type:"button","data-testid":b,onClick:o,"aria-expanded":n,"aria-label":void 0===k?void 0:n?k:l,className:Y,children:[(0,d.jsx)(g,{size:12,"aria-hidden":"true"}),(0,d.jsx)("span",{children:j}),(0,d.jsx)(p,{size:12,"aria-hidden":"true"})]}),n&&(0,d.jsx)("div",{"data-testid":c,className:"max-w-full border-l-2 border-border pl-2 text-muted-foreground",children:m})]})}let al=(0,e.memo)(function({blocks:a,children:b}){let c=(0,g.c)("worktree");return(0,d.jsx)(ak,{groupTestId:"chat-thinking-group",toggleTestId:"chat-thinking-toggle",bodyTestId:"chat-thinking-body",groupData:{"data-thinking-blocks":a},spaced:!0,Icon:j.A,label:c("chatTranscript.thinking.summary",{count:a}),collapseLabel:c("chatTranscript.thinking.collapse"),expandLabel:c("chatTranscript.thinking.expand"),children:b})}),am=(0,e.memo)(function({toolCalls:a,children:b}){let c=(0,g.c)("worktree");return(0,d.jsx)(ak,{groupTestId:"chat-tool-log-group",toggleTestId:"chat-tool-log-toggle",bodyTestId:"chat-tool-log-body",groupData:{"data-tool-calls":a},spaced:!0,Icon:k.A,label:c("chatTranscript.toolLog.summary",{count:a}),collapseLabel:c("chatTranscript.toolLog.collapse"),expandLabel:c("chatTranscript.toolLog.expand"),children:b})}),an={claude:!0,codex:!0,antigravity:!0,"command-code":!0,opencode:!0,copilot:!1,gemini:!1,"vibe-local":!1,"opencode-v2":!0};function ao(a){return"assistant"===a.role&&"normal"===a.messageType&&("string"!=typeof a.requestId||!(a.requestId.length>0))&&!0===an[a.cliToolId??"claude"]}let ap=(0,e.memo)(function({children:a}){let b=(0,g.c)("worktree");return(0,d.jsx)(ak,{groupTestId:"chat-pane-scrape-group",toggleTestId:"chat-pane-scrape-toggle",bodyTestId:"chat-pane-scrape-body",Icon:l.A,label:b("agentSource.kindScraper"),children:a})}),aq=(0,e.memo)(function({href:a,children:b,onFilePathClick:c,...f}){let h=(0,g.c)("worktree"),i=a?(0,D.z)(a):null,j=(0,e.useCallback)(b=>{a&&(b.preventDefault(),c(a))},[a,c]);return a&&null!==i&&"anchor"!==i?"external"===i?(0,d.jsx)("a",{...f,href:a,target:"_blank",rel:"noopener noreferrer",children:b}):(0,d.jsx)("a",{...f,href:a,"data-testid":"chat-file-link",onClick:j,className:"cursor-pointer font-mono text-sm text-accent-700 underline-offset-2 hover:underline dark:text-accent-400","aria-label":h("conversation.openFile",{path:(0,D.h)(a)??a}),children:b}):(0,d.jsx)("a",{...f,href:a,children:b})}),ar=(0,e.memo)(function({content:a,onFilePathClick:b}){let c=(0,g.c)("worktree"),f=(0,e.useMemo)(()=>(0,B.ML)(a),[a]),h=(0,e.useCallback)(a=>()=>b(a),[b]);return(0,d.jsx)("span",{children:f.map((a,b)=>"path"===a.type?(0,d.jsx)("button",{type:"button",onClick:h(a.content),className:"cursor-pointer font-mono text-sm text-accent-700 underline-offset-2 hover:underline dark:text-accent-400","aria-label":c("conversation.openFile",{path:a.content}),children:a.content},b):(0,d.jsx)("span",{children:a.content},b))})}),as=(0,e.memo)(function({content:a,onFilePathClick:b}){let{worktreePath:c}=(0,E.hu)(),f=(0,e.useMemo)(()=>(0,E.AW)(a,c),[a,c]);return f.every(a=>"text"===a.type)?(0,d.jsx)(ar,{content:a,onFilePathClick:b}):(0,d.jsx)("span",{children:f.map((a,c)=>"image"===a.type?(0,d.jsx)("span",{className:"my-1 block",children:(0,d.jsx)(I,{src:a.src,alt:a.alt,onFilePathClick:b})},c):(0,d.jsx)(ar,{content:a.content,onFilePathClick:b},c))})}),at=/^file:\/\//i,au=(a,b)=>"src"===b&&at.test(a)?a:(0,t.Lv)(a),av={...u.j,protocols:{...u.j.protocols,src:[...u.j.protocols?.src??[],"file"]}},aw=(0,e.memo)(function({content:a,onFilePathClick:b,renderDiagrams:c=!1}){let g=(0,e.useMemo)(()=>{let a=a=>f().Children.map(a,a=>"string"==typeof a?(0,d.jsx)(ar,{content:a,onFilePathClick:b}):a);return{p:({children:b,...c})=>(0,d.jsx)("p",{...(0,x.po)(c),children:a(b)}),li:({children:b,...c})=>(0,d.jsx)("li",{...(0,x.po)(c),children:a(b)}),td:({children:b,...c})=>(0,d.jsx)("td",{...(0,x.po)(c),children:a(b)}),th:({children:b,...c})=>(0,d.jsx)("th",{...(0,x.po)(c),children:a(b)}),strong:({children:b,...c})=>(0,d.jsx)("strong",{...(0,x.po)(c),children:a(b)}),em:({children:b,...c})=>(0,d.jsx)("em",{...(0,x.po)(c),children:a(b)}),a:({href:a,children:c,node:e,...f})=>{let g=(0,d.jsx)(aq,{...f,href:a,onFilePathClick:b,children:c});return(0,d.jsx)(L,{target:a,label:c,fallback:g,onFilePathClick:b,searchRaw:(0,x.po)(f)})},img:({src:a,alt:c,...e})=>{let f="string"==typeof a?a:void 0,g=(0,x.po)(e);return(0,d.jsx)(L,{target:f,label:c||f,fallback:(0,d.jsx)(I,{src:f,alt:c,onFilePathClick:b,searchRaw:g}),onFilePathClick:b,searchRaw:g})},...c?{code:M.H.code}:{},pre:({node:a,children:b,...e})=>c&&(0,N.D)(b)?(0,d.jsx)(d.Fragment,{children:b}):(0,d.jsx)(O.Ck,{className:"chat-code-block",children:(0,d.jsx)("pre",{...e,children:b})})}},[b,c]),h=(0,e.useMemo)(()=>T(a),[a]),i=(0,e.useMemo)(()=>(0,Q.kP)(a,h),[a,h]),j=(0,e.useMemo)(()=>{let a=(a,b)=>[[v.A,av],[x.p0,{toRaw:a,source:b}],w.A];return{body:a(i.body,h.body),reasoning:a(i.reasoning,h.reasoning??""),toolLog:a(i.toolLog,h.toolLog)}},[i,h]);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(P.E.Provider,{value:c?i.body:null,children:(0,d.jsx)(t.oz,{remarkPlugins:C.eT,rehypePlugins:j.body,urlTransform:au,components:g,children:h.body})}),null!==h.reasoning&&(0,d.jsx)(al,{blocks:h.reasoningBlocks,children:(0,d.jsx)("div",{"data-search-section":Q.BL,className:"contents",children:(0,d.jsx)(P.E.Provider,{value:c?i.reasoning:null,children:(0,d.jsx)(t.oz,{remarkPlugins:C.eT,rehypePlugins:j.reasoning,urlTransform:au,components:g,children:h.reasoning})})})}),h.toolCalls>0&&(0,d.jsx)(am,{toolCalls:h.toolCalls,children:(0,d.jsx)("div",{"data-search-section":Q.w6,className:"contents",children:(0,d.jsx)(P.E.Provider,{value:c?i.toolLog:null,children:(0,d.jsx)(t.oz,{remarkPlugins:C.eT,rehypePlugins:j.toolLog,urlTransform:au,components:g,children:h.toolLog})})})})]})}),ax=(0,e.memo)(function({message:a,showHeader:b,header:c,onFilePathClick:f,onCopy:h,onInsertToMessage:i,onRetryPending:j,onDiscardPending:k}){var l;let t=(0,g.c)("worktree"),u=(0,g.c)("common"),v="user"===a.role,w=a.optimisticState,x=(0,y.bx)(a.requestId),B=ao(a),C=(0,e.useMemo)(()=>"number"==typeof c?.startedAtMs?new Date(c.startedAtMs):null,[c?.startedAtMs]),D=(0,z.g8)(a.timestamp,C),E=b?"role":c?.variant==="time"?"time":"none",F=(0,e.useMemo)(()=>{var b;return"string"==typeof(b=a.content)?(0,A.aJ)(b):""},[a.content]),G=x?a.content:F,H=(0,e.useMemo)(()=>x?T(a.content):null,[x,a.content]),I=H?H.body.trim().length>0?H.body:null:F,J=H?(l=a.content,H.folded?l:null):null,K=[v?"w-fit rounded-2xl border px-3 py-2 text-sm text-foreground ml-auto max-w-[85%] sm:max-w-[75%] rounded-br-md":ae,v&&"error"===w?"border-danger-border bg-danger-subtle":"",v&&"error"!==w?"border-accent-500/30 bg-accent-500/10":"","sending"===w?"opacity-70":""].filter(Boolean).join(" "),L=x?aj:`${ai} whitespace-pre-wrap`;return(0,d.jsxs)("div",{"data-testid":"chat-message-row","data-role":a.role,"data-row-message-id":a.id,className:[U,a.archived?"opacity-60":""].filter(Boolean).join(" "),children:["role"===E&&(0,d.jsxs)("div",{"data-testid":ag,"data-header-variant":"role",className:["flex flex-wrap items-center gap-x-2 px-1 text-xs text-muted-foreground",v?"justify-end":""].filter(Boolean).join(" "),children:[(0,d.jsx)("span",{className:v?"font-medium text-accent-700 dark:text-accent-400":"font-medium",children:t(v?"conversation.you":"conversation.assistant")}),D&&(0,d.jsx)("span",{"data-testid":ah,children:D})]}),"time"===E&&D&&(0,d.jsxs)("div",{"data-testid":ag,"data-header-variant":"time",role:"separator","aria-label":t("chatTranscript.turnBoundary"),className:"flex w-full items-center gap-2 px-1 pt-2 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{className:"h-px min-w-[1rem] flex-1 bg-border","aria-hidden":"true"}),(0,d.jsx)("span",{"data-testid":ah,className:"shrink-0 whitespace-nowrap",children:D}),(0,d.jsx)("span",{className:"h-px min-w-[1rem] flex-1 bg-border","aria-hidden":"true"})]}),(0,d.jsx)("div",{"data-testid":af,className:K,children:B?(0,d.jsx)(ap,{children:(0,d.jsx)("div",{"data-message-id":a.id,className:L,children:(0,d.jsx)(ar,{content:F,onFilePathClick:f})})}):(0,d.jsx)("div",{"data-message-id":a.id,"data-markdown":x?"true":void 0,className:L,children:x?(0,d.jsx)(aw,{content:a.content,onFilePathClick:f,renderDiagrams:!0}):v?(0,d.jsx)(as,{content:F,onFilePathClick:f}):(0,d.jsx)(ar,{content:F,onFilePathClick:f})})}),(0,d.jsxs)("div",{"data-testid":"chat-message-actions",className:["flex items-center gap-1 px-1",v?"justify-end":""].filter(Boolean).join(" "),children:["sending"===w&&(0,d.jsxs)("span",{"data-testid":"chat-optimistic-sending",className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,d.jsx)(m.A,{size:12,className:"animate-spin","aria-hidden":"true"}),(0,d.jsx)("span",{children:t("conversation.sending")})]}),"error"===w&&(0,d.jsxs)("span",{"data-testid":"chat-optimistic-error",className:"flex items-center gap-1 text-xs text-danger-foreground",children:[(0,d.jsx)(n.A,{size:12,"aria-hidden":"true"}),(0,d.jsx)("span",{children:t("conversation.failedToSend")})]}),"error"===w?(0,d.jsxs)(d.Fragment,{children:[j&&(0,d.jsxs)("button",{type:"button","data-testid":"chat-pending-retry",onClick:()=>j(a.id),className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-accent-700 transition-colors hover:bg-muted dark:text-accent-400","aria-label":t("conversation.retrySending"),title:u("retry"),children:[(0,d.jsx)(o.A,{size:12,"aria-hidden":"true"}),u("retry")]}),k&&(0,d.jsxs)("button",{type:"button","data-testid":"chat-pending-discard",onClick:()=>k(a.id),className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-danger-foreground","aria-label":t("conversation.discardMessage"),title:t("conversation.discard"),children:[(0,d.jsx)(p.A,{size:12,"aria-hidden":"true"}),t("conversation.discard")]})]}):(0,d.jsxs)(d.Fragment,{children:[h&&null!==I&&(0,d.jsx)("button",{type:"button","data-testid":"chat-copy-message",onClick:()=>h(I),className:"rounded p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground","aria-label":t("conversation.copyMessage"),title:t("conversation.copy"),children:(0,d.jsx)(q.A,{size:14,"aria-hidden":"true"})}),h&&null!==J&&(0,d.jsxs)("button",{type:"button","data-testid":"chat-copy-full-message",onClick:()=>h(J),className:"flex items-center gap-1 rounded px-1.5 py-1 text-xs leading-none text-muted-foreground transition-colors hover:bg-muted hover:text-foreground","aria-label":t("chatTranscript.copyFull.action"),title:t("chatTranscript.copyFull.title"),children:[(0,d.jsx)(r.A,{size:14,"aria-hidden":"true"}),(0,d.jsx)("span",{children:t("chatTranscript.copyFull.label")})]}),v&&i&&(0,d.jsx)("button",{type:"button","data-testid":"chat-insert-user-message",onClick:()=>i(G),className:"rounded p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-accent-600 dark:hover:text-accent-400","aria-label":t("conversation.insertToMessage"),title:t("conversation.insertToMessage"),children:(0,d.jsx)(s.A,{size:14,"aria-hidden":"true"})})]})]})]})})},49343:(a,b,c)=>{c.d(b,{tY:()=>A,XU:()=>w});var d=c(21124),e=c(38301),f=c(20481),g=c(85351),h=c(11131),i=c(50391),j=c(22631),k=c(7879);let l=/^[^\S\n]*[^\s\u2502\u2503\u2579\u2580][^\n]*?[^\S\n]{8,}esc[^\S\n]*$/m;var m=c(53237);let n={mobile:{storageKey:"commandmate:mobile:opencodeQuickKeysOpen",defaultOpen:!1},desktop:{storageKey:"commandmate:desktop:opencodeQuickKeysOpen",defaultOpen:!0}},o=a=>"boolean"==typeof a;function p(a){return[h.Mx,a]}let q=[{id:"agents",keys:p("a"),notation:"ctrl+x a"},{id:"sessions",keys:p("l"),notation:"ctrl+x l"},{id:"newSession",keys:p("n"),notation:"ctrl+x n"},{id:"models",keys:p("m"),notation:"ctrl+x m"},{id:"themes",keys:p("t"),notation:"ctrl+x t"}],r=[{id:"timeline",keys:p("g"),notation:"ctrl+x g",sessionScoped:!0},{id:"undo",keys:p("u"),notation:"ctrl+x u",sessionScoped:!0},{id:"redo",keys:p("r"),notation:"ctrl+x r",sessionScoped:!0},{id:"compact",keys:p("c"),notation:"ctrl+x c",sessionScoped:!0}],s=[{id:"pageUp",keys:["PageUp"],notation:"pgup"},{id:"pageDown",keys:["PageDown"],notation:"pgdn"},{id:"first",keys:["Home"],notation:"home"},{id:"last",keys:["End"],notation:"end"}],t=[[{id:"agentNext",keys:["Tab"],notation:"tab"},{id:"agentPrev",keys:["BTab"],notation:"shift+tab"},{id:"commands",keys:["C-p"],notation:"ctrl+p"},{id:"variant",keys:["C-t"],notation:"ctrl+t"}],q,r,s],u=[[{id:"commands",keys:["C-p"],notation:"ctrl+p"},{id:"variant",keys:["C-t"],notation:"ctrl+t"}],[{id:"agents",keys:p("a"),notation:"ctrl+x a"},{id:"sessions",keys:p("l"),notation:"ctrl+x l"},{id:"newSession",keys:p("n"),notation:"ctrl+x n"},{id:"models",keys:p("m"),notation:"ctrl+x m"}],s],v={opencode:t,"opencode-v2":u},w=(0,e.memo)(function({worktreeId:a,cliToolId:b,instanceId:c,hasAgentSession:h,onKeysSent:k,compact:l=!1,collapsible:p=!1,layout:q="mobile"}){let r=(0,f.c)("worktree"),{activeKey:s,markPressed:t}=(0,j.t)(),u=(0,i.B)(a,b,c,k),{open:w,toggle:x}=function(a="mobile"){let{storageKey:b,defaultOpen:c}=n[a],{value:d,setValue:f,isAvailable:g}=(0,m.V)({key:b,defaultValue:c,validate:o});return{open:d,toggle:(0,e.useCallback)(()=>f(a=>!a),[f]),isPersistent:g}}(q),y=(0,e.useId)(),z=(0,e.useCallback)(a=>{t(a.id),u([...a.keys])},[t,u]),A=v[b];if(!A)return null;let B=(0,d.jsxs)("div",{className:`@container flex flex-wrap items-center gap-1.5 ${p?"px-1.5 pb-1.5":"py-1.5 bg-muted rounded-lg"}`,id:p?y:void 0,role:"toolbar","aria-label":r("opencodeQuickKeys.toolbarLabel"),"data-testid":"opencode-quick-keys",children:[p?null:(0,d.jsx)("span",{className:"text-xs text-muted-foreground mx-2",children:r("opencodeQuickKeys.caption")}),A.map((a,b)=>(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[b>0?(0,d.jsx)("span",{className:"w-px h-6 bg-border mx-0.5","aria-hidden":"true"}):null,a.map(a=>{let b=r(`opencodeQuickKeys.keys.${a.id}`),c=!0===a.sessionScoped&&!h;return(0,d.jsxs)("button",{type:"button",disabled:c,className:`min-h-[44px] px-3 py-2 text-sm font-medium rounded-md
|
|
5
|
+
${l===a?"bg-amber-500 text-white border-amber-500 scale-95":"bg-white dark:bg-gray-700 hover:bg-amber-50 dark:hover:bg-gray-600 active:bg-amber-100 dark:active:bg-gray-500"}`,"aria-label":c,onClick:()=>p(a),children:b},a))]})}},12529:(a,b,c)=>{c.d(b,{Fs:()=>l,bk:()=>g,gO:()=>h,hq:()=>k,p1:()=>i,ro:()=>j});var d=c(30872),e=c(43907),f=c(11131);let g=Object.freeze({numberKeyCount:0,offersSessionScope:!1,commitsDefaultOnEnter:!1,offersPlanApprove:!1});function h(a){var b;if(!a)return g;let c=(0,d.S$)(a);return{numberKeyCount:(0,d.xw)(c)&&null===(0,d.Dk)(a)?Math.min(c.optionCount,(b=a,(0,d.S$)((0,e.Bw)(b,{selectionList:!0})).optionCount)):0,offersSessionScope:c.offersSessionScope,commitsDefaultOnEnter:c.commitsDefaultOnEnter,offersPlanApprove:c.offersPlanApprove}}function i(a,b){return a.offersPlanApprove&&!!b&&f.oO.includes(b)}function j({isSelectionListActive:a,isPagerActive:b=!1,reading:c,cliToolId:d}){return a&&!b&&i(c,d)}function k(a,b){return a.numberKeyCount===b.numberKeyCount&&a.offersSessionScope===b.offersSessionScope&&a.commitsDefaultOnEnter===b.commitsDefaultOnEnter&&a.offersPlanApprove===b.offersPlanApprove}function l({reading:a,cliToolId:b,surface:c,pager:d=!1}){let e=a.offersPlanApprove;if(d)return{padEnter:!e,numberKeyCount:0,commitKeys:null,planReview:!1,opencodeModelKeys:!1};let g=a.offersSessionScope&&f.qL.includes(b)?{commitsDefaultOnEnter:a.commitsDefaultOnEnter}:null;return{padEnter:!e&&("terminal"!==c||null===g),numberKeyCount:a.numberKeyCount,commitKeys:g,planReview:i(a,b),opencodeModelKeys:"chat"===c}}},12712:(a,b,c)=>{c.d(b,{T:()=>o});var d=c(21124),e=c(38301),f=c(20481),g=c(74892),h=c(98033),i=c(63643),j=c(21768),k=c(37382);function l(a){return`flex-1 py-2 px-3 text-sm font-medium rounded-md border-2 transition-colors ${a?"border-accent-600 bg-accent-50 dark:bg-accent-900/30 text-accent-700 dark:text-accent-400":"border-border bg-surface dark:bg-surface-2 text-foreground hover:border-muted-foreground"}`}function m({isOpen:a,onConfirm:b,onCancel:c,cliToolName:g}){let m=(0,f.c)("autoYes"),n=(0,f.c)("common"),[o,p]=(0,e.useState)(i.t6),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(""),[u,v]=(0,e.useState)(j.Rb),[w,x]=(0,e.useState)(null),[y,z]=(0,e.useState)(!1),A=(0,e.useRef)(null),B=a=>m("durationHours",{hours:(0,i.nG)(a)});return(0,d.jsx)(h.a,{isOpen:a,onClose:c,title:g?m("enableTitleWithTool",{toolName:g}):m("enableTitle"),size:"sm",showCloseButton:!0,children:(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{className:"text-sm text-foreground",children:[(0,d.jsx)("p",{className:"font-medium mb-2",children:m("featureDescription")}),(0,d.jsxs)("ul",{className:"list-disc list-inside space-y-1",children:[(0,d.jsx)("li",{children:m("yesNoAutoResponse")}),(0,d.jsx)("li",{children:m("multipleChoiceAutoSelect")})]}),(0,d.jsx)("p",{className:"mt-1",children:m("autoDisableAfter",{duration:B(o)})}),g&&(0,d.jsx)("p",{className:"mt-2 text-muted-foreground",children:m("appliesOnlyToCurrent",{toolName:g})})]}),(0,d.jsxs)("div",{className:"text-sm text-foreground",children:[(0,d.jsx)("p",{className:"font-medium mb-2",children:m("duration")}),(0,d.jsxs)("div",{className:"flex gap-2",children:[i.CN.map(a=>(0,d.jsx)("button",{type:"button",onClick:()=>{r(!1),p(a)},className:l(!q&&o===a),style:{minHeight:"44px"},"aria-pressed":!q&&o===a,"data-testid":`auto-yes-duration-${(0,i.nG)(a)}h`,children:B(a)},a)),(0,d.jsx)("button",{type:"button",onClick:()=>r(!0),className:l(q),style:{minHeight:"44px"},"aria-pressed":q,"data-testid":"auto-yes-duration-other",children:m("durationOther")})]}),q&&(0,d.jsx)("select",{value:o,onChange:a=>{let b=Number(a.target.value);(0,i.dR)(b)&&p(b)},"aria-label":m("durationSelectLabel"),className:"mt-2 w-full px-3 py-2 border border-input rounded-md text-sm bg-surface dark:bg-surface-2 text-foreground focus:outline-none focus:ring-1 focus:ring-ring","data-testid":"auto-yes-duration-select",children:i._q.map(a=>(0,d.jsx)("option",{value:a,children:B(a)},a))}),(0,d.jsx)("p",{className:"mt-2 text-xs text-muted-foreground","data-testid":"auto-yes-long-duration-note",children:m("longDurationNote")})]}),(0,d.jsx)(k.o,{value:u,onChange:v}),(0,d.jsxs)("div",{className:"text-sm text-foreground",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[(0,d.jsx)("label",{htmlFor:"stop-pattern-input",className:"font-medium",children:m("stopPatternLabel")}),(0,d.jsxs)("div",{className:"relative",ref:A,children:[(0,d.jsx)("button",{type:"button",onClick:()=>z(!y),className:"inline-flex items-center justify-center w-4 h-4 rounded-full bg-muted text-muted-foreground text-[10px] font-bold hover:bg-muted/80 focus:outline-none","aria-label":m("regexTipsLabel"),"data-testid":"regex-tips-button",children:"?"}),y&&(0,d.jsxs)("div",{className:"absolute left-0 top-6 z-50 w-72 rounded-md border border-border bg-surface p-3 shadow-lg text-xs text-foreground","data-testid":"regex-tips-tooltip",children:[(0,d.jsx)("p",{className:"font-medium mb-1.5",children:m("regexTipsTitle")}),(0,d.jsxs)("ul",{className:"space-y-1",children:[(0,d.jsxs)("li",{children:[(0,d.jsx)("code",{className:"bg-muted px-1 rounded",children:"\\bcat\\b"})," ",m("regexTipWordBoundary")]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("code",{className:"bg-muted px-1 rounded",children:"error|fatal"})," ",m("regexTipOr")]}),(0,d.jsxs)("li",{children:[(0,d.jsx)("code",{className:"bg-muted px-1 rounded",children:"(?i)error"})," ",m("regexTipCaseNote")]})]})]})]})]}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground mb-2",children:m("stopPatternDescription")}),(0,d.jsx)("input",{id:"stop-pattern-input",type:"text",value:s,onChange:a=>t(a.target.value),placeholder:m("stopPatternPlaceholder"),className:`w-full px-3 py-2 border rounded-md text-sm font-mono bg-surface dark:bg-surface-2 text-foreground ${w?"border-danger focus:ring-danger focus:border-danger":"border-input focus:ring-ring focus:border-accent-500"} focus:outline-none focus:ring-1`,"data-testid":"stop-pattern-input"}),w&&(0,d.jsx)("p",{className:"mt-1 text-xs text-danger","data-testid":"stop-pattern-error",children:w})]}),(0,d.jsxs)("div",{className:"text-sm text-foreground",children:[(0,d.jsx)("p",{className:"font-medium mb-2",children:m("aboutRisks")}),(0,d.jsx)("p",{children:m("riskWarning")})]}),(0,d.jsx)("div",{className:"bg-warning-subtle border-l-4 border-warning p-3",children:(0,d.jsxs)("p",{className:"text-sm text-warning-foreground",children:[(0,d.jsx)("span",{className:"font-medium",children:m("disclaimer")}),m("disclaimerText")]})}),(0,d.jsxs)("div",{className:"flex justify-end gap-3 pt-2",children:[(0,d.jsx)("button",{type:"button",onClick:c,className:"px-4 py-2 text-sm font-medium rounded-md bg-muted hover:bg-muted/80 text-foreground",children:n("cancel")}),(0,d.jsx)("button",{type:"button",onClick:()=>{let a=s.trim();u===j.Rb?b(o,a||void 0):b(o,a||void 0,u)},disabled:!!w,className:`px-4 py-2 text-sm font-medium rounded-md text-white ${w?"bg-muted-foreground cursor-not-allowed":"bg-warning hover:bg-warning/90"}`,"data-testid":"confirm-button",children:m("agreeAndEnable")})]})]})})}var n=c(17252);let o=(0,e.memo)(function({enabled:a,expiresAt:b,onToggle:c,cliToolName:h,inline:j=!1,showToolName:k=!0,onExpire:l,blockedByContract:o=!1,releasedByRestart:p=!1,answerMode:q}){let r=(0,f.c)("autoYes"),[s,t]=(0,e.useState)(""),[u,v]=(0,e.useState)(!1),[w,x]=(0,e.useState)(!1),[y,z]=(0,e.useState)(!1);(0,e.useEffect)(()=>{if(!a||!b){t(""),z(!1);return}z(!1);let c=!1,d=()=>(t((0,i.$B)(b)),b-Date.now()<=0&&!c&&(c=!0,z(!0),l?.(),!0));if(d())return;let e=setInterval(()=>{d()&&clearInterval(e)},i.$s);return()=>clearInterval(e)},[a,b,l]);let A=a&&!y,B=(0,e.useCallback)(()=>{A?(v(!0),c({enabled:!1}).finally(()=>v(!1))):x(!0)},[A,c]),C=(0,e.useCallback)((a,b,d)=>{x(!1),v(!0),c({enabled:!0,duration:a,stopPattern:b,...d?{answerMode:d}:{}}).finally(()=>v(!1))},[c]),D=(0,e.useCallback)(()=>{x(!1)},[]);return(0,d.jsxs)("div",{className:j?"flex items-center gap-2":"flex items-center gap-3 px-4 py-2 bg-surface-2 border-b border-border",children:[(0,d.jsx)(g.d,{checked:A,onCheckedChange:B,disabled:u,"aria-label":r("toggleLabel")}),(0,d.jsx)("span",{className:"text-sm font-medium text-foreground",children:r("label")}),k&&h&&(0,d.jsxs)("span",{className:"text-xs text-accent-600 dark:text-accent-400 font-medium","aria-label":r("targetLabel"),children:["(",(0,n.f_)(h,""),")"]}),A&&s&&(0,d.jsx)("span",{className:"text-sm text-muted-foreground","aria-label":r("timeRemaining"),children:s}),A&&q&&(0,d.jsx)("span",{className:"text-xs font-medium text-muted-foreground",title:r(`answerModeBadgeTitle.${q}`),"data-testid":"auto-yes-answer-mode","data-answer-mode":q,children:r(`answerModeBadge.${q}`)}),A&&o&&(0,d.jsx)("span",{className:"text-xs font-medium text-warning-foreground",title:r("blockedByContractTitle"),"data-testid":"auto-yes-blocked-by-contract",children:r("blockedByContract")}),!A&&p&&(0,d.jsx)("span",{className:"text-xs font-medium text-warning-foreground",title:r("releasedByRestartTitle"),"data-testid":"auto-yes-released-by-restart",children:r("releasedByRestart")}),(0,d.jsx)(m,{isOpen:w,onConfirm:C,onCancel:D,cliToolName:(0,n.f_)(h,"")})]})})},12894:(a,b,c)=>{c.d(b,{o:()=>d});function d(a){return a?a.split("/").map(encodeURIComponent).join("/"):""}},13074:(a,b,c)=>{c.d(b,{O:()=>h,k:()=>g});var d=c(38301);let e=Object.freeze({}),f=(0,d.createContext)(e),g=f.Provider;function h(){return(0,d.useContext)(f)}},15457:(a,b,c)=>{function d(a){switch(a.kind){case"question":return{text:a.text};case"approval":return a.toolName?{key:"structuredApprovalTitle",values:{toolName:a.toolName}}:{key:"structuredApprovalTitleNoTool"};case"agent-question":return{key:"structuredQuestionTitle"};case"unreadable":return{key:"unclassifiedTitle"}}}c.d(b,{$y:()=>f,KX:()=>g,SD:()=>d,ds:()=>k,zM:()=>i});let e=[/^[^\S\n]*type\s+something\b/i];function f(a){return!0===a.requiresTextInput&&e.some(b=>b.test(a.label))}function g(a){if(!a)return null;let b=a.decisionId;return"string"==typeof b&&""!==b?b:null}function h(a){return Array.isArray(a.decisionOptions)&&a.decisionOptions.length>0}function i(a){if(!a||null===g(a)||h(a))return null;let b=a.askUserQuestion;if(!b||"string"!=typeof b.question||""===b.question||!Array.isArray(b.labels)||0===b.labels.length)return null;let c=b.labels.filter(a=>"string"==typeof a&&""!==a);if(c.length!==b.labels.length)return null;let d="number"==typeof b.questionCount?b.questionCount:1;return 1!==d?null:{question:b.question,labels:c,questionCount:d,...!0===b.custom?{custom:!0}:{}}}let j={kind:"unreadable",heading:{kind:"unreadable"},choices:[],multiSelect:!1,freeText:null,decisionId:null,apiTarget:null};function k(a){if(null==a)return null;if("unclassified"!==a.type){let b=function(a){let b=Array.isArray(a.options)?a.options:[],c=[];for(let d of b){if("string"==typeof d){c.push({answer:d,label:d,isDefault:a.defaultOption===d,takesText:!1});continue}d&&"object"==typeof d&&"number"==typeof d.number&&"string"==typeof d.label&&c.push({answer:String(d.number),label:d.label,isDefault:!0===d.isDefault,takesText:f({label:d.label,requiresTextInput:!0===d.requiresTextInput}),..."string"==typeof d.description?{description:d.description}:{}})}return c}(a);return{kind:"screen-choices",heading:{kind:"question",text:"string"==typeof a.question?a.question:""},choices:b,multiSelect:!0===a.multiSelect,freeText:b.some(a=>a.takesText)?{via:"screen"}:null,decisionId:null,apiTarget:null}}let b=g(a);if(null!==b&&h(a)){let c=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)c&&"number"==typeof c.number&&"string"==typeof c.label&&b.push({answer:String(c.number),label:c.label,isDefault:!1,takesText:!1});return b}(a.decisionOptions);if(c.length>0)return{kind:"api-choices",heading:{kind:"approval",toolName:"string"==typeof a.toolName&&a.toolName?a.toolName:null},choices:c,multiSelect:!1,freeText:null,decisionId:b,apiTarget:"approval"}}let c=i(a);return null!==b&&null!==c?{kind:"api-choices",heading:{kind:"agent-question",text:c.question},choices:c.labels.map((a,b)=>({answer:String(b+1),label:a,isDefault:!1,takesText:!1})),multiSelect:!1,freeText:!0===c.custom?{via:"api"}:null,decisionId:b,apiTarget:"question"}:j}},15783:(a,b,c)=>{c.d(b,{CM:()=>i,LA:()=>j,S5:()=>g,bS:()=>f,bw:()=>d,h0:()=>h,vF:()=>e});let d=36,e=160,f=4096,g="commandmate:composer-height:";function h(a){return`split:${a}`}let i="session-tile",j=160},18219:(a,b,c)=>{c.d(b,{b4:()=>j,lo:()=>i});var d=c(38301),e=c(15783);let f=d.useEffect;function g(a,b){return`${e.S5}${a}:${b}`}function h(a,b){let c=null!=b&&Number.isFinite(b)?Math.min(b,e.bS):e.bS;return Math.max(e.bw,Math.min(Math.round(a),c))}function i({worktreeId:a,scope:b,maxHeight:c,enabled:i=!0}){let j=i&&!!b,[k,l]=(0,d.useState)(null),m=(0,d.useRef)(null),n=(0,d.useRef)(c);f(()=>{let c=j&&b?function(a,b){try{return function(a){if(null===a)return null;let b=a.trim();if(""===b)return null;let c=Number(b);if(!Number.isFinite(c))return null;let d=Math.round(c);return d<e.bw||d>e.bS?null:d}(window.localStorage.getItem(g(a,b)))}catch{return null}}(a,b):null;m.current=c,l(c)},[j,a,b]),f(()=>{n.current=c},[c]);let o=(0,d.useCallback)((c,d)=>{if(!j||!b||!Number.isFinite(c))return;let e=n.current,f=null===m.current?h(d,e):h(m.current,e),i=h(f+c,e);m.current=i,l(i);try{window.localStorage.setItem(g(a,b),String(h(i)))}catch{}},[j,a,b]),p=(0,d.useCallback)(()=>{if(j&&b){m.current=null,l(null);try{window.localStorage.removeItem(g(a,b))}catch{}}},[j,a,b]),q=j?k:null,r=null===q?null:h(q,c);return{storedHeight:q,height:r,resizeBy:o,reset:p}}function j(a,b,c){let[e,g]=(0,d.useState)(null),h=(0,d.useRef)(null);return f(()=>{if(!a||!b||"undefined"==typeof ResizeObserver)return;let d=b.querySelector('[data-testid="message-input-textarea"]');if(!d)return;let e=()=>{let b=function(a,b,c){let d=a.parentElement;if(!d)return null;let e=b.getBoundingClientRect().height;if(e<=0)return null;let f=0;for(let b of Array.from(d.children)){if(b===a||!(b instanceof HTMLElement))continue;let{display:c,position:d}=window.getComputedStyle(b);"none"!==c&&"absolute"!==d&&"fixed"!==d&&(f+=b.getBoundingClientRect().height)}return Math.floor(e+(function(a){let b=window.getComputedStyle(a),c=a=>parseFloat(a)||0;return a.getBoundingClientRect().height-c(b.borderTopWidth)-c(b.borderBottomWidth)-c(b.paddingTop)-c(b.paddingBottom)}(d)-f)-c)}(a,d,c);null!==b&&b!==h.current&&(h.current=b,g(b))},f=new ResizeObserver(e),i=a.parentElement;return i&&f.observe(i),f.observe(a),f.observe(b),f.observe(d),e(),()=>f.disconnect()},[a,b,c]),e}},20203:(a,b,c)=>{c.d(b,{D:()=>d});function d(a,b,c){let d=new TextEncoder;if(d.encode(a).length<=b)return a;let e=b-d.encode(c).length,f=0,g="";for(let b of a){let a=d.encode(b).length;if(f+a>e)break;f+=a,g+=b}return`${g}${c}`}},22631:(a,b,c)=>{c.d(b,{t:()=>f});var d=c(38301),e=c(58970);function f(){let[a,b]=(0,d.useState)(null),c=(0,d.useRef)(null);return{activeKey:a,markPressed:(0,d.useCallback)(a=>{b(a),null!==c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,b(null)},e.tX)},[])}}},24761:(a,b,c)=>{c.d(b,{Ce:()=>i,TG:()=>h,jt:()=>f,sg:()=>g});var d=c(38301);let e={visible:"commandmate.worktree.historyVisible",width:"commandmate.worktree.historyWidth",defaultVisible:!1},f={visible:"commandmate.sessions.tileHistoryVisible",width:"commandmate.sessions.tileHistoryWidth"},g=40;function h(a=e){let{visible:b,width:c,defaultVisible:f=!0}=a,[i,j]=(0,d.useState)(f),[k,l]=(0,d.useState)(g),m=(0,d.useRef)(i);m.current=i;let n=(0,d.useRef)(k);return n.current=k,{visible:i,width:k,toggle:(0,d.useCallback)(()=>{let a=!m.current;j(a),n.current},[b]),setWidth:(0,d.useCallback)(a=>{let b=Number.isFinite(a)?Math.min(60,Math.max(10,a)):g;l(b),m.current},[b,c])}}function i(a){return`split-history-slot-${a}`}},25178:(a,b,c)=>{c.d(b,{Af:()=>m});var d=c(38301);let e=null,f=new Set;function g(){for(let a of Array.from(f))a()}function h(){return null===e&&(e=!1),e}function i(){return!1}function j(a){(null===a.key||"commandmate:chatShowToolActivity"===a.key)&&(e=!1,g())}function k(a){return f.add(a),1===f.size&&window.addEventListener("storage",j),()=>{f.delete(a),0===f.size&&(window.removeEventListener("storage",j),e=null)}}function l(){e=!h(),g()}function m(){return[(0,d.useSyncExternalStore)(k,h,i),l]}},27357:(a,b,c)=>{c.d(b,{l5:()=>l});var d=c(3350),e=c.n(d),f=c(19331),g=c.n(f),h=c(82258),i=c(7879);let j=new(g())({fg:"#d1d5db",bg:"#1f2937",newline:!0,escapeXML:!0}),k=/[\x40-\x7e]/;function l(a){let b=function(a){if(a.length<=h.ZJ)return a;let b=h.ED+"\n",c=h.ZJ-b.length;if(c<=0)return h.ED.slice(0,h.ZJ);let d=a.length-c,e=a.indexOf("\n",d);if(-1!==e&&e-d<=h.yi)return b+a.slice(e+1);let f=function(a,b){let c=a.lastIndexOf("\x1b",b-1);if(-1===c)return b;let d=a.slice(c+1,b);if(k.test(d.slice(1)))return b;for(let c=b;c<a.length;c++)if(k.test(a[c]))return c+1;return a.length}(a,d),g=a.charCodeAt(f);return g>=56320&&g<=57343&&(f+=1),b+a.slice(f)}(a.replace(/\0/g,"")),c=(0,i.wJ)(b),d=j.toHtml(c);return e().sanitize(d,{ALLOWED_TAGS:["span","br"],ALLOWED_ATTR:["style"],ALLOW_DATA_ATTR:!1})}},27412:(a,b,c)=>{c.d(b,{Y:()=>h});var d=c(21124),e=c(38301),f=c(20481),g=c(77478);function h({query:a,onQueryChange:b,matchCount:c,currentIndex:h,onNext:i,onPrev:j,onClose:k,isAtMaxMatches:l,onCompositionStart:m,onCompositionEnd:n}){let o=(0,e.useRef)(null),p=(0,f.c)("worktree"),q=(0,e.useCallback)(a=>{"Escape"===a.key&&k()},[k]),r=(0,e.useCallback)(a=>{b(a.target.value)},[b]),s=0===c?"0/0":l?p("history.search.countAtMax",{current:h+1,max:g.F0}):`${h+1}/${c}`;return(0,d.jsxs)("div",{className:"flex items-center gap-1 px-2 py-1 bg-surface border border-border rounded shadow-lg",role:"search","aria-label":p("history.search.regionLabel"),children:[(0,d.jsx)("input",{ref:o,type:"text",value:a,onChange:r,onKeyDown:q,onCompositionStart:m,onCompositionEnd:n,placeholder:p("history.search.placeholder"),className:"bg-transparent text-foreground text-sm outline-none w-32 sm:w-40 placeholder-muted-foreground","aria-label":p("history.search.keywordLabel"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1}),(0,d.jsx)("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"text-muted-foreground text-xs min-w-[3rem] text-right",children:s}),(0,d.jsx)("button",{type:"button",onClick:j,disabled:0===c,"aria-label":p("history.search.prev"),className:"text-muted-foreground hover:text-foreground disabled:opacity-40 min-w-[36px] min-h-[36px] flex items-center justify-center text-base",children:"▲"}),(0,d.jsx)("button",{type:"button",onClick:i,disabled:0===c,"aria-label":p("history.search.next"),className:"text-muted-foreground hover:text-foreground disabled:opacity-40 min-w-[36px] min-h-[36px] flex items-center justify-center text-base",children:"▼"}),(0,d.jsx)("button",{type:"button",onClick:k,"aria-label":p("history.search.close"),className:"text-muted-foreground hover:text-foreground min-w-[36px] min-h-[36px] flex items-center justify-center text-base ml-1",children:"✕"})]})}},28232:(a,b,c)=>{c.d(b,{Lx:()=>f,Oy:()=>h,bJ:()=>d});let d="Thinking",e=/^>[ \t]*\*\*Thinking(?:[ \t]*\((\d+)\))?\*\*[ \t]*$/;function f(a){if(!a.includes(d))return{body:a,reasoning:null,blocks:0};let b=a.split("\n"),c=g(b);if(0===c.blocks)return{body:a,reasoning:null,blocks:0};let e=c.kept.map(a=>b[a]),f=c.sections.map(([a,c])=>b.slice(a,c).map(a=>a.replace(/^>[ \t]?/,"")).join("\n").replace(/^\n+/,"").replace(/\n+$/,""));return{body:e.join("\n").replace(/\n{3,}/g,"\n\n").trim(),reasoning:f.join("\n\n").replace(/^\n+/,"").replace(/\n+$/,""),blocks:c.blocks,lineRanges:c.sections.map(([a,b])=>[a-1,b])}}function g(a){let b=[],c=[],d=0,f=0;for(;f<a.length;){let g=e.exec(a[f]),h=0===f||!a[f-1].startsWith(">");if(!g||!h){b.push(f),f+=1;continue}let i=f+1;for(;i<a.length&&a[i].startsWith(">");)i+=1;let j=g[1]?Number.parseInt(g[1],10):1;d+=Number.isFinite(j)&&j>0?j:1,c.push([f+1,i]),f=i}return{kept:b,sections:c,blocks:d}}function h(a){let b=a.split("\n"),c=a=>({text:b[a],line:a,column:0}),e=a.includes(d)?g(b):{kept:[],sections:[],blocks:0};if(0===e.blocks)return{body:b.map((a,b)=>c(b)),reasoning:[]};let f=[];for(let a of e.kept){let d=f[f.length-1];(""!==b[a]||d?.text!=="")&&f.push(c(a))}let h=function(a){let b=0,c=a.length-1;for(;b<=c&&""===a[b].text.trim();)b+=1;for(;c>=b&&""===a[c].text.trim();)c-=1;if(b>c)return[];let d=a.slice(b,c+1),e=d[0],f=e.text.trimStart();d[0]={...e,text:f,column:e.column+e.text.length-f.length};let g=d[d.length-1];return d[d.length-1]={...g,text:g.text.trimEnd()},d}(f),i=[];for(e.sections.forEach(([a,c],d)=>{d>0&&i.push({text:"",line:null,column:0});let e=[];for(let d=a;d<c;d++){let a=b[d].replace(/^>[ \t]?/,"");e.push({text:a,line:d,column:b[d].length-a.length})}for(;e.length>0&&""===e[0].text;)e.shift();for(;e.length>0&&""===e[e.length-1].text;)e.pop();i.push(...e.length>0?e:[{text:"",line:null,column:0}])});i.length>0&&""===i[0].text;)i.shift();for(;i.length>0&&""===i[i.length-1].text;)i.pop();return{body:h,reasoning:i}}},29460:(a,b,c)=>{c.d(b,{i:()=>g,w:()=>f});var d=c(38301),e=c(77478);function f({messages:a}){let[b,c]=(0,d.useState)(!1),[f,g]=(0,d.useState)(""),[h,i]=(0,d.useState)([]),[j,k]=(0,d.useState)(0),[l,m]=(0,d.useState)(!1),n=(0,d.useRef)(null),o=(0,d.useRef)(""),p=(0,d.useRef)(!1);(0,d.useRef)(function(a){if(0===a.length)return"0";let b=a[a.length-1],c=b.timestamp instanceof Date?b.timestamp.getTime():String(b.timestamp);return`${a.length}|${b.id}|${c}`}(a));let q=(0,d.useRef)(a);q.current=a;let r=h.reduce((a,b)=>a+b.ranges.length,0),s=(0,d.useMemo)(()=>(function(a,b){if(0===a.length||b<0)return null;let c=0;for(let d of a){if(b<c+d.ranges.length)return{messageId:d.messageId,localIndex:b-c};c+=d.ranges.length}return null})(h,j),[h,j]),t=(0,d.useCallback)(()=>{n.current&&(clearTimeout(n.current),n.current=null)},[]),u=(0,d.useCallback)(a=>{let{positions:b,capped:c}=function(a,b){if(b.length<e.E2||0===a.length)return{positions:[],capped:!1};let c=b.toLowerCase(),d=b.length,f=[],g=0,h=!1;for(let b of a){if(h)break;let i=b.content;if(!i)continue;let j=i.toLowerCase(),k=[],l=0;for(;;){let f=j.indexOf(c,l);if(-1===f)break;if(k.push({start:f,end:f+d}),l=f+1,(g+=1)>=e.F0){if(-1!==j.indexOf(c,l))h=!0;else{let d=a.indexOf(b)+1;for(let b=d;b<a.length;b++){let d=a[b].content;if(d&&-1!==d.toLowerCase().indexOf(c)){h=!0;break}}}break}}k.length>0&&f.push({messageId:b.id,ranges:k})}return{positions:f,capped:h}}(q.current,a);i(b),k(0),m(c)},[]),v=(0,d.useCallback)(a=>{t(),o.current=a,p.current||(n.current=setTimeout(()=>{u(a)},e.e1))},[t,u]),w=(0,d.useCallback)(a=>{g(a),v(a)},[v]),x=(0,d.useCallback)(()=>{c(!0)},[]),y=(0,d.useCallback)(()=>{c(!1),g(""),o.current="",i([]),k(0),m(!1),t()},[t]),z=(0,d.useCallback)(()=>{k(a=>0===r?0:(a+1)%r)},[r]),A=(0,d.useCallback)(()=>{k(a=>0===r?0:(a-1+r)%r)},[r]);return{isOpen:b,query:f,matchCount:r,currentIndex:j,isAtMaxMatches:l,matchPositions:h,currentMatch:s,openSearch:x,closeSearch:y,setQuery:w,onCompositionStart:(0,d.useCallback)(()=>{p.current=!0,t()},[t]),onCompositionEnd:(0,d.useCallback)(()=>{p.current=!1;let a=o.current;a.length>=e.E2&&(t(),n.current=setTimeout(()=>{u(a)},e.e1))},[t,u]),nextMatch:z,prevMatch:A}}function g(a,b){let[c,e]=(0,d.useState)(0);return c}c(91075)},30872:(a,b,c)=>{c.d(b,{$H:()=>q,VC:()=>v,gg:()=>l,pw:()=>A,Dk:()=>u,S$:()=>y,xw:()=>z});var d=c(7879);let e=/\btype\s+to\s+search\b|\bsearch\s+\w+\s*(?:…|\.\.\.)|(?:^|·)\s*\/\s+search\b/im,f=/^\s*(?:❯ +)?Approve\s+ctrl\+a\b[^\n]*\n\s*(?:❯ +)?Cancel\s+esc\s*$/im,g=">[^\\S\\n]+[A-Z][A-Za-z-]*[^\\S\\n]mode:[^\\n]*\\(shift\\+tab to cycle\\)[^\\S\\n]*";RegExp(`^${g}$`,"m"),RegExp(`^(?:>\\s*|${g})$`,"m");let h=/↑\/↓\s*Navigate/,i=/Do you trust the contents of this project\?/,j=/\benter\s+to\s+select\b\s*[·•]\s*esc\s+to\s+cancel\b/i,k=/^\s*(?:press|hit|type)?\s*(?:<)?esc(?:ape)?(?:>)?\s+to\s+(?:close|dismiss|exit)\b[\s.·•]*$/im;function l(a){if(!a)return!1;let b=(0,d.aJ)(a.replace(/\r\n/g,"\n")).split("\n"),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;return!(c<0)&&b.slice(Math.max(0,c+1-15),c+1).some(a=>k.test(a))}let m=/^\u2500+$/,n="●◉⦿",o=RegExp(`^\\s*([${n}◯○◌⚪✔])\\s+\\S`),p=/\besc\s+to\s+interrupt\b|^[^\S\n]*✻[^\S\n]+\S/im,q=9,r=/^[^0-9A-Za-z]*([1-9])[.)]\s+\S/,s=/\bs\s+to\s+use\s+this\s+session\s+only\b/i,t=/\bEnter\s+to\s+set\s+as\s+default\b/i;function u(a){let b=function(a){if(!a)return null;let b=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;if(c<1)return null;let f=-1;for(let a=c-1;a>=0;a-=1){let c=b[a].trim();if(!(c.length<40)&&m.test(c)){f=a;break}}if(f<0)return null;let g=b.slice(f+1,c+1),h=g.join("\n");if(e.test(h)||j.test(h)||k.test(h)||p.test(h))return null;let i=g.findIndex(a=>""!==a.trim());if(i<0||!function(a){let b=a.split("|");if(b.length<2)return!1;let c=0,d=0;for(let a of b){let b=o.exec(a);if(null===b)return!1;n.includes(b[1])?c+=1:d+=1}return c>0&&d>0}(g[i]))return null;let l=[],q=-1;for(let a=i+1;a<g.length;a+=1){let b=r.exec(g[a]);null!==b&&(q<0&&(q=a),l.push(Number(b[1])))}if(l.length<2||!g.slice(i+1,q).some(a=>""!==a.trim()))return null;let s=0,t=-1,u=!1;for(let a=0;a<g.length;a+=1){let b=g[a].split("❯").length-1;0!==b&&(s+=b,t=a,u=r.test(g[a]))}return 0===s?null:{ruleLineIndex:f,firstLineIndex:f+1,lastLineIndex:c,tabLineIndex:f+1+i,numbers:l,cursorCount:s,cursorLineIndex:f+1+t,cursorOnOptionRow:u}}(a);return null!==b&&b.numbers.every((a,b)=>a===b+1)&&1===b.cursorCount?{ruleLineIndex:b.ruleLineIndex,firstLineIndex:b.firstLineIndex,lastLineIndex:b.lastLineIndex,tabLineIndex:b.tabLineIndex,cursorLineIndex:b.cursorLineIndex,cursorOnOptionRow:b.cursorOnOptionRow,optionCount:b.numbers.length}:null}function v(a){let b=a.replace(/\r\n/g,"\n").split("\n"),c=-1;for(let a=b.length-1;a>=0;a-=1)if(j.test((0,d.aJ)(b[a]))){c=a;break}if(c<0){let c=u(a);return null===c?null:b.slice(c.firstLineIndex,c.lastLineIndex+1).join("\n")}for(let a=c-1;a>=0;a-=1){let e=(0,d.aJ)(b[a]).trim();if(!(e.length<40)&&m.test(e))return b.slice(a+1,c+1).join("\n")}return null}let w={optionCount:0,offersSessionScope:!1,commitsDefaultOnEnter:!1,hasFilterInput:!1,offersPlanApprove:!1};function x(a){let b=(0,d.aJ)(a.replace(/\r\n/g,"\n")).split("\n"),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;return c<0?[]:b.slice(Math.max(0,c+1-40),c+1)}function y(a){if(!a)return w;let b=x(a);if(0===b.length)return w;let c=b.join("\n");return{optionCount:function(a){let b=0,c=0;for(let d of a){let a=r.exec(d);if(null===a)continue;let e=Number(a[1]);e===c+1?(c=e,b=e):1===e?(c=1,b=1):c=0}return Math.min(b,q)}(b),offersSessionScope:s.test(c),commitsDefaultOnEnter:t.test(c),hasFilterInput:e.test(c),offersPlanApprove:f.test(c)}}function z(a){return a.optionCount>0&&!a.offersSessionScope&&!a.hasFilterInput&&!a.offersPlanApprove}function A(a,b){var c;return!!a&&"antigravity"===b&&(c=x(a).slice(-15).join("\n"),i.test(c)&&h.test(c))}},30917:(a,b,c)=>{c.d(b,{n:()=>g});var d=c(21124),e=c(38301),f=c(20481);function g({apiUrl:a,alt:b,width:c,height:g,lazy:h=!1,loadingFallback:i,errorFallback:j,className:k,style:l,wrap:m}){let n=(0,f.c)("worktree"),[o,p]=(0,e.useState)(null),[q,r]=(0,e.useState)("idle"),[s,t]=(0,e.useState)(!h),u=(0,e.useRef)(null),v=i??(0,d.jsx)("span",{style:{color:"#999"},children:n("markdownPreview.loadingImage")});if("error"===q)return(0,d.jsx)(d.Fragment,{children:j??v});if(!o)return h?(0,d.jsx)("span",{ref:u,children:v}):v;let w=(0,d.jsx)("img",{src:o,alt:b,width:c,height:g,className:k,style:l??{maxWidth:c||"100%"},onError:void 0!==j?()=>r("error"):void 0});return m?(0,d.jsx)(d.Fragment,{children:m(w)}):w}},31179:(a,b,c)=>{c.d(b,{B:()=>e,b:()=>d});let d=Object.freeze({sessionStatus:"",agentMode:c(51919).J_,isSelectionListActive:!1,isPagerActive:!1,isDismissablePanelActive:!1,isUnclassifiedActive:!1,startingSince:null});function e(a,b){return Object.keys(a).every(c=>Object.is(a[c],b[c]))}},31666:(a,b,c)=>{c.d(b,{Vf:()=>e,gV:()=>g,yJ:()=>h});var d=c(9009);function e(a){return"prompt"===a||"held"===a||"blocked"===a}function f(a){let b=a.filter(a=>!(0,d.Lo)(a.state)).length;return 0===b?"blockedByPromptTitle":b===a.length?"blockedByPromptClosedTitle":"blockedByPromptMixedTitle"}function g(a){let b=[],c=a.held??[];1===c.length?b.push({tone:"held",key:"badgeHeld",params:{alias:a.aliasOf(c[0].to)},titleKey:"heldTitle",count:1}):c.length>1&&b.push({tone:"held",key:"badgeHeldMany",params:{count:c.length},titleKey:"heldTitle",count:c.length});let d=[...a.awaiting,...a.closedBlocked??[]].filter(a=>a.lastDeliveryBlock?.reason==="prompt_waiting");1===d.length?b.push({tone:"blocked",key:"badgeBlockedByPrompt",params:{alias:a.aliasOf(d[0].to)},titleKey:f(d),count:1}):d.length>1&&b.push({tone:"blocked",key:"badgeBlockedByPromptMany",params:{count:d.length},titleKey:f(d),count:d.length});let e=a.awaiting.filter(a=>"prompt"===a.state);e.length>0&&b.push({tone:"prompt",key:"badgePrompt",params:{count:e.length,alias:a.aliasOf(e[0].to)},titleKey:"promptTitle",count:e.length});let g=a.awaiting.filter(a=>"prompt"!==a.state);return 1===g.length?b.push({tone:"awaiting",key:"badgeAwaiting",params:{alias:a.aliasOf(g[0].to)},titleKey:"awaitingTitle",count:1}):g.length>1&&b.push({tone:"awaiting",key:"badgeAwaitingMany",params:{count:g.length},titleKey:"awaitingTitle",count:g.length}),1===a.owed.length?b.push({tone:"owed",key:"badgeOwed",params:{alias:a.aliasOf(a.owed[0].from)},titleKey:"owedTitle",count:1}):a.owed.length>1&&b.push({tone:"owed",key:"badgeOwedMany",params:{count:a.owed.length},titleKey:"owedTitle",count:a.owed.length}),b}function h(a){if(0===a.length)return null;let[b]=a,c="held"===b.tone?b.count>1?"stripHeldMany":"stripHeld":"blocked"===b.tone?b.count>1?"stripBlockedByPromptMany":"stripBlockedByPrompt":"prompt"===b.tone?"stripPrompt":"owed"===b.tone?"stripOwed":b.count>1?"stripAwaitingMany":"stripAwaiting";return{...b,key:c}}},35550:(a,b,c)=>{c.d(b,{t:()=>g});var d=c(21124),e=c(38301),f=c(20481);class g extends e.Component{constructor(a){super(a),this.handleRetry=()=>{this.setState({hasError:!1,error:null})},this.state={hasError:!1,error:null}}static getDerivedStateFromError(a){return{hasError:!0,error:a}}componentDidCatch(a,b){console.error(`[ErrorBoundary:${this.props.componentName||"unknown"}]`,a,b),this.props.onError?.(a,b)}render(){return this.state.hasError?this.props.fallback?this.props.fallback:(0,d.jsx)(h,{componentName:this.props.componentName,error:this.state.error,onRetry:this.handleRetry}):this.props.children}}function h({componentName:a,error:b,onRetry:c}){let e=(0,f.c)("error"),g=(0,f.c)("common");return(0,d.jsxs)("div",{className:"p-4 bg-danger-subtle border border-danger-border rounded-lg",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-danger-foreground mb-2",children:[(0,d.jsx)("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",children:(0,d.jsx)("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})}),(0,d.jsx)("span",{className:"font-medium",children:a?e("boundary.errorOccurredIn",{componentName:a}):e("boundary.errorOccurred")})]}),b&&(0,d.jsx)("p",{className:"text-sm text-danger-foreground/80 mb-3",children:b.message}),c&&(0,d.jsx)("button",{onClick:c,className:"px-4 py-2 bg-danger-foreground text-danger-subtle rounded hover:opacity-90 transition-opacity text-sm",children:g("retry")})]})}},37834:(a,b,c)=>{function d(a){return a?.state==="answering"}function e(a,b){return void 0===a||void 0===b||(a.confirmation??null)!==(b.confirmation??null)?b:b.observedAt<a.observedAt?a:b}c.d(b,{Ft:()=>e,TR:()=>d})},38463:(a,b,c)=>{c.d(b,{bl:()=>ab,Ce:()=>o.Ce});var d=c(21124),e=c(38301),f=c.n(e),g=c(20481),h=c(21554),i=c(82788),j=c(63091),k=c(10578),l=c(88285),m=c(8294),n=c(85866),o=c(24761),p=c(29460),q=c(14263),r=c(18310),s=c(9212),t=c(47089),u=c(25770),v=c(10708),w=c(85351),x=c(55992),y=c(27867),z=c(29701),A=c(37950),B=c(91075),C=c(65468),D=c(79695),E=c(54228),F=c(8842),G=c(88033),H=c(47786),I=c(2842);function J(a){let b=a.split("\n");if(b.length<=2&&a.length<=100)return{text:a,isTruncated:!1};let c=b.slice(0,2).join("\n");return c.length>100&&(c=c.slice(0,100)),{text:c,isTruncated:!0}}let K=(0,e.memo)(function({content:a,onFilePathClick:b}){let c=(0,g.c)("worktree"),f=(0,e.useMemo)(()=>(0,F.ML)(a),[a]),h=(0,e.useCallback)(a=>()=>b(a),[b]);return(0,d.jsx)("span",{children:f.map((a,b)=>"path"===a.type?(0,d.jsx)("button",{type:"button",onClick:h(a.content),className:"text-accent-700 dark:text-accent-400 hover:text-accent-600 dark:hover:text-accent-300 hover:underline cursor-pointer font-mono text-sm","aria-label":c("conversation.openFile",{path:a.content}),children:a.content},b):(0,d.jsx)("span",{children:a.content},b))})}),L=(0,e.memo)(function({content:a,onFilePathClick:b}){let c=(0,e.useMemo)(()=>{let a=a=>f().Children.map(a,a=>"string"==typeof a?(0,d.jsx)(K,{content:a,onFilePathClick:b}):a);return{p:({children:b,...c})=>(0,d.jsx)("p",{...(0,B.po)(c),children:a(b)}),li:({children:b,...c})=>(0,d.jsx)("li",{...(0,B.po)(c),children:a(b)}),td:({children:b,...c})=>(0,d.jsx)("td",{...(0,B.po)(c),children:a(b)}),th:({children:b,...c})=>(0,d.jsx)("th",{...(0,B.po)(c),children:a(b)}),strong:({children:b,...c})=>(0,d.jsx)("strong",{...(0,B.po)(c),children:a(b)}),em:({children:b,...c})=>(0,d.jsx)("em",{...(0,B.po)(c),children:a(b)}),a:({href:a,children:c,node:e,...f})=>(0,d.jsx)(H.ZS,{...f,href:a,onFilePathClick:b,children:c}),...I.H}},[b]),g=(0,e.useMemo)(()=>[z.A,B.p0,A.A],[]);return(0,d.jsx)(y.oz,{remarkPlugins:G.eT,rehypePlugins:g,components:c,children:a})});function M(){let a=(0,g.c)("worktree");return(0,d.jsxs)("div",{"data-testid":"pending-indicator",className:"flex items-center gap-2 text-muted-foreground py-2",children:[(0,d.jsxs)("div",{className:"flex gap-1","aria-hidden":"true",children:[(0,d.jsx)("span",{className:"w-2 h-2 bg-muted-foreground rounded-full animate-pulse"}),(0,d.jsx)("span",{className:"w-2 h-2 bg-muted-foreground rounded-full animate-pulse",style:{animationDelay:"150ms"}}),(0,d.jsx)("span",{className:"w-2 h-2 bg-muted-foreground rounded-full animate-pulse",style:{animationDelay:"300ms"}})]}),(0,d.jsx)("span",{className:"text-sm",children:a("conversation.waitingForResponse")})]})}let N=(0,e.memo)(function({message:a,onFilePathClick:b,onCopy:c,onInsertToMessage:e,onRetryPending:f,onDiscardPending:h}){let i=(0,x.Ym)(),j=(0,g.c)("worktree"),k=(0,g.c)("common"),l=(0,D.M)(i),m=(0,E.bg)(a.timestamp,l),n=a.optimisticState,o=["group relative border-l-2 p-3 transition-opacity","error"===n?"border-danger-border bg-danger-subtle":"border-accent-500 bg-accent-500/10","sending"===n?"opacity-70":""].filter(Boolean).join(" ");return(0,d.jsxs)("div",{className:o,children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,d.jsx)("span",{className:"text-xs font-medium text-accent-700 dark:text-accent-400",children:j("conversation.you")}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:m}),"sending"===n&&(0,d.jsxs)("span",{"data-testid":"optimistic-sending",className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,d.jsx)(q.A,{size:12,className:"animate-spin","aria-hidden":"true"}),(0,d.jsx)("span",{children:j("conversation.sending")})]}),"error"===n&&(0,d.jsxs)("span",{"data-testid":"optimistic-error",className:"flex items-center gap-1 text-xs text-danger-foreground",children:[(0,d.jsx)(r.A,{size:12,"aria-hidden":"true"}),(0,d.jsx)("span",{children:j("conversation.failedToSend")})]}),"error"===n?(0,d.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[f&&(0,d.jsxs)("button",{type:"button","data-testid":"pending-retry",onClick:()=>f(a.id),className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-accent-700 dark:text-accent-400 hover:bg-muted transition-colors","aria-label":j("conversation.retrySending"),title:k("retry"),children:[(0,d.jsx)(s.A,{size:12,"aria-hidden":"true"}),k("retry")]}),h&&(0,d.jsxs)("button",{type:"button","data-testid":"pending-discard",onClick:()=>h(a.id),className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-muted-foreground hover:text-danger-foreground hover:bg-muted transition-colors","aria-label":j("conversation.discardMessage"),title:j("conversation.discard"),children:[(0,d.jsx)(t.A,{size:12,"aria-hidden":"true"}),j("conversation.discard")]})]}):(0,d.jsxs)("div",{className:"ml-auto flex items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100 [@media(hover:none)]:opacity-100",children:[e&&(0,d.jsx)("button",{type:"button","data-testid":"insert-user-message",onClick:()=>e(a.content),className:"p-1 text-muted-foreground hover:text-accent-600 dark:hover:text-accent-400 hover:bg-muted rounded transition-colors","aria-label":j("conversation.insertToMessage"),title:j("conversation.insertToMessage"),children:(0,d.jsx)(u.A,{size:14,"aria-hidden":"true"})}),c&&(0,d.jsx)("button",{type:"button","data-testid":"copy-user-message",onClick:()=>c(a.content),className:"p-1 text-muted-foreground hover:text-foreground hover:bg-muted rounded transition-colors","aria-label":j("conversation.copyMessage"),title:j("conversation.copy"),children:(0,d.jsx)(v.A,{size:14,"aria-hidden":"true"})})]})]}),(0,d.jsx)("div",{"data-message-id":a.id,className:"text-sm text-foreground whitespace-pre-wrap break-words [word-break:break-word] max-w-full overflow-x-hidden",children:(0,d.jsx)(K,{content:a.content,onFilePathClick:b})})]})}),O=(0,e.memo)(function({message:a,index:b,total:c,isExpanded:f,onFilePathClick:h,onCopy:i,hasLongContent:j=!1,onToggleExpand:k}){let l=(0,x.Ym)(),m=(0,g.c)("worktree"),n=(0,D.M)(l),o=(0,E.bg)(a.timestamp,n),{text:p,isTruncated:q}=(0,e.useMemo)(()=>J(a.content),[a.content]),r=f||!q?a.content:p,s=(0,C.bx)(a.requestId),t=s&&q&&!f;return(0,d.jsxs)("div",{className:"assistant-message-item group relative",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,d.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:m("conversation.assistant")}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:o}),c>1&&(0,d.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",b+1,"/",c,")"]}),(0,d.jsxs)("div",{className:"ml-auto flex items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100 [@media(hover:none)]:opacity-100",children:[0===b&&j&&!!k&&(0,d.jsxs)("button",{type:"button",onClick:k,className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-accent-700 dark:text-accent-400 hover:text-accent-600 dark:hover:text-accent-300 hover:bg-muted transition-colors","aria-expanded":f,"aria-label":m(f?"conversation.collapseMessage":"conversation.expandMessage"),children:[(0,d.jsx)(w.A,{size:12,className:`transition-transform ${f?"rotate-180":""}`,"aria-hidden":"true"}),m(f?"conversation.collapse":"conversation.expand")]}),i&&(0,d.jsx)("button",{type:"button","data-testid":"copy-assistant-message",onClick:()=>i(a.content),className:"p-1 text-muted-foreground hover:text-foreground hover:bg-muted rounded transition-colors","aria-label":m("conversation.copyMessage"),title:m("conversation.copy"),children:(0,d.jsx)(v.A,{size:14,"aria-hidden":"true"})})]})]}),s?(0,d.jsx)("div",{"data-message-id":a.id,"data-markdown":"true",className:["assistant-md text-xs text-foreground break-words [word-break:break-word] max-w-full overflow-x-hidden",t?"max-h-[3.25rem] overflow-y-hidden":""].filter(Boolean).join(" "),children:(0,d.jsx)(L,{content:a.content,onFilePathClick:h})}):(0,d.jsxs)("div",{"data-message-id":a.id,className:"text-xs text-foreground whitespace-pre-wrap break-words [word-break:break-word] max-w-full overflow-x-hidden",children:[(0,d.jsx)(K,{content:r,onFilePathClick:h}),!f&&q&&(0,d.jsx)("span",{className:"text-muted-foreground",children:"..."})]})]})}),P=(0,e.memo)(function({messages:a,isExpanded:b,onFilePathClick:c,onCopy:e,hasLongContent:g=!1,onToggleExpand:h}){return(0,d.jsx)("div",{className:"bg-surface-2/50 border-l-2 border-border p-2 border-t border-border space-y-2",children:a.map((i,j)=>(0,d.jsxs)(f().Fragment,{children:[j>0&&(0,d.jsx)("div",{"data-testid":"assistant-message-divider",className:"border-t border-dashed border-border"}),(0,d.jsx)(O,{message:i,index:j,total:a.length,isExpanded:b,onFilePathClick:c,onCopy:e,hasLongContent:g,onToggleExpand:h})]},i.id))})});function Q(){let a=(0,g.c)("worktree");return(0,d.jsxs)("div",{"data-testid":"orphan-indicator",className:"bg-warning/10 text-warning-foreground text-xs px-3 py-1 flex items-center gap-2",children:[(0,d.jsx)("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),(0,d.jsx)("span",{children:a("conversation.systemMessage")})]})}let R=(0,e.memo)(function({pair:a,onFilePathClick:b,isExpanded:c=!1,onToggleExpand:f,onCopy:h,onInsertToMessage:i,showAssistant:j=!0,onRetryPending:k,onDiscardPending:l}){let m=(0,g.c)("worktree"),n=a.userMessage?.optimisticState!==void 0,o=(0,e.useMemo)(()=>a.assistantMessages.some(a=>{let{isTruncated:b}=J(a.content);return b}),[a.assistantMessages]),p=(0,e.useCallback)(()=>{f&&f()},[f]),q=(0,e.useMemo)(()=>{let b="pending"===a.status?"pending":"orphan"===a.status?"orphan border-l-4 border-warning":"";return`border border-border rounded-lg overflow-hidden mb-4 transition-colors ${b}`.trim()},[a.status]),r=a.userMessage?m("conversation.conversationLabel",{preview:`${a.userMessage.content.substring(0,50)}${a.userMessage.content.length>50?"...":""}`}):m("conversation.systemMessageLabel");return(0,d.jsxs)("div",{"data-testid":"conversation-pair-card",role:"article","aria-label":r,className:q,children:["orphan"===a.status&&(0,d.jsx)(Q,{}),a.userMessage&&(0,d.jsx)(N,{message:a.userMessage,onFilePathClick:b,onCopy:h,onInsertToMessage:i,onRetryPending:k,onDiscardPending:l}),"pending"!==a.status||n?j&&a.assistantMessages.length>0?(0,d.jsx)(P,{messages:a.assistantMessages,isExpanded:c,onFilePathClick:b,onCopy:h,hasLongContent:o,onToggleExpand:p}):null:(0,d.jsx)("div",{className:"bg-muted/40 border-l-2 border-border p-3 border-t border-border",children:(0,d.jsx)(M,{})})]})});var S=c(27412),T=c(3754),U=c(63156),V=c(55948),W=c(93777),X=c(13074),Y=c(11801),Z=c(88826);function $(){let a=(0,g.c)("worktree");return(0,d.jsx)("div",{"data-testid":"loading-indicator",role:"status","aria-label":a("history.loading"),children:[0,1,2].map(a=>(0,d.jsxs)("div",{className:"mb-4 overflow-hidden rounded-lg border border-border",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 p-3",children:[(0,d.jsx)(n.EA,{className:"h-4 w-4 rounded-full"}),(0,d.jsx)(n.EA,{className:"h-4 w-1/3"})]}),(0,d.jsxs)("div",{className:"space-y-2 px-3 pb-3",children:[(0,d.jsx)(n.EA,{className:"h-3 w-full"}),(0,d.jsx)(n.EA,{className:"h-3 w-5/6"}),(0,d.jsx)(n.EA,{className:"h-3 w-2/3"})]})]},a))})}function _(){let a=(0,g.c)("worktree");return(0,d.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 text-muted-foreground",children:[(0,d.jsx)("svg",{className:"w-12 h-12 mb-2 opacity-50",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})}),(0,d.jsx)("p",{className:"text-sm",children:a("history.empty")})]})}let aa=["h-full","flex","flex-col","overflow-hidden","bg-surface-2","rounded-lg","border","border-border"],ab=(0,e.memo)(function({messages:a,worktreeId:b,worktreePath:c,onFilePathClick:f,isLoading:q=!1,className:r="",showToast:s,onInsertToMessage:t,onRetryPending:u,onDiscardPending:v,showArchived:w=!1,onShowArchivedChange:x,historyDisplayLimit:y,onHistoryDisplayLimitChange:z,historyUserOnly:A=!1,onHistoryUserOnlyChange:C,onCollapse:D,splitIndex:E,cliToolId:F}){let G=(0,g.c)("worktree"),H=(0,e.useRef)(null),I=(0,X.O)(),J=c??I.worktreePath,K=(0,e.useMemo)(()=>void 0===E?B.Gw:(0,B.eu)(E),[E]),L=void 0===E?"history-pane-collapse-button":`history-pane-collapse-button-${E}`,M=void 0===E?T.g6:(0,o.Ce)(E),N=(0,e.useRef)(!0),O=(0,e.useRef)(-1),P=(0,e.useRef)(null),{pairs:Q,isExpanded:ab,toggleExpand:ac}=function(a){let b=(0,e.useMemo)(()=>(function(a){if(0===a.length)return[];let b=[...a].sort((a,b)=>a.timestamp.getTime()-b.timestamp.getTime()),c=[],d=null;for(let a of b)if("user"===a.role)d={id:a.id,userMessage:a,assistantMessages:[],status:"pending"},c.push(d);else if("assistant"===a.role)if(d&&null!==d.userMessage)d.assistantMessages.push(a),d.status="completed";else if(d&&null===d.userMessage)d.assistantMessages.push(a);else{let b={id:`orphan-${a.id}`,userMessage:null,assistantMessages:[a],status:"orphan"};c.push(b),d=b}return c})(a),[a]),[c,d]=(0,e.useState)(new Set),f=(0,e.useCallback)(a=>{d(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),g=(0,e.useCallback)(a=>c.has(a),[c]),h=(0,e.useCallback)(()=>{d(new Set(b.map(a=>a.id)))},[b]);return{pairs:b,expandedPairs:c,toggleExpand:f,isExpanded:g,expandAll:h,collapseAll:(0,e.useCallback)(()=>{d(new Set)},[])}}(a),ad=(0,e.useMemo)(()=>a.filter(a=>!a.archived&&"string"==typeof a.content&&a.content.length>0&&(!A||"user"===a.role)),[a,A]),{isOpen:ae,query:af,matchCount:ag,currentIndex:ah,isAtMaxMatches:ai,matchPositions:aj,currentMatch:ak,openSearch:al,closeSearch:am,setQuery:an,onCompositionStart:ao,onCompositionEnd:ap,nextMatch:aq,prevMatch:ar}=(0,p.w)({messages:ad}),as=ae&&aj.length>0,at=(0,e.useMemo)(()=>new Map(ad.map(a=>[a.id,a.content])),[ad]),au=(0,e.useMemo)(()=>a.filter(a=>"relay"===a.messageType).length,[a]),[av,aw]=(0,e.useState)(new Set);(0,e.useEffect)(()=>{am()},[b]);let ax=(0,e.useMemo)(()=>A?Q.filter(a=>a.userMessage):Q,[Q,A]),ay=(0,e.useMemo)(()=>{let a=new Map;for(let b of ax)for(let c of(b.userMessage&&a.set(b.userMessage.id,b.id),b.assistantMessages))a.set(c.id,b.id);return a},[ax]),az=(0,e.useMemo)(()=>{let a=new Map;return ax.forEach((b,c)=>a.set(b.id,c)),a},[ax]),aA=(0,h.Te)({count:ax.length,getScrollElement:()=>H.current,estimateSize:()=>Z.__,overscan:Z.b,getItemKey:a=>ax[a]?.id??a}),aB=aA.getVirtualItems(),aC=aB.length>0?`${aB[0].index}-${aB[aB.length-1].index}`:"",aD=(0,e.useCallback)(()=>{let a=H.current;a&&(N.current=(0,Z.Mp)({scrollTop:a.scrollTop,scrollHeight:a.scrollHeight,clientHeight:a.clientHeight}))},[]);(0,e.useLayoutEffect)(()=>{let a=O.current,b=ax.length;O.current=b,-1!==a&&b>a&&b>0&&N.current&&!as&&aA.scrollToIndex(b-1,{align:"end"})},[ax.length,as,aA]),(0,e.useLayoutEffect)(()=>{if(!ae||0===aj.length)return void aw(a=>0===a.size?a:new Set);aw(function(a,b){let c=new Map;for(let a of b)for(let b of(a.userMessage&&c.set(a.userMessage.id,a.id),a.assistantMessages))c.set(b.id,a.id);let d=new Set;for(let b of a){let a=c.get(b.messageId);a&&d.add(a)}return d}(aj,Q))},[ae,aj,Q]),(0,e.useEffect)(()=>{if(!ae||!ak)return;let a=ay.get(ak.messageId);if(void 0===a)return;let b=az.get(a);void 0!==b&&aA.scrollToIndex(b,{align:"center"})},[ae,ak,ay,az,aA]);let aE=(0,p.i)(H,as);(0,e.useLayoutEffect)(()=>{let a=H.current;if(!a)return;if(!ae||0===aj.length)return void(0,B.fq)(K);let b=null;for(let d of aj){var c;let e=(c=d.messageId,a.querySelector(`[data-message-id="${CSS.escape(c)}"]`));if(!e)continue;let f=ak?.messageId===d.messageId,g=f?ak.localIndex:-1;(0,B.Gg)(e,d.ranges,g,K,{sourceText:at.get(d.messageId)}),f&&e instanceof HTMLElement&&(b=e)}return b&&"function"==typeof b.scrollIntoView&&b.scrollIntoView({block:"center",behavior:"smooth"}),()=>{(0,B.fq)(K)}},[ae,aj,ak,av,K,aC,at,aE]),(0,e.useEffect)(()=>{let a=H.current;if(ae)null===P.current&&a&&(P.current=a.scrollTop);else{if(null!==P.current&&a){let b=P.current;requestAnimationFrame(()=>{a.scrollTop=b})}P.current=null}},[ae]);let aF=(0,e.useMemo)(()=>[...aa,r].filter(Boolean).join(" "),[r]),aG=(0,e.useRef)(G);aG.current=G;let aH=(0,e.useCallback)(a=>{let c=(0,V.h)(a,J);null!==c&&(async()=>{if("missing"===await (0,W.o4)(b,c))return s?.(aG.current("conversation.filePathMissing"),"error");f(c)})()},[f,b,J,s]),aI=(0,e.useCallback)(a=>()=>ac(a),[ac]),aJ=(0,e.useCallback)(async a=>{try{await (0,U.l)(a),s?.(aG.current("history.copied"),"success")}catch{console.error("[HistoryPane] Failed to copy to clipboard"),s?.(aG.current("history.copyFailed"),"error")}},[s]),aK=a=>{let b=a.userMessage?.archived===!0||a.assistantMessages?.some(a=>!0===a.archived),c=ab(a.id)||av.has(a.id);return(0,d.jsx)("div",{className:b?"opacity-60":"",children:(0,d.jsx)(R,{pair:a,onFilePathClick:aH,isExpanded:c,onToggleExpand:aI(a.id),onCopy:aJ,onInsertToMessage:t,onRetryPending:u,onDiscardPending:v,showAssistant:!A})})},aL=(0,e.useCallback)(a=>{let b=parseInt(a.target.value,10);(0,Y.UK)(b)&&z?.(b)},[z]),aM=(0,e.useCallback)(()=>{ae?am():al()},[ae,al,am]);return(0,d.jsxs)("div",{role:"region","aria-label":G("history.regionLabel"),className:aF,children:[(0,d.jsxs)("div",{className:"flex-shrink-0 bg-surface-2 border-b border-border px-4 py-2 flex items-center justify-between flex-wrap gap-1",children:[(0,d.jsx)("h3",{className:"text-sm font-medium text-foreground",children:G("history.title")}),au>0&&(0,d.jsxs)("span",{"data-testid":"history-relay-count",title:G("relay.historyBadgeTitle"),className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,d.jsx)(i.A,{size:12,className:"shrink-0","aria-hidden":"true"}),G("relay.historyCount",{count:au})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[z&&void 0!==y&&(0,d.jsxs)("label",{className:"flex items-center gap-1.5 text-xs text-muted-foreground cursor-pointer",children:[(0,d.jsx)("span",{children:G("history.show")}),(0,d.jsx)("select",{value:y,onChange:aL,"aria-label":G("history.displayLimit"),className:"rounded border border-input bg-surface text-foreground text-xs px-1.5 py-0.5 focus:outline-none focus:ring-1 focus:ring-ring",children:Y.dl.map(a=>(0,d.jsx)("option",{value:a,children:a},a))})]}),x&&(0,d.jsxs)("label",{className:"flex items-center gap-1.5 text-xs text-muted-foreground cursor-pointer",children:[(0,d.jsx)(n.Sc,{checked:w,onCheckedChange:a=>x(!0===a),className:"h-3.5 w-3.5"}),G("history.showArchived")]}),C&&(0,d.jsx)("button",{type:"button",onClick:()=>C(!A),"aria-label":G("history.showUserOnly"),"aria-pressed":A,className:`p-1 rounded transition-colors ${A?"bg-accent-500/15 text-accent-700 dark:text-accent-300":"text-muted-foreground hover:text-foreground"}`,title:G(A?"history.showAllMessages":"history.showUserOnly"),children:A?(0,d.jsx)(j.A,{size:14,"aria-hidden":"true"}):(0,d.jsx)(k.A,{size:14,"aria-hidden":"true"})}),(0,d.jsx)("button",{type:"button",onClick:aM,"aria-label":G(ae?"history.closeSearch":"history.openSearch"),"aria-pressed":ae,className:"p-1 text-muted-foreground hover:text-foreground rounded transition-colors",title:G(ae?"history.closeSearch":"history.openSearch"),children:(0,d.jsx)(l.A,{size:14,"aria-hidden":"true"})}),D&&(0,d.jsx)("button",{type:"button",onClick:D,"aria-label":G("terminal.hideHistory"),"aria-expanded":"true","aria-controls":M,className:"p-1 text-muted-foreground hover:text-foreground rounded transition-colors",title:G("terminal.hideHistory"),"data-testid":L,children:(0,d.jsx)(m.A,{size:14,"aria-hidden":"true"})})]})]}),ae&&(0,d.jsx)("div",{className:"flex-shrink-0 px-3 py-2 bg-surface-2 border-b border-border",children:(0,d.jsx)(S.Y,{query:af,onQueryChange:an,matchCount:ag,currentIndex:ah,onNext:aq,onPrev:ar,onClose:am,isAtMaxMatches:ai,onCompositionStart:ao,onCompositionEnd:ap})}),(0,d.jsx)("div",{ref:H,"data-testid":"history-scroll-container",onScroll:aD,className:"flex-1 min-h-0 overflow-y-auto overflow-x-hidden p-4",children:q?(0,d.jsx)($,{}):0===ax.length?(0,d.jsx)(_,{}):0===aB.length?(0,d.jsx)("div",{"data-testid":"history-fallback-list",children:ax.slice(0,Z.vC).map(a=>(0,d.jsx)("div",{children:aK(a)},a.id))}):(0,d.jsx)("div",{style:{height:aA.getTotalSize(),width:"100%",position:"relative"},children:aB.map(a=>{let b=ax[a.index];return b?(0,d.jsx)("div",{"data-index":a.index,ref:aA.measureElement,className:"absolute left-0 top-0 w-full",style:{transform:`translateY(${a.start}px)`},children:aK(b)},a.key):null})})})]})})},39203:(a,b,c)=>{c.d(b,{$U:()=>j,HB:()=>h,IL:()=>i,L1:()=>k});var d=c(98354);let e=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\[[0-9;]*m/g,f=/^(?:\x1b\[|\[)([0-9;]*)m$/,g=new Set([38,48,58]);function h(a){let b;e.lastIndex=0;let c=[],h="",i=null,j=0,k=0,l=0;for(;null!==(b=e.exec(a));){let e=a.slice(l,b.index);h+=e,j+=(0,d.LQ)(e),l=b.index+b[0].length;let m=f.exec(b[0]);if(null===m)continue;let n=function(a,b){let c=(""===b?"0":b).split(";"),d=a;for(let a=0;a<c.length;a++){let b=Number(""===c[a]?"0":c[a]);if(Number.isFinite(b)){if(g.has(b)){let e="2"===c[a+1]?4:2*("5"===c[a+1]);e>0&&48===b&&(d=c.slice(a,a+1+e).join(";")),a+=e;continue}0===b||49===b?d=null:(b>=40&&b<=47||b>=100&&b<=107)&&(d=c[a])}}return d}(i,m[1]);n!==i&&(j>k&&c.push({bg:i,start:k,end:j}),i=n,k=j)}let m=a.slice(l);h+=m,(j+=(0,d.LQ)(m))>k&&c.push({bg:i,start:k,end:j});let n=new Set(c.map(a=>a.start));return c.length>0&&n.add(c[c.length-1].end),{text:h,segments:c,edges:n,width:j}}function i(a,b){for(let c of a.segments)if(c.start<=b&&b<c.end)return c.bg;return null}function j(a){let b=new Set;for(let c of a.segments)null!==c.bg&&b.add(c.bg);return b}function k(a){let b=new Map;for(let c of a.segments)null!==c.bg&&b.set(c.bg,(b.get(c.bg)??0)+(c.end-c.start));let c=null,d=0;for(let[a,e]of b)e>d&&(c=a,d=e);return{bg:c,columns:d}}},43108:(a,b,c)=>{function d(a){let b="[^\\S\\n]";return RegExp(`(?:^${b}*|\xb7${b}*|${b}{2})${a}(?:${b}\\([^()\\n]{1,32}\\))?(?:${b}*\xb7|${b}{2}|${b}*$)`,"i")}c.d(b,{A:()=>h,h:()=>g});let e={key:"BTab",cycle:["default","plan","autopilot"],indicators:[{mode:"autopilot",pattern:d("autopilot")},{mode:"plan",pattern:d("plan(?:[^\\S\\n]mode)?")}],tailRows:2,noteId:null},f={claude:{key:"BTab",cycle:["auto","manual","accept-edits","plan"],indicators:[{mode:"accept-edits",pattern:/⏵⏵\s*accept edits on\b/},{mode:"auto",pattern:/⏵⏵\s*auto mode on\b/},{mode:"plan",pattern:/⏸\s*plan mode on\b/},{mode:"manual",pattern:/⏸\s*manual mode on\b/}],tailRows:3,noteId:null},"command-code":{key:"BTab",cycle:["default","accept-edits","plan"],indicators:[{mode:"accept-edits",pattern:/»\s*accept edits on\b/},{mode:"bypass",pattern:/»\s*permission bypass on\b/},{mode:"dont-ask",pattern:/»\s*don't-ask on\b/},{mode:"plan",pattern:/^[^\S\n]*plan mode\b/},{mode:"default",pattern:/\?\s+for\s+shortcuts\b/}],tailRows:4,noteId:null},codex:{key:"BTab",cycle:["default","plan"],indicators:[{mode:"plan",pattern:/\bPlan mode\s*\(shift\+tab to cycle\)/i}],tailRows:3,noteId:"codexModelCoupled"},copilot:e,antigravity:{key:"BTab",cycle:["default","accept-edits","plan"],indicators:[{mode:"accept-edits",pattern:d("accept-edits")},{mode:"plan",pattern:d("plan(?:[^\\S\\n]mode)?")}],tailRows:2,noteId:null},"opencode-v2":{key:"BTab",cycle:["build","plan"],indicators:[{mode:"build",pattern:/^[^\S\n]*┃[^\S\n]+Build[^\S\n]·[^\S\n]/},{mode:"plan",pattern:/^[^\S\n]*┃[^\S\n]+Plan[^\S\n]·[^\S\n]/}],tailRows:4,noteId:"opencodeAgentSwitch"}};function g(a){return f[a]??null}let h=Object.keys(f)},43907:(a,b,c)=>{c.d(b,{d8:()=>l,Bw:()=>n});var d=c(44489),e=c(20203),f=c(39203),g=c(98354);let h=/\S[^\S\n]{2,}esc[^\S\n]*$/,i=/^[│┃╹]/;function j(a,b,c){if(!a.edges.has(b)||!a.edges.has(c))return!1;for(let d of a.segments)if(!(d.end<=b)&&!(d.start>=c)&&null===d.bg)return!1;return!((0,f.IL)(a,b-1)===(0,f.IL)(a,b)||c<a.width&&(0,f.IL)(a,c)===(0,f.IL)(a,c-1)||i.test((0,g.Ml)(a.text,b-1,b)))&&!i.test((0,g.Ml)(a.text,b,c))}var k=c(30872);let l=16,m=[function(a){let b=function(a){let b=a.split("\n").map(f.HB),c=new Set,d=null;for(let a of b){if(!a.text.includes("esc"))continue;let f=[...a.edges].sort((a,b)=>a-b);for(let i of f)if(!(i<1))for(let k of f){if(k-i<16)continue;let f=`${i}:${k}`;if(c.has(f)||!j(a,i,k))continue;let l=(0,g.Ml)(a.text,i,k);if(!h.test(l))continue;c.add(f);let m=b.filter(a=>j(a,i,k));if(m.length<3)continue;let n=m.indexOf(a);n<0||n>=3||(null===d||m.length>d.rows)&&(d={id:"opencode_modal_overlay",headerText:(0,e.D)(l.trim(),200,"…[truncated]"),left:i,right:k,rows:m.length,headerRow:n,frameRowStart:b.indexOf(m[0]),frameRowEnd:b.indexOf(m[m.length-1])})}}return d}(a);return null===b?null:a.split("\n").slice(b.frameRowStart,b.frameRowEnd+1).join("\n")},k.VC];function n(a,b={}){if(!a)return"";let c=a.replace(/\r\n/g,"\n");if(b.selectionList)for(let a of m){let b=a(c);if(null===b)continue;let e=(0,d.Uw)(b,{isStructuralRow:d.CG});if(""!==e)return e}let e=(0,d.Uw)(c,{isStructuralRow:d.CG});if(""===e)return"";if(b.selectionList)return e;let f=e.split("\n"),g=function(a){if(void 0===a||!Number.isFinite(a))return l;let b=Math.trunc(a);return b<12?12:b>20?20:b}(b.maxLines);return f.slice(-g).join("\n")}},44047:(a,b,c)=>{c.d(b,{TE:()=>l});var d=c(21124),e=c(38301),f=c(54095),g=c(14263),h=c(20481),i=c(93467),j=c(29281),k=c(17252);let l=(0,e.memo)(function({cliToolId:a,startingSince:b,onShowTerminal:c,variant:l="pane"}){let m=(0,h.c)("worktree"),n=function(a){let[b,c]=(0,e.useState)(()=>Date.now());return Math.max(0,b-a)}(b),o=(0,k.oo)(a),p=n>j.Up?m("sessionStarting.titleWithElapsed",{agent:o,elapsed:(0,i.C)(n)}):m("sessionStarting.title",{agent:o}),q=c?(0,d.jsxs)("button",{type:"button",onClick:c,"data-testid":"session-starting-show-terminal",className:"inline-flex min-h-[32px] shrink-0 items-center gap-1 rounded-md border border-border bg-surface px-2 py-1 text-xs font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",children:[(0,d.jsx)(f.A,{size:14,"aria-hidden":"true"}),m("sessionStarting.showTerminal")]}):null;return"strip"===l?(0,d.jsxs)("div",{role:"status","aria-label":m("sessionStarting.label"),"data-testid":"session-starting-notice","data-variant":"strip",className:"flex flex-wrap items-center gap-2 rounded-lg border border-border bg-surface-2 px-2 py-1.5",children:[(0,d.jsx)(g.A,{size:14,className:"shrink-0 animate-spin text-muted-foreground","aria-hidden":"true"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 text-xs text-foreground","data-testid":"session-starting-title",children:p}),q]}):(0,d.jsxs)("div",{role:"status","aria-label":m("sessionStarting.label"),"data-testid":"session-starting-notice","data-variant":"pane",className:"flex h-full min-h-0 w-full flex-col items-center justify-center gap-3 bg-surface px-4 text-center text-surface-foreground",children:[(0,d.jsx)(g.A,{size:24,className:"animate-spin text-muted-foreground","aria-hidden":"true"}),(0,d.jsx)("p",{className:"text-sm font-medium text-foreground","data-testid":"session-starting-title",children:p}),(0,d.jsx)("p",{className:"text-xs text-muted-foreground",children:m("sessionStarting.hint")}),q]})})},44150:(a,b,c)=>{c.d(b,{E:()=>L});var d=c(21124),e=c(38301),f=c(20481),g=c(79815),h=c(85866);function i(a,b,c=a=>a.description??""){if(!b.trim())return a;let d=b.toLowerCase();return a.map(a=>({...a,commands:a.commands.filter(a=>{let b=a.name.toLowerCase().includes(d),e=c(a).toLowerCase().includes(d);return b||e})})).filter(a=>a.commands.length>0)}function j(a,b){return"codex-skill"===a.source?"antigravity"===b?`/${a.name}`:`$${a.name}`:`/${a.name}`}function k(a,b){return a.descriptionKey?b(a.descriptionKey):a.description??""}function l({groups:a,onSelect:b,highlightedIndex:c=-1,className:e="",cliToolId:g}){let h=(0,f.c)("worktree"),i=0;return 0===a.length?(0,d.jsx)("div",{className:`text-sm text-muted-foreground p-4 text-center ${e}`,children:h("slashCommands.empty")}):(0,d.jsx)("div",{className:`overflow-y-auto ${e}`,children:a.map(a=>(0,d.jsxs)("div",{className:"mb-2",children:[(0,d.jsx)("div",{className:"px-3 py-1.5 text-xs font-semibold text-muted-foreground uppercase tracking-wider bg-muted",children:a.label}),(0,d.jsx)("div",{children:a.commands.map(a=>{let e=i;i++;let f=e===c;return(0,d.jsxs)("button",{type:"button","data-command-item":!0,"data-highlighted":f,onClick:()=>b(a),className:`w-full px-3 py-2 text-left flex items-start gap-2 hover:bg-accent-50 dark:hover:bg-accent-900/30 transition-colors ${f?"bg-accent-100 dark:bg-accent-900/40":""}`,children:[(0,d.jsx)("span",{className:"text-accent-600 dark:text-accent-400 font-mono text-sm flex-shrink-0",children:j(a,g)}),a.cliTools?.length===1&&"codex"===a.cliTools[0]&&(0,d.jsx)("span",{className:"mt-0.5 rounded border border-accent-200 bg-accent-50 px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-accent-700 dark:border-accent-800 dark:bg-accent-950/40 dark:text-accent-300",children:"Codex"}),"user-catalog"===a.source&&(0,d.jsx)("span",{"data-testid":"user-catalog-badge",className:"mt-0.5 rounded border border-border bg-muted px-1.5 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:h("slashCommands.sourceBadge.userCatalog")}),(0,d.jsx)("span",{className:"text-muted-foreground text-sm truncate",children:k(a,h)})]},a.name)})})]},a.category))})}function m(a,b,c){if(b<=0||c<=0)return 0;let d=a+b+8-c;return d>0?-Math.min(d,Math.max(0,a-8)):a<8?8-a:0}let n=(0,e.memo)(function({isOpen:a,groups:b,onSelect:c,onClose:g,isMobile:h=!1,position:j,onFreeInput:n,isCatalogStale:o=!1,cliToolId:p}){let[q,r]=(0,e.useState)(""),[s,t]=(0,e.useState)(0),u=(0,e.useRef)(null),v=(0,e.useRef)(null),w=(0,e.useRef)({x:0,y:0}),[x,y]=(0,e.useState)({x:0,y:0}),z=(0,f.c)("worktree"),A=(0,f.c)("common"),B=(0,e.useMemo)(()=>i(b,q,a=>k(a,z)),[b,q,z]),C=(0,e.useMemo)(()=>B.flatMap(a=>a.commands),[B]);(0,e.useEffect)(()=>{a&&(r(""),t(0),setTimeout(()=>{u.current?.focus()},50))},[a]);let D=(0,e.useCallback)(a=>{c(a),g()},[c,g]),E=(0,e.useCallback)(b=>{if(a)switch(b.key){case"Escape":b.preventDefault(),g();break;case"ArrowDown":b.preventDefault(),t(a=>Math.min(a+1,C.length-1));break;case"ArrowUp":b.preventDefault(),t(a=>Math.max(a-1,0));break;case"Enter":b.preventDefault(),C[s]&&D(C[s])}},[a,C,s,g,D]);if((0,e.useEffect)(()=>{if(a)return document.addEventListener("keydown",E),()=>{document.removeEventListener("keydown",E)}},[a,E]),(0,e.useLayoutEffect)(()=>{let b=a=>{w.current=a,y(b=>b.x===a.x&&b.y===a.y?b:a)};if(!a||h)return void b({x:0,y:0});let c=v.current;if(!c)return;let d=c.getBoundingClientRect();b({x:m(d.left-w.current.x,d.width,window.innerWidth),y:m(d.top-w.current.y,d.height,window.innerHeight)})},[a,h,B,j?.top,j?.left]),!a)return null;let F=o?(0,d.jsx)("div",{"data-testid":"slash-command-stale-note",className:"px-3 py-2 border-t border-border text-xs text-muted-foreground",children:z("slashCommands.catalogStale.hint")}):null;if(h)return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40",onClick:g,"aria-hidden":"true"}),(0,d.jsxs)("div",{"data-testid":"slash-command-bottom-sheet",className:"fixed bottom-0 left-0 right-0 bg-surface rounded-t-xl z-50 max-h-[70vh] flex flex-col shadow-xl",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border",children:[(0,d.jsx)("h2",{className:"text-lg font-semibold text-foreground",children:z("slashCommands.title")}),(0,d.jsx)("button",{type:"button",onClick:g,"aria-label":A("close"),className:"p-2 rounded-full hover:bg-muted",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,d.jsx)("div",{className:"px-4 py-2 border-b border-border",children:(0,d.jsx)("input",{ref:u,type:"text",value:q,onChange:a=>r(a.target.value),placeholder:z("slashCommands.searchPlaceholder"),className:"w-full px-3 py-2 border border-input bg-surface dark:bg-surface-2 text-foreground rounded-lg focus:outline-none focus:ring-2 focus:ring-ring"})}),n&&(0,d.jsxs)("button",{type:"button","data-testid":"free-input-button",onClick:()=>n(q),className:"w-full px-4 py-3 text-left border-b border-border flex items-center gap-2 hover:bg-accent-50 dark:hover:bg-accent-900/30 transition-colors",children:[(0,d.jsx)("span",{className:"text-accent-600 dark:text-accent-400",children:(0,d.jsx)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})})}),(0,d.jsx)("span",{className:"text-muted-foreground",children:z("slashCommands.enterCustomCommand")})]}),(0,d.jsx)(l,{groups:B,onSelect:D,highlightedIndex:s,className:"flex-1 overflow-y-auto pb-20",cliToolId:p}),F]})]});let G=j?{top:j.top,left:j.left}:{bottom:"100%",left:0,marginBottom:"4px"};return(0,d.jsxs)("div",{ref:v,role:"listbox","data-testid":"slash-command-dropdown",className:"absolute bg-surface border border-border rounded-lg shadow-lg z-50 w-80 max-h-96 flex flex-col",style:0!==x.x||0!==x.y?{...G,transform:`translate(${x.x}px, ${x.y}px)`}:G,children:[(0,d.jsx)("div",{className:"px-3 py-2 border-b border-border",children:(0,d.jsx)("input",{ref:u,type:"text",value:q,onChange:a=>r(a.target.value),placeholder:z("slashCommands.searchPlaceholder"),className:"w-full px-3 py-1.5 text-sm border border-input bg-surface dark:bg-surface-2 text-foreground rounded focus:outline-none focus:ring-1 focus:ring-ring"})}),n&&(0,d.jsxs)("button",{type:"button","data-testid":"free-input-button",onClick:()=>n(q),className:"w-full px-3 py-2 text-left border-b border-border flex items-center gap-2 hover:bg-accent-50 dark:hover:bg-accent-900/30 transition-colors text-sm",children:[(0,d.jsx)("span",{className:"text-accent-600 dark:text-accent-400",children:(0,d.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})})}),(0,d.jsx)("span",{className:"text-muted-foreground",children:z("slashCommands.enterCustomCommand")})]}),(0,d.jsx)(l,{groups:B,onSelect:D,highlightedIndex:s,className:"flex-1 overflow-y-auto",cliToolId:p}),F,(0,d.jsxs)("div",{className:"px-3 py-1.5 border-t border-border text-xs text-muted-foreground flex gap-3",children:[(0,d.jsxs)("span",{children:[(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded",children:"Enter"})," ",z("slashCommands.selectHint")]}),(0,d.jsxs)("span",{children:[(0,d.jsx)("kbd",{className:"px-1 py-0.5 bg-muted rounded",children:"Esc"})," ",z("slashCommands.closeHint")]})]})]})});var o=c(17793);let p=(0,e.memo)(function({worktreeId:a,cliToolId:b,instanceId:c,disabled:g=!1,onInterrupt:h}){let i=(0,f.c)("worktree"),[j,k]=(0,e.useState)(!1),l=(0,e.useRef)(0),m=(0,e.useCallback)(async()=>{let d=Date.now();if(!(d-l.current<1e3)){l.current=d,k(!0);try{let d=c&&c!==b?{cliToolId:b,instanceId:c}:{cliToolId:b},e=await fetch(`/api/worktrees/${a}/interrupt`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)});if(e.ok)h?.();else{let a=await e.json().catch(()=>({}));console.error("[InterruptButton] Failed to send interrupt:",a.error||e.statusText)}}catch(a){console.error("[InterruptButton] Error sending interrupt:",a)}finally{k(!1)}}},[a,b,c,h]);return(0,d.jsx)("button",{type:"button",onClick:m,disabled:g||j,className:"flex-shrink-0 p-2 text-danger hover:bg-danger/10 rounded-full transition-colors disabled:text-muted-foreground/40 disabled:hover:bg-transparent","aria-label":i("interrupt.stopProcessing"),"data-testid":"interrupt-button",children:j?(0,d.jsx)(o.y,{size:"md"}):(0,d.jsx)(q,{})})});function q(){return(0,d.jsx)("svg",{className:"h-5 w-5",fill:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}var r=c(31449),s=c(19654),t=c(19470),u=c(38442),v=c(71613),w=c(10708),x=c(31906);let y=(0,e.memo)(function({worktreeId:a,cliToolId:b,instanceId:c,disabled:g=!1,onActionComplete:i,showToast:j}){let k=(0,f.c)("worktree.opencodeSession"),l=(0,h.SC)(),[m,n]=(0,e.useState)(null),[o,p]=(0,e.useState)(null),[q,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(null),D="opencode"===b,E=c??b,F=(0,e.useCallback)(a=>{if(j){C(null),j(a,"error");return}C(a)},[j]),G=(0,e.useCallback)((a,b,c)=>"NO_OPENCODE_PORT"===a.code?k("errorNoPort"):"NO_OPENCODE_SESSION"===a.code?k(c):a.error||b||k("errorUnknown"),[k]),H=(0,e.useCallback)(async()=>{if(D)try{let b=await fetch(`/api/worktrees/${a}/opencode/share?instance=${encodeURIComponent(E)}`);if(!b.ok)return void p(null);p(await b.json())}catch{p(null)}},[D,a,E]);(0,e.useEffect)(()=>{H()},[H]);let I=(0,e.useCallback)(async b=>{n(b),C(null);try{let c=await fetch(`/api/worktrees/${a}/opencode/session`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:b,instanceId:E})});if(!c.ok){let a=await c.json().catch(()=>({}));console.error("[OpencodeSessionControls] action failed:",b,a.error||c.statusText),F(G(a,c.statusText,"errorNoSessionFork"));return}i?.(b),"list"!==b&&(y(null),H())}catch(a){console.error("[OpencodeSessionControls] request error:",a),F(k("errorRequestFailed"))}finally{n(null)}},[a,E,i,H,F,G,k]),J=(0,e.useCallback)(async()=>{if(await l({title:k("shareConfirmTitle"),description:k("shareConfirmBody"),confirmLabel:k("shareConfirmLabel"),variant:"danger"})){n("share"),C(null);try{let b=await fetch(`/api/worktrees/${a}/opencode/share`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({instanceId:E})}),c=await b.json().catch(()=>({}));if(!b.ok||"string"!=typeof c.url){console.error("[OpencodeSessionControls] share failed:",c.error||b.statusText),F(G(c,b.statusText,"errorNoSessionShare")),H();return}y(c.url),A(!1),H()}catch(a){console.error("[OpencodeSessionControls] share request error:",a),F(k("errorRequestFailed"))}finally{n(null)}}},[l,k,a,E,H,F,G]),K=(0,e.useCallback)(async()=>{n("unshare"),C(null);try{let b=await fetch(`/api/worktrees/${a}/opencode/share?instance=${encodeURIComponent(E)}`,{method:"DELETE"});if(!b.ok){let a=await b.json().catch(()=>({}));console.error("[OpencodeSessionControls] unshare failed:",a.error||b.statusText),F(G(a,b.statusText,"errorNoSessionShare"));return}y(null),A(!1),H()}catch(a){console.error("[OpencodeSessionControls] unshare request error:",a),F(k("errorRequestFailed"))}finally{n(null)}},[a,E,H,F,G,k]),L=(0,e.useCallback)(async()=>{if(null!==q)try{await navigator.clipboard.writeText(q),A(!0),C(null)}catch(a){console.error("[OpencodeSessionControls] clipboard write failed:",a),F(k("errorCopyFailed"))}},[q,F,k]);if(!D)return null;let M=[{action:"new",icon:(0,d.jsx)(r.A,{className:"h-5 w-5","aria-hidden":"true"})},{action:"list",icon:(0,d.jsx)(s.A,{className:"h-5 w-5","aria-hidden":"true"})},{action:"fork",icon:(0,d.jsx)(t.A,{className:"h-5 w-5","aria-hidden":"true"})}],N="flex-shrink-0 p-2 text-muted-foreground hover:text-accent-600 hover:bg-accent-50 dark:hover:text-accent-400 dark:hover:bg-accent-900/30 rounded-full transition-colors disabled:text-muted-foreground/50 disabled:hover:bg-transparent";return(0,d.jsxs)("div",{className:"flex items-center gap-1","data-testid":"opencode-session-controls",children:[M.map(({action:a,icon:b})=>(0,d.jsx)(h.$n,{variant:"ghost",type:"button",onClick:()=>void I(a),disabled:g||null!==m,className:N,"aria-label":k(a),title:k(a),"data-testid":`opencode-session-${a}`,children:m===a?(0,d.jsx)(h.y$,{size:"md"}):b},a)),o?.canShare?(0,d.jsx)(h.$n,{variant:"ghost",type:"button",onClick:()=>void J(),disabled:g||null!==m,className:N,"aria-label":k("share"),title:k("share"),"data-testid":"opencode-session-share",children:"share"===m?(0,d.jsx)(h.y$,{size:"md"}):(0,d.jsx)(u.A,{className:"h-5 w-5","aria-hidden":"true"})}):null,null!==q?(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1 rounded-full border border-warning-border bg-warning-subtle px-2 py-0.5 text-xs text-warning-foreground","data-testid":"opencode-share-result",children:[(0,d.jsx)("span",{className:"sr-only",children:k("sharePublicNotice")}),(0,d.jsx)("a",{href:q,target:"_blank",rel:"noopener noreferrer",className:"truncate text-accent-600 underline dark:text-accent-400",title:q,"data-testid":"opencode-share-url",children:q}),(0,d.jsx)(h.$n,{variant:"ghost",type:"button",onClick:()=>void L(),className:"flex-shrink-0 rounded-full p-1 text-muted-foreground hover:text-accent-600","aria-label":k("shareCopy"),title:k("shareCopy"),"data-testid":"opencode-share-copy",children:z?(0,d.jsx)(v.A,{className:"h-3.5 w-3.5","aria-hidden":"true"}):(0,d.jsx)(w.A,{className:"h-3.5 w-3.5","aria-hidden":"true"})}),(0,d.jsx)(h.$n,{variant:"ghost",type:"button",onClick:()=>void K(),disabled:null!==m,className:"flex-shrink-0 rounded-full p-1 text-muted-foreground hover:text-danger-foreground","aria-label":k("unshare"),title:k("unshare"),"data-testid":"opencode-session-unshare",children:"unshare"===m?(0,d.jsx)(h.y$,{size:"sm"}):(0,d.jsx)(x.A,{className:"h-3.5 w-3.5","aria-hidden":"true"})})]}):null,null!==B?(0,d.jsx)("span",{role:"alert",className:"flex min-w-0 items-center rounded-full border border-danger-border bg-danger-subtle px-2 py-0.5 text-xs text-danger-foreground",title:B,"data-testid":"opencode-session-error",children:(0,d.jsx)("span",{className:"truncate",children:B})}):null]})});var z=c(70107);function A({message:a,hasAttachment:b,sending:c,ariaLabel:e}){return(0,d.jsx)(h.$n,{variant:"ghost",type:"submit","data-testid":"send-message-button","data-can-send":String((!!a.trim()||b)&&!c),disabled:!a.trim()&&!b||c,className:`flex-shrink-0 p-2 rounded-full transition-colors disabled:hover:bg-transparent ${(a.trim()||b)&&!c?"bg-accent-600 text-white hover:bg-accent-700 shadow-sm":"text-muted-foreground/50"}`,"aria-label":e,children:c?(0,d.jsx)(h.y$,{size:"md"}):(0,d.jsx)("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 19l9 2-9-18-9 18 9-2zm0 0v-8"})})})}var B=c(85647);function C({autoYesSlot:a,isMobile:b,commandsHint:c,newlineHint:e}){return(0,d.jsx)(d.Fragment,{children:(a||!b)&&(0,d.jsxs)("div",{className:`${b?"":"@container "}flex items-center justify-between gap-2 min-w-0`,"data-testid":"composer-meta-row",children:[(0,d.jsx)("div",{className:`flex items-center gap-2 min-w-0 overflow-x-auto scrollbar-hide${b?"":" whitespace-nowrap"}`,"data-testid":"composer-auto-yes",children:a}),!b&&(0,d.jsxs)("div",{className:"hidden @min-[420px]:flex flex-shrink-0 items-center gap-1.5 whitespace-nowrap text-[11px] text-muted-foreground select-none","data-testid":"composer-hints",children:[(0,d.jsx)(B.u,{children:"/"}),(0,d.jsx)("span",{children:c}),(0,d.jsx)("span",{"aria-hidden":"true",className:"opacity-50",children:"\xb7"}),(0,d.jsx)(B.u,{children:"⇧"}),(0,d.jsx)(B.u,{children:"↵"}),(0,d.jsx)("span",{children:e})]})]})})}c(90349);var D=c(90076),E=c(75071),F=c(18219),G=c(15783);let H="commandmate:draft-message:",I="Queued (session busy) — your message will run after the current task finishes.",J=e.useEffect;function K(a,b){return`${H}${a}:${b}`}let L=(0,e.memo)(function({worktreeId:a,onMessageSent:b,cliToolId:c,instanceId:k,isSessionRunning:l=!1,isSessionStarting:m=!1,pendingInsertText:o,onInsertConsumed:q,splitIndex:r=0,onFocus:s,isProcessing:t=!1,showToast:u,autoYesSlot:v,agentModeSlot:w,directInputSlot:x,onOptimisticSend:B,heightScope:L,maxHeight:M,planReviewActive:N=!1}){let O=(0,f.c)("worktree"),[P,Q]=(0,e.useState)(""),[R,S]=(0,e.useState)(!1),[T,U]=(0,e.useState)(null),[V,W]=(0,e.useState)(!1),[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(!1),[_,aa]=(0,e.useState)(!1);(0,e.useEffect)(()=>{N||aa(!1)},[N]);let ab=(0,e.useRef)(null),ac=(0,e.useRef)(null),ad=(0,e.useRef)(!1),ae=(0,e.useRef)(null),af=(0,e.useRef)(null),ag=(0,D.a)(),{groups:ah,isCatalogStale:ai}=function(a,b){let[c,d]=(0,e.useState)([]),[f,h]=(0,e.useState)(!0),[j,k]=(0,e.useState)(null),[l,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(b||"claude"),[p,q]=(0,e.useState)({}),r=(0,e.useCallback)(async()=>{try{h(!0),k(null);let c=a?`/api/worktrees/${a}/slash-commands`:"/api/slash-commands";b&&(c+=`?cliTool=${b}`);let e=await fetch(c,{cache:"no-store"});if(!e.ok)throw Error(`HTTP error ${e.status}`);let f=await e.json();d(f.groups),o(f.cliTool||b||"claude"),q(f.catalogStaleness??{})}catch(a){k((0,g.hS)(a)),d([]),q({})}finally{h(!1)}},[a,b]),s=(0,e.useMemo)(()=>c.flatMap(a=>a.commands),[c]),t=(0,e.useMemo)(()=>i(c,l),[c,l]),u=(0,e.useMemo)(()=>Object.values(p).some(a=>a.stale),[p]);return{groups:c,filteredGroups:t,allCommands:s,loading:f,error:j,filter:l,setFilter:m,refresh:(0,e.useCallback)(()=>{r()},[r]),cliTool:n,isCatalogStale:u}}(a,c),aj=!ag&&!!L,{height:ak,resizeBy:al,reset:am}=(0,F.lo)({worktreeId:a,scope:L,maxHeight:M,enabled:aj}),an="number"==typeof M&&Number.isFinite(M)?M:1/0,ao=(0,e.useCallback)(a=>{al(-a,ab.current?.getBoundingClientRect().height??G.bw)},[al]),{attachedImage:ap,fileInputRef:aq,isUploading:ar,error:as,acceptAttribute:at,openFileDialog:au,handleFileSelect:av,removeAttachment:aw,resetAfterSend:ax}=function(a,b){let[c,d]=(0,e.useState)(null),[f,g]=(0,e.useState)(!1),[h,i]=(0,e.useState)(null),j=(0,e.useRef)(null),k=(0,e.useCallback)(()=>{j.current?.click()},[]),l=(0,e.useCallback)(async c=>{let e=c.target.files?.[0];if(!e)return;i(null);let f=function(a){let b=a.name.lastIndexOf(".");if(-1===b)return"Unsupported file format";let c=(0,E.HB)(a.name.substring(b));if(!E.Hv.includes(c))return`Unsupported file format: ${c}`;if(a.size>E.Fg){let a=E.Fg/1024/1024;return`File size exceeds ${a}MB limit`}return null}(e);if(f){i(f),j.current&&(j.current.value="");return}g(!0);try{let c=await b(a,e);d({file:e,path:c.path})}catch(a){i(a instanceof Error?a.message:"Upload failed")}finally{g(!1),j.current&&(j.current.value="")}},[a,b]),m=(0,e.useCallback)(()=>{d(null),i(null)},[]),n=(0,e.useCallback)(()=>{d(null)},[]);return{attachedImage:c,fileInputRef:j,isUploading:f,error:h,acceptAttribute:E.F5,openFileDialog:k,handleFileSelect:l,removeAttachment:m,resetAfterSend:n}}(a,(0,e.useCallback)((a,b)=>g.y.uploadImageFile(a,b),[]));(0,e.useEffect)(()=>{try{0===r&&function(a){try{let b=`${H}${a}`,c=window.localStorage.getItem(b);if(null===c)return;let d=K(a,0);null===window.localStorage.getItem(d)&&window.localStorage.setItem(d,c),window.localStorage.removeItem(b)}catch{}}(a);let b=window.localStorage.getItem(K(a,r));b?Q(b):Q("")}catch{}return()=>{af.current&&clearTimeout(af.current)}},[a,r]),(0,e.useEffect)(()=>{af.current&&clearTimeout(af.current),af.current=setTimeout(()=>{try{let b=K(a,r);P?window.localStorage.setItem(b,P):window.localStorage.removeItem(b)}catch{}},500)},[P,a,r]),J(()=>{let a=ab.current;if(!a)return;let b="number"==typeof M&&Number.isFinite(M)?M:1/0,c=Math.min(ak??G.bw,b);if(!P){a.style.height=`${c}px`;return}a.style.height="auto";let d=Math.min(a.scrollHeight,G.vF);a.style.height=`${Math.min(Math.max(c,d),b)}px`},[P,ak,M]),(0,e.useEffect)(()=>{o&&(Q(a=>""===a.trim()?o:a+"\n\n"+o),q?.())},[o,q]);let ay=(0,e.useCallback)(async()=>{if(V||!P.trim()&&!ap||R)return;if(N)return void aa(!0);let d=P.trim(),e=c||"claude",f={cliToolId:e};if(k&&k!==e&&(f.instanceId=k),ap&&(f.imagePath=ap.path),B){U(null),B(d,f),Q(""),$(!1),ax();try{window.localStorage.removeItem(K(a,r))}catch{}t&&u?.(I,"warning"),b?.(e);return}try{S(!0),U(null);let c=await g.y.sendMessage(a,d,f);Q(""),$(!1),ax();try{window.localStorage.removeItem(K(a,r))}catch{}t&&u?.(I,"warning"),b?.(e,c)}catch(a){U((0,g.hS)(a))}finally{S(!1)}},[V,P,ap,R,a,c,k,b,ax,r,t,u,B,N]),az=(0,e.useCallback)(async a=>{a.preventDefault(),await ay()},[ay]),aA=(0,e.useCallback)(()=>{W(!0),ad.current=!1,ac.current&&clearTimeout(ac.current)},[]),aB=(0,e.useCallback)(()=>{W(!1),ad.current=!0,ac.current&&clearTimeout(ac.current),ac.current=setTimeout(()=>{ad.current=!1},300)},[]),aC=(0,e.useCallback)(a=>{Q(`${j(a,c)} `),Y(!1),ab.current?.focus()},[c]),aD=(0,e.useCallback)(()=>{Y(!1),$(!1),ab.current?.focus()},[]),aE=(0,e.useCallback)(a=>{Y(!1),$(!0),Q(a?`/${a}`:"/"),setTimeout(()=>{ab.current?.focus()},50)},[]),aF=(0,e.useCallback)(a=>{let b=a.target.value;if(Q(b),""===b){$(!1),Y(!1);return}if(Z)return;let d="/"===b||b.startsWith("/")&&!b.includes(" "),e="codex"===c&&("$"===b||b.startsWith("$")&&!b.includes(" "));d||e?Y(!0):Y(!1)},[Z,c]),aG=(0,e.useCallback)(a=>{let{keyCode:b}=a.nativeEvent;if(229!==b){if("Escape"===a.key&&X){a.preventDefault(),aD();return}if(ad.current&&"Enter"===a.key){ad.current=!1;return}if("Enter"===a.key&&!V&&(!X||Z)){if(ag)return;a.shiftKey||(a.preventDefault(),ay())}}},[X,Z,V,ag,ay,aD]),aH=(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.$n,{variant:"ghost",type:"button",onClick:au,disabled:ar||R,className:"flex-shrink-0 p-2 text-muted-foreground hover:text-accent-600 hover:bg-accent-50 dark:hover:text-accent-400 dark:hover:bg-accent-900/30 rounded-full transition-colors disabled:text-muted-foreground/50 disabled:hover:bg-transparent","aria-label":O("composer.attachImage"),"data-testid":"attach-image-button",children:ar?(0,d.jsx)(h.y$,{size:"md"}):(0,d.jsx)("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13"})})}),(0,d.jsx)(y,{worktreeId:a,cliToolId:c||"claude",instanceId:k,disabled:!l,showToast:u}),m?null:w]}),aI=(0,d.jsx)(p,{worktreeId:a,cliToolId:c||"claude",instanceId:k,disabled:!l||m});return(0,d.jsxs)("div",{ref:ae,className:"space-y-2 relative","data-testid":"message-input-container",children:[(T||as)&&(0,d.jsx)("div",{className:"p-2 bg-danger-subtle border border-danger-border rounded text-sm text-danger-foreground",children:T||as}),N&&(0,d.jsxs)("div",{"data-testid":"composer-plan-review-notice",role:_?"alert":"status",className:"rounded border border-warning-border bg-warning-subtle px-2 py-1 text-xs leading-5 text-foreground",children:[O("planReview.composerNotice")," ",(0,d.jsx)("button",{type:"button","data-testid":"composer-plan-review-goto",onClick:()=>(function(a){if("undefined"==typeof document)return;let b=Array.from(document.querySelectorAll("[data-plan-review-target]")).filter(b=>b.dataset.planReviewTarget===a),c=b.find(a=>a.getClientRects().length>0)??b[0];c&&(c.scrollIntoView?.({block:"nearest"}),c.focus({preventScroll:!0}))})(`${a}:${k??c??"claude"}`),className:"inline rounded-sm font-medium text-warning-foreground underline underline-offset-2 hover:no-underline focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",children:O("planReview.composerGoto")})]}),ap&&(0,d.jsxs)("div",{className:"flex items-center gap-2 px-4 py-1.5 bg-accent-50 dark:bg-accent-900/20 border border-accent-200 dark:border-accent-800 rounded-lg text-sm","data-testid":"image-attachment-preview",children:[(0,d.jsx)("svg",{className:"h-4 w-4 flex-shrink-0 text-accent-600 dark:text-accent-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})}),(0,d.jsx)("span",{className:"truncate text-accent-800 dark:text-accent-300",children:ap.file.name}),(0,d.jsx)("button",{type:"button",onClick:aw,className:"flex-shrink-0 p-0.5 text-accent-600 hover:text-danger-foreground dark:text-accent-400 rounded transition-colors","aria-label":O("composer.removeAttachment"),"data-testid":"remove-attachment-button",children:(0,d.jsx)("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,d.jsx)("input",{ref:aq,type:"file",accept:at,onChange:av,className:"hidden","data-testid":"image-file-input"}),(0,d.jsxs)("form",{onSubmit:az,className:"relative rounded-xl bg-surface border border-border shadow-sm px-3 py-2 focus-within:ring-2 focus-within:ring-accent-500/40 transition-shadow flex flex-col gap-1.5",children:[aj&&(0,d.jsx)("div",{className:"absolute inset-x-3 top-0 -translate-y-1/2","data-testid":"composer-resize-handle","data-height-mode":null===ak?"auto":"floor",children:(0,d.jsx)(z.f,{orientation:"vertical",onResize:ao,onDoubleClick:am,ariaLabel:O("composer.resizeHandle"),ariaValueNow:function(a,b){if(null===a||null==b)return 0;let c=b-G.bw;return c<=0?100:Math.round(Math.min(100,Math.max(0,(a-G.bw)/c*100)))}(ak,M)})}),(0,d.jsxs)("div",{className:"@container flex flex-col gap-1","data-testid":"composer-input-row",children:[(0,d.jsx)("div",{className:"flex items-center gap-1","data-testid":"composer-toolbar",children:ag?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.$n,{variant:"ghost",type:"button",onClick:()=>{Z&&$(!1),Y(!0)},className:"flex-shrink-0 p-2 text-muted-foreground hover:text-accent-600 hover:bg-accent-50 dark:hover:text-accent-400 dark:hover:bg-accent-900/30 rounded-full transition-colors","aria-label":O("composer.showSlashCommands"),"data-testid":"mobile-command-button",children:(0,d.jsx)("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 20l4-16m2 16l4-16M6 9h14M4 15h14"})})}),aH,x,aI]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-1 overflow-x-auto scrollbar-hide","data-testid":"composer-toolbar-start",children:aH}),(0,d.jsxs)("div",{className:"flex flex-shrink-0 items-center gap-1","data-testid":"composer-toolbar-end",children:[x,aI]})]})}),(0,d.jsxs)("div",{className:`flex ${ag?"items-center":"items-end"} gap-2 flex-1 min-w-0`,"data-testid":"composer-textarea-row",children:[(0,d.jsx)("textarea",{ref:ab,"data-testid":"message-input-textarea",value:P,onChange:aF,onKeyDown:aG,onCompositionStart:aA,onCompositionEnd:aB,onFocus:s,placeholder:O("composer.placeholder"),disabled:R,rows:1,inputMode:"text",enterKeyHint:"send",className:"flex-1 outline-none bg-transparent resize-none overflow-y-auto scrollbar-thin",style:{minHeight:`${Math.min(ak??G.bw,an)}px`,maxHeight:`${Math.min(Math.max(ak??0,G.vF),an)}px`,paddingTop:"8px",paddingBottom:"8px",lineHeight:"20px"}}),(0,d.jsx)(A,{message:P,hasAttachment:!!ap,sending:R,ariaLabel:O("composer.sendMessage")})]})]}),(0,d.jsx)(C,{autoYesSlot:v,isMobile:ag,commandsHint:O("composer.commandsHint"),newlineHint:O("composer.newlineHint")})]}),(0,d.jsx)(n,{isOpen:X,groups:ah,onSelect:aC,onClose:aD,isMobile:ag,onFreeInput:aE,isCatalogStale:ai,cliToolId:c})]})})},44489:(a,b,c)=>{c.d(b,{CG:()=>g,Dk:()=>i,Uw:()=>h});var d=c(7879);let e=/\x1b\[([0-9;]*)m/g;function f(a){return""===(0,d.aJ)(a).trim()}function g(a){return f(a)&&""!==(0,d.aJ)(a)&&function(a){let b;for(e.lastIndex=0;null!==(b=e.exec(a));)if(function(a){let b=0;for(;b<a.length;){let c=a[b];if(38===c||48===c||58===c){if(48===c)return!0;let d=a[b+1];b+=5===d?3:2===d?5:2;continue}if(c>=40&&c<=47||c>=100&&c<=107)return!0;b+=1}return!1}(b[1].split(";").filter(a=>""!==a).map(a=>Number(a)).filter(a=>Number.isInteger(a))))return!0;return!1}(a)}function h(a,b={}){if(""===a)return"";let{isStructuralRow:c}=b,e=a.split("\n"),g=[],i=!1,j=0,k=a=>f(a)&&!c?.(a);for(;j<e.length;){if(!k(e[j])){g.push(e[j]),i=!0,j++;continue}let a=j;for(;a<e.length&&k(e[a]);)a++;let b=a-j,c=!i,f=a>=e.length;if(!c&&!f)if(b<=2)for(let b=j;b<a;b++)g.push(e[b]);else g.push((0,d.x6)(e.slice(j,a).join("")));j=a}return g.join("\n")}function i(a){return h(a,{isStructuralRow:g})}},47015:(a,b,c)=>{c.d(b,{Z:()=>p});var d=c(21124),e=c(38301),f=c(20481),g=c(99086),h=c(52935),i=c(49343),j=c(1401);let k={plan_review_ambiguous_answer:"planReview.refusal.ambiguousAnswer",plan_review_busy:"planReview.refusal.busy",plan_review_nothing_to_submit:"planReview.refusal.nothingToSubmit",plan_review_invalid_request:"planReview.refusal.invalidRequest",plan_review_not_active:"planReview.refusal.notActive",answer_input_lost:"planReview.refusal.inputLost"};function l(a,b){let c=a[b];return"string"==typeof c?c:null}function m({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:g,compact:h=!1}){var i;let m=(0,f.c)("worktree"),[n,o]=(0,e.useState)(""),[p,q]=(0,e.useState)(!1),[r,s]=(0,e.useState)(null),[t,u]=(0,e.useState)(null),v=(i=c??b,`${a}:${i}`),w=`plan-review-comment-${v}`,x=(0,e.useCallback)(async d=>{s(d),u(null);try{let e=await fetch(`/api/worktrees/${encodeURIComponent(a)}/prompt-response`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(function(a,b,c,d){let e={planReviewAction:a,cliTool:b},f=c.trim();return("comment"===a||"submit"===a)&&f&&(e.answer=f),d&&d!==b&&(e.instanceId=d),e}(d,b,n,c))}),{outcome:f,body:h}=await (0,j.IJ)(e);if("answered"!==f)return void u({reason:l(h,"reason"),message:l(h,"message")??l(h,"error")});("comment"===d||"submit"===d)&&o(""),g?.()}catch{u({reason:null,message:null})}finally{s(null)}},[a,b,n,c,g]),y=n.trim().length>0,z=null!==r,A=t?.reason?k[t.reason]:void 0,B="min-h-[44px] rounded-md border px-3 py-2 text-sm font-medium transition-colors touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50",C=`${B} border-border bg-surface text-foreground hover:bg-muted dark:bg-surface-2`,D=a=>m(h?`planReview.${a}Compact`:`planReview.${a}`),E=(0,d.jsx)("button",{type:"button","data-testid":"plan-review-comment",disabled:z||!y,onClick:()=>void x("comment"),className:`${C}${h?" shrink-0":""}`,children:m("planReview.comment")});return(0,d.jsxs)("div",{"data-testid":"plan-review-controls","data-plan-review-target":v,role:"group","aria-label":m("planReview.groupLabel"),tabIndex:-1,className:"flex min-h-0 flex-col gap-2 rounded-lg bg-muted px-2 py-1.5 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,d.jsxs)("div",{"data-testid":"plan-review-comment-area",className:`min-h-0 overflow-y-auto p-0.5 ${h?"flex max-h-24 items-start gap-1.5":"max-h-40"}`,children:[(0,d.jsx)("label",{className:h?"sr-only":"mb-1 block text-xs text-muted-foreground",htmlFor:w,children:m("planReview.commentLabel")}),(0,d.jsx)("textarea",{id:w,"data-testid":"plan-review-comment-input",value:n,onChange:a=>o(a.target.value),placeholder:m("planReview.commentPlaceholder"),rows:h?1:2,className:`block resize-y rounded-md border border-border bg-surface px-2 py-1.5 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring dark:bg-surface-2 ${h?"min-h-[44px] min-w-0 flex-1":"w-full"}`}),h?E:null]}),(0,d.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-1.5",children:[h?null:E,(0,d.jsx)("button",{type:"button","data-testid":"plan-review-submit",disabled:z,onClick:()=>void x("submit"),title:h?m("planReview.submit"):void 0,className:C,children:D("submit")}),(0,d.jsx)("button",{type:"button","data-testid":"plan-review-approve",disabled:z||p,onClick:()=>q(!0),title:h?m("planReview.approve"):void 0,className:`${B} border-accent-500 bg-surface text-accent-600 hover:bg-muted dark:bg-surface-2 dark:text-accent-400`,children:D("approve")}),(0,d.jsx)("button",{type:"button","data-testid":"plan-review-cancel",disabled:z,onClick:()=>void x("cancel"),title:h?m("planReview.cancel"):void 0,className:C,children:D("cancel")})]}),p?(0,d.jsxs)("div",{"data-testid":"plan-review-approve-confirm",role:"alertdialog","aria-label":m("planReview.approveConfirmLabel"),className:`shrink-0 rounded-md border border-warning-border bg-warning-subtle px-2 py-1.5 ${h?"flex flex-wrap items-center gap-1.5":"space-y-1.5"}`,children:[(0,d.jsx)("p",{className:`text-xs text-foreground${h?" min-w-0 flex-1 basis-40":""}`,children:m("planReview.approveConfirmText")}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,d.jsx)("button",{type:"button","data-testid":"plan-review-approve-confirm-yes",disabled:z,onClick:()=>{q(!1),x("approve")},className:`${B} border-accent-500 bg-accent-500 text-white`,children:m("planReview.approveConfirmYes")}),(0,d.jsx)("button",{type:"button","data-testid":"plan-review-approve-confirm-no",onClick:()=>q(!1),className:C,children:m("planReview.approveConfirmNo")})]})]}):null,t?(0,d.jsxs)("div",{"data-testid":"plan-review-error",role:"alert",className:"max-h-16 min-h-0 space-y-0.5 overflow-y-auto text-xs text-danger-foreground",children:[(0,d.jsx)("p",{children:A?m(A):m("planReview.refusal.generic")}),t.message?(0,d.jsx)("p",{"data-testid":"plan-review-error-detail",children:t.message}):null]}):null]})}var n=c(30872),o=c(12529);function p({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:j,frame:k,reading:l,surface:p,showPagerKeys:q=!1,trustConfirmation:r,compact:s=!1}){let t=(0,f.c)("worktree"),u=(0,e.useMemo)(()=>l??(0,o.gO)(k),[l,k]),v=(0,e.useMemo)(()=>(0,o.Fs)({reading:u,cliToolId:b,surface:p,pager:q}),[u,b,p,q]),w={worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:j},x="terminal"===p&&!q&&(r??(0,n.pw)(k,b));return(0,d.jsxs)("div",{"data-testid":"selection-list-keys",className:v.planReview?"chat"===p?"contents":"flex min-h-0 flex-col gap-2":"space-y-2",children:[x?(0,d.jsx)("p",{"data-testid":"selection-trust-notice",role:"status",className:"rounded-md border border-warning-border bg-warning-subtle px-2 py-1.5 text-xs text-foreground",children:t("trustConfirmation.notice")}):null,v.planReview?(0,d.jsx)("div",{"data-testid":"selection-list-pad-slot",className:"min-h-0 shrink-[100000] overflow-y-auto",children:(0,d.jsx)(g.y,{...w,showPagerKeys:q,hideEnterKey:!v.padEnter})}):(0,d.jsx)(g.y,{...w,showPagerKeys:q,hideEnterKey:!v.padEnter}),v.numberKeyCount>0?(0,d.jsx)(h._u,{...w,optionCount:v.numberKeyCount}):null,v.commitKeys?(0,d.jsx)(h.wd,{...w,commitsDefaultOnEnter:v.commitKeys.commitsDefaultOnEnter}):null,v.planReview?(0,d.jsx)(m,{...w,compact:s}):null,v.opencodeModelKeys?(0,d.jsx)(i.tY,{...w,frame:k}):null]})}},47786:(a,b,c)=>{c.d(b,{CL:()=>ae,Et:()=>aj,UI:()=>U,a3:()=>af,vY:()=>X,ZS:()=>aq,Gn:()=>aw,qI:()=>ax,PZ:()=>W,ZK:()=>ad,t_:()=>ao});var d=c(21124),e=c(38301),f=c.n(e),g=c(20481),h=c(85351),i=c(59405),j=c(60073),k=c(98688),l=c(54095),m=c(14263),n=c(18310),o=c(9212),p=c(47089),q=c(10708),r=c(2445),s=c(25770),t=c(27867),u=c(46831),v=c(29701),w=c(37950),x=c(91075),y=c(65468),z=c(54228),A=c(7879),B=c(8842),C=c(88033),D=c(55948),E=c(7027),F=c(46148),G=c(30917);function H({src:a,alt:b,kind:c,onFilePathClick:e,searchRaw:f}){let h=(0,g.c)("worktree"),i=b||h("conversation.imageUnavailable"),j=null;return"external"===c?j=(0,d.jsx)("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"break-all underline",children:a}):"file"===c?j=(0,d.jsx)(aq,{href:a,onFilePathClick:e,children:a}):a&&(j=(0,d.jsx)("span",{className:"break-all font-mono text-xs",children:a})),(0,d.jsxs)("span",{...f,"data-testid":"chat-image-fallback",className:"inline-flex max-w-full flex-wrap items-center gap-1 align-middle text-muted-foreground",children:[(0,d.jsx)(F.A,{size:14,"aria-hidden":"true",className:"shrink-0"}),(0,d.jsx)("span",{children:i}),j]})}let I=(0,e.memo)(function({src:a,alt:b,onFilePathClick:c,searchRaw:f}){let h=(0,g.c)("worktree"),{worktreeId:i,worktreePath:j}=(0,E.hu)(),k=(0,E.HA)(a,j),l=b??"",m=a?.trim()??"",n=(0,e.useCallback)(()=>c(m),[c,m]);if("worktree"!==k.kind||!i){let a="worktree"===k.kind?"file":k.kind;return(0,d.jsx)(H,{src:m,alt:l,kind:a,onFilePathClick:c,searchRaw:f})}return(0,d.jsx)(G.n,{apiUrl:(0,E.Fo)(i,k.path),alt:l,lazy:!0,loadingFallback:(0,d.jsx)("span",{...f,"data-testid":"chat-image-loading",className:"flex h-40 w-full max-w-sm items-center justify-center rounded-md border border-border bg-muted text-xs text-muted-foreground",children:h("conversation.imageLoading")}),errorFallback:(0,d.jsx)(H,{src:m,alt:l,kind:"file",onFilePathClick:c,searchRaw:f}),className:"block h-auto max-w-full rounded-md border border-border object-contain",style:{maxHeight:320},wrap:a=>(0,d.jsx)("button",{type:"button","data-testid":"chat-image",onClick:n,className:"block max-w-full cursor-pointer","aria-label":h("conversation.openImage",{path:k.path}),children:a})},k.path)});var J=c(75071);let K=[".mp4"],L=(0,e.memo)(function({target:a,label:b,fallback:c,onFilePathClick:f,searchRaw:h}){let i=(0,g.c)("worktree"),{worktreeId:j,worktreePath:k}=(0,E.hu)(),[l,m]=(0,e.useState)(!1),n=function(a,b){if("string"!=typeof a||!a.trim()||"file"!==(0,D.z)(a))return null;let c=(0,D.h)(a,b);return null===c||c.startsWith("/")||!function(a){if(!a)return!1;let b=(0,J.HB)(a);return K.includes(b)}(function(a){let b=a.slice(a.lastIndexOf("/")+1),c=b.lastIndexOf(".");return c>0?b.slice(c):""}(c))?null:c}(a,k);if(!n||!j||!a)return(0,d.jsx)(d.Fragment,{children:c});let o=a.trim(),p=(0,d.jsx)(aq,{...h,href:o,onFilePathClick:f,children:b});return l?p:(0,d.jsxs)("span",{className:"my-1 block w-full",children:[(0,d.jsx)("video",{"data-testid":"chat-video",controls:!0,preload:"none",src:`${(0,E.Fo)(j,n)}?raw=1`,"aria-label":i("conversation.videoLabel",{path:n}),onError:()=>m(!0),className:"block w-full rounded-md border border-border bg-black",style:{maxHeight:360}},n),(0,d.jsx)("span",{className:"mt-1 block break-all text-xs",children:p})]})});var M=c(2842),N=c(45538),O=c(9758),P=c(33661),Q=c(63121),R=c(28232),S=c(98882);function T(a){let b=(0,S.h)(a),c=(0,R.Lx)(b.prose);return{body:c.body,reasoning:c.reasoning,reasoningBlocks:c.blocks,toolLog:b.toolLog,toolCalls:b.toolCalls,folded:b.prose!==a||null!==c.reasoning}}let U="flex w-full flex-col gap-1 pb-3",V=f().createContext({showAll:!1}),W=V.Provider,X={showAll:!0},Y="mr-auto flex w-fit max-w-full items-center gap-1.5 rounded-full border border-border bg-surface-2 px-2.5 py-1 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring";function Z(){let{showAll:a}=f().useContext(V),[b,c]=(0,e.useState)(null),d=null!==b&&b.against===a?b.isOpen:a,g=(0,e.useCallback)(()=>c({against:a,isOpen:!d}),[a,d]);return{isOpen:d,toggle:g}}var $=c(54937),_=c(57e3),aa=c(50082);let ab={human:"chatTranscript.toolApproval.answeredByHuman",auto:"chatTranscript.toolApproval.autoApproved",terminal:"chatTranscript.toolApproval.answeredInTerminal",pending:"chatTranscript.toolApproval.awaitingAnswer",unclassified:"chatTranscript.toolApproval.unclassified",unknown:"chatTranscript.toolApproval.resolved"},ac={...ab,auto:"chatTranscript.toolApproval.autoAnswered"},ad=(0,e.memo)(function({entries:a}){let b=(0,g.c)("worktree"),{isOpen:c,toggle:e}=Z();if(0===a.length)return null;let f=c?h.A:i.A,j=(0,aa.rS)(a),k=j.questions+j.confirmations>0,l=j.approvals>0,m=[];l&&m.push(b("chatTranscript.toolApproval.summary",{count:j.approvals})),j.questions>0&&m.push(b("chatTranscript.toolApproval.summaryQuestions",{count:j.questions})),j.confirmations>0&&m.push(b(l||j.questions>0?"chatTranscript.toolApproval.summaryConfirmations":"chatTranscript.toolApproval.summaryConfirmationsOnly",{count:j.confirmations}));let n=l?$.A:_.A;return(0,d.jsxs)("div",{"data-testid":"chat-tool-approval-group","data-approval-count":a.length,"data-approvals":j.approvals,"data-questions":j.questions,"data-confirmations":j.confirmations,className:`${U} items-start`,children:[(0,d.jsxs)("button",{type:"button","data-testid":"chat-tool-approval-toggle",onClick:e,"aria-expanded":c,"aria-label":b(`chatTranscript.toolApproval.${c?"collapse":"expand"}${k&&l?"Mixed":k?"Questions":""}`),className:Y,children:[(0,d.jsx)(n,{size:12,"aria-hidden":"true"}),(0,d.jsx)("span",{children:m.join(b("chatTranscript.toolApproval.summarySeparator"))}),(0,d.jsx)(f,{size:12,"aria-hidden":"true"})]}),c&&(0,d.jsx)("ul",{"data-testid":"chat-tool-approval-list",className:"mr-auto flex w-full max-w-full flex-col gap-1 pl-1",children:a.map(a=>{let c="question"===a.kind,e=c?ac:ab,f=c?"confirmation"===a.phase?"chatTranscript.toolApproval.submitConfirmation":"chatTranscript.toolApproval.unlabeledQuestion":"chatTranscript.toolApproval.unlabeled";return(0,d.jsxs)("li",{"data-testid":"chat-tool-approval-entry","data-approval-outcome":a.outcome,"data-approval-kind":a.kind,"data-approval-phase":a.phase,"data-approval-confirmation":a.confirmationOutcome,"data-approval-audit":a.isPermissionAudit?"true":void 0,"data-approval-merged":a.messageIds.length,className:"flex max-w-full flex-wrap items-baseline gap-x-2 gap-y-0.5 text-xs text-muted-foreground",children:["confirmation"===a.phase&&a.label&&(0,d.jsx)("span",{"data-testid":"chat-tool-approval-phase",children:b("chatTranscript.toolApproval.submitConfirmation")}),(0,d.jsx)("span",{className:"min-w-0 break-words [word-break:break-word] font-mono text-foreground",children:a.label||b(f)}),(0,d.jsx)("span",{"data-testid":"chat-tool-approval-outcome",children:b(e[a.outcome])}),a.confirmationOutcome&&(0,d.jsx)("span",{"data-testid":"chat-tool-approval-confirmation",children:b("chatTranscript.toolApproval.confirmation",{outcome:b(ac[a.confirmationOutcome])})})]},a.id)})})]})}),ae="mr-auto w-full max-w-full px-1 text-sm text-foreground",af="chat-bubble",ag="chat-turn-header",ah="chat-turn-time",ai="max-w-full overflow-x-hidden break-words [word-break:break-word]",aj=`${ai} chat-md`;function ak({groupTestId:a,toggleTestId:b,bodyTestId:c,groupData:e,spaced:f=!1,Icon:g,label:j,collapseLabel:k,expandLabel:l,children:m}){let{isOpen:n,toggle:o}=Z(),p=n?h.A:i.A;return(0,d.jsxs)("div",{"data-testid":a,...e,className:`${f?"mt-2 ":""}flex w-full flex-col gap-1`,children:[(0,d.jsxs)("button",{type:"button","data-testid":b,onClick:o,"aria-expanded":n,"aria-label":void 0===k?void 0:n?k:l,className:Y,children:[(0,d.jsx)(g,{size:12,"aria-hidden":"true"}),(0,d.jsx)("span",{children:j}),(0,d.jsx)(p,{size:12,"aria-hidden":"true"})]}),n&&(0,d.jsx)("div",{"data-testid":c,className:"max-w-full border-l-2 border-border pl-2 text-muted-foreground",children:m})]})}let al=(0,e.memo)(function({blocks:a,children:b}){let c=(0,g.c)("worktree");return(0,d.jsx)(ak,{groupTestId:"chat-thinking-group",toggleTestId:"chat-thinking-toggle",bodyTestId:"chat-thinking-body",groupData:{"data-thinking-blocks":a},spaced:!0,Icon:j.A,label:c("chatTranscript.thinking.summary",{count:a}),collapseLabel:c("chatTranscript.thinking.collapse"),expandLabel:c("chatTranscript.thinking.expand"),children:b})}),am=(0,e.memo)(function({toolCalls:a,children:b}){let c=(0,g.c)("worktree");return(0,d.jsx)(ak,{groupTestId:"chat-tool-log-group",toggleTestId:"chat-tool-log-toggle",bodyTestId:"chat-tool-log-body",groupData:{"data-tool-calls":a},spaced:!0,Icon:k.A,label:c("chatTranscript.toolLog.summary",{count:a}),collapseLabel:c("chatTranscript.toolLog.collapse"),expandLabel:c("chatTranscript.toolLog.expand"),children:b})}),an={claude:!0,codex:!0,antigravity:!0,"command-code":!0,opencode:!0,copilot:!1,gemini:!1,"vibe-local":!1,"opencode-v2":!0};function ao(a){return"assistant"===a.role&&"normal"===a.messageType&&("string"!=typeof a.requestId||!(a.requestId.length>0))&&!0===an[a.cliToolId??"claude"]}let ap=(0,e.memo)(function({children:a}){let b=(0,g.c)("worktree");return(0,d.jsx)(ak,{groupTestId:"chat-pane-scrape-group",toggleTestId:"chat-pane-scrape-toggle",bodyTestId:"chat-pane-scrape-body",Icon:l.A,label:b("agentSource.kindScraper"),children:a})}),aq=(0,e.memo)(function({href:a,children:b,onFilePathClick:c,...f}){let h=(0,g.c)("worktree"),i=a?(0,D.z)(a):null,j=(0,e.useCallback)(b=>{a&&(b.preventDefault(),c(a))},[a,c]);return a&&null!==i&&"anchor"!==i?"external"===i?(0,d.jsx)("a",{...f,href:a,target:"_blank",rel:"noopener noreferrer",children:b}):(0,d.jsx)("a",{...f,href:a,"data-testid":"chat-file-link",onClick:j,className:"cursor-pointer font-mono text-sm text-accent-700 underline-offset-2 hover:underline dark:text-accent-400","aria-label":h("conversation.openFile",{path:(0,D.h)(a)??a}),children:b}):(0,d.jsx)("a",{...f,href:a,children:b})}),ar=(0,e.memo)(function({content:a,onFilePathClick:b}){let c=(0,g.c)("worktree"),f=(0,e.useMemo)(()=>(0,B.ML)(a),[a]),h=(0,e.useCallback)(a=>()=>b(a),[b]);return(0,d.jsx)("span",{children:f.map((a,b)=>"path"===a.type?(0,d.jsx)("button",{type:"button",onClick:h(a.content),className:"cursor-pointer font-mono text-sm text-accent-700 underline-offset-2 hover:underline dark:text-accent-400","aria-label":c("conversation.openFile",{path:a.content}),children:a.content},b):(0,d.jsx)("span",{children:a.content},b))})}),as=(0,e.memo)(function({content:a,onFilePathClick:b}){let{worktreePath:c}=(0,E.hu)(),f=(0,e.useMemo)(()=>(0,E.AW)(a,c),[a,c]);return f.every(a=>"text"===a.type)?(0,d.jsx)(ar,{content:a,onFilePathClick:b}):(0,d.jsx)("span",{children:f.map((a,c)=>"image"===a.type?(0,d.jsx)("span",{className:"my-1 block",children:(0,d.jsx)(I,{src:a.src,alt:a.alt,onFilePathClick:b})},c):(0,d.jsx)(ar,{content:a.content,onFilePathClick:b},c))})}),at=/^file:\/\//i,au=(a,b)=>"src"===b&&at.test(a)?a:(0,t.Lv)(a),av={...u.j,protocols:{...u.j.protocols,src:[...u.j.protocols?.src??[],"file"]}},aw=(0,e.memo)(function({content:a,onFilePathClick:b,renderDiagrams:c=!1}){let g=(0,e.useMemo)(()=>{let a=a=>f().Children.map(a,a=>"string"==typeof a?(0,d.jsx)(ar,{content:a,onFilePathClick:b}):a);return{p:({children:b,...c})=>(0,d.jsx)("p",{...(0,x.po)(c),children:a(b)}),li:({children:b,...c})=>(0,d.jsx)("li",{...(0,x.po)(c),children:a(b)}),td:({children:b,...c})=>(0,d.jsx)("td",{...(0,x.po)(c),children:a(b)}),th:({children:b,...c})=>(0,d.jsx)("th",{...(0,x.po)(c),children:a(b)}),strong:({children:b,...c})=>(0,d.jsx)("strong",{...(0,x.po)(c),children:a(b)}),em:({children:b,...c})=>(0,d.jsx)("em",{...(0,x.po)(c),children:a(b)}),a:({href:a,children:c,node:e,...f})=>{let g=(0,d.jsx)(aq,{...f,href:a,onFilePathClick:b,children:c});return(0,d.jsx)(L,{target:a,label:c,fallback:g,onFilePathClick:b,searchRaw:(0,x.po)(f)})},img:({src:a,alt:c,...e})=>{let f="string"==typeof a?a:void 0,g=(0,x.po)(e);return(0,d.jsx)(L,{target:f,label:c||f,fallback:(0,d.jsx)(I,{src:f,alt:c,onFilePathClick:b,searchRaw:g}),onFilePathClick:b,searchRaw:g})},...c?{code:M.H.code}:{},pre:({node:a,children:b,...e})=>c&&(0,N.D)(b)?(0,d.jsx)(d.Fragment,{children:b}):(0,d.jsx)(O.Ck,{className:"chat-code-block",children:(0,d.jsx)("pre",{...e,children:b})})}},[b,c]),h=(0,e.useMemo)(()=>T(a),[a]),i=(0,e.useMemo)(()=>(0,Q.kP)(a,h),[a,h]),j=(0,e.useMemo)(()=>{let a=(a,b)=>[[v.A,av],[x.p0,{toRaw:a,source:b}],w.A];return{body:a(i.body,h.body),reasoning:a(i.reasoning,h.reasoning??""),toolLog:a(i.toolLog,h.toolLog)}},[i,h]);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(P.E.Provider,{value:c?i.body:null,children:(0,d.jsx)(t.oz,{remarkPlugins:C.eT,rehypePlugins:j.body,urlTransform:au,components:g,children:h.body})}),null!==h.reasoning&&(0,d.jsx)(al,{blocks:h.reasoningBlocks,children:(0,d.jsx)("div",{"data-search-section":Q.BL,className:"contents",children:(0,d.jsx)(P.E.Provider,{value:c?i.reasoning:null,children:(0,d.jsx)(t.oz,{remarkPlugins:C.eT,rehypePlugins:j.reasoning,urlTransform:au,components:g,children:h.reasoning})})})}),h.toolCalls>0&&(0,d.jsx)(am,{toolCalls:h.toolCalls,children:(0,d.jsx)("div",{"data-search-section":Q.w6,className:"contents",children:(0,d.jsx)(P.E.Provider,{value:c?i.toolLog:null,children:(0,d.jsx)(t.oz,{remarkPlugins:C.eT,rehypePlugins:j.toolLog,urlTransform:au,components:g,children:h.toolLog})})})})]})}),ax=(0,e.memo)(function({message:a,showHeader:b,header:c,onFilePathClick:f,onCopy:h,onInsertToMessage:i,onRetryPending:j,onDiscardPending:k}){var l;let t=(0,g.c)("worktree"),u=(0,g.c)("common"),v="user"===a.role,w=a.optimisticState,x=(0,y.bx)(a.requestId),B=ao(a),C=(0,e.useMemo)(()=>"number"==typeof c?.startedAtMs?new Date(c.startedAtMs):null,[c?.startedAtMs]),D=(0,z.g8)(a.timestamp,C),E=b?"role":c?.variant==="time"?"time":"none",F=(0,e.useMemo)(()=>{var b;return"string"==typeof(b=a.content)?(0,A.aJ)(b):""},[a.content]),G=x?a.content:F,H=(0,e.useMemo)(()=>x?T(a.content):null,[x,a.content]),I=H?H.body.trim().length>0?H.body:null:F,J=H?(l=a.content,H.folded?l:null):null,K=[v?"w-fit rounded-2xl border px-3 py-2 text-sm text-foreground ml-auto max-w-[85%] sm:max-w-[75%] rounded-br-md":ae,v&&"error"===w?"border-danger-border bg-danger-subtle":"",v&&"error"!==w?"border-accent-500/30 bg-accent-500/10":"","sending"===w?"opacity-70":""].filter(Boolean).join(" "),L=x?aj:`${ai} whitespace-pre-wrap`;return(0,d.jsxs)("div",{"data-testid":"chat-message-row","data-role":a.role,"data-row-message-id":a.id,className:[U,a.archived?"opacity-60":""].filter(Boolean).join(" "),children:["role"===E&&(0,d.jsxs)("div",{"data-testid":ag,"data-header-variant":"role",className:["flex flex-wrap items-center gap-x-2 px-1 text-xs text-muted-foreground",v?"justify-end":""].filter(Boolean).join(" "),children:[(0,d.jsx)("span",{className:v?"font-medium text-accent-700 dark:text-accent-400":"font-medium",children:t(v?"conversation.you":"conversation.assistant")}),D&&(0,d.jsx)("span",{"data-testid":ah,children:D})]}),"time"===E&&D&&(0,d.jsxs)("div",{"data-testid":ag,"data-header-variant":"time",role:"separator","aria-label":t("chatTranscript.turnBoundary"),className:"flex w-full items-center gap-2 px-1 pt-2 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{className:"h-px min-w-[1rem] flex-1 bg-border","aria-hidden":"true"}),(0,d.jsx)("span",{"data-testid":ah,className:"shrink-0 whitespace-nowrap",children:D}),(0,d.jsx)("span",{className:"h-px min-w-[1rem] flex-1 bg-border","aria-hidden":"true"})]}),(0,d.jsx)("div",{"data-testid":af,className:K,children:B?(0,d.jsx)(ap,{children:(0,d.jsx)("div",{"data-message-id":a.id,className:L,children:(0,d.jsx)(ar,{content:F,onFilePathClick:f})})}):(0,d.jsx)("div",{"data-message-id":a.id,"data-markdown":x?"true":void 0,className:L,children:x?(0,d.jsx)(aw,{content:a.content,onFilePathClick:f,renderDiagrams:!0}):v?(0,d.jsx)(as,{content:F,onFilePathClick:f}):(0,d.jsx)(ar,{content:F,onFilePathClick:f})})}),(0,d.jsxs)("div",{"data-testid":"chat-message-actions",className:["flex items-center gap-1 px-1",v?"justify-end":""].filter(Boolean).join(" "),children:["sending"===w&&(0,d.jsxs)("span",{"data-testid":"chat-optimistic-sending",className:"flex items-center gap-1 text-xs text-muted-foreground",children:[(0,d.jsx)(m.A,{size:12,className:"animate-spin","aria-hidden":"true"}),(0,d.jsx)("span",{children:t("conversation.sending")})]}),"error"===w&&(0,d.jsxs)("span",{"data-testid":"chat-optimistic-error",className:"flex items-center gap-1 text-xs text-danger-foreground",children:[(0,d.jsx)(n.A,{size:12,"aria-hidden":"true"}),(0,d.jsx)("span",{children:t("conversation.failedToSend")})]}),"error"===w?(0,d.jsxs)(d.Fragment,{children:[j&&(0,d.jsxs)("button",{type:"button","data-testid":"chat-pending-retry",onClick:()=>j(a.id),className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-accent-700 transition-colors hover:bg-muted dark:text-accent-400","aria-label":t("conversation.retrySending"),title:u("retry"),children:[(0,d.jsx)(o.A,{size:12,"aria-hidden":"true"}),u("retry")]}),k&&(0,d.jsxs)("button",{type:"button","data-testid":"chat-pending-discard",onClick:()=>k(a.id),className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-muted-foreground transition-colors hover:bg-muted hover:text-danger-foreground","aria-label":t("conversation.discardMessage"),title:t("conversation.discard"),children:[(0,d.jsx)(p.A,{size:12,"aria-hidden":"true"}),t("conversation.discard")]})]}):(0,d.jsxs)(d.Fragment,{children:[h&&null!==I&&(0,d.jsx)("button",{type:"button","data-testid":"chat-copy-message",onClick:()=>h(I),className:"rounded p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground","aria-label":t("conversation.copyMessage"),title:t("conversation.copy"),children:(0,d.jsx)(q.A,{size:14,"aria-hidden":"true"})}),h&&null!==J&&(0,d.jsxs)("button",{type:"button","data-testid":"chat-copy-full-message",onClick:()=>h(J),className:"flex items-center gap-1 rounded px-1.5 py-1 text-xs leading-none text-muted-foreground transition-colors hover:bg-muted hover:text-foreground","aria-label":t("chatTranscript.copyFull.action"),title:t("chatTranscript.copyFull.title"),children:[(0,d.jsx)(r.A,{size:14,"aria-hidden":"true"}),(0,d.jsx)("span",{children:t("chatTranscript.copyFull.label")})]}),v&&i&&(0,d.jsx)("button",{type:"button","data-testid":"chat-insert-user-message",onClick:()=>i(G),className:"rounded p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-accent-600 dark:hover:text-accent-400","aria-label":t("conversation.insertToMessage"),title:t("conversation.insertToMessage"),children:(0,d.jsx)(s.A,{size:14,"aria-hidden":"true"})})]})]})]})})},49343:(a,b,c)=>{c.d(b,{tY:()=>A,XU:()=>w});var d=c(21124),e=c(38301),f=c(20481),g=c(85351),h=c(11131),i=c(50391),j=c(22631),k=c(7879);let l=/^[^\S\n]*[^\s\u2502\u2503\u2579\u2580][^\n]*?[^\S\n]{8,}esc[^\S\n]*$/m;var m=c(53237);let n={mobile:{storageKey:"commandmate:mobile:opencodeQuickKeysOpen",defaultOpen:!1},desktop:{storageKey:"commandmate:desktop:opencodeQuickKeysOpen",defaultOpen:!0}},o=a=>"boolean"==typeof a;function p(a){return[h.Mx,a]}let q=[{id:"agents",keys:p("a"),notation:"ctrl+x a"},{id:"sessions",keys:p("l"),notation:"ctrl+x l"},{id:"newSession",keys:p("n"),notation:"ctrl+x n"},{id:"models",keys:p("m"),notation:"ctrl+x m"},{id:"themes",keys:p("t"),notation:"ctrl+x t"}],r=[{id:"timeline",keys:p("g"),notation:"ctrl+x g",sessionScoped:!0},{id:"undo",keys:p("u"),notation:"ctrl+x u",sessionScoped:!0},{id:"redo",keys:p("r"),notation:"ctrl+x r",sessionScoped:!0},{id:"compact",keys:p("c"),notation:"ctrl+x c",sessionScoped:!0}],s=[{id:"pageUp",keys:["PageUp"],notation:"pgup"},{id:"pageDown",keys:["PageDown"],notation:"pgdn"},{id:"first",keys:["Home"],notation:"home"},{id:"last",keys:["End"],notation:"end"}],t=[[{id:"agentNext",keys:["Tab"],notation:"tab"},{id:"agentPrev",keys:["BTab"],notation:"shift+tab"},{id:"commands",keys:["C-p"],notation:"ctrl+p"},{id:"variant",keys:["C-t"],notation:"ctrl+t"}],q,r,s],u=[[{id:"commands",keys:["C-p"],notation:"ctrl+p"},{id:"variant",keys:["C-t"],notation:"ctrl+t"}],[{id:"agents",keys:p("a"),notation:"ctrl+x a"},{id:"sessions",keys:p("l"),notation:"ctrl+x l"},{id:"newSession",keys:p("n"),notation:"ctrl+x n"},{id:"models",keys:p("m"),notation:"ctrl+x m"}],s],v={opencode:t,"opencode-v2":u},w=(0,e.memo)(function({worktreeId:a,cliToolId:b,instanceId:c,hasAgentSession:h,onKeysSent:k,compact:l=!1,collapsible:p=!1,layout:q="mobile"}){let r=(0,f.c)("worktree"),{activeKey:s,markPressed:t}=(0,j.t)(),u=(0,i.B)(a,b,c,k),{open:w,toggle:x}=function(a="mobile"){let{storageKey:b,defaultOpen:c}=n[a],{value:d,setValue:f,isAvailable:g}=(0,m.V)({key:b,defaultValue:c,validate:o});return{open:d,toggle:(0,e.useCallback)(()=>f(a=>!a),[f]),isPersistent:g}}(q),y=(0,e.useId)(),z=(0,e.useCallback)(a=>{t(a.id),u([...a.keys])},[t,u]),A=v[b];if(!A)return null;let B=(0,d.jsxs)("div",{className:`@container flex flex-wrap items-center gap-1.5 ${p?"px-1.5 pb-1.5":"py-1.5 bg-muted rounded-lg"}`,id:p?y:void 0,role:"toolbar","aria-label":r("opencodeQuickKeys.toolbarLabel"),"data-testid":"opencode-quick-keys",children:[p?null:(0,d.jsx)("span",{className:"text-xs text-muted-foreground mx-2",children:r("opencodeQuickKeys.caption")}),A.map((a,b)=>(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[b>0?(0,d.jsx)("span",{className:"w-px h-6 bg-border mx-0.5","aria-hidden":"true"}):null,a.map(a=>{let b=r(`opencodeQuickKeys.keys.${a.id}`),c=!0===a.sessionScoped&&!h;return(0,d.jsxs)("button",{type:"button",disabled:c,className:`min-h-[44px] px-3 py-2 text-sm font-medium rounded-md
|
|
6
6
|
border border-border
|
|
7
7
|
focus:outline-none focus:ring-2 focus:ring-ring
|
|
8
8
|
transition-colors duration-75
|
|
9
9
|
disabled:opacity-50 disabled:cursor-not-allowed
|
|
10
|
-
${s===a.id?"bg-accent-500 text-white border-accent-500 scale-95":"bg-surface dark:bg-surface-2 hover:bg-muted active:bg-muted disabled:hover:bg-surface"}`,"aria-label":`${b} (${a.notation})`,title:c?r("opencodeQuickKeys.needsSession",{notation:a.notation}):`${b} — ${a.notation}`,"data-testid":`opencode-quick-key-${a.id}`,onClick:()=>z(a),children:[b,l?null:(0,d.jsx)("span",{className:"ml-1.5 text-xs text-muted-foreground hidden @min-[640px]:inline",children:a.notation})]},a.id)})]},a[0].id))]});return p?(0,d.jsxs)("div",{className:"bg-muted rounded-lg","data-testid":"opencode-quick-keys-disclosure",children:[(0,d.jsxs)("button",{type:"button",className:"w-full min-h-[44px] flex items-center gap-2 px-3 py-2 text-sm font-medium rounded-lg touch-manipulation transition-colors hover:bg-surface-2 active:bg-surface-2 focus:outline-none focus:ring-2 focus:ring-ring","aria-expanded":w,"aria-controls":y,"aria-label":w?r("opencodeQuickKeys.hideKeys"):r("opencodeQuickKeys.showKeys"),"data-testid":"opencode-quick-keys-toggle",onClick:x,children:[(0,d.jsx)(g.A,{className:`w-4 h-4 shrink-0 transition-transform duration-150 ${w?"":"-rotate-90"}`,"aria-hidden":"true"}),(0,d.jsx)("span",{children:r("opencodeQuickKeys.toolbarLabel")}),(0,d.jsx)("span",{className:"ml-auto text-xs text-muted-foreground",children:A.reduce((a,b)=>a+b.length,0)})]}),w?B:null]}):B}),x=["variant","models","commands"];function y(a){return x.map(b=>{let c=a.flat().find(a=>a.id===b);if(!c)throw Error(`OpencodeQuickKeys: unknown model key id ${b}`);return c})}let z={opencode:y(t),"opencode-v2":y(u).map(function(a){return{...a,keys:["Escape",...a.keys]}})},A=(0,e.memo)(function({worktreeId:a,cliToolId:b,frame:c,instanceId:g,onKeysSent:h}){let m=(0,f.c)("worktree"),{activeKey:n,markPressed:o}=(0,j.t)(),p=(0,i.B)(a,b,g,h),q=(0,e.useCallback)(a=>{o(a.id),p([...a.keys])},[o,p]),r=z[b];return r&&("opencode-v2"===b?null!=c&&null!==function(a){let b=l.exec(a);return null===b?null:b[0].trim().replace(/\s+esc$/,"")}((0,k.aJ)(c)):void 0!==z[b])?(0,d.jsxs)("div",{"data-testid":"opencode-model-keys",role:"toolbar","aria-label":m("selectionKeys.opencodeToolbarLabel"),className:"flex flex-wrap items-center gap-1.5 rounded-lg bg-muted px-2 py-1.5",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:m("selectionKeys.opencodeCaption")}),r.map(a=>{let b=m(`opencodeQuickKeys.keys.${a.id}`);return(0,d.jsxs)("button",{type:"button","data-testid":`opencode-model-key-${a.id}`,"aria-label":`${b} (${a.notation})`,title:`${b} — ${a.notation}`,onClick:()=>q(a),className:`min-h-[44px] rounded-md border border-border px-3 py-2 text-sm font-medium transition-colors duration-75 touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring ${n===a.id?"border-accent-500 bg-accent-500 text-white scale-95":"bg-surface hover:bg-muted active:bg-muted dark:bg-surface-2"}`,children:[b,(0,d.jsx)("span",{className:"ml-1.5 text-xs text-muted-foreground",children:a.notation})]},a.id)})]}):null})},50082:(a,b,c)=>{c.d(b,{GV:()=>D,rS:()=>E,nY:()=>z});var d=c(15457);let e=String.raw`←\s*(?:[☐☒☑][^←→☐☒☑✔]*)+✔\s*Submit\s*→`,f=RegExp(`^${e}\\s*`);RegExp(`^\\s?${e}$`);let g=new Set(["question","permission","confirmation","menu","unknown"]),h=new Set(["question","confirmation"]),i=new Set(["complete","truncated","top-unknown","not-measured"]),j=new Set(["history-start","clipped","screen-start","screen-full"]),k=new Set(["confirm-page-reader","question-picker-chrome","ask-user-question-payload","permission-option-effect","yes-no-pattern"]);function l(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}function m(a){return"number"==typeof a&&Number.isInteger(a)&&a>=0}let n=/\s*Ready to submit your answers\?\s*$/,o=/^Review your answers\s*/,p=/●\s*([^●→]+)/g,q=/^submit answers$/i,r=/^cancel$/i,s={human:5,auto:4,terminal:3,pending:2,unclassified:1,unknown:0};function t(a){return"object"==typeof a&&null!==a?a:null}function u(a,b){let c=a?.[b];return"string"==typeof c?c:""}function v(a){if(!Array.isArray(a))return[];let b=[];for(let c of a){if("string"==typeof c){b.push(c);continue}let a=u(t(c),"label");a&&b.push(a)}return b}function w(a){return a.replace(/\s+/g," ").trim()}function x(a){return a.length<=160?a:`${a.slice(0,159).trimEnd()}…`}function y(a){return w(a).replace(f,"").trim()}function z(a){return a?.messageType==="prompt"}function A(a){let b=a?.summary;return"string"==typeof b&&b.startsWith("PermissionRequest allow")}function B(a){return{...a,messageIds:[...a.messageIds],reviewQuestions:[...a.reviewQuestions]}}function C(a,b,c){if(a<=0||b<=0)return!1;let d=b-a;return d>=0&&d<=c}function D(a,b={}){let{windowMs:c=5e3,runIds:e}=b;return function(a,b=5e3){let c=[];for(let d of a){if("question"===d.kind){let a=c[c.length-1];if("confirmation"===d.phase){if(a&&"question"===a.kind&&"question"===a.phase&&a.scopeKey===d.scopeKey&&a.runId===d.runId&&""!==a.questionText&&d.reviewQuestions.includes(a.questionText)&&C(a.timestampMs,d.timestampMs,b)){a.messageIds.push(...d.messageIds),a.confirmationOutcome=d.outcome;continue}c.push(B(d));continue}if(a&&"question"===a.kind&&"question"===a.phase&&""!==d.mergeKey&&a.mergeKey===d.mergeKey&&a.runId===d.runId&&C(a.timestampMs,d.timestampMs,b)){a.messageIds.push(...d.messageIds),a.label||(a.label=d.label),s[d.outcome]>s[a.outcome]&&(a.outcome=d.outcome);continue}c.push(B(d));continue}let a=d.mergeKey?c.find(a=>"approval"===a.kind&&a.mergeKey===d.mergeKey&&Math.abs(d.timestampMs-a.timestampMs)<=b):void 0;if(!a){c.push(B(d));continue}a.messageIds.push(...d.messageIds),a.isPermissionAudit=a.isPermissionAudit||d.isPermissionAudit,a.label||(a.label=d.label),s[d.outcome]>s[a.outcome]&&(a.outcome=d.outcome)}return c}(a.map(a=>(function(a,b=0){let c,e,f=t(a.promptData),s=A(a),z=u(f,"question"),B=u(f,"approvalTarget"),C=u(f,"answeredBy"),D=u(f,"status"),E=u(f,"type"),F="string"==typeof a.summary?a.summary:"",G=function(a,b){let c=y(a),d=n.test(c),e=v(b),f=c.replace(n,"").replace(o,"").trim();return{hasTail:d,hasSubmitOptions:e.some(a=>q.test(a.trim()))&&e.some(a=>r.test(a.trim())),reviewQuestions:[...f.matchAll(p)].map(a=>(a[1]??"").trim()).filter(a=>a.length>0)}}(z,f?.options),{kind:H,phase:I,classifiedFrom:J}=function(a,b,c){if(A(a))return{kind:"approval"};let d=function(a){if(!l(a))return null;let b=a.reading;if(!l(b)||1!==b.version)return null;let c=b.kind;if(!g.has(c))return null;let d=b.phase,e="question"===c||"confirmation"===c;if(void 0!==d&&(!e||!h.has(d)))return null;let f=b.approvalTarget;if(!i.has(f))return null;let n=b.evidence;if(!Array.isArray(n)||!n.every(a=>k.has(a)))return null;let o=b.captureTop;if(void 0!==o&&!j.has(o))return null;let p=b.liveRange;return void 0===p||l(p)&&m(p.startRow)&&m(p.endRow)?{version:1,kind:c,...void 0!==d?{phase:d}:{},...l(p)?{liveRange:{startRow:p.startRow,endRow:p.endRow}}:{},approvalTarget:f,...void 0!==o?{captureTop:o}:{},evidence:[...n]}:null}(b);return null!==d?{...function(a){switch(a.kind){case"confirmation":return{kind:"question",phase:"confirmation"};case"question":return{kind:"question",phase:a.phase??"question"};case"permission":case"menu":case"unknown":return{kind:"approval"}}}(d),classifiedFrom:"reading"}:b?.isAskUserQuestion===!0?{kind:"question",phase:c.hasTail||c.hasSubmitOptions?"confirmation":"question"}:c.hasTail&&(c.hasSubmitOptions||c.reviewQuestions.length>0)?{kind:"question",phase:"confirmation"}:{kind:"approval"}}(a,f,G);c=s?"auto":"auto"===C||"human"===C||"terminal"===C?C:""!==E&&(0,d.ds)({...f,type:E})?.kind==="unreadable"||"unclassified"===D?"unclassified":"pending"===D?"pending":"unknown";let K=function(a){let b="string"==typeof a.cliToolId&&a.cliToolId?a.cliToolId:"claude",c="string"==typeof a.instanceId&&a.instanceId?a.instanceId:b;return JSON.stringify(["string"==typeof a.worktreeId?a.worktreeId:"",b,c])}(a),L="question"===H&&"question"===I,M=L?y(z):"",N="question"===H&&"confirmation"===I&&1===G.reviewQuestions.length?G.reviewQuestions[0]:"";e="question"===H?x(L?M:N):x(w(z||F));let O="";if(L){let a=t(f?.askUserQuestion),b="number"==typeof a?.questionIndex?a.questionIndex:null;O=M?JSON.stringify(["question",K,M,b,v(f?.options)]):""}else"approval"===H&&(O=z?JSON.stringify([z,B]):"");return{id:a.id,messageIds:[a.id],label:e,outcome:c,isPermissionAudit:s,timestampMs:function(a){if(a instanceof Date){let b=a.getTime();return Number.isFinite(b)?b:0}if("string"==typeof a||"number"==typeof a){let b=new Date(a).getTime();return Number.isFinite(b)?b:0}return 0}(a.timestamp),mergeKey:O,kind:H,...I?{phase:I}:{},questionText:M,reviewQuestions:G.reviewQuestions,scopeKey:K,runId:b,...J?{classifiedFrom:J}:{}}})(a,e?.get(a.id)??0)),c)}function E(a){let b=0,c=0,d=0;for(let e of a)"question"!==e.kind?b+=1:"confirmation"===e.phase?d+=1:c+=1;return{approvals:b,questions:c,confirmations:d,total:a.length}}},50391:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(38301),e=c(58970);function f(a,b,c,f){return(0,d.useCallback)(d=>{let g=c&&c!==b?{cliToolId:b,keys:d,instanceId:c}:{cliToolId:b,keys:d};fetch(`/api/worktrees/${encodeURIComponent(a)}/special-keys`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(g)}).then(()=>{f&&setTimeout(f,e.LK)}).catch(a=>{console.error("Failed to send special keys:",a)})},[a,b,c,f])}},51919:(a,b,c)=>{c.d(b,{J_:()=>e,WK:()=>f});let d=["default","manual","accept-edits","plan","auto","autopilot","bypass","dont-ask","build"],e="unknown";function f(a){return d.includes(a)}},52935:(a,b,c)=>{c.d(b,{LN:()=>n,_u:()=>o,bC:()=>q,wd:()=>p});var d=c(21124),e=c(38301),f=c(20481),g=c(11131),h=c(30872),i=c(50391),j=c(22631);let k=[{key:"1",label:"1",ariaLabel:"Send 1"},{key:"2",label:"2",ariaLabel:"Send 2"},{key:"3",label:"3",ariaLabel:"Send 3"},{key:"4",label:"4",ariaLabel:"Send 4"},{key:"5",label:"5",ariaLabel:"Send 5"},{key:"6",label:"6",ariaLabel:"Send 6"},{key:"7",label:"7",ariaLabel:"Send 7"},{key:"8",label:"8",ariaLabel:"Send 8"},{key:"9",label:"9",ariaLabel:"Send 9"}],l=[{key:"y",label:"y",ariaLabel:"Send y"},{key:"n",label:"n",ariaLabel:"Send n"},{key:"Enter",label:"↵",ariaLabel:"Send Enter"}],m="Escape";function n({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:g}){let h=(0,f.c)("worktree"),{activeKey:m,markPressed:n}=(0,j.t)(),o=(0,i.B)(a,b,c,g),p=(0,e.useCallback)(a=>{n(a),o([a])},[n,o]);return(0,d.jsxs)("div",{"data-testid":"prompt-answer-keys",role:"toolbar","aria-label":h("promptAnswerKeys.toolbarLabel"),className:"flex flex-wrap items-center gap-1.5 rounded-lg bg-muted px-2 py-1.5",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:h("promptAnswerKeys.caption")}),[...k,...l].map(({key:a,label:b,ariaLabel:c})=>(0,d.jsx)("button",{type:"button","data-testid":`prompt-answer-key-${a}`,"aria-label":c,onClick:()=>p(a),className:`min-h-[44px] min-w-[44px] rounded-md border border-border px-3 py-2 text-sm font-medium transition-colors duration-75 touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring ${m===a?"border-accent-500 bg-accent-500 text-white scale-95":"bg-surface hover:bg-muted active:bg-muted dark:bg-surface-2"}`,children:b},a))]})}function o({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:g,optionCount:l}){let m=(0,f.c)("worktree"),{activeKey:n,markPressed:o}=(0,j.t)(),p=(0,i.B)(a,b,c,g),q=(0,e.useMemo)(()=>{let a=Math.min(Math.trunc(l),h.$H);return!Number.isFinite(a)||a<1?[]:k.slice(0,a)},[l]),r=(0,e.useCallback)(a=>{o(a),p([a])},[o,p]);return 0===q.length?null:(0,d.jsxs)("div",{"data-testid":"selection-number-keys","data-option-count":String(q.length),role:"toolbar","aria-label":m("selectionKeys.numbersToolbarLabel"),className:"flex flex-wrap items-center gap-1.5 rounded-lg bg-muted px-2 py-1.5",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:m("selectionKeys.numbersCaption")}),q.map(({key:a,label:b,ariaLabel:c})=>(0,d.jsx)("button",{type:"button","data-testid":`selection-number-key-${a}`,"aria-label":c,onClick:()=>r(a),className:`min-h-[44px] min-w-[44px] rounded-md border border-border px-3 py-2 text-sm font-medium transition-colors duration-75 touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring ${n===a?"border-accent-500 bg-accent-500 text-white scale-95":"bg-surface hover:bg-muted active:bg-muted dark:bg-surface-2"}`,children:b},a))]})}function p({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:h,commitsDefaultOnEnter:k}){let l=(0,f.c)("worktree"),{activeKey:m,markPressed:n}=(0,j.t)(),o=(0,i.B)(a,b,c,h),p=(0,e.useCallback)(a=>{n(a),o([a])},[n,o]);return(0,d.jsxs)("div",{"data-testid":"selection-commit-keys",role:"toolbar","aria-label":l("selectionKeys.commitToolbarLabel"),className:"flex flex-wrap items-center gap-1.5 rounded-lg bg-muted px-2 py-1.5",children:[(0,d.jsx)("button",{type:"button","data-testid":"selection-commit-session","aria-label":l("selectionKeys.sessionOnlyAria"),title:l("selectionKeys.sessionOnlyAria"),onClick:()=>p(g.mE),className:`min-h-[44px] rounded-md border px-3 py-2 text-sm font-medium transition-colors duration-75 touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring ${m===g.mE?"border-accent-500 bg-accent-500 text-white scale-95":"border-accent-500 bg-surface text-accent-600 hover:bg-muted active:bg-muted dark:bg-surface-2 dark:text-accent-400"}`,children:l("selectionKeys.sessionOnly")}),(0,d.jsx)("button",{type:"button","data-testid":"selection-commit-default","aria-label":l("selectionKeys.setDefaultAria"),title:l("selectionKeys.setDefaultAria"),onClick:()=>p("Enter"),className:`min-h-[44px] rounded-md border border-border px-3 py-2 text-sm font-medium transition-colors duration-75 touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring ${"Enter"===m?"border-accent-500 bg-accent-500 text-white scale-95":"bg-surface hover:bg-muted active:bg-muted dark:bg-surface-2"}`,children:l("selectionKeys.setDefault")}),k?(0,d.jsx)("p",{"data-testid":"selection-commit-warning",className:"w-full text-xs text-muted-foreground",children:l("selectionKeys.defaultWarning")}):null]})}function q({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:g}){let h=(0,f.c)("worktree"),{activeKey:k,markPressed:l}=(0,j.t)(),n=(0,i.B)(a,b,c,g),o=(0,e.useCallback)(()=>{l(m),n([m])},[l,n]);return(0,d.jsx)("div",{"data-testid":"dismiss-panel-keys",role:"toolbar","aria-label":h("dismissPanelKeys.toolbarLabel"),className:"flex flex-wrap items-center gap-1.5 rounded-lg bg-muted px-2 py-1.5",children:(0,d.jsx)("button",{type:"button","data-testid":"dismiss-panel-key-Escape","aria-label":h("dismissPanelKeys.closeAria"),title:h("dismissPanelKeys.closeAria"),onClick:o,className:`min-h-[44px] rounded-md border px-3 py-2 text-sm font-medium transition-colors duration-75 touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring ${k===m?"border-accent-500 bg-accent-500 text-white scale-95":"border-accent-500 bg-surface text-accent-600 hover:bg-muted active:bg-muted dark:bg-surface-2 dark:text-accent-400"}`,children:h("dismissPanelKeys.close")})})}[...k.map(a=>a.key),...l.map(a=>a.key)]},54228:(a,b,c)=>{c.d(b,{Fx:()=>g,Uq:()=>i,bg:()=>h,fw:()=>f,g8:()=>j});var d=c(58569),e=c(71256);function f(a,b){let c=new Date(a);return isNaN(c.getTime())?"":(0,d.m)(c,{addSuffix:!0,...b?{locale:b}:{}})}function g(a){let b=new Date(a);if(isNaN(b.getTime()))return"";let c=Math.round((Date.now()-b.getTime())/1e3);if(c<45)return"now";let d=Math.round(c/60);if(d<60)return`${d}m ago`;let e=Math.round(d/60);if(e<24)return`${e}h ago`;let f=Math.round(e/24);return f<7?`${f}d ago`:f<30?`${Math.round(f/7)}w ago`:f<365?`${Math.round(f/30)}mo ago`:`${Math.round(f/365)}y ago`}function h(a,b){return!(a instanceof Date)||isNaN(a.getTime())?"":(0,e.GP)(a,"PPp",b?{locale:b}:void 0)}function i(a,b=new Date){if(!(a instanceof Date)||isNaN(a.getTime()))return"";let c=b instanceof Date&&!isNaN(b.getTime())?b:new Date,d=a.getFullYear()===c.getFullYear()&&a.getMonth()===c.getMonth()&&a.getDate()===c.getDate();return(0,e.GP)(a,d?"HH:mm":"M/d HH:mm")}function j(a,b,c=new Date){if(!l(a))return"";let d=l(c)?c:new Date,f=l(b)?b:null,g=m(a,d)&&(null===f||m(f,d)&&m(f,a))?"HH:mm":"M/d HH:mm",h=(0,e.GP)(a,g);if(null===f)return h;let i=(0,e.GP)(f,g);return i===h?h:`${i}${k}${h}`}let k=" → ";function l(a){return a instanceof Date&&!isNaN(a.getTime())}function m(a,b){return a.getFullYear()===b.getFullYear()&&a.getMonth()===b.getMonth()&&a.getDate()===b.getDate()}},55948:(a,b,c)=>{c.d(b,{h:()=>k,z:()=>i});var d=c(82620);let e=/^(https?|mailto|tel|file):/i,f=/^[a-zA-Z][a-zA-Z0-9+.-]*:/,g=/^file:\/\/(localhost)?/i,h=/:\d+(?::\d+)?$/;function i(a){let b=(0,d.d3)(a.trim());return b?b.startsWith("#")?"anchor":g.test(b)?"file":f.test(b)&&!e.test(b)?null:"external"===(0,d.dj)(b)?"external":"file":null}function j(a){let b=[];for(let c of a.split("/"))if(""!==c&&"."!==c){if(".."===c){b.pop();continue}b.push(c)}return b.join("/")}function k(a,b){var c;if("file"!==i(a))return null;let d=(function(a){try{return decodeURIComponent(a)}catch{return a}})((function(a){let b=a.indexOf("#");return -1===b?a:a.slice(0,b)})(a.trim().replace(g,"")).replace(h,"")).trim();if(!d)return null;if(!d.startsWith("/"))return j(d)||null;let e=b?(c=b.trim()).length>1&&c.endsWith("/")?c.replace(/\/+$/,""):c:"";return e&&e.startsWith("/")?d===e?null:d.startsWith(`${e}/`)?j(d.slice(e.length+1))||null:d:d}},56308:(a,b,c)=>{c.d(b,{Md:()=>g});var d=c(38301),e=c(74930);c(12055);var f=c(89983);function g({worktreeId:a,cliToolId:b,instanceId:c,limit:g,includeArchived:h=!1,enabled:i=!0,cadence:j=f.tC}){let[k,l]=(0,d.useState)([]),[m,n]=(0,d.useState)(!0),{connected:o,subscribe:p,unsubscribe:q,addListener:r}=(0,e.xM)(),s=c??b,t=(0,d.useRef)(0),u=(0,d.useRef)(b);u.current=b;let v=(0,d.useRef)(s);v.current=s,(0,d.useRef)(g).current=g,(0,d.useRef)(h).current=h;let w=(0,d.useRef)(new Map),x=(0,d.useRef)(!1),y=(0,d.useCallback)(async()=>{let c=++t.current,d=new Map;w.current=d;let e=()=>!x.current||t.current!==c||u.current!==b||v.current!==s;try{let c=new URLSearchParams({cliTool:b,instance:s,unit:"pairs"});void 0!==g&&c.set("limit",String(g)),h&&c.set("includeArchived","true");let f=await fetch(`/api/worktrees/${a}/messages?${c.toString()}`);if(!f.ok)return;let i=await f.json();if(e())return;let j=i.map(a=>({...a,timestamp:new Date(a.timestamp)}));for(let a of d.values())j=function(a,b,c){let d=a.findIndex(a=>a.id===b.id),e=[...a];d>=0?e[d]=b:e.push(b);var f=[...e].sort((a,b)=>a.timestamp.getTime()-b.timestamp.getTime());if(void 0===c||c<1)return f;let g=f.filter(a=>"user"===a.role).map(a=>a.timestamp.getTime()).sort((a,b)=>b-a);if(g.length<=c)return f;let h=g[c-1];return f.filter(a=>a.timestamp.getTime()>=h)}(j,a,g);w.current===d&&(w.current=new Map),l(j),n(!1)}catch(a){if(e())return;console.error("[useSplitMessages] fetch error:",a),n(!1)}},[a,b,s,g,h]),z=`${a}::${b}::${s}`;return(0,d.useRef)(z),{messages:k,isLoading:m,refresh:(0,d.useCallback)(()=>y(),[y])}}f.tC.pollMs,f.tC.wsFallbackMs},59581:(a,b,c)=>{function d(a){return"running"===a||"generating"===a||"waiting"===a}function e(a,b){return 0===a.length?null:b&&a.some(a=>a.id===b)?b:a[0].id}function f(a,b){return a.map((a,b)=>({it:a,index:b})).filter(({it:a})=>!b(a.item)).sort((a,b)=>Number("waiting"===b.it.status)-Number("waiting"===a.it.status)||a.index-b.index).map(({it:a})=>a)}function g(a){return a.filter(a=>"waiting"===a.status).length}c.d(b,{Qo:()=>d,XV:()=>f,dW:()=>g,sI:()=>e})},63121:(a,b,c)=>{c.d(b,{BL:()=>h,Hc:()=>j,kP:()=>k,w6:()=>i});var d=c(28232),e=c(98882),f=c(91075),g=c(46332);let h="chat-reasoning",i="chat-tool-log";function j(a){let b=(0,e.h)(a),c=0,f=[];b.prose!==a&&(a.startsWith(b.prose)?f.push({key:i,ranges:[{start:b.prose.length,end:a.length}]}):f.push({key:i,ranges:[{start:0,end:c=a.length-b.prose.length}]}));let g=function(a,b){if(!a.includes(d.bJ))return[];let c=(0,d.Lx)(a);if(null===c.reasoning||!c.lineRanges)return[];let e=a.split("\n"),f=[],g=b,h=e.map(a=>{let b=g;return g+=a.length+1,b});for(let[a,b]of c.lineRanges)for(let c=a;c<b;c++)f.push({start:h[c],end:h[c]+e[c].length+1});return f}(b.prose,c);return g.length>0&&f.push({key:h,ranges:g}),f}function k(a,b){if(!b.folded)return{body:f.Wo,reasoning:null,toolLog:null};let c=j(a),h=(0,e.h)(a),k=a.startsWith(h.prose)?0:a.length-h.prose.length,l=[],m=k;for(let a of h.prose.split("\n"))l.push(m),m+=a.length+1;let n=(0,d.Oy)(h.prose),o=a=>a.map(a=>({text:a.text,rawStart:null===a.line?null:l[a.line]+a.column}));return{body:(0,g.v5)(b.body,o(n.body)),reasoning:null===b.reasoning?null:(0,g.v5)(b.reasoning,o(n.reasoning)),toolLog:b.toolCalls>0?(0,f.Ad)(b.toolLog,a,c.find(a=>a.key===i)?.ranges??[]):null}}},65468:(a,b,c)=>{c.d(b,{QN:()=>k,Qu:()=>j,bx:()=>h});let d="claude-turn:",e="antigravity-turn:",f="command-code-turn:",g=["oc-turn:",d,"codex-turn:",e,f];function h(a){return"string"==typeof a&&g.some(b=>a.startsWith(b))}let i=[[d,"claude-prompt:"],[e,"antigravity-prompt:"],[f,"command-code-prompt:"]];function j(a){if("string"!=typeof a)return null;for(let b of g)if(a.startsWith(b))return 0===a.slice(b.length).trim().length?null:a;return null}function k(a){for(let[b,c]of i){if(!a.startsWith(b))continue;let d=a.slice(b.length);return 0===d.trim().length?null:`${c}${d}`}return null}},67471:(a,b,c)=>{c.d(b,{v4:()=>f});var d=c(38301);function e(a){let b=new Set;for(let c of a)"user"===c.role&&b.add(c.id);return b}function f({worktreeId:a,serverMessages:b,sendFn:c,onSent:f,timeoutMs:g=3e4,connectivity:h,resendGraceMs:i=250}){let[j,k]=(0,d.useState)([]),l=h?.offline??!1;h?.reachable;let m=(0,d.useRef)(b);m.current=b;let n=(0,d.useRef)(j);n.current=j;let o=(0,d.useRef)(f);o.current=f;let p=(0,d.useRef)(c);p.current=c;let q=(0,d.useRef)(l);q.current=l;let r=(0,d.useRef)(0),s=(0,d.useRef)(new Map),t=(0,d.useRef)(new Set),u=(0,d.useRef)(new Set);(0,d.useRef)(new Set);let v=(0,d.useCallback)(a=>{let b=s.current.get(a);void 0!==b&&(clearTimeout(b),s.current.delete(a))},[]),w=(0,d.useCallback)(a=>{v(a),k(b=>b.map(b=>b.tempId!==a||"sending"!==b.status?b:q.current&&!b.autoResendAttempted?b.queued?b:{...b,queued:!0}:{...b,status:"error",queued:!1}))},[v]),x=(0,d.useCallback)(a=>{v(a);let b=setTimeout(()=>{s.current.delete(a),w(a)},g);s.current.set(a,b)},[v,w,g]),y=(0,d.useCallback)(async a=>{x(a.tempId),t.current.add(a.tempId);try{await p.current(a.content,a.options),k(b=>b.map(b=>b.tempId!==a.tempId||b.accepted?b:{...b,accepted:!0})),o.current?.()}catch{w(a.tempId)}finally{t.current.delete(a.tempId)}},[x,w]),z=(0,d.useCallback)((a,b)=>{let c={tempId:`pending-${r.current++}`,content:a,options:b,timestamp:new Date,status:"sending",baselineUserIds:e(m.current),queued:!1,accepted:!1,autoResendAttempted:!1};k(a=>[...a,c]),y(c)},[y]),A=(0,d.useCallback)(a=>{let b=n.current.find(b=>b.tempId===a);if(!b)return;let c={...b,status:"sending",timestamp:new Date,baselineUserIds:e(m.current),queued:!1,accepted:!1,autoResendAttempted:!1};k(b=>b.map(b=>b.tempId===a?c:b)),y(c)},[y]),B=(0,d.useCallback)(a=>{let b=n.current.find(b=>b.tempId===a);return v(a),t.current.delete(a),k(b=>b.filter(b=>b.tempId!==a)),b?.content},[v]);(0,d.useRef)(!1);let[C,D]=(0,d.useState)(0),[E,F]=(0,d.useState)(0);return(0,d.useRef)(i).current=i,j.reduce((a,b)=>b.queued&&"sending"===b.status?a+1:a,0),{messages:(0,d.useMemo)(()=>{if(0===j.length)return b;let{reconciledTempIds:c}=function(a,b,c){let d=new Set,e=new Set,f=a.filter(a=>"sending"===a.status);if(0===f.length)return{reconciledTempIds:d,consumedServerIds:e};let g=b.filter(a=>"user"===a.role&&!c.has(a.id)).sort((a,b)=>a.timestamp.getTime()-b.timestamp.getTime()),h=new Set;for(let a of[...f].sort((a,b)=>a.timestamp.getTime()-b.timestamp.getTime())){let b=g.find(b=>!h.has(b.id)&&!a.baselineUserIds.has(b.id)&&b.content===a.content);b&&(h.add(b.id),d.add(a.tempId),e.add(b.id))}return{reconciledTempIds:d,consumedServerIds:e}}(j,b,u.current),d=j.filter(a=>!c.has(a.tempId)).map(b=>({id:b.tempId,worktreeId:a,role:"user",content:b.content,timestamp:b.timestamp,messageType:"normal",archived:!1,cliToolId:b.options.cliToolId,instanceId:b.options.instanceId,optimisticState:b.status}));return 0===d.length?b:[...b,...d]},[b,j,a]),pending:j,sendOptimistic:z,retry:A,discard:B}}},68779:(a,b,c)=>{c.d(b,{AO:()=>e.A,OS:()=>g,PD:()=>h});var d=c(51919),e=c(43108),f=c(7879);function g(a,b){let c=(0,e.h)(a);if(null===c)return d.J_;var g=b??"";if(""===g)return d.J_;let h=function(a,b){let c=a.split("\n"),d=[];for(let a=c.length-1;a>=0&&d.length<b;a--){let b=(0,f.aJ)(c[a]??"");""!==b.trim()&&d.push(b)}return d.reverse()}(g,c.tailRows);if(0===h.length)return d.J_;for(let a of c.indicators)if(h.some(b=>a.pattern.test(b)))return a.mode;return d.J_}function h(a){return"string"==typeof a&&(0,d.WK)(a)}},70107:(a,b,c)=>{c.d(b,{f:()=>k});var d=c(21124),e=c(38301),f=c(20481);let g=["relative","flex-shrink-0","bg-border","transition-colors","duration-150","hover:bg-accent-500","dark:hover:bg-accent-500","focus:outline-none","focus:ring-2","focus:ring-ring","focus:ring-offset-2","focus:ring-offset-background"],h=["w-1","h-full","cursor-col-resize","before:content-['']","before:absolute","before:inset-y-0","before:-inset-x-1"],i=["h-1","w-full","cursor-row-resize","before:content-['']","before:absolute","before:inset-x-0","before:-inset-y-1"];function j(a,b){return"touches"in a&&a.touches.length>0?b?a.touches[0].clientX:a.touches[0].clientY:"clientX"in a?b?a.clientX:a.clientY:0}let k=(0,e.memo)(function({onResize:a,orientation:b="horizontal",ariaValueNow:c=50,onDoubleClick:k,minRatio:l=.1,ariaLabel:m}){let n=(0,f.c)("worktree"),[o,p]=(0,e.useState)(!1),q=(0,e.useRef)(0),r=(0,e.useRef)(null),s="horizontal"===b,t=(0,e.useCallback)(a=>{a.preventDefault(),p(!0),q.current=j(a,s)},[s]),u=(0,e.useCallback)(a=>{1===a.touches.length&&(p(!0),q.current=j(a,s))},[s]),v=(0,e.useCallback)(b=>{if(!o)return;let c=j(b,s);a(c-q.current),q.current=c},[o,s,a]),w=(0,e.useCallback)(b=>{if(!o||1!==b.touches.length)return;let c=j(b,s);a(c-q.current),q.current=c},[o,s,a]),x=(0,e.useCallback)(()=>{p(!1)},[]),y=(0,e.useCallback)(()=>{k&&k()},[k]),z=(0,e.useCallback)(b=>{let c=0;s?"ArrowRight"===b.key?c=10:"ArrowLeft"===b.key&&(c=-10):"ArrowDown"===b.key?c=10:"ArrowUp"===b.key&&(c=-10),0!==c&&(b.preventDefault(),a(c))},[s,a]);(0,e.useEffect)(()=>(o&&(document.addEventListener("mousemove",v),document.addEventListener("mouseup",x),document.addEventListener("touchmove",w),document.addEventListener("touchend",x),document.body.style.userSelect="none",document.body.style.cursor=s?"col-resize":"row-resize"),()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",x),document.removeEventListener("touchmove",w),document.removeEventListener("touchend",x),document.body.style.userSelect="",document.body.style.cursor=""}),[o,v,x,w,s]);let A=(0,e.useMemo)(()=>[...g,...s?h:i,...o?["bg-accent-500","dark:bg-accent-500","dragging",s?"w-2":"h-2"]:[]].join(" "),[s,o]);return(0,d.jsx)("div",{ref:r,role:"separator","aria-orientation":b,"aria-valuenow":c,"aria-valuemin":0,"aria-valuemax":100,"aria-label":m??n("paneResizer.label",{arrows:n(s?"paneResizer.arrowsHorizontal":"paneResizer.arrowsVertical")}),tabIndex:0,className:A,onMouseDown:t,onTouchStart:u,onKeyDown:z,onDoubleClick:y})})},75071:(a,b,c)=>{c.d(b,{F5:()=>j,Fg:()=>e,HB:()=>g,Hv:()=>i,df:()=>h});let d=[".png",".jpg",".jpeg",".gif",".webp",".svg"],e=0x1400000,f=[{extension:".png",mimeType:"image/png",magicBytes:[137,80,78,71]},{extension:".jpg",mimeType:"image/jpeg",magicBytes:[255,216,255]},{extension:".jpeg",mimeType:"image/jpeg",magicBytes:[255,216,255]},{extension:".gif",mimeType:"image/gif",magicBytes:[71,73,70,56]},{extension:".webp",mimeType:"image/webp",magicBytes:[82,73,70,70]},{extension:".svg",mimeType:"image/svg+xml"}];function g(a){return a?a.startsWith(".")?a.toLowerCase():"."+a.toLowerCase():""}function h(a){if(!a)return!1;let b=g(a);return d.includes(b)}let i=d.filter(a=>".svg"!==a),j=i.map(a=>(function(a){let b=g(a),c=f.find(a=>a.extension===b);return c?.mimeType||"application/octet-stream"})(a)).filter(a=>"application/octet-stream"!==a).join(",")},77478:(a,b,c)=>{c.d(b,{E2:()=>h,F0:()=>f,Yr:()=>i,e1:()=>g});var d=c(38301),e=c(91075);let f=500,g=300,h=2;function i({output:a,containerRef:b}){let[c,i]=(0,d.useState)(!1),[j,k]=(0,d.useState)(""),[l,m]=(0,d.useState)([]),[n,o]=(0,d.useState)(0),[p,q]=(0,d.useState)(!1),r=(0,d.useRef)(null),s=(0,d.useRef)(""),t=l.length,u=(0,d.useCallback)(a=>{if(a.length<h||!b.current)return{positions:[],capped:!1};let c=(b.current.textContent??"").toLowerCase(),d=a.toLowerCase(),e=[],g=0;for(;e.length<f;){let b=c.indexOf(d,g);if(-1===b)break;e.push({start:b,end:b+a.length}),g=b+1}let i=e.length>=f&&-1!==c.indexOf(d,g);return{positions:e,capped:i}},[b]),v=(0,d.useCallback)(a=>{let{positions:c,capped:d}=u(a);m(c),o(0),q(d),b.current&&(c.length>0?(0,e.aX)(b.current,c,0):(0,e.HI)())},[u,b]),w=(0,d.useCallback)(a=>{k(a),r.current&&clearTimeout(r.current),s.current=a,r.current=setTimeout(()=>{v(a)},g)},[v]),x=(0,d.useCallback)(()=>{i(!0)},[]),y=(0,d.useCallback)(()=>{i(!1),k(""),s.current="",m([]),o(0),q(!1),r.current&&clearTimeout(r.current),(0,e.HI)()},[]),z=(0,d.useCallback)(()=>{0!==t&&o(a=>{let c=(a+1)%t;return b.current&&l.length>0&&(0,e.aX)(b.current,l,c),c})},[t,l,b]),A=(0,d.useCallback)(()=>{0!==t&&o(a=>{let c=(a-1+t)%t;return b.current&&l.length>0&&(0,e.aX)(b.current,l,c),c})},[t,l,b]);return{isOpen:c,query:j,matchCount:t,currentIndex:n,isAtMaxMatches:p,openSearch:x,closeSearch:y,setQuery:w,nextMatch:z,prevMatch:A}}},79695:(a,b,c)=>{c.d(b,{M:()=>g});var d=c(94637),e=c(16620);let f={en:e.c,ja:d.ja};function g(a){return f[a]??e.c}},80132:(a,b,c)=>{c.d(b,{Cb:()=>g,l6:()=>f});var d=c(38301);function e(a){if("string"==typeof a)return a.trim();if(null!==a&&"object"==typeof a&&"label"in a){let b=a.label;return"string"==typeof b?b.trim():null}return null}function f(a){if(null===a||"object"!=typeof a||!Array.isArray(a.options)||0===a.options.length)return null;let b=a.options.map(e);return JSON.stringify(["string"==typeof a.type?a.type.trim():"","string"==typeof a.question?a.question.trim():"",...b])}function g({promptData:a,targetKey:b}){let[c,e]=(0,d.useState)(0),g=(0,d.useRef)(null),h=(0,d.useRef)(null),i=(0,d.useRef)(null),j=(0,d.useCallback)(()=>{null!==i.current&&(clearTimeout(i.current),i.current=null)},[]);(0,d.useCallback)(()=>{j(),g.current=null,h.current=null,e(0)},[j]),(0,d.useRef)(b);let k=(0,d.useRef)(a);return k.current=a,{displayCount:c,showStuckHint:c>=3,markSubmitted:(0,d.useCallback)(()=>{h.current=f(k.current)??g.current},[])}}},82258:(a,b,c)=>{c.d(b,{ED:()=>e,ZJ:()=>d,yi:()=>f});let d=1048576,e="[... 古い出力を省略しました / older output truncated ...]",f=65536},82620:(a,b,c)=>{c.d(b,{WU:()=>f,d3:()=>g,dj:()=>e,uO:()=>h});var d=c(46831);function e(a){return a.startsWith("#")?"anchor":a.startsWith("http://")||a.startsWith("https://")||a.startsWith("mailto:")||a.startsWith("tel:")?"external":"relative"}function f(a,b){if(!b)return null;let c=a.substring(0,a.lastIndexOf("/")+1);try{let a=new URL(c,"file:///"),d=new URL(b,a),e=decodeURIComponent(d.pathname);if(e.startsWith("/")){let a=e.substring(1);if(a.length>0)return a}}catch{}return null}function g(a){return!a||0===a.length||a.length>2048||/[\x00-\x1f\x7f]/.test(a)?null:a}let h={...d.j,attributes:{...d.j.attributes,a:[...(d.j.attributes?.a??[]).filter(a=>"href"!==a),["href",/^(?:#|mailto:|tel:|https?:\/\/|(?![a-zA-Z][a-zA-Z0-9+.-]*:))/]],img:[...(d.j.attributes?.img??[]).filter(a=>"src"!==a),["src",/^(?:https?:\/\/|(?![a-zA-Z][a-zA-Z0-9+.-]*:))/],"alt","width","height"]}}},84511:(a,b,c)=>{c.d(b,{y$:()=>v,NK:()=>z});var d=c(38301),e=c(74930),f=c(7879);let g=/^[>❯]/,h=/^\u203A/;function i(a){return void 0===a||""===(0,f.aJ)(a).trim()}function j(a){if(void 0===a)return!1;let b=l(a);if(0===b.length||"›"!==b[0].ch||b[0].dim||b.length>1&&" "!==b[1].ch)return!1;let c=b.slice(2).find(a=>" "!==a.ch);return void 0===c||!c.bold}function k(a){let b=a.length-1;for(;b>=0&&i(a[b]);)b--;if(b<0)return null;for(let c=0;c<4&&b>=0;c++){let c=b,d=b;for(;d>0&&!i(a[d-1]);)d--;if(j(a[d]))return{firstRow:d,lastRow:Math.min(c,d+40-1)};for(b=d-1;b>=0&&i(a[b]);)b--}return null}function l(a){let b=[],c={dim:!1,bold:!1,fg:null},d=0;for(;d<a.length;){let e=a[d];if("\x1b"!==e){b.push({ch:e,dim:c.dim,bold:c.bold,fg:c.fg}),d++;continue}let f=a[d+1];if("["===f){let b=d+2;for(;b<a.length&&!/[A-Za-z]/.test(a[b]);)b++;if(b>=a.length)break;"m"===a[b]&&(c=function(a,b){let c=""===a?["0"]:a.split(";"),{dim:d,bold:e,fg:f}=b;for(let a=0;a<c.length;a++){let b=""===c[a]?0:Number(c[a]);if(!Number.isNaN(b)){if(38===b||48===b||58===b){let d=""===c[a+1]||void 0===c[a+1]?-1:Number(c[a+1]),e=5===d?2:2===d?4:1;38===b&&(f=c.slice(a+1,a+1+e).join(";")),a+=e;continue}0===b?(d=!1,e=!1,f=null):22===b?(d=!1,e=!1):1===b?e=!0:2===b?d=!0:39===b?f=null:(b>=30&&b<=37||b>=90&&b<=97)&&(f=String(b))}}return{dim:d,bold:e,fg:f}}(a.slice(d+2,b),c)),d=b+1;continue}if("]"===f){let b=d+2;for(;b<a.length;){if("\x07"===a[b]){b++;break}if("\x1b"===a[b]&&"\\"===a[b+1]){b+=2;break}b++}d=b;continue}d+=2}return b}let m=new Set(["claude","codex"]);function n(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;return a.slice(0,b)}var o=c(68779),p=c(80132),q=c(51919),r=c(31179),s=c(6225),t=c(37834),u=c(89983);async function v(a){try{let b=await a.json();return"object"==typeof b&&null!==b&&"session_owned_by_other_server"===b.code}catch{return!1}}u.$C.activeMs,u.$C.idleMs,u.$C.wsFallbackMs;let w={session:null,context:null,diff:null};function x(a){let b=a.session,c=a.context,d=a.diff;return JSON.stringify([b?.title??null,b?.agent??null,b?.model??null,b?.cost??null,b?.tokens??null,c?.tokens??null,c?.limit??null,c?.percent??null,d?.turnMessageId??null,d?.revertedMessageId??null,d?.files.map(y)??null,d?.revertedFiles.map(y)??null])}function y(a){return`${a.file??""}:${a.status??""}:${a.additions}:${a.deletions}`}function z({worktreeId:a,cliToolId:b,instanceId:c,enabled:i=!0,cadence:y=u.$C}){let z=c??b,[A,B]=(0,d.useState)(()=>({output:"",realtimeSnippet:"",isRunning:!1,isThinking:!1,...r.b,composerText:"",attaching:!0,autoScroll:!0})),[C,D]=(0,d.useState)(()=>({visible:!1,data:null,messageId:null,answering:!1})),[E,F]=(0,d.useState)(w),G=(0,d.useRef)(0),H=(0,d.useRef)(b);H.current=b;let I=(0,d.useRef)(z);I.current=z;let J=(0,d.useRef)(!1),K=(0,d.useRef)(C.visible);K.current=C.visible;let{connected:L,subscribe:M,unsubscribe:N,addListener:O}=(0,e.xM)();(0,d.useRef)(0);let P=(0,d.useRef)(0),Q=(0,d.useRef)(null),R=(0,d.useRef)(null),[S,T]=(0,d.useState)(!1);(0,d.useCallback)(()=>{T(!0),null!==R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{R.current=null,T(!1)},5e3)},[]);let U=(0,d.useCallback)((a,b=!1,c=!1,d=!1)=>{let e=a.fullOutput??a.realtimeSnippet??"";!0===a.isUnclassifiedActive&&!0!==a.isPromptWaiting&&!0!==a.isSelectionListActive&&!0!==a.isPagerActive&&!0!==a.isDismissablePanelActive?(P.current+=1,Q.current??=Date.now()):(P.current=0,Q.current=null);let i=P.current>=2&&null!==Q.current&&Date.now()-Q.current>=500,r=a.isRunning?function(a,b){let c=function(a,b){if(!m.has(b))return{text:"",state:"unsupported_tool"};let c=a.split("\n"),d=function(a,b){if("claude"===b){let b=function(a){let b=a=>/^─{10,}$/.test((0,f.aJ)(a).trimEnd()),c=a.length-1;for(;c>=0&&""===a[c].trim();)c--;if(c<0)return null;let d=-1;for(let e=c;e>=Math.max(0,c-4);e--)if(b(a[e])){d=e;break}if(d<0)return null;let e=-1;for(let c=d-1;c>=Math.max(0,d-40);c--)if(b(a[c])){e=c;break}return e<0||!g.test((0,f.aJ)(a[e+1]??""))?null:{openingSeparator:e,closingSeparator:d}}(a);return null===b?null:{firstRow:b.openingSeparator+1,lastRow:b.closingSeparator-1,glyph:g}}let c=k(a);return null===c?null:{firstRow:c.firstRow,lastRow:c.lastRow,glyph:h}}(c,b);return null===d?{text:"",state:"no_composer"}:function(a,b){let c=[],d=[];for(let e=b.firstRow;e<=b.lastRow;e++){let f=function(a,b,c){if(b){let b=a.findIndex(a=>c.test(a.ch));if(b<0)return a;let d=b+1;return d<a.length&&/\s/.test(a[d].ch)&&d++,a.slice(d)}let d=0;for(;d<2&&d<a.length&&" "===a[d].ch;)d++;return a.slice(d)}(l(a[e]??""),e===b.firstRow,b.glyph);c.push(f.filter(a=>!a.dim).map(a=>a.ch).join("").trimEnd()),d.push(f.map(a=>a.ch).join("").trimEnd())}let e=n(c).join("\n");return""!==e.trim()?{text:e.slice(0,2e3),state:"content"}:{text:"",state:""===n(d).join("\n").trim()?"empty":"ghost"}}(c,d)}(a,b);if("codex"!==b||"no_composer"===c.state||"unsupported_tool"===c.state)return c;let d=a.split("\n"),e=k(d);return null!==e&&function(a,b){for(let d=a.length-1;d>b;d--){var c;let b=function(a){if(!a.includes("\x1b"))return null;let b=l(a),c=b.findIndex(a=>""!==a.ch.trim());if(c<0||"›"!==b[c].ch)return null;let d=b[c];if(d.dim)return"transcript-echo";let e=b.slice(c+1).find(a=>""!==a.ch.trim());return e?.bold?"option":e?.dim?"composer":null!==d.fg&&e?.fg===d.fg?"option":"composer"}(a[d]);if("option"===b)return!0;if("composer"===b&&j(c=a[d])&&!function(a){if(void 0===a)return!1;let b=l(a);return b.length>1&&"›"===b[0].ch&&" "===b[1].ch&&b[1].bold}(c))break}return!1}(d,e.firstRow)?{text:"",state:"no_composer"}:c}(e,H.current).text:"",u=a.isRunning?(0,o.OS)(H.current,e):q.J_;B(b=>{let c=!1===a.isRunning,d=!!e||!!a.isRunning||c;return{...b,output:d?e:b.output,realtimeSnippet:a.realtimeSnippet??"",isRunning:a.isRunning??!1,isThinking:a.thinking??!1,sessionStatus:a.sessionStatus??b.sessionStatus,isSelectionListActive:a.isSelectionListActive??!1,isPagerActive:a.isPagerActive??!1,isDismissablePanelActive:a.isDismissablePanelActive??!1,isUnclassifiedActive:i,composerText:r,agentMode:u,startingSince:"number"==typeof a.startingSince?a.startingSince:null,attaching:!1}}),a.isPromptWaiting&&a.promptData?D(e=>{let f=a.promptData??e.data,g=null!==(0,p.l6)(e.data)&&(0,p.l6)(e.data)===(0,p.l6)(f);return{...e,visible:!0,data:f,messageId:e.messageId??`prompt-${Date.now()}`,answerable:b?a.promptAnswerable:g?e.answerable:void 0,autoYesEnterSent:c?(0,s.r)(a.autoYesEnterFallback):!!g&&e.autoYesEnterSent,autoYesDecision:d?(0,t.Ft)(g?e.autoYesDecision:void 0,a.autoYesDecision):g&&function(a,b){let c=a=>null!==a&&"object"==typeof a?a.approvalTarget??null:null;return c(a)===c(b)}(e.data,f)?e.autoYesDecision:void 0}}):!a.isPromptWaiting&&K.current&&D({visible:!1,data:null,messageId:null,answering:!1})},[]),V=(0,d.useCallback)(async()=>{let c=++G.current,d=()=>!J.current||G.current!==c||H.current!==b||I.current!==z;try{let c=await fetch(`/api/worktrees/${a}/current-output?cliTool=${b}&instance=${encodeURIComponent(z)}`);if(!c.ok){409===c.status&&await v(c)&&!d()&&U({isRunning:!1,sessionStatus:"idle"});return}let e=await c.json();if(d()||e.cliToolId&&e.cliToolId!==b)return;U({...e,autoYesEnterFallback:e.autoYes?.lastEnterFallback},!0,!0,"autoYesDecision"in e);let f={session:e.structuredEvents?.session??null,context:e.structuredEvents?.sessionContext??null,diff:e.structuredEvents?.sessionDiff??null};F(a=>x(a)===x(f)?a:f)}catch(a){if(d())return;console.error("[useTerminalPanePolling] fetch error:",a)}},[a,b,z,U]),W=`${a}::${b}::${z}`;(0,d.useRef)(W);let X=(0,d.useCallback)(a=>{B(b=>b.autoScroll===a?b:{...b,autoScroll:a})},[]),Y=(0,d.useCallback)(a=>{D(b=>({...b,answering:a}))},[]);return{terminal:A,prompt:C,agentSession:E,setAutoScroll:X,setPromptAnswering:Y,clearPrompt:(0,d.useCallback)(()=>{D({visible:!1,data:null,messageId:null,answering:!1})},[]),refresh:(0,d.useCallback)(()=>V(),[V])}}},84666:(a,b,c)=>{c.d(b,{EK:()=>j,Wq:()=>h,pN:()=>k});var d=c(7879);let e=new Set(["claude","codex","opencode","antigravity","command-code"]),f=new Set(["opencode","command-code"]),g=new Set(["opencode"]),h={wrapMode:"frame",density:"compact"},i=/\x1b\[[0-9;]*m/g;function j(a){return{compactTuiLayoutPadding:e.has(a),preservePaintedPanelRows:f.has(a),mobileWrapMode:g.has(a)?"frame":"viewport"}}function k(a,b=400){let c=1;for(let e of a.split("\n")){let a=(0,d.wJ)(e).replace(i,"").trimEnd().length;if(a>c&&(c=a),c>=b)return b}return c}},87692:(a,b,c)=>{c.d(b,{wY:()=>an,BM:()=>am});var d=c(21124),e=c(38301),f=c(20481),g=c(82788),h=c(14263),i=c(24417),j=c(54095),k=c(722),l=c(31666),m=c(21554),n=c(85351),o=c(59405),p=c(11861),q=c(44688),r=c(70584),s=c(98688),t=c(88285),u=c(85866),v=c(29460),w=c(63156),x=c(55948),y=c(93777),z=c(13074),A=c(7027),B=c(91075),C=c(63121),D=c(88826),E=c(8842),F=c(50082);let G={highlightName:"chat-search",currentHighlightName:"chat-search-current",fallbackOverlayId:"chat-search-fallback-overlay",fallbackOverlayBgColor:"rgba(59, 130, 246, 0.6)"};var H=c(25178),I=c(47786);let J="chat-live-turn",K=(0,e.memo)(function({turnKey:a,version:b,body:c,partial:e=!1,isThinking:g=!1,showHeader:i=!1,onFilePathClick:j}){let k=(0,f.c)("worktree"),l="string"==typeof c&&c.length>0;return(0,d.jsxs)("div",{"data-testid":J,"data-role":"assistant","data-turn-key":a,"data-version":void 0===b?void 0:String(b),"data-has-body":l?"true":"false",role:"group","aria-label":k("chatSurface.progressLabel"),className:I.UI,children:[i&&(0,d.jsx)("div",{className:"flex items-center gap-2 px-1 text-xs text-muted-foreground",children:(0,d.jsx)("span",{className:"font-medium",children:k("conversation.assistant")})}),(0,d.jsxs)("div",{"data-testid":I.a3,className:I.CL,children:[l&&(0,d.jsx)("div",{"data-testid":"chat-live-turn-body","data-markdown":"true",className:I.Et,children:(0,d.jsx)(I.Gn,{content:c,onFilePathClick:j})}),(0,d.jsxs)("div",{"data-testid":"chat-live-turn-indicator",role:"status","aria-live":"polite",className:["flex flex-wrap items-center gap-2 text-xs text-muted-foreground",l?"mt-1.5":""].filter(Boolean).join(" "),children:[(0,d.jsx)(h.A,{size:14,className:"animate-spin","aria-hidden":"true"}),(0,d.jsx)("span",{children:k(g?"chatSurface.thinking":"chatSurface.generating")}),e&&(0,d.jsx)("span",{"data-testid":"chat-live-turn-partial",className:"rounded border border-warning-border bg-warning-subtle px-1 py-0.5 text-warning-foreground",children:k("chatSurface.progressPartial")})]})]})]})});var L=c(27412);let M="chat-transcript-scroll-container",N="chat-transcript-jump-fab",O="absolute bottom-3 right-3 z-10 flex h-9 w-9 items-center justify-center rounded-full border border-border bg-surface-2/80 text-muted-foreground shadow-lg backdrop-blur transition-colors hover:bg-muted hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation";function P(){let a=(0,f.c)("worktree");return(0,d.jsx)("div",{"data-testid":"chat-transcript-loading",role:"status","aria-label":a("chatTranscript.loading"),children:[0,1,2].map(a=>(0,d.jsxs)("div",{className:`mb-4 flex flex-col gap-1 ${a%2==0?"items-end":"items-start"}`,children:[(0,d.jsx)(u.EA,{className:"h-3 w-24"}),(0,d.jsx)(u.EA,{className:`h-14 rounded-2xl ${a%2==0?"w-2/3":"w-11/12"}`})]},a))})}function Q({turnKey:a,version:b,body:c,partial:e=!1,showHeader:g=!1,onFilePathClick:h}){let i=(0,f.c)("worktree"),j="string"==typeof c&&c.length>0;return(0,d.jsxs)("div",{"data-testid":J,"data-role":"assistant","data-settling":"true","data-turn-key":a,"data-version":void 0===b?void 0:String(b),"data-has-body":j?"true":"false",role:"group","aria-label":i("chatSurface.settlingLabel"),className:I.UI,children:[g&&(0,d.jsx)("div",{className:"flex items-center gap-2 px-1 text-xs text-muted-foreground",children:(0,d.jsx)("span",{className:"font-medium",children:i("conversation.assistant")})}),(0,d.jsxs)("div",{"data-testid":I.a3,className:I.CL,children:[j&&(0,d.jsx)("div",{"data-testid":"chat-live-turn-body","data-markdown":"true",className:I.Et,children:(0,d.jsx)(I.Gn,{content:c,onFilePathClick:h})}),(0,d.jsxs)("div",{"data-testid":"chat-settling-turn-note",className:["flex flex-wrap items-center gap-2 text-xs text-muted-foreground",j?"mt-1.5":""].filter(Boolean).join(" "),children:[(0,d.jsx)("span",{children:i("chatSurface.settling")}),e&&(0,d.jsx)("span",{"data-testid":"chat-live-turn-partial",className:"rounded border border-warning-border bg-warning-subtle px-1 py-0.5 text-warning-foreground",children:i("chatSurface.progressPartial")})]})]})]})}function R({count:a,isOpen:b,regionId:c,onToggle:e}){let g=(0,f.c)("worktree"),h=b?n.A:o.A;return(0,d.jsx)("div",{className:"mb-2 flex w-full items-center",children:(0,d.jsxs)("button",{type:"button","data-testid":"chat-previous-session-toggle","data-count":String(a),onClick:e,"aria-expanded":b,"aria-controls":c,"aria-label":g(b?"chatTranscript.previousSession.collapse":"chatTranscript.previousSession.expand"),className:"flex min-h-[32px] items-center gap-1.5 rounded-full border border-border bg-surface-2 px-3 py-1 text-xs font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",children:[(0,d.jsx)(p.A,{size:12,"aria-hidden":"true"}),(0,d.jsx)("span",{children:g("chatTranscript.previousSession.summary",{count:a})}),(0,d.jsx)(h,{size:12,"aria-hidden":"true"})]})})}function S(){let a=(0,f.c)("worktree");return(0,d.jsxs)("div",{"data-testid":"chat-session-ended-banner",role:"status",className:"mt-2 flex flex-col gap-0.5 rounded-lg border border-border bg-surface-2 px-3 py-2 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{children:a("terminal.sessionEnded")}),(0,d.jsx)("span",{children:a("chatTranscript.previousSession.hint")})]})}function T(){let a=(0,f.c)("worktree");return(0,d.jsxs)("div",{"data-testid":"chat-transcript-empty",className:"flex flex-col items-center justify-center gap-1 py-10 text-center text-muted-foreground",children:[(0,d.jsx)(q.A,{className:"mb-1 h-10 w-10 opacity-50","aria-hidden":"true"}),(0,d.jsx)("p",{className:"text-sm",children:a("chatTranscript.empty")}),(0,d.jsx)("p",{className:"text-xs",children:a("chatTranscript.emptyHint")})]})}let U=(0,e.memo)(function({messages:a,worktreeId:b,worktreePath:c,cliToolId:g,instanceId:j,isLoading:k=!1,className:l="",onFilePathClick:n,showToast:o,onInsertToMessage:p,onRetryPending:q,onDiscardPending:u,splitIndex:J,liveTurn:U=null,sessionEnded:V=!1,onScrollControlsChange:W,hideCornerControls:X=!1,openSearchOnWindowEvent:Y=!1,searchBarTopClassName:Z="top-2"}){let $=(0,f.c)("worktree"),_=(0,e.useRef)(null),aa=(0,e.useMemo)(()=>void 0===J?G:{highlightName:`chat-search-${J}`,currentHighlightName:`chat-search-current-${J}`,fallbackOverlayId:`chat-search-fallback-overlay-${J}`,fallbackOverlayBgColor:G.fallbackOverlayBgColor},[J]),ab=(0,e.useMemo)(()=>{let b=a.filter(a=>!a.archived);return b.length===a.length?a:b},[a]),ac=V&&!k,ad=`${b}|${g??""}|${j??""}`,ae=(0,e.useRef)(null),af=(0,e.useRef)(ad);af.current!==ad&&(af.current=ad,ae.current=null),ac?null===ae.current&&(ae.current=new Set(ab.filter(a=>!a.optimisticState).map(a=>a.id))):ae.current=null;let ag=ae.current,{previousMessages:ah,currentMessages:ai}=(0,e.useMemo)(()=>{if(null===ag||0===ag.size)return{previousMessages:[],currentMessages:ab};let a=[],b=[];for(let c of ab)!c.optimisticState&&ag.has(c.id)?a.push(c):b.push(c);return{previousMessages:a,currentMessages:b}},[ag,ab]),aj=ah.length,ak=ac&&aj>0,[al,am]=(0,e.useState)(!1),an=(0,e.useCallback)(()=>{am(a=>!a)},[]);(0,e.useEffect)(()=>{ak||am(!1)},[ak]),(0,e.useEffect)(()=>{am(!1)},[ad]);let ao=(0,e.useMemo)(()=>void 0===J?"chat-previous-session-region":`chat-previous-session-region-${J}`,[J]),ap=(0,e.useRef)(!0),aq=(0,e.useRef)(-1),ar=(0,e.useRef)(k),as=(0,e.useRef)(0),[at,au]=(0,e.useState)(!0),av=(0,e.useMemo)(()=>(al?ab:ai).filter(a=>!a.archived&&!(0,F.nY)(a)&&"string"==typeof a.content&&a.content.length>0),[ab,ai,al]),{isOpen:aw,query:ax,matchCount:ay,currentIndex:az,isAtMaxMatches:aA,matchPositions:aB,currentMatch:aC,openSearch:aD,closeSearch:aE,setQuery:aF,onCompositionStart:aG,onCompositionEnd:aH,nextMatch:aI,prevMatch:aJ}=(0,v.w)({messages:av}),aK=aw&&aB.length>0,aL=(0,e.useMemo)(()=>new Map(av.map(a=>[a.id,a.content])),[av]),[aM,aN]=(0,H.Af)(),aO=(0,e.useMemo)(()=>({showAll:aM}),[aM]),aP=(0,e.useMemo)(()=>aw&&0!==aB.length?new Set(aB.map(a=>a.messageId)):null,[aw,aB]);(0,e.useEffect)(()=>{aE()},[b]);let aQ=(0,e.useRef)(null),[aR,aS]=(0,e.useState)(0);(0,e.useEffect)(()=>{if(!Y)return;let a=()=>{aD(),aS(a=>a+1)};return window.addEventListener("chat-search-open",a),()=>window.removeEventListener("chat-search-open",a)},[Y,aD]),(0,e.useEffect)(()=>{0!==aR&&aQ.current?.querySelector("input")?.focus()},[aR]);let aT=(0,e.useMemo)(()=>ak?[{kind:"previousSessionHeader",key:"previous-session-header",count:aj},...al?(0,E.UY)(ah).map(a=>({...a,previousSession:!0})):[],...(0,E.UY)(ai)]:(0,E.UY)(ab),[ak,al,ab,ah,ai,aj]);as.current=aT.length;let aU=null!==U,aV=(0,e.useMemo)(()=>(function(a,b){let c=a.length-1;if(c<0)return null;let d={index:c,align:"end"};if(b)return d;for(let b=c;b>=0;b-=1){let c=a[b];if("approvals"===c.kind)continue;let e="message"===c.kind?c.message:void 0;if(!e)break;if(!(0,I.t_)(e))return"assistant"===e.role&&"normal"===e.messageType?{index:b,align:"start"}:d}return d})(aT,aU),[aT,aU]),aW=(0,e.useRef)(aV);aW.current=aV;let aX=(0,m.Te)({count:aT.length,getScrollElement:()=>_.current,estimateSize:()=>E.hM,overscan:E.B7,getItemKey:a=>aT[a]?.key??a}),aY=aX.getVirtualItems(),aZ=aY.length>0?`${aY[0].index}-${aY[aY.length-1].index}`:"",a$=(0,e.useMemo)(()=>{let a=new Map;return aT.forEach((b,c)=>{if("previousSessionHeader"!==b.kind)if("message"===b.kind)a.set(b.message.id,c);else for(let d of b.entries)for(let b of d.messageIds)a.set(b,c)}),a},[aT]),a_=(0,e.useRef)(null),a0=(0,e.useCallback)(()=>{let a=a_.current;a_.current=null,a&&null!==a.frame&&cancelAnimationFrame(a.frame)},[]),a1=(0,e.useCallback)(a=>{let b=_.current,c=aX.getOffsetForIndex(a.index,a.align)?.[0];return b&&void 0!==c?Math.abs(b.scrollTop-c):1/0},[aX]),a2=(0,e.useCallback)(()=>{a0();let a=aW.current;if(null===a||(aX.scrollToIndex(a.index,{align:a.align}),"function"!=typeof requestAnimationFrame))return;let b={frame:null,frames:0,stableFrames:0,totalSize:aX.getTotalSize(),target:a,deadline:Date.now()+600},c=()=>{if(b.frame=null,a_.current!==b)return;b.frames+=1;let a=aW.current;if(null===a||!ap.current||b.frames>12||Date.now()>b.deadline){a_.current=null;return}let d=aX.getTotalSize();if(d===b.totalSize&&a.index===b.target.index&&a.align===b.target.align&&(b.frames>1||1>=a1(a))){if(b.stableFrames+=1,b.stableFrames>=3){a_.current=null;return}}else b.stableFrames=0,b.totalSize=d,b.target=a,aX.scrollToIndex(a.index,{align:a.align});b.frame=requestAnimationFrame(c)};a_.current=b,b.frame=requestAnimationFrame(c)},[aX,a0,a1]);(0,e.useEffect)(()=>a0,[a0]);let a3=(0,e.useCallback)(()=>{ap.current=!0,au(!0),a2()},[a2]),a4=(0,e.useCallback)(()=>{a0(),ap.current=!1,au(!1),as.current>0&&aX.scrollToIndex(0,{align:"start"})},[aX,a0]),a5=(0,e.useCallback)(()=>{let a=_.current;if(!a)return;let b=aW.current,c=(0,D.Mp)({scrollTop:a.scrollTop,scrollHeight:a.scrollHeight,clientHeight:a.clientHeight})||null!==b&&"start"===b.align&&a1(b)<=D.r4;(c||null===a_.current)&&(ap.current=c,au(c))},[a1]),a6=(0,e.useRef)(aU),a7=(0,e.useRef)(aM);(0,e.useLayoutEffect)(()=>{let a=aq.current,b=ar.current,c=a6.current,d=a7.current,e=ab.length;if(aq.current=e,ar.current=k,a6.current=aU,a7.current=aM,k||aK||0===aT.length||!ap.current)return;let f=c!==aU||d!==aM;(-1===a||b||f||!(e<=a))&&a2()},[ab.length,aT.length,k,aK,aU,aM,a2]),(0,e.useEffect)(()=>{if(W)return W({scrollToLatest:a3,scrollToTop:a4}),()=>W(null)},[W,a3,a4]);let a8=(0,e.useCallback)(a=>{if("Home"!==a.key&&"End"!==a.key)return;let b=a.target;b&&("INPUT"===b.tagName||"TEXTAREA"===b.tagName||b.isContentEditable)||0!==as.current&&(a.preventDefault(),"End"===a.key?a3():a4())},[a3,a4]);(0,e.useEffect)(()=>{if(!aw||!aC)return;let a=a$.get(aC.messageId);void 0!==a&&aX.scrollToIndex(a,{align:"center"})},[aw,aC,a$,aX]);let a9=(0,v.i)(_,aK);(0,e.useLayoutEffect)(()=>{let a=_.current;if(!a)return;if(!aw||0===aB.length)return void(0,B.fq)(aa);let b=null;for(let d of aB){var c;let e=a.querySelector(`[data-message-id="${CSS.escape(d.messageId)}"]`);if(!e)continue;let f=aC?.messageId===d.messageId;(0,B.Gg)(e,d.ranges,f?aC.localIndex:-1,aa,void 0===(c=aL.get(d.messageId))?{}:{sourceText:c,sections:(0,C.Hc)(c)}),f&&e instanceof HTMLElement&&(b=e)}return b&&"function"==typeof b.scrollIntoView&&b.scrollIntoView({block:"center",behavior:"smooth"}),()=>{(0,B.fq)(aa)}},[aw,aB,aC,aa,aZ,aL,a9]);let ba=(0,e.useRef)($);ba.current=$;let bb=(0,z.O)(),bc=c??bb.worktreePath,bd=(0,e.useMemo)(()=>({worktreeId:b,worktreePath:bc}),[b,bc]),be=(0,e.useCallback)(a=>{if(!n)return;let c=(0,x.h)(a,bc);null!==c&&(async()=>{if("missing"===await (0,y.o4)(b,c))return o?.(ba.current("conversation.filePathMissing"),"error");n(c)})()},[n,b,bc,o]),bf=(0,e.useCallback)(async a=>{try{await (0,w.l)(a),o?.(ba.current("history.copied"),"success")}catch{o?.(ba.current("history.copyFailed"),"error")}},[o]),bg=(0,e.useCallback)(a=>{let b=aT[a];if(!b)return null;if("previousSessionHeader"===b.kind)return(0,d.jsx)(R,{count:b.count,isOpen:al,regionId:ao,onToggle:an});let c=a=>b.previousSession?(0,d.jsx)("div",{"data-previous-session":"true",className:"opacity-60",children:a}):a;if("approvals"===b.kind)return c((0,d.jsx)(I.ZK,{entries:b.entries}));let e=(0,d.jsx)(I.qI,{message:b.message,showHeader:b.showHeader,header:b.header,onFilePathClick:be,onCopy:bf,onInsertToMessage:p,onRetryPending:q,onDiscardPending:u});return c(aP?.has(b.message.id)?(0,d.jsx)(I.PZ,{value:I.vY,children:e}):e)},[aT,be,bf,p,q,u,aP,al,ao,an]),bh=null!==U&&!0!==U.settling;return(0,d.jsxs)("div",{"data-testid":"chat-transcript","data-tool-activity":aM?"shown":"folded",role:"log","aria-label":$("chatTranscript.regionLabel"),className:["relative flex h-full min-h-0 w-full flex-col overflow-hidden bg-surface",l].filter(Boolean).join(" "),children:[(0,d.jsx)("div",{ref:_,"data-testid":M,onScroll:a5,onKeyDown:a8,tabIndex:0,className:"min-h-0 flex-1 overflow-y-auto overflow-x-hidden px-3 py-3",children:(0,d.jsx)(I.PZ,{value:aO,children:(0,d.jsxs)(A.lK,{value:bd,children:[k?(0,d.jsx)(P,{}):0===aT.length?U?null:(0,d.jsx)(T,{}):0===aY.length?(0,d.jsx)("div",{"data-testid":"chat-transcript-fallback-list",id:ak?ao:void 0,children:aT.slice(0,E.JD).map((a,b)=>(0,d.jsx)("div",{children:bg(b)},a.key))}):(0,d.jsx)("div",{id:ak?ao:void 0,style:{height:aX.getTotalSize(),width:"100%",position:"relative"},children:aY.map(a=>(0,d.jsx)("div",{"data-index":a.index,ref:aX.measureElement,className:"absolute left-0 top-0 w-full",style:{transform:`translateY(${a.start}px)`},children:bg(a.index)},a.key))}),U&&(U.settling?(0,d.jsx)(Q,{turnKey:U.turnKey,version:U.version,body:U.body,partial:U.partial,showHeader:(0,E.CK)(ab[ab.length-1]),onFilePathClick:be}):(0,d.jsx)(K,{turnKey:U.turnKey,version:U.version,body:U.body,partial:U.partial,isThinking:U.isThinking,showHeader:(0,E.CK)(ab[ab.length-1]),onFilePathClick:be})),ak&&(0,d.jsx)(S,{})]})})}),aT.length>0&&(at?(0,d.jsx)("button",{type:"button","data-testid":N,"data-direction":"top",onClick:a4,"aria-label":$("chatTranscript.jumpToTop"),title:$("chatTranscript.jumpToTop"),className:O,children:(0,d.jsx)(r.A,{size:16,"aria-hidden":"true"})}):(0,d.jsx)("button",{type:"button","data-testid":N,"data-direction":"latest","data-generating":bh?"true":void 0,onClick:a3,"aria-label":$(bh?"chatSurface.jumpToLatestGenerating":"chatSurface.jumpToLatest"),title:$(bh?"chatSurface.jumpToLatestGenerating":"chatSurface.jumpToLatest"),className:O,children:bh?(0,d.jsx)(h.A,{size:16,className:"animate-spin","aria-hidden":"true"}):(0,d.jsx)(i.A,{size:16,"aria-hidden":"true"})})),(0,d.jsxs)("div",{ref:aQ,className:`pointer-events-none absolute right-2 ${Z} z-10 flex items-start justify-end gap-1`,children:[!aw&&!X&&(0,d.jsx)("div",{className:"pointer-events-auto",children:(0,d.jsx)("button",{type:"button","data-testid":"chat-transcript-tool-activity-toggle",onClick:aN,"aria-pressed":aM,"aria-label":$(aM?"chatTranscript.toolActivity.hide":"chatTranscript.toolActivity.show"),title:$(aM?"chatTranscript.toolActivity.hide":"chatTranscript.toolActivity.show"),className:["rounded-full border border-border p-1.5 shadow-sm backdrop-blur transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",aM?"bg-accent-500/15 text-accent-700 hover:bg-accent-500/25 dark:text-accent-400":"bg-surface-2/80 text-muted-foreground hover:bg-muted hover:text-foreground"].join(" "),children:(0,d.jsx)(s.A,{size:14,"aria-hidden":"true"})})}),(aw||!X)&&(0,d.jsx)("div",{className:"pointer-events-auto",children:aw?(0,d.jsx)(L.Y,{query:ax,onQueryChange:aF,matchCount:ay,currentIndex:az,onNext:aI,onPrev:aJ,onClose:aE,isAtMaxMatches:aA,onCompositionStart:aG,onCompositionEnd:aH}):(0,d.jsx)("button",{type:"button","data-testid":"chat-transcript-search-toggle",onClick:aD,"aria-label":$("chatTranscript.openSearch"),title:$("chatTranscript.openSearch"),className:"rounded-full border border-border bg-surface-2/80 p-1.5 text-muted-foreground shadow-sm backdrop-blur transition-colors hover:bg-muted hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",children:(0,d.jsx)(t.A,{size:14,"aria-hidden":"true"})})})]})]})});var V=c(27357),W=c(7879),X=c(39203),Y=c(43907);let Z=/^[^\S\n]*[❯›●][^\S\n]/;function $({frame:a,maxLines:b=Y.d8,maxHeightClassName:c="max-h-64",actions:g,reason:h,className:i="",flattenIntoParent:j=!1}){let k=(0,f.c)("worktree"),l="selectionList"===h,m=(0,e.useMemo)(()=>(0,Y.Bw)(a,{maxLines:b,selectionList:l}),[a,b,l]),n=(0,e.useMemo)(()=>m?(0,V.l5)(m):"",[m]),o=(0,e.useRef)(null);return((0,e.useMemo)(()=>l&&m?function(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a-=1)if(Z.test((0,W.aJ)(b[a]))){c=a;break}return Math.max(c,function(a){let b=a.map(X.HB),c=b.map(X.L1),d=b.map(X.$U);for(let a=b.length-1;a>=0;a-=1){let{bg:e,columns:f}=c[a];if(!(null===e||f<8||a>0&&d[a-1].has(e))&&!(a+1<b.length&&d[a+1].has(e)))return a}return -1}(b))}(m):-1,[l,m]),m)?(0,d.jsxs)("div",{"data-testid":"chat-dialog-card","data-reason":h,role:"group","aria-label":k("chatSurface.dialogCardLabel"),className:[j?"contents":"flex min-h-0 min-w-0 flex-col gap-2",i].filter(Boolean).join(" "),children:[(0,d.jsx)("div",{"data-testid":"chat-dialog-card-frame-slot",className:"flex min-h-0 shrink-[100000] flex-col overflow-hidden",children:(0,d.jsx)("div",{ref:o,"data-testid":"chat-dialog-card-frame",className:`min-h-0 overflow-auto rounded-lg border border-border bg-terminal-surface p-2 font-mono text-[11px] leading-snug text-terminal-foreground ${c}`,children:(0,d.jsx)("div",{className:"whitespace-pre w-max",dangerouslySetInnerHTML:{__html:n}})})}),g?(0,d.jsx)("div",{"data-testid":"chat-dialog-card-actions",className:j?"contents":"flex min-h-0 min-w-0 flex-col",children:g}):null]}):null}var _=c(99086),aa=c(12178),ab=c(52935),ac=c(47015),ad=c(30872),ae=c(15457),af=c(12529),ag=c(74930);c(12055);var ah=c(44047),ai=c(98639);let aj=`[data-testid="${M}"]`,ak={pager:"chatSurface.reasonPager",selectionList:"chatSurface.reasonSelectionList",dismissablePanel:"chatSurface.reasonDismissablePanel",unclassified:"chatSurface.reasonUnclassified",promptUnreadable:"chatSurface.reasonPromptUnreadable"};function al(a,b){return"number"==typeof a.startingSince?null:a.isPagerActive?"pager":a.isSelectionListActive?"selectionList":a.isDismissablePanelActive??(0,ad.gg)(b)?"dismissablePanel":a.isUnclassifiedActive?"unclassified":a.isPromptWaiting&&((0,ae.ds)(a.promptData)?.kind??"unreadable")==="unreadable"?"promptUnreadable":null}function am(a,b,c){return!!b&&!!c&&"selectionList"===al(a,b)}let an=(0,e.memo)(function({messages:a,worktreeId:b,worktreePath:c,cliToolId:m,instanceId:n,live:o,onSurfaceModeChange:p,frame:q,onKeysSent:r,compact:s=!1,history:t,className:u=""}){let v=(0,f.c)("worktree"),w=(0,e.useRef)(null),x=(0,e.useMemo)(()=>(function(a){let b=new Map;for(let c of a)b.set(c.id,c);return b.size===a.length?a:Array.from(b.values())})(a),[a]),y=!1===o.attaching&&!1===o.isRunning,z=(0,e.useRef)(!0),A=(0,e.useRef)(-1),[B,C]=(0,e.useState)(!1),[E,F]=(0,e.useState)(!0),G=(0,e.useCallback)(()=>w.current?.querySelector(aj)??null,[]),[H,I]=(0,e.useState)(!1),J=(0,e.useCallback)(a=>{I(null!==a)},[]),K=(0,e.useCallback)(()=>{let a=G();a&&(a.scrollTop=a.scrollHeight),z.current=!0,F(!0),C(!1)},[G]);(0,e.useEffect)(()=>{let a=G();if(!a)return;let b=()=>{let b=(0,D.Mp)({scrollTop:a.scrollTop,scrollHeight:a.scrollHeight,clientHeight:a.clientHeight});z.current=b,F(b),b&&C(!1)};return a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)},[G,t?.isLoading]),(0,e.useLayoutEffect)(()=>{let a=A.current,b=x.length;if(A.current=b,-1!==a&&!(b<=a)){if(z.current){let a=G();a&&(a.scrollTop=a.scrollHeight);return}C(!0)}},[x.length,G]);let L="number"==typeof o.startingSince?o.startingSince:null,M=null!==L,N="running"===o.sessionStatus&&!M,O=function({worktreeId:a,cliToolId:b,instanceId:c,enabled:d=!0}){let{addListener:f,connected:g}=(0,ag.xM)(),[h,i]=(0,e.useState)(null);(0,e.useRef)(0);let j=(0,e.useMemo)(()=>null===h?null:{...h,settling:!0},[h]);return d?g?h:null:j}({worktreeId:b,cliToolId:m,instanceId:n,enabled:N}),P=x.length?x[x.length-1].id:null,Q=O?.settling===!0,R=(0,e.useRef)(null),[S,T]=(0,e.useState)(!1);(0,e.useEffect)(()=>{if(!Q){R.current=null,T(!1);return}if(null===R.current){R.current={id:P};return}R.current.id!==P&&T(!0)},[Q,P]);let[V,W]=(0,e.useState)(null);(0,e.useEffect)(()=>{y&&null!==O&&W(O.turnKey)},[y,O]);let X=null===O||O.turnKey===V||function(a,b){for(let c=a.length-1;c>=0;c-=1)if(a[c].requestId===b)return!0;return!1}(x,O.turnKey)||O.settling&&S?null:O,Z=(0,e.useMemo)(()=>y?null:null!==X?{turnKey:X.turnKey,version:X.version,body:X.body,partial:X.partial,isThinking:!X.settling&&!0===o.isThinking,settling:X.settling}:N?{isThinking:!0===o.isThinking}:null,[X,N,o.isThinking,y]),ae=null!==Z,am=ae&&!0!==Z.settling,an=(0,e.useRef)(!1);(0,e.useLayoutEffect)(()=>{if(!an.current){an.current=!0;return}if(!z.current)return;let a=G();a&&(a.scrollTop=a.scrollHeight)},[X?.body,ae,G]);let ao=al(o,q),ap=(0,e.useMemo)(()=>"selectionList"===ao&&(0,ad.pw)(q,m),[ao,q,m]),aq=(0,e.useCallback)(()=>{p("terminal")},[p]),ar=(0,ai.qi)(b,n??m??""),as=(0,ai.Bj)(ar,L),at=(0,e.useCallback)(()=>{as.revealTerminal(),p("terminal")},[as,p]),au=(0,e.useRef)(null);(0,e.useEffect)(()=>()=>{null!==au.current&&clearTimeout(au.current)},[]);let av=(0,e.useCallback)(()=>{r?.(),null!==au.current&&clearTimeout(au.current),au.current=setTimeout(()=>{au.current=null,r?.()},400)},[r]),aw=(0,e.useMemo)(()=>"selectionList"===ao&&q?(0,Y.Bw)(q,{selectionList:!0}).split("\n").length:0,[ao,q]),ax=(0,e.useMemo)(()=>"selectionList"===ao&&(0,af.p1)((0,af.gO)(q),m),[ao,q,m]),ay=(0,e.useMemo)(()=>{if(null===ao||!m)return null;let a={worktreeId:b,cliToolId:m,instanceId:n,onKeysSent:av};switch(ao){case"pager":return(0,d.jsx)(_.y,{...a,showPagerKeys:!0});case"selectionList":return(0,d.jsx)(ac.Z,{...a,frame:q,surface:"chat",compact:s});case"dismissablePanel":return(0,d.jsx)(ab.bC,{...a});case"unclassified":return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(aa.U,{...a}),(0,d.jsx)(ab.LN,{...a})]});case"promptUnreadable":return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("p",{"data-testid":"chat-surface-unreadable-hint",className:"text-xs text-muted-foreground",children:v("chatSurface.unreadableHint")}),(0,d.jsx)(ab.LN,{...a})]})}},[ao,m,b,n,av,q,s,v]),az=t??{},aA=(0,k.UI)(b),aB=n??m??null,aC=(0,e.useMemo)(()=>aB?(0,l.y)((0,l.g)({owed:aA.owedBy(aB),awaiting:aA.awaitedBy(aB),aliasOf:a=>a.worktreeId===b?a.instanceId:`${a.instanceId} @ ${a.worktreeId}`})):null,[aA,aB,b]);return(0,d.jsxs)("div",{ref:w,"data-testid":"chat-surface","data-instance-id":n??m,className:["flex h-full min-h-0 w-full flex-col overflow-hidden bg-surface text-surface-foreground",u].filter(Boolean).join(" "),children:[aC&&(0,d.jsxs)("div",{"data-testid":"chat-surface-relay","data-relay-tone":aC.tone,role:"status",className:`flex shrink-0 items-center gap-1.5 border-b border-border px-3 py-1 text-xs ${"prompt"===aC.tone?"bg-warning-subtle text-warning-foreground":"bg-surface-2 text-muted-foreground"}`,children:[(0,d.jsx)(g.A,{size:12,className:"shrink-0","aria-hidden":"true"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:v(`relay.${aC.key}`,aC.params)})]}),(0,d.jsxs)("div",{className:"relative min-h-0 flex-1 overflow-hidden",children:[(0,d.jsx)(U,{...az,messages:x,worktreeId:b,worktreePath:c,cliToolId:m,liveTurn:Z,instanceId:n,sessionEnded:y,onScrollControlsChange:J,className:"h-full"}),!H&&(B||ae&&!E)&&(0,d.jsxs)("button",{type:"button","data-testid":"chat-surface-new-messages","data-generating":am?"true":void 0,onClick:K,"aria-label":am?v("chatSurface.jumpToLatestGenerating"):void 0,className:"absolute bottom-3 left-1/2 z-10 flex min-h-[36px] -translate-x-1/2 items-center gap-1.5 rounded-full border border-border bg-surface-2 px-3 py-1.5 text-xs font-medium text-foreground shadow-lg transition-colors hover:bg-muted focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",children:[am?(0,d.jsx)(h.A,{size:14,className:"animate-spin","aria-hidden":"true"}):(0,d.jsx)(i.A,{size:14,"aria-hidden":"true"}),v("chatSurface.jumpToLatest")]})]}),null!==L&&m?(0,d.jsx)("div",{"data-testid":"chat-surface-starting",className:"flex shrink-0 flex-col gap-2 border-t border-border bg-surface px-3 py-2",children:(0,d.jsx)(ah.TE,{cliToolId:m,startingSince:L,onShowTerminal:at,variant:"strip"})}):null,null!==ao&&(0,d.jsxs)("div",{"data-testid":"chat-surface-live",role:"group","aria-label":v("chatSurface.liveRegionLabel"),className:`flex flex-col border-t border-border bg-surface px-3 py-2 ${ax?"min-h-0 gap-1.5 overflow-y-auto":"shrink-0 gap-2"}`,children:[(0,d.jsxs)("div",{"data-testid":"chat-surface-terminal-banner","data-reason":ao,"data-trust-confirmation":ap?"true":void 0,role:"status","aria-label":v("chatSurface.bannerLabel"),className:`flex flex-wrap items-center gap-2 rounded-lg border border-warning-border bg-warning-subtle px-2 py-1.5${ax?" min-h-0 shrink-[100000] overflow-y-auto":""}`,children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 text-xs text-foreground",children:v(ap?"chatSurface.reasonTrustConfirmation":ak[ao])}),(0,d.jsxs)("button",{type:"button","data-testid":"chat-surface-open-terminal",onClick:aq,className:"flex min-h-[32px] shrink-0 items-center gap-1 rounded-md border border-warning-border bg-surface px-2 py-1 text-xs font-medium text-warning-foreground transition-colors hover:bg-muted focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",children:[(0,d.jsx)(j.A,{size:14,"aria-hidden":"true"}),v("chatSurface.openTerminal")]})]}),q?(0,d.jsx)($,{frame:q,reason:ao,maxLines:s?12:void 0,maxHeightClassName:aw>24&&!ax?"max-h-[35vh]":s?"max-h-32":"max-h-64",actions:ay,flattenIntoParent:ax}):null]})]})})},88826:(a,b,c)=>{c.d(b,{Mp:()=>h,__:()=>e,b:()=>d,r4:()=>f,vC:()=>g});let d=6,e=160,f=80,g=30;function h({scrollTop:a,scrollHeight:b,clientHeight:c},d=f){let e=b-a-c;return!!Number.isFinite(e)&&e<=d}},89983:(a,b,c)=>{c.d(b,{$C:()=>d,WT:()=>g,f8:()=>i,lN:()=>j,sD:()=>e,tC:()=>f,z1:()=>k});let d={activeMs:2e3,idleMs:5e3,wsFallbackMs:15e3,activeRequiresGenerating:!1,idleTrustsConnection:!1},e={activeMs:4e3,idleMs:1e4,wsFallbackMs:15e3,activeRequiresGenerating:!0,idleTrustsConnection:!0},f={pollMs:5e3,wsFallbackMs:15e3},g={pollMs:15e3,wsFallbackMs:3e4},h=new Set(["running","waiting"]);function i(a){return h.has(a)}function j(a,b){if(b.interactionActive)return a.activeMs;let c=a.activeRequiresGenerating?b.generating:b.sessionAlive;return b.connected&&b.pushHealthy||b.connected&&!c&&a.idleTrustsConnection?a.wsFallbackMs:c?a.activeMs:a.idleMs}function k(a,b){return b.connected?a.wsFallbackMs:a.pollMs}},90349:(a,b,c)=>{c.d(b,{I:()=>d,k:()=>e});let d="skill:installed";function e(a){}},93467:(a,b,c)=>{c.d(b,{C:()=>d});function d(a){let b=Math.max(0,Math.floor(a/1e3));if(b<60)return`${b}s`;let c=Math.floor(b/60);return`${c}m ${String(b%60).padStart(2,"0")}s`}},93777:(a,b,c)=>{c.d(b,{o4:()=>g});var d=c(12894);let e={method:"HEAD",cache:"no-store"},f=(a,b)=>fetch(a,b);async function g(a,b,c=f){try{var h;return(h=await c(`/api/worktrees/${encodeURIComponent(a)}/files/${(0,d.o)(b)}`,e)).ok?"present":404===h.status||400===h.status||403===h.status?"missing":"unknown"}catch{return"unknown"}}},98354:(a,b,c)=>{c.d(b,{LQ:()=>g,Ml:()=>f,sh:()=>e});let d=/^\p{M}$/u;function e(a,b){if(a.length<=b)return a.length;let c=0,e=0;for(let f of a){let a=+!d.test(f);if(1===a&&c>=b)break;c+=a,e+=f.length}return e}function f(a,b,c){return a.slice(e(a,b),e(a,c))}function g(a){let b=0;for(let c of a)d.test(c)||(b+=1);return b}},98639:(a,b,c)=>{c.d(b,{Bj:()=>i,qi:()=>h});var d=c(38301);let e=new Set,f=new Set;function g(a){return f.add(a),()=>{f.delete(a)}}function h(a,b){return`${a}:${b}`}function i(a,b){let c="number"==typeof b?b:null,h=(0,d.useSyncExternalStore)(g,()=>null!==c&&e.has(`${a}@${c}`),()=>!1),i=(0,d.useCallback)(()=>{null!==c&&function(a,b){let c=`${a}@${b}`;if(!e.has(c)){if(e.size>=64){let a=e.values().next().value;void 0!==a&&e.delete(a)}for(let a of(e.add(c),f))a()}}(a,c)},[a,c]),j=null!==c;return{startingSince:c,starting:j,noticeVisible:j&&!h,revealTerminal:i}}},98882:(a,b,c)=>{c.d(b,{h:()=>h});let d="Tool calls",e=RegExp(`^>[ \\t]*\\*\\*${d}(?:[ \\t]*\\((\\d+)\\))?\\*\\*[ \\t]*$`),f=/^- `[^`\n]+`(?: — .*)?$/;function g(a){return{prose:a,toolLog:"",toolCalls:0}}function h(a){if("string"!=typeof a||0===a.length)return g(a??"");if(!a.includes(d)&&!a.startsWith("- `"))return g(a);let b=a.split("\n"),c=b.length;for(;c>0&&0===b[c-1].trim().length;)c-=1;for(let a=c-1;a>=0;a-=1){let d=e.exec(b[a]);if(!d){if(!b[a].startsWith(">"))break;continue}if(a>0&&b[a-1].startsWith(">"))break;let f=b.slice(a+1,c).map(a=>a.replace(/^>[ \t]?/,"")).join("\n").replace(/^\n+/,"").replace(/\n+$/,""),g=d[1]?Number.parseInt(d[1],10):0;return{prose:b.slice(0,a).join("\n").replace(/\n+$/,""),toolLog:f,toolCalls:Number.isFinite(g)&&g>0?g:f.split("\n").filter(a=>a.trim().length>0).length}}let h=0;for(;h<b.length&&f.test(b[h]);)h+=1;return 0===h?g(a):{prose:b.slice(h).join("\n").replace(/^\n+/,""),toolLog:b.slice(0,h).join("\n"),toolCalls:h}}},99086:(a,b,c)=>{c.d(b,{y:()=>k});var d=c(21124),e=c(38301),f=c(20481),g=c(50391),h=c(22631);let i=[{key:"Left",label:"◀",ariaLabel:"Left"},{key:"Up",label:"▲",ariaLabel:"Up"},{key:"Down",label:"▼",ariaLabel:"Down"},{key:"Right",label:"▶",ariaLabel:"Right"},{key:"Enter",label:"↵",ariaLabel:"Enter"},{key:"Escape",label:"Esc",ariaLabel:"Escape"}],j=[{key:"PageUp",label:"PgUp",ariaLabel:"Page Up"},{key:"PageDown",label:"PgDn",ariaLabel:"Page Down"},{key:"Home",label:"Home",ariaLabel:"Home"},{key:"End",label:"End",ariaLabel:"End"},{key:"q",label:"q",ariaLabelKey:"navigation.quitPager"}];function k({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:k,showPagerKeys:l=!1,hideEnterKey:m=!1}){let n=(0,f.c)("worktree"),{activeKey:o,markPressed:p}=(0,h.t)(),q=(0,g.B)(a,b,c,k),r=(0,e.useCallback)(a=>{p(a[0]),q(a)},[p,q]),s=(0,e.useMemo)(()=>{let a=m?i.filter(({key:a})=>"Enter"!==a):i;return l?[...a,...j]:a},[l,m]),t=(0,e.useCallback)(a=>{if(m&&"Enter"===a.key)return;let b={ArrowLeft:"Left",ArrowUp:"Up",ArrowDown:"Down",ArrowRight:"Right",Enter:"Enter",Escape:"Escape"}[a.key];b&&(a.preventDefault(),r([b]))},[r,m]);return(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 py-1.5 bg-muted rounded-lg",onKeyDown:t,role:"toolbar","aria-label":n("navigation.toolbarLabel"),children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground mx-2",children:n("navigation.caption")}),s.map(({key:a,label:b,ariaLabel:c,ariaLabelKey:e})=>(0,d.jsx)("button",{type:"button",className:`min-w-[44px] min-h-[44px] px-3 py-2 text-sm font-medium rounded-md
|
|
10
|
+
${s===a.id?"bg-accent-500 text-white border-accent-500 scale-95":"bg-surface dark:bg-surface-2 hover:bg-muted active:bg-muted disabled:hover:bg-surface"}`,"aria-label":`${b} (${a.notation})`,title:c?r("opencodeQuickKeys.needsSession",{notation:a.notation}):`${b} — ${a.notation}`,"data-testid":`opencode-quick-key-${a.id}`,onClick:()=>z(a),children:[b,l?null:(0,d.jsx)("span",{className:"ml-1.5 text-xs text-muted-foreground hidden @min-[640px]:inline",children:a.notation})]},a.id)})]},a[0].id))]});return p?(0,d.jsxs)("div",{className:"bg-muted rounded-lg","data-testid":"opencode-quick-keys-disclosure",children:[(0,d.jsxs)("button",{type:"button",className:"w-full min-h-[44px] flex items-center gap-2 px-3 py-2 text-sm font-medium rounded-lg touch-manipulation transition-colors hover:bg-surface-2 active:bg-surface-2 focus:outline-none focus:ring-2 focus:ring-ring","aria-expanded":w,"aria-controls":y,"aria-label":w?r("opencodeQuickKeys.hideKeys"):r("opencodeQuickKeys.showKeys"),"data-testid":"opencode-quick-keys-toggle",onClick:x,children:[(0,d.jsx)(g.A,{className:`w-4 h-4 shrink-0 transition-transform duration-150 ${w?"":"-rotate-90"}`,"aria-hidden":"true"}),(0,d.jsx)("span",{children:r("opencodeQuickKeys.toolbarLabel")}),(0,d.jsx)("span",{className:"ml-auto text-xs text-muted-foreground",children:A.reduce((a,b)=>a+b.length,0)})]}),w?B:null]}):B}),x=["variant","models","commands"];function y(a){return x.map(b=>{let c=a.flat().find(a=>a.id===b);if(!c)throw Error(`OpencodeQuickKeys: unknown model key id ${b}`);return c})}let z={opencode:y(t),"opencode-v2":y(u).map(function(a){return{...a,keys:["Escape",...a.keys]}})},A=(0,e.memo)(function({worktreeId:a,cliToolId:b,frame:c,instanceId:g,onKeysSent:h}){let m=(0,f.c)("worktree"),{activeKey:n,markPressed:o}=(0,j.t)(),p=(0,i.B)(a,b,g,h),q=(0,e.useCallback)(a=>{o(a.id),p([...a.keys])},[o,p]),r=z[b];return r&&("opencode-v2"===b?null!=c&&null!==function(a){let b=l.exec(a);return null===b?null:b[0].trim().replace(/\s+esc$/,"")}((0,k.aJ)(c)):void 0!==z[b])?(0,d.jsxs)("div",{"data-testid":"opencode-model-keys",role:"toolbar","aria-label":m("selectionKeys.opencodeToolbarLabel"),className:"flex flex-wrap items-center gap-1.5 rounded-lg bg-muted px-2 py-1.5",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:m("selectionKeys.opencodeCaption")}),r.map(a=>{let b=m(`opencodeQuickKeys.keys.${a.id}`);return(0,d.jsxs)("button",{type:"button","data-testid":`opencode-model-key-${a.id}`,"aria-label":`${b} (${a.notation})`,title:`${b} — ${a.notation}`,onClick:()=>q(a),className:`min-h-[44px] rounded-md border border-border px-3 py-2 text-sm font-medium transition-colors duration-75 touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring ${n===a.id?"border-accent-500 bg-accent-500 text-white scale-95":"bg-surface hover:bg-muted active:bg-muted dark:bg-surface-2"}`,children:[b,(0,d.jsx)("span",{className:"ml-1.5 text-xs text-muted-foreground",children:a.notation})]},a.id)})]}):null})},50082:(a,b,c)=>{c.d(b,{GV:()=>D,rS:()=>E,nY:()=>z});var d=c(15457);let e=String.raw`←\s*(?:[☐☒☑][^←→☐☒☑✔]*)+✔\s*Submit\s*→`,f=RegExp(`^${e}\\s*`);RegExp(`^\\s?${e}$`);let g=new Set(["question","permission","confirmation","menu","unknown"]),h=new Set(["question","confirmation"]),i=new Set(["complete","truncated","top-unknown","not-measured"]),j=new Set(["history-start","clipped","screen-start","screen-full"]),k=new Set(["confirm-page-reader","question-picker-chrome","ask-user-question-payload","permission-option-effect","yes-no-pattern"]);function l(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}function m(a){return"number"==typeof a&&Number.isInteger(a)&&a>=0}let n=/\s*Ready to submit your answers\?\s*$/,o=/^Review your answers\s*/,p=/●\s*([^●→]+)/g,q=/^submit answers$/i,r=/^cancel$/i,s={human:5,auto:4,terminal:3,pending:2,unclassified:1,unknown:0};function t(a){return"object"==typeof a&&null!==a?a:null}function u(a,b){let c=a?.[b];return"string"==typeof c?c:""}function v(a){if(!Array.isArray(a))return[];let b=[];for(let c of a){if("string"==typeof c){b.push(c);continue}let a=u(t(c),"label");a&&b.push(a)}return b}function w(a){return a.replace(/\s+/g," ").trim()}function x(a){return a.length<=160?a:`${a.slice(0,159).trimEnd()}…`}function y(a){return w(a).replace(f,"").trim()}function z(a){return a?.messageType==="prompt"}function A(a){let b=a?.summary;return"string"==typeof b&&b.startsWith("PermissionRequest allow")}function B(a){return{...a,messageIds:[...a.messageIds],reviewQuestions:[...a.reviewQuestions]}}function C(a,b,c){if(a<=0||b<=0)return!1;let d=b-a;return d>=0&&d<=c}function D(a,b={}){let{windowMs:c=5e3,runIds:e}=b;return function(a,b=5e3){let c=[];for(let d of a){if("question"===d.kind){let a=c[c.length-1];if("confirmation"===d.phase){if(a&&"question"===a.kind&&"question"===a.phase&&a.scopeKey===d.scopeKey&&a.runId===d.runId&&""!==a.questionText&&d.reviewQuestions.includes(a.questionText)&&C(a.timestampMs,d.timestampMs,b)){a.messageIds.push(...d.messageIds),a.confirmationOutcome=d.outcome;continue}c.push(B(d));continue}if(a&&"question"===a.kind&&"question"===a.phase&&""!==d.mergeKey&&a.mergeKey===d.mergeKey&&a.runId===d.runId&&C(a.timestampMs,d.timestampMs,b)){a.messageIds.push(...d.messageIds),a.label||(a.label=d.label),s[d.outcome]>s[a.outcome]&&(a.outcome=d.outcome);continue}c.push(B(d));continue}let a=d.mergeKey?c.find(a=>"approval"===a.kind&&a.mergeKey===d.mergeKey&&Math.abs(d.timestampMs-a.timestampMs)<=b):void 0;if(!a){c.push(B(d));continue}a.messageIds.push(...d.messageIds),a.isPermissionAudit=a.isPermissionAudit||d.isPermissionAudit,a.label||(a.label=d.label),s[d.outcome]>s[a.outcome]&&(a.outcome=d.outcome)}return c}(a.map(a=>(function(a,b=0){let c,e,f=t(a.promptData),s=A(a),z=u(f,"question"),B=u(f,"approvalTarget"),C=u(f,"answeredBy"),D=u(f,"status"),E=u(f,"type"),F="string"==typeof a.summary?a.summary:"",G=function(a,b){let c=y(a),d=n.test(c),e=v(b),f=c.replace(n,"").replace(o,"").trim();return{hasTail:d,hasSubmitOptions:e.some(a=>q.test(a.trim()))&&e.some(a=>r.test(a.trim())),reviewQuestions:[...f.matchAll(p)].map(a=>(a[1]??"").trim()).filter(a=>a.length>0)}}(z,f?.options),{kind:H,phase:I,classifiedFrom:J}=function(a,b,c){if(A(a))return{kind:"approval"};let d=function(a){if(!l(a))return null;let b=a.reading;if(!l(b)||1!==b.version)return null;let c=b.kind;if(!g.has(c))return null;let d=b.phase,e="question"===c||"confirmation"===c;if(void 0!==d&&(!e||!h.has(d)))return null;let f=b.approvalTarget;if(!i.has(f))return null;let n=b.evidence;if(!Array.isArray(n)||!n.every(a=>k.has(a)))return null;let o=b.captureTop;if(void 0!==o&&!j.has(o))return null;let p=b.liveRange;return void 0===p||l(p)&&m(p.startRow)&&m(p.endRow)?{version:1,kind:c,...void 0!==d?{phase:d}:{},...l(p)?{liveRange:{startRow:p.startRow,endRow:p.endRow}}:{},approvalTarget:f,...void 0!==o?{captureTop:o}:{},evidence:[...n]}:null}(b);return null!==d?{...function(a){switch(a.kind){case"confirmation":return{kind:"question",phase:"confirmation"};case"question":return{kind:"question",phase:a.phase??"question"};case"permission":case"menu":case"unknown":return{kind:"approval"}}}(d),classifiedFrom:"reading"}:b?.isAskUserQuestion===!0?{kind:"question",phase:c.hasTail||c.hasSubmitOptions?"confirmation":"question"}:c.hasTail&&(c.hasSubmitOptions||c.reviewQuestions.length>0)?{kind:"question",phase:"confirmation"}:{kind:"approval"}}(a,f,G);c=s?"auto":"auto"===C||"human"===C||"terminal"===C?C:""!==E&&(0,d.ds)({...f,type:E})?.kind==="unreadable"||"unclassified"===D?"unclassified":"pending"===D?"pending":"unknown";let K=function(a){let b="string"==typeof a.cliToolId&&a.cliToolId?a.cliToolId:"claude",c="string"==typeof a.instanceId&&a.instanceId?a.instanceId:b;return JSON.stringify(["string"==typeof a.worktreeId?a.worktreeId:"",b,c])}(a),L="question"===H&&"question"===I,M=L?y(z):"",N="question"===H&&"confirmation"===I&&1===G.reviewQuestions.length?G.reviewQuestions[0]:"";e="question"===H?x(L?M:N):x(w(z||F));let O="";if(L){let a=t(f?.askUserQuestion),b="number"==typeof a?.questionIndex?a.questionIndex:null;O=M?JSON.stringify(["question",K,M,b,v(f?.options)]):""}else"approval"===H&&(O=z?JSON.stringify([z,B]):"");return{id:a.id,messageIds:[a.id],label:e,outcome:c,isPermissionAudit:s,timestampMs:function(a){if(a instanceof Date){let b=a.getTime();return Number.isFinite(b)?b:0}if("string"==typeof a||"number"==typeof a){let b=new Date(a).getTime();return Number.isFinite(b)?b:0}return 0}(a.timestamp),mergeKey:O,kind:H,...I?{phase:I}:{},questionText:M,reviewQuestions:G.reviewQuestions,scopeKey:K,runId:b,...J?{classifiedFrom:J}:{}}})(a,e?.get(a.id)??0)),c)}function E(a){let b=0,c=0,d=0;for(let e of a)"question"!==e.kind?b+=1:"confirmation"===e.phase?d+=1:c+=1;return{approvals:b,questions:c,confirmations:d,total:a.length}}},50391:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(38301),e=c(58970);function f(a,b,c,f){return(0,d.useCallback)(d=>{let g=c&&c!==b?{cliToolId:b,keys:d,instanceId:c}:{cliToolId:b,keys:d};fetch(`/api/worktrees/${encodeURIComponent(a)}/special-keys`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(g)}).then(()=>{f&&setTimeout(f,e.LK)}).catch(a=>{console.error("Failed to send special keys:",a)})},[a,b,c,f])}},51919:(a,b,c)=>{c.d(b,{J_:()=>e,WK:()=>f});let d=["default","manual","accept-edits","plan","auto","autopilot","bypass","dont-ask","build"],e="unknown";function f(a){return d.includes(a)}},52935:(a,b,c)=>{c.d(b,{LN:()=>n,_u:()=>o,bC:()=>q,wd:()=>p});var d=c(21124),e=c(38301),f=c(20481),g=c(11131),h=c(30872),i=c(50391),j=c(22631);let k=[{key:"1",label:"1",ariaLabel:"Send 1"},{key:"2",label:"2",ariaLabel:"Send 2"},{key:"3",label:"3",ariaLabel:"Send 3"},{key:"4",label:"4",ariaLabel:"Send 4"},{key:"5",label:"5",ariaLabel:"Send 5"},{key:"6",label:"6",ariaLabel:"Send 6"},{key:"7",label:"7",ariaLabel:"Send 7"},{key:"8",label:"8",ariaLabel:"Send 8"},{key:"9",label:"9",ariaLabel:"Send 9"}],l=[{key:"y",label:"y",ariaLabel:"Send y"},{key:"n",label:"n",ariaLabel:"Send n"},{key:"Enter",label:"↵",ariaLabel:"Send Enter"}],m="Escape";function n({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:g}){let h=(0,f.c)("worktree"),{activeKey:m,markPressed:n}=(0,j.t)(),o=(0,i.B)(a,b,c,g),p=(0,e.useCallback)(a=>{n(a),o([a])},[n,o]);return(0,d.jsxs)("div",{"data-testid":"prompt-answer-keys",role:"toolbar","aria-label":h("promptAnswerKeys.toolbarLabel"),className:"flex flex-wrap items-center gap-1.5 rounded-lg bg-muted px-2 py-1.5",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:h("promptAnswerKeys.caption")}),[...k,...l].map(({key:a,label:b,ariaLabel:c})=>(0,d.jsx)("button",{type:"button","data-testid":`prompt-answer-key-${a}`,"aria-label":c,onClick:()=>p(a),className:`min-h-[44px] min-w-[44px] rounded-md border border-border px-3 py-2 text-sm font-medium transition-colors duration-75 touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring ${m===a?"border-accent-500 bg-accent-500 text-white scale-95":"bg-surface hover:bg-muted active:bg-muted dark:bg-surface-2"}`,children:b},a))]})}function o({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:g,optionCount:l}){let m=(0,f.c)("worktree"),{activeKey:n,markPressed:o}=(0,j.t)(),p=(0,i.B)(a,b,c,g),q=(0,e.useMemo)(()=>{let a=Math.min(Math.trunc(l),h.$H);return!Number.isFinite(a)||a<1?[]:k.slice(0,a)},[l]),r=(0,e.useCallback)(a=>{o(a),p([a])},[o,p]);return 0===q.length?null:(0,d.jsxs)("div",{"data-testid":"selection-number-keys","data-option-count":String(q.length),role:"toolbar","aria-label":m("selectionKeys.numbersToolbarLabel"),className:"flex flex-wrap items-center gap-1.5 rounded-lg bg-muted px-2 py-1.5",children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:m("selectionKeys.numbersCaption")}),q.map(({key:a,label:b,ariaLabel:c})=>(0,d.jsx)("button",{type:"button","data-testid":`selection-number-key-${a}`,"aria-label":c,onClick:()=>r(a),className:`min-h-[44px] min-w-[44px] rounded-md border border-border px-3 py-2 text-sm font-medium transition-colors duration-75 touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring ${n===a?"border-accent-500 bg-accent-500 text-white scale-95":"bg-surface hover:bg-muted active:bg-muted dark:bg-surface-2"}`,children:b},a))]})}function p({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:h,commitsDefaultOnEnter:k}){let l=(0,f.c)("worktree"),{activeKey:m,markPressed:n}=(0,j.t)(),o=(0,i.B)(a,b,c,h),p=(0,e.useCallback)(a=>{n(a),o([a])},[n,o]);return(0,d.jsxs)("div",{"data-testid":"selection-commit-keys",role:"toolbar","aria-label":l("selectionKeys.commitToolbarLabel"),className:"flex flex-wrap items-center gap-1.5 rounded-lg bg-muted px-2 py-1.5",children:[(0,d.jsx)("button",{type:"button","data-testid":"selection-commit-session","aria-label":l("selectionKeys.sessionOnlyAria"),title:l("selectionKeys.sessionOnlyAria"),onClick:()=>p(g.mE),className:`min-h-[44px] rounded-md border px-3 py-2 text-sm font-medium transition-colors duration-75 touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring ${m===g.mE?"border-accent-500 bg-accent-500 text-white scale-95":"border-accent-500 bg-surface text-accent-600 hover:bg-muted active:bg-muted dark:bg-surface-2 dark:text-accent-400"}`,children:l("selectionKeys.sessionOnly")}),(0,d.jsx)("button",{type:"button","data-testid":"selection-commit-default","aria-label":l("selectionKeys.setDefaultAria"),title:l("selectionKeys.setDefaultAria"),onClick:()=>p("Enter"),className:`min-h-[44px] rounded-md border border-border px-3 py-2 text-sm font-medium transition-colors duration-75 touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring ${"Enter"===m?"border-accent-500 bg-accent-500 text-white scale-95":"bg-surface hover:bg-muted active:bg-muted dark:bg-surface-2"}`,children:l("selectionKeys.setDefault")}),k?(0,d.jsx)("p",{"data-testid":"selection-commit-warning",className:"w-full text-xs text-muted-foreground",children:l("selectionKeys.defaultWarning")}):null]})}function q({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:g}){let h=(0,f.c)("worktree"),{activeKey:k,markPressed:l}=(0,j.t)(),n=(0,i.B)(a,b,c,g),o=(0,e.useCallback)(()=>{l(m),n([m])},[l,n]);return(0,d.jsx)("div",{"data-testid":"dismiss-panel-keys",role:"toolbar","aria-label":h("dismissPanelKeys.toolbarLabel"),className:"flex flex-wrap items-center gap-1.5 rounded-lg bg-muted px-2 py-1.5",children:(0,d.jsx)("button",{type:"button","data-testid":"dismiss-panel-key-Escape","aria-label":h("dismissPanelKeys.closeAria"),title:h("dismissPanelKeys.closeAria"),onClick:o,className:`min-h-[44px] rounded-md border px-3 py-2 text-sm font-medium transition-colors duration-75 touch-manipulation focus:outline-none focus:ring-2 focus:ring-ring ${k===m?"border-accent-500 bg-accent-500 text-white scale-95":"border-accent-500 bg-surface text-accent-600 hover:bg-muted active:bg-muted dark:bg-surface-2 dark:text-accent-400"}`,children:h("dismissPanelKeys.close")})})}[...k.map(a=>a.key),...l.map(a=>a.key)]},54228:(a,b,c)=>{c.d(b,{Fx:()=>g,Uq:()=>i,bg:()=>h,fw:()=>f,g8:()=>j});var d=c(58569),e=c(71256);function f(a,b){let c=new Date(a);return isNaN(c.getTime())?"":(0,d.m)(c,{addSuffix:!0,...b?{locale:b}:{}})}function g(a){let b=new Date(a);if(isNaN(b.getTime()))return"";let c=Math.round((Date.now()-b.getTime())/1e3);if(c<45)return"now";let d=Math.round(c/60);if(d<60)return`${d}m ago`;let e=Math.round(d/60);if(e<24)return`${e}h ago`;let f=Math.round(e/24);return f<7?`${f}d ago`:f<30?`${Math.round(f/7)}w ago`:f<365?`${Math.round(f/30)}mo ago`:`${Math.round(f/365)}y ago`}function h(a,b){return!(a instanceof Date)||isNaN(a.getTime())?"":(0,e.GP)(a,"PPp",b?{locale:b}:void 0)}function i(a,b=new Date){if(!(a instanceof Date)||isNaN(a.getTime()))return"";let c=b instanceof Date&&!isNaN(b.getTime())?b:new Date,d=a.getFullYear()===c.getFullYear()&&a.getMonth()===c.getMonth()&&a.getDate()===c.getDate();return(0,e.GP)(a,d?"HH:mm":"M/d HH:mm")}function j(a,b,c=new Date){if(!l(a))return"";let d=l(c)?c:new Date,f=l(b)?b:null,g=m(a,d)&&(null===f||m(f,d)&&m(f,a))?"HH:mm":"M/d HH:mm",h=(0,e.GP)(a,g);if(null===f)return h;let i=(0,e.GP)(f,g);return i===h?h:`${i}${k}${h}`}let k=" → ";function l(a){return a instanceof Date&&!isNaN(a.getTime())}function m(a,b){return a.getFullYear()===b.getFullYear()&&a.getMonth()===b.getMonth()&&a.getDate()===b.getDate()}},55948:(a,b,c)=>{c.d(b,{h:()=>k,z:()=>i});var d=c(82620);let e=/^(https?|mailto|tel|file):/i,f=/^[a-zA-Z][a-zA-Z0-9+.-]*:/,g=/^file:\/\/(localhost)?/i,h=/:\d+(?::\d+)?$/;function i(a){let b=(0,d.d3)(a.trim());return b?b.startsWith("#")?"anchor":g.test(b)?"file":f.test(b)&&!e.test(b)?null:"external"===(0,d.dj)(b)?"external":"file":null}function j(a){let b=[];for(let c of a.split("/"))if(""!==c&&"."!==c){if(".."===c){b.pop();continue}b.push(c)}return b.join("/")}function k(a,b){var c;if("file"!==i(a))return null;let d=(function(a){try{return decodeURIComponent(a)}catch{return a}})((function(a){let b=a.indexOf("#");return -1===b?a:a.slice(0,b)})(a.trim().replace(g,"")).replace(h,"")).trim();if(!d)return null;if(!d.startsWith("/"))return j(d)||null;let e=b?(c=b.trim()).length>1&&c.endsWith("/")?c.replace(/\/+$/,""):c:"";return e&&e.startsWith("/")?d===e?null:d.startsWith(`${e}/`)?j(d.slice(e.length+1))||null:d:d}},56308:(a,b,c)=>{c.d(b,{Md:()=>g});var d=c(38301),e=c(74930);c(12055);var f=c(89983);function g({worktreeId:a,cliToolId:b,instanceId:c,limit:g,includeArchived:h=!1,enabled:i=!0,cadence:j=f.tC}){let[k,l]=(0,d.useState)([]),[m,n]=(0,d.useState)(!0),{connected:o,subscribe:p,unsubscribe:q,addListener:r}=(0,e.xM)(),s=c??b,t=(0,d.useRef)(0),u=(0,d.useRef)(b);u.current=b;let v=(0,d.useRef)(s);v.current=s,(0,d.useRef)(g).current=g,(0,d.useRef)(h).current=h;let w=(0,d.useRef)(new Map),x=(0,d.useRef)(!1),y=(0,d.useCallback)(async()=>{let c=++t.current,d=new Map;w.current=d;let e=()=>!x.current||t.current!==c||u.current!==b||v.current!==s;try{let c=new URLSearchParams({cliTool:b,instance:s,unit:"pairs"});void 0!==g&&c.set("limit",String(g)),h&&c.set("includeArchived","true");let f=await fetch(`/api/worktrees/${a}/messages?${c.toString()}`);if(!f.ok)return;let i=await f.json();if(e())return;let j=i.map(a=>({...a,timestamp:new Date(a.timestamp)}));for(let a of d.values())j=function(a,b,c){let d=a.findIndex(a=>a.id===b.id),e=[...a];d>=0?e[d]=b:e.push(b);var f=[...e].sort((a,b)=>a.timestamp.getTime()-b.timestamp.getTime());if(void 0===c||c<1)return f;let g=f.filter(a=>"user"===a.role).map(a=>a.timestamp.getTime()).sort((a,b)=>b-a);if(g.length<=c)return f;let h=g[c-1];return f.filter(a=>a.timestamp.getTime()>=h)}(j,a,g);w.current===d&&(w.current=new Map),l(j),n(!1)}catch(a){if(e())return;console.error("[useSplitMessages] fetch error:",a),n(!1)}},[a,b,s,g,h]),z=`${a}::${b}::${s}`;return(0,d.useRef)(z),{messages:k,isLoading:m,refresh:(0,d.useCallback)(()=>y(),[y])}}f.tC.pollMs,f.tC.wsFallbackMs},59581:(a,b,c)=>{function d(a){return"running"===a||"generating"===a||"waiting"===a}function e(a,b){return 0===a.length?null:b&&a.some(a=>a.id===b)?b:a[0].id}function f(a,b){return a.map((a,b)=>({it:a,index:b})).filter(({it:a})=>!b(a.item)).sort((a,b)=>Number("waiting"===b.it.status)-Number("waiting"===a.it.status)||a.index-b.index).map(({it:a})=>a)}function g(a){return a.filter(a=>"waiting"===a.status).length}c.d(b,{Qo:()=>d,XV:()=>f,dW:()=>g,sI:()=>e})},63121:(a,b,c)=>{c.d(b,{BL:()=>h,Hc:()=>j,kP:()=>k,w6:()=>i});var d=c(28232),e=c(98882),f=c(91075),g=c(46332);let h="chat-reasoning",i="chat-tool-log";function j(a){let b=(0,e.h)(a),c=0,f=[];b.prose!==a&&(a.startsWith(b.prose)?f.push({key:i,ranges:[{start:b.prose.length,end:a.length}]}):f.push({key:i,ranges:[{start:0,end:c=a.length-b.prose.length}]}));let g=function(a,b){if(!a.includes(d.bJ))return[];let c=(0,d.Lx)(a);if(null===c.reasoning||!c.lineRanges)return[];let e=a.split("\n"),f=[],g=b,h=e.map(a=>{let b=g;return g+=a.length+1,b});for(let[a,b]of c.lineRanges)for(let c=a;c<b;c++)f.push({start:h[c],end:h[c]+e[c].length+1});return f}(b.prose,c);return g.length>0&&f.push({key:h,ranges:g}),f}function k(a,b){if(!b.folded)return{body:f.Wo,reasoning:null,toolLog:null};let c=j(a),h=(0,e.h)(a),k=a.startsWith(h.prose)?0:a.length-h.prose.length,l=[],m=k;for(let a of h.prose.split("\n"))l.push(m),m+=a.length+1;let n=(0,d.Oy)(h.prose),o=a=>a.map(a=>({text:a.text,rawStart:null===a.line?null:l[a.line]+a.column}));return{body:(0,g.v5)(b.body,o(n.body)),reasoning:null===b.reasoning?null:(0,g.v5)(b.reasoning,o(n.reasoning)),toolLog:b.toolCalls>0?(0,f.Ad)(b.toolLog,a,c.find(a=>a.key===i)?.ranges??[]):null}}},65468:(a,b,c)=>{c.d(b,{QN:()=>k,Qu:()=>j,bx:()=>h});let d="claude-turn:",e="antigravity-turn:",f="command-code-turn:",g=["oc-turn:",d,"codex-turn:",e,f];function h(a){return"string"==typeof a&&g.some(b=>a.startsWith(b))}let i=[[d,"claude-prompt:"],[e,"antigravity-prompt:"],[f,"command-code-prompt:"]];function j(a){if("string"!=typeof a)return null;for(let b of g)if(a.startsWith(b))return 0===a.slice(b.length).trim().length?null:a;return null}function k(a){for(let[b,c]of i){if(!a.startsWith(b))continue;let d=a.slice(b.length);return 0===d.trim().length?null:`${c}${d}`}return null}},67471:(a,b,c)=>{c.d(b,{v4:()=>f});var d=c(38301);function e(a){let b=new Set;for(let c of a)"user"===c.role&&b.add(c.id);return b}function f({worktreeId:a,serverMessages:b,sendFn:c,onSent:f,timeoutMs:g=3e4,connectivity:h,resendGraceMs:i=250}){let[j,k]=(0,d.useState)([]),l=h?.offline??!1;h?.reachable;let m=(0,d.useRef)(b);m.current=b;let n=(0,d.useRef)(j);n.current=j;let o=(0,d.useRef)(f);o.current=f;let p=(0,d.useRef)(c);p.current=c;let q=(0,d.useRef)(l);q.current=l;let r=(0,d.useRef)(0),s=(0,d.useRef)(new Map),t=(0,d.useRef)(new Set),u=(0,d.useRef)(new Set);(0,d.useRef)(new Set);let v=(0,d.useCallback)(a=>{let b=s.current.get(a);void 0!==b&&(clearTimeout(b),s.current.delete(a))},[]),w=(0,d.useCallback)(a=>{v(a),k(b=>b.map(b=>b.tempId!==a||"sending"!==b.status?b:q.current&&!b.autoResendAttempted?b.queued?b:{...b,queued:!0}:{...b,status:"error",queued:!1}))},[v]),x=(0,d.useCallback)(a=>{v(a);let b=setTimeout(()=>{s.current.delete(a),w(a)},g);s.current.set(a,b)},[v,w,g]),y=(0,d.useCallback)(async a=>{x(a.tempId),t.current.add(a.tempId);try{await p.current(a.content,a.options),k(b=>b.map(b=>b.tempId!==a.tempId||b.accepted?b:{...b,accepted:!0})),o.current?.()}catch{w(a.tempId)}finally{t.current.delete(a.tempId)}},[x,w]),z=(0,d.useCallback)((a,b)=>{let c={tempId:`pending-${r.current++}`,content:a,options:b,timestamp:new Date,status:"sending",baselineUserIds:e(m.current),queued:!1,accepted:!1,autoResendAttempted:!1};k(a=>[...a,c]),y(c)},[y]),A=(0,d.useCallback)(a=>{let b=n.current.find(b=>b.tempId===a);if(!b)return;let c={...b,status:"sending",timestamp:new Date,baselineUserIds:e(m.current),queued:!1,accepted:!1,autoResendAttempted:!1};k(b=>b.map(b=>b.tempId===a?c:b)),y(c)},[y]),B=(0,d.useCallback)(a=>{let b=n.current.find(b=>b.tempId===a);return v(a),t.current.delete(a),k(b=>b.filter(b=>b.tempId!==a)),b?.content},[v]);(0,d.useRef)(!1);let[C,D]=(0,d.useState)(0),[E,F]=(0,d.useState)(0);return(0,d.useRef)(i).current=i,j.reduce((a,b)=>b.queued&&"sending"===b.status?a+1:a,0),{messages:(0,d.useMemo)(()=>{if(0===j.length)return b;let{reconciledTempIds:c}=function(a,b,c){let d=new Set,e=new Set,f=a.filter(a=>"sending"===a.status);if(0===f.length)return{reconciledTempIds:d,consumedServerIds:e};let g=b.filter(a=>"user"===a.role&&!c.has(a.id)).sort((a,b)=>a.timestamp.getTime()-b.timestamp.getTime()),h=new Set;for(let a of[...f].sort((a,b)=>a.timestamp.getTime()-b.timestamp.getTime())){let b=g.find(b=>!h.has(b.id)&&!a.baselineUserIds.has(b.id)&&b.content===a.content);b&&(h.add(b.id),d.add(a.tempId),e.add(b.id))}return{reconciledTempIds:d,consumedServerIds:e}}(j,b,u.current),d=j.filter(a=>!c.has(a.tempId)).map(b=>({id:b.tempId,worktreeId:a,role:"user",content:b.content,timestamp:b.timestamp,messageType:"normal",archived:!1,cliToolId:b.options.cliToolId,instanceId:b.options.instanceId,optimisticState:b.status}));return 0===d.length?b:[...b,...d]},[b,j,a]),pending:j,sendOptimistic:z,retry:A,discard:B}}},68779:(a,b,c)=>{c.d(b,{AO:()=>e.A,OS:()=>g,PD:()=>h});var d=c(51919),e=c(43108),f=c(7879);function g(a,b){let c=(0,e.h)(a);if(null===c)return d.J_;var g=b??"";if(""===g)return d.J_;let h=function(a,b){let c=a.split("\n"),d=[];for(let a=c.length-1;a>=0&&d.length<b;a--){let b=(0,f.aJ)(c[a]??"");""!==b.trim()&&d.push(b)}return d.reverse()}(g,c.tailRows);if(0===h.length)return d.J_;for(let a of c.indicators)if(h.some(b=>a.pattern.test(b)))return a.mode;return d.J_}function h(a){return"string"==typeof a&&(0,d.WK)(a)}},70107:(a,b,c)=>{c.d(b,{f:()=>k});var d=c(21124),e=c(38301),f=c(20481);let g=["relative","flex-shrink-0","bg-border","transition-colors","duration-150","hover:bg-accent-500","dark:hover:bg-accent-500","focus:outline-none","focus:ring-2","focus:ring-ring","focus:ring-offset-2","focus:ring-offset-background"],h=["w-1","h-full","cursor-col-resize","before:content-['']","before:absolute","before:inset-y-0","before:-inset-x-1"],i=["h-1","w-full","cursor-row-resize","before:content-['']","before:absolute","before:inset-x-0","before:-inset-y-1"];function j(a,b){return"touches"in a&&a.touches.length>0?b?a.touches[0].clientX:a.touches[0].clientY:"clientX"in a?b?a.clientX:a.clientY:0}let k=(0,e.memo)(function({onResize:a,orientation:b="horizontal",ariaValueNow:c=50,onDoubleClick:k,minRatio:l=.1,ariaLabel:m}){let n=(0,f.c)("worktree"),[o,p]=(0,e.useState)(!1),q=(0,e.useRef)(0),r=(0,e.useRef)(null),s="horizontal"===b,t=(0,e.useCallback)(a=>{a.preventDefault(),p(!0),q.current=j(a,s)},[s]),u=(0,e.useCallback)(a=>{1===a.touches.length&&(p(!0),q.current=j(a,s))},[s]),v=(0,e.useCallback)(b=>{if(!o)return;let c=j(b,s);a(c-q.current),q.current=c},[o,s,a]),w=(0,e.useCallback)(b=>{if(!o||1!==b.touches.length)return;let c=j(b,s);a(c-q.current),q.current=c},[o,s,a]),x=(0,e.useCallback)(()=>{p(!1)},[]),y=(0,e.useCallback)(()=>{k&&k()},[k]),z=(0,e.useCallback)(b=>{let c=0;s?"ArrowRight"===b.key?c=10:"ArrowLeft"===b.key&&(c=-10):"ArrowDown"===b.key?c=10:"ArrowUp"===b.key&&(c=-10),0!==c&&(b.preventDefault(),a(c))},[s,a]);(0,e.useEffect)(()=>(o&&(document.addEventListener("mousemove",v),document.addEventListener("mouseup",x),document.addEventListener("touchmove",w),document.addEventListener("touchend",x),document.body.style.userSelect="none",document.body.style.cursor=s?"col-resize":"row-resize"),()=>{document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",x),document.removeEventListener("touchmove",w),document.removeEventListener("touchend",x),document.body.style.userSelect="",document.body.style.cursor=""}),[o,v,x,w,s]);let A=(0,e.useMemo)(()=>[...g,...s?h:i,...o?["bg-accent-500","dark:bg-accent-500","dragging",s?"w-2":"h-2"]:[]].join(" "),[s,o]);return(0,d.jsx)("div",{ref:r,role:"separator","aria-orientation":b,"aria-valuenow":c,"aria-valuemin":0,"aria-valuemax":100,"aria-label":m??n("paneResizer.label",{arrows:n(s?"paneResizer.arrowsHorizontal":"paneResizer.arrowsVertical")}),tabIndex:0,className:A,onMouseDown:t,onTouchStart:u,onKeyDown:z,onDoubleClick:y})})},75071:(a,b,c)=>{c.d(b,{F5:()=>j,Fg:()=>e,HB:()=>g,Hv:()=>i,df:()=>h});let d=[".png",".jpg",".jpeg",".gif",".webp",".svg"],e=0x1400000,f=[{extension:".png",mimeType:"image/png",magicBytes:[137,80,78,71]},{extension:".jpg",mimeType:"image/jpeg",magicBytes:[255,216,255]},{extension:".jpeg",mimeType:"image/jpeg",magicBytes:[255,216,255]},{extension:".gif",mimeType:"image/gif",magicBytes:[71,73,70,56]},{extension:".webp",mimeType:"image/webp",magicBytes:[82,73,70,70]},{extension:".svg",mimeType:"image/svg+xml"}];function g(a){return a?a.startsWith(".")?a.toLowerCase():"."+a.toLowerCase():""}function h(a){if(!a)return!1;let b=g(a);return d.includes(b)}let i=d.filter(a=>".svg"!==a),j=i.map(a=>(function(a){let b=g(a),c=f.find(a=>a.extension===b);return c?.mimeType||"application/octet-stream"})(a)).filter(a=>"application/octet-stream"!==a).join(",")},77478:(a,b,c)=>{c.d(b,{E2:()=>h,F0:()=>f,Yr:()=>i,e1:()=>g});var d=c(38301),e=c(91075);let f=500,g=300,h=2;function i({output:a,containerRef:b}){let[c,i]=(0,d.useState)(!1),[j,k]=(0,d.useState)(""),[l,m]=(0,d.useState)([]),[n,o]=(0,d.useState)(0),[p,q]=(0,d.useState)(!1),r=(0,d.useRef)(null),s=(0,d.useRef)(""),t=l.length,u=(0,d.useCallback)(a=>{if(a.length<h||!b.current)return{positions:[],capped:!1};let c=(b.current.textContent??"").toLowerCase(),d=a.toLowerCase(),e=[],g=0;for(;e.length<f;){let b=c.indexOf(d,g);if(-1===b)break;e.push({start:b,end:b+a.length}),g=b+1}let i=e.length>=f&&-1!==c.indexOf(d,g);return{positions:e,capped:i}},[b]),v=(0,d.useCallback)(a=>{let{positions:c,capped:d}=u(a);m(c),o(0),q(d),b.current&&(c.length>0?(0,e.aX)(b.current,c,0):(0,e.HI)())},[u,b]),w=(0,d.useCallback)(a=>{k(a),r.current&&clearTimeout(r.current),s.current=a,r.current=setTimeout(()=>{v(a)},g)},[v]),x=(0,d.useCallback)(()=>{i(!0)},[]),y=(0,d.useCallback)(()=>{i(!1),k(""),s.current="",m([]),o(0),q(!1),r.current&&clearTimeout(r.current),(0,e.HI)()},[]),z=(0,d.useCallback)(()=>{0!==t&&o(a=>{let c=(a+1)%t;return b.current&&l.length>0&&(0,e.aX)(b.current,l,c),c})},[t,l,b]),A=(0,d.useCallback)(()=>{0!==t&&o(a=>{let c=(a-1+t)%t;return b.current&&l.length>0&&(0,e.aX)(b.current,l,c),c})},[t,l,b]);return{isOpen:c,query:j,matchCount:t,currentIndex:n,isAtMaxMatches:p,openSearch:x,closeSearch:y,setQuery:w,nextMatch:z,prevMatch:A}}},79695:(a,b,c)=>{c.d(b,{M:()=>g});var d=c(94637),e=c(16620);let f={en:e.c,ja:d.ja};function g(a){return f[a]??e.c}},80132:(a,b,c)=>{c.d(b,{Cb:()=>g,l6:()=>f});var d=c(38301);function e(a){if("string"==typeof a)return a.trim();if(null!==a&&"object"==typeof a&&"label"in a){let b=a.label;return"string"==typeof b?b.trim():null}return null}function f(a){if(null===a||"object"!=typeof a||!Array.isArray(a.options)||0===a.options.length)return null;let b=a.options.map(e);return JSON.stringify(["string"==typeof a.type?a.type.trim():"","string"==typeof a.question?a.question.trim():"",...b])}function g({promptData:a,targetKey:b}){let[c,e]=(0,d.useState)(0),g=(0,d.useRef)(null),h=(0,d.useRef)(null),i=(0,d.useRef)(null),j=(0,d.useCallback)(()=>{null!==i.current&&(clearTimeout(i.current),i.current=null)},[]);(0,d.useCallback)(()=>{j(),g.current=null,h.current=null,e(0)},[j]),(0,d.useRef)(b);let k=(0,d.useRef)(a);return k.current=a,{displayCount:c,showStuckHint:c>=3,markSubmitted:(0,d.useCallback)(()=>{h.current=f(k.current)??g.current},[])}}},82258:(a,b,c)=>{c.d(b,{ED:()=>e,ZJ:()=>d,yi:()=>f});let d=1048576,e="[... 古い出力を省略しました / older output truncated ...]",f=65536},82620:(a,b,c)=>{c.d(b,{WU:()=>f,d3:()=>g,dj:()=>e,uO:()=>h});var d=c(46831);function e(a){return a.startsWith("#")?"anchor":a.startsWith("http://")||a.startsWith("https://")||a.startsWith("mailto:")||a.startsWith("tel:")?"external":"relative"}function f(a,b){if(!b)return null;let c=a.substring(0,a.lastIndexOf("/")+1);try{let a=new URL(c,"file:///"),d=new URL(b,a),e=decodeURIComponent(d.pathname);if(e.startsWith("/")){let a=e.substring(1);if(a.length>0)return a}}catch{}return null}function g(a){return!a||0===a.length||a.length>2048||/[\x00-\x1f\x7f]/.test(a)?null:a}let h={...d.j,attributes:{...d.j.attributes,a:[...(d.j.attributes?.a??[]).filter(a=>"href"!==a),["href",/^(?:#|mailto:|tel:|https?:\/\/|(?![a-zA-Z][a-zA-Z0-9+.-]*:))/]],img:[...(d.j.attributes?.img??[]).filter(a=>"src"!==a),["src",/^(?:https?:\/\/|(?![a-zA-Z][a-zA-Z0-9+.-]*:))/],"alt","width","height"]}}},84511:(a,b,c)=>{c.d(b,{y$:()=>v,NK:()=>z});var d=c(38301),e=c(74930),f=c(7879);let g=/^[>❯]/,h=/^\u203A/;function i(a){return void 0===a||""===(0,f.aJ)(a).trim()}function j(a){if(void 0===a)return!1;let b=l(a);if(0===b.length||"›"!==b[0].ch||b[0].dim||b.length>1&&" "!==b[1].ch)return!1;let c=b.slice(2).find(a=>" "!==a.ch);return void 0===c||!c.bold}function k(a){let b=a.length-1;for(;b>=0&&i(a[b]);)b--;if(b<0)return null;for(let c=0;c<4&&b>=0;c++){let c=b,d=b;for(;d>0&&!i(a[d-1]);)d--;if(j(a[d]))return{firstRow:d,lastRow:Math.min(c,d+40-1)};for(b=d-1;b>=0&&i(a[b]);)b--}return null}function l(a){let b=[],c={dim:!1,bold:!1,fg:null},d=0;for(;d<a.length;){let e=a[d];if("\x1b"!==e){b.push({ch:e,dim:c.dim,bold:c.bold,fg:c.fg}),d++;continue}let f=a[d+1];if("["===f){let b=d+2;for(;b<a.length&&!/[A-Za-z]/.test(a[b]);)b++;if(b>=a.length)break;"m"===a[b]&&(c=function(a,b){let c=""===a?["0"]:a.split(";"),{dim:d,bold:e,fg:f}=b;for(let a=0;a<c.length;a++){let b=""===c[a]?0:Number(c[a]);if(!Number.isNaN(b)){if(38===b||48===b||58===b){let d=""===c[a+1]||void 0===c[a+1]?-1:Number(c[a+1]),e=5===d?2:2===d?4:1;38===b&&(f=c.slice(a+1,a+1+e).join(";")),a+=e;continue}0===b?(d=!1,e=!1,f=null):22===b?(d=!1,e=!1):1===b?e=!0:2===b?d=!0:39===b?f=null:(b>=30&&b<=37||b>=90&&b<=97)&&(f=String(b))}}return{dim:d,bold:e,fg:f}}(a.slice(d+2,b),c)),d=b+1;continue}if("]"===f){let b=d+2;for(;b<a.length;){if("\x07"===a[b]){b++;break}if("\x1b"===a[b]&&"\\"===a[b+1]){b+=2;break}b++}d=b;continue}d+=2}return b}let m=new Set(["claude","codex"]);function n(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;return a.slice(0,b)}var o=c(68779),p=c(80132),q=c(51919),r=c(31179),s=c(6225),t=c(37834),u=c(89983);async function v(a){try{let b=await a.json();return"object"==typeof b&&null!==b&&"session_owned_by_other_server"===b.code}catch{return!1}}u.$C.activeMs,u.$C.idleMs,u.$C.wsFallbackMs;let w={session:null,context:null,diff:null};function x(a){let b=a.session,c=a.context,d=a.diff;return JSON.stringify([b?.title??null,b?.agent??null,b?.model??null,b?.cost??null,b?.tokens??null,c?.tokens??null,c?.limit??null,c?.percent??null,d?.turnMessageId??null,d?.revertedMessageId??null,d?.files.map(y)??null,d?.revertedFiles.map(y)??null])}function y(a){return`${a.file??""}:${a.status??""}:${a.additions}:${a.deletions}`}function z({worktreeId:a,cliToolId:b,instanceId:c,enabled:i=!0,cadence:y=u.$C}){let z=c??b,[A,B]=(0,d.useState)(()=>({output:"",realtimeSnippet:"",isRunning:!1,isThinking:!1,...r.b,composerText:"",attaching:!0,autoScroll:!0})),[C,D]=(0,d.useState)(()=>({visible:!1,data:null,messageId:null,answering:!1})),[E,F]=(0,d.useState)(w),G=(0,d.useRef)(0),H=(0,d.useRef)(b);H.current=b;let I=(0,d.useRef)(z);I.current=z;let J=(0,d.useRef)(!1),K=(0,d.useRef)(C.visible);K.current=C.visible;let{connected:L,subscribe:M,unsubscribe:N,addListener:O}=(0,e.xM)();(0,d.useRef)(0);let P=(0,d.useRef)(0),Q=(0,d.useRef)(null),R=(0,d.useRef)(null),[S,T]=(0,d.useState)(!1);(0,d.useCallback)(()=>{T(!0),null!==R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{R.current=null,T(!1)},5e3)},[]);let U=(0,d.useCallback)((a,b=!1,c=!1,d=!1)=>{let e=a.fullOutput??a.realtimeSnippet??"";!0===a.isUnclassifiedActive&&!0!==a.isPromptWaiting&&!0!==a.isSelectionListActive&&!0!==a.isPagerActive&&!0!==a.isDismissablePanelActive?(P.current+=1,Q.current??=Date.now()):(P.current=0,Q.current=null);let i=P.current>=2&&null!==Q.current&&Date.now()-Q.current>=500,r=a.isRunning?function(a,b){let c=function(a,b){if(!m.has(b))return{text:"",state:"unsupported_tool"};let c=a.split("\n"),d=function(a,b){if("claude"===b){let b=function(a){let b=a=>/^─{10,}$/.test((0,f.aJ)(a).trimEnd()),c=a.length-1;for(;c>=0&&""===a[c].trim();)c--;if(c<0)return null;let d=-1;for(let e=c;e>=Math.max(0,c-4);e--)if(b(a[e])){d=e;break}if(d<0)return null;let e=-1;for(let c=d-1;c>=Math.max(0,d-40);c--)if(b(a[c])){e=c;break}return e<0||!g.test((0,f.aJ)(a[e+1]??""))?null:{openingSeparator:e,closingSeparator:d}}(a);return null===b?null:{firstRow:b.openingSeparator+1,lastRow:b.closingSeparator-1,glyph:g}}let c=k(a);return null===c?null:{firstRow:c.firstRow,lastRow:c.lastRow,glyph:h}}(c,b);return null===d?{text:"",state:"no_composer"}:function(a,b){let c=[],d=[];for(let e=b.firstRow;e<=b.lastRow;e++){let f=function(a,b,c){if(b){let b=a.findIndex(a=>c.test(a.ch));if(b<0)return a;let d=b+1;return d<a.length&&/\s/.test(a[d].ch)&&d++,a.slice(d)}let d=0;for(;d<2&&d<a.length&&" "===a[d].ch;)d++;return a.slice(d)}(l(a[e]??""),e===b.firstRow,b.glyph);c.push(f.filter(a=>!a.dim).map(a=>a.ch).join("").trimEnd()),d.push(f.map(a=>a.ch).join("").trimEnd())}let e=n(c).join("\n");return""!==e.trim()?{text:e.slice(0,2e3),state:"content"}:{text:"",state:""===n(d).join("\n").trim()?"empty":"ghost"}}(c,d)}(a,b);if("codex"!==b||"no_composer"===c.state||"unsupported_tool"===c.state)return c;let d=a.split("\n"),e=k(d);return null!==e&&function(a,b){for(let d=a.length-1;d>b;d--){var c;let b=function(a){if(!a.includes("\x1b"))return null;let b=l(a),c=b.findIndex(a=>""!==a.ch.trim());if(c<0||"›"!==b[c].ch)return null;let d=b[c];if(d.dim)return"transcript-echo";let e=b.slice(c+1).find(a=>""!==a.ch.trim());return e?.bold?"option":e?.dim?"composer":null!==d.fg&&e?.fg===d.fg?"option":"composer"}(a[d]);if("option"===b)return!0;if("composer"===b&&j(c=a[d])&&!function(a){if(void 0===a)return!1;let b=l(a);return b.length>1&&"›"===b[0].ch&&" "===b[1].ch&&b[1].bold}(c))break}return!1}(d,e.firstRow)?{text:"",state:"no_composer"}:c}(e,H.current).text:"",u=a.isRunning?(0,o.OS)(H.current,e):q.J_;B(b=>{let c=!1===a.isRunning,d=!!e||!!a.isRunning||c;return{...b,output:d?e:b.output,realtimeSnippet:a.realtimeSnippet??"",isRunning:a.isRunning??!1,isThinking:a.thinking??!1,sessionStatus:a.sessionStatus??b.sessionStatus,isSelectionListActive:a.isSelectionListActive??!1,isPagerActive:a.isPagerActive??!1,isDismissablePanelActive:a.isDismissablePanelActive??!1,isUnclassifiedActive:i,composerText:r,agentMode:u,startingSince:"number"==typeof a.startingSince?a.startingSince:null,attaching:!1}}),a.isPromptWaiting&&a.promptData?D(e=>{let f=a.promptData??e.data,g=null!==(0,p.l6)(e.data)&&(0,p.l6)(e.data)===(0,p.l6)(f);return{...e,visible:!0,data:f,messageId:e.messageId??`prompt-${Date.now()}`,answerable:b?a.promptAnswerable:g?e.answerable:void 0,autoYesEnterSent:c?(0,s.r)(a.autoYesEnterFallback):!!g&&e.autoYesEnterSent,autoYesDecision:d?(0,t.Ft)(g?e.autoYesDecision:void 0,a.autoYesDecision):g&&function(a,b){let c=a=>null!==a&&"object"==typeof a?a.approvalTarget??null:null;return c(a)===c(b)}(e.data,f)?e.autoYesDecision:void 0}}):!a.isPromptWaiting&&K.current&&D({visible:!1,data:null,messageId:null,answering:!1})},[]),V=(0,d.useCallback)(async()=>{let c=++G.current,d=()=>!J.current||G.current!==c||H.current!==b||I.current!==z;try{let c=await fetch(`/api/worktrees/${a}/current-output?cliTool=${b}&instance=${encodeURIComponent(z)}`);if(!c.ok){409===c.status&&await v(c)&&!d()&&U({isRunning:!1,sessionStatus:"idle"});return}let e=await c.json();if(d()||e.cliToolId&&e.cliToolId!==b)return;U({...e,autoYesEnterFallback:e.autoYes?.lastEnterFallback},!0,!0,"autoYesDecision"in e);let f={session:e.structuredEvents?.session??null,context:e.structuredEvents?.sessionContext??null,diff:e.structuredEvents?.sessionDiff??null};F(a=>x(a)===x(f)?a:f)}catch(a){if(d())return;console.error("[useTerminalPanePolling] fetch error:",a)}},[a,b,z,U]),W=`${a}::${b}::${z}`;(0,d.useRef)(W);let X=(0,d.useCallback)(a=>{B(b=>b.autoScroll===a?b:{...b,autoScroll:a})},[]),Y=(0,d.useCallback)(a=>{D(b=>({...b,answering:a}))},[]);return{terminal:A,prompt:C,agentSession:E,setAutoScroll:X,setPromptAnswering:Y,clearPrompt:(0,d.useCallback)(()=>{D({visible:!1,data:null,messageId:null,answering:!1})},[]),refresh:(0,d.useCallback)(()=>V(),[V])}}},84666:(a,b,c)=>{c.d(b,{EK:()=>j,Wq:()=>h,pN:()=>k});var d=c(7879);let e=new Set(["claude","codex","opencode","antigravity","command-code"]),f=new Set(["opencode","command-code"]),g=new Set(["opencode"]),h={wrapMode:"frame",density:"compact"},i=/\x1b\[[0-9;]*m/g;function j(a){return{compactTuiLayoutPadding:e.has(a),preservePaintedPanelRows:f.has(a),mobileWrapMode:g.has(a)?"frame":"viewport"}}function k(a,b=400){let c=1;for(let e of a.split("\n")){let a=(0,d.wJ)(e).replace(i,"").trimEnd().length;if(a>c&&(c=a),c>=b)return b}return c}},87141:(a,b,c)=>{c.d(b,{UI:()=>k});var d=c(38301),e=c(9009);let f=[];function g(a){return a.deliveryHold?.state==="uncertain"}let h=new Map;function i(){return{open:f,held:f,closedBlocked:f,counts:(0,e.Ho)()}}async function j(a,b){b.issued+=1;let c=b.issued;try{let d=await fetch(`/api/relays?worktree=${encodeURIComponent(a)}`);if(!d.ok)return;let i=await d.json();if(h.get(a)!==b||c<b.applied)return;for(let a of(b.applied=c,b.snapshot={open:Array.isArray(i.open)?i.open:f,held:Array.isArray(i.held)?i.held.filter(g):f,closedBlocked:Array.isArray(i.closedBlocked)?i.closedBlocked:f,counts:i.counts??(0,e.Ho)()},b.listeners))a()}catch{}}function k(a){let[b]=(0,d.useState)(i),c=(0,d.useCallback)(b=>{let c;if(!a)return()=>{};let d=((c=h.get(a))||(c={snapshot:i(),listeners:new Set,timer:null,refs:0,issued:0,applied:0},h.set(a,c)),c.refs+=1,null===c.timer&&(j(a,c),c.timer=setInterval(()=>void j(a,c),2e4)),c);return d.listeners.add(b),()=>{d.listeners.delete(b),function(a){let b=h.get(a);b&&(b.refs-=1,b.refs>0||(b.timer&&clearInterval(b.timer),h.delete(a)))}(a)}},[a]),e=(0,d.useCallback)(()=>a?h.get(a)?.snapshot??b:b,[a,b]),{open:f,held:k,closedBlocked:l,counts:m}=(0,d.useSyncExternalStore)(c,e,e),n=(0,d.useCallback)(()=>{let b=a?h.get(a):void 0;a&&b&&j(a,b)},[a]);return(0,d.useMemo)(()=>{let b=new Set(k.map(a=>a.id)),c=a=>!b.has(a.id)&&!g(a);return{open:f,held:k,closedBlocked:l,counts:m,owedBy:b=>f.filter(d=>c(d)&&d.to.worktreeId===a&&d.to.instanceId===b),awaitedBy:b=>f.filter(d=>c(d)&&d.from.worktreeId===a&&d.from.instanceId===b),heldFor:b=>k.filter(c=>c.from.worktreeId===a&&c.from.instanceId===b),heldUnplaced:b=>k.filter(c=>c.from.worktreeId===a&&!b.includes(c.from.instanceId)),closedBlockedFor:c=>l.filter(d=>!b.has(d.id)&&d.from.worktreeId===a&&d.from.instanceId===c),closedBlockedUnplaced:c=>l.filter(d=>!b.has(d.id)&&d.from.worktreeId===a&&!c.includes(d.from.instanceId)),refresh:n}},[f,k,l,m,a,n])}},87692:(a,b,c)=>{c.d(b,{wY:()=>an,BM:()=>am});var d=c(21124),e=c(38301),f=c(20481),g=c(82788),h=c(14263),i=c(24417),j=c(54095),k=c(87141),l=c(31666),m=c(21554),n=c(85351),o=c(59405),p=c(11861),q=c(44688),r=c(70584),s=c(98688),t=c(88285),u=c(85866),v=c(29460),w=c(63156),x=c(55948),y=c(93777),z=c(13074),A=c(7027),B=c(91075),C=c(63121),D=c(88826),E=c(8842),F=c(50082);let G={highlightName:"chat-search",currentHighlightName:"chat-search-current",fallbackOverlayId:"chat-search-fallback-overlay",fallbackOverlayBgColor:"rgba(59, 130, 246, 0.6)"};var H=c(25178),I=c(47786);let J="chat-live-turn",K=(0,e.memo)(function({turnKey:a,version:b,body:c,partial:e=!1,isThinking:g=!1,showHeader:i=!1,onFilePathClick:j}){let k=(0,f.c)("worktree"),l="string"==typeof c&&c.length>0;return(0,d.jsxs)("div",{"data-testid":J,"data-role":"assistant","data-turn-key":a,"data-version":void 0===b?void 0:String(b),"data-has-body":l?"true":"false",role:"group","aria-label":k("chatSurface.progressLabel"),className:I.UI,children:[i&&(0,d.jsx)("div",{className:"flex items-center gap-2 px-1 text-xs text-muted-foreground",children:(0,d.jsx)("span",{className:"font-medium",children:k("conversation.assistant")})}),(0,d.jsxs)("div",{"data-testid":I.a3,className:I.CL,children:[l&&(0,d.jsx)("div",{"data-testid":"chat-live-turn-body","data-markdown":"true",className:I.Et,children:(0,d.jsx)(I.Gn,{content:c,onFilePathClick:j})}),(0,d.jsxs)("div",{"data-testid":"chat-live-turn-indicator",role:"status","aria-live":"polite",className:["flex flex-wrap items-center gap-2 text-xs text-muted-foreground",l?"mt-1.5":""].filter(Boolean).join(" "),children:[(0,d.jsx)(h.A,{size:14,className:"animate-spin","aria-hidden":"true"}),(0,d.jsx)("span",{children:k(g?"chatSurface.thinking":"chatSurface.generating")}),e&&(0,d.jsx)("span",{"data-testid":"chat-live-turn-partial",className:"rounded border border-warning-border bg-warning-subtle px-1 py-0.5 text-warning-foreground",children:k("chatSurface.progressPartial")})]})]})]})});var L=c(27412);let M="chat-transcript-scroll-container",N="chat-transcript-jump-fab",O="absolute bottom-3 right-3 z-10 flex h-9 w-9 items-center justify-center rounded-full border border-border bg-surface-2/80 text-muted-foreground shadow-lg backdrop-blur transition-colors hover:bg-muted hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation";function P(){let a=(0,f.c)("worktree");return(0,d.jsx)("div",{"data-testid":"chat-transcript-loading",role:"status","aria-label":a("chatTranscript.loading"),children:[0,1,2].map(a=>(0,d.jsxs)("div",{className:`mb-4 flex flex-col gap-1 ${a%2==0?"items-end":"items-start"}`,children:[(0,d.jsx)(u.EA,{className:"h-3 w-24"}),(0,d.jsx)(u.EA,{className:`h-14 rounded-2xl ${a%2==0?"w-2/3":"w-11/12"}`})]},a))})}function Q({turnKey:a,version:b,body:c,partial:e=!1,showHeader:g=!1,onFilePathClick:h}){let i=(0,f.c)("worktree"),j="string"==typeof c&&c.length>0;return(0,d.jsxs)("div",{"data-testid":J,"data-role":"assistant","data-settling":"true","data-turn-key":a,"data-version":void 0===b?void 0:String(b),"data-has-body":j?"true":"false",role:"group","aria-label":i("chatSurface.settlingLabel"),className:I.UI,children:[g&&(0,d.jsx)("div",{className:"flex items-center gap-2 px-1 text-xs text-muted-foreground",children:(0,d.jsx)("span",{className:"font-medium",children:i("conversation.assistant")})}),(0,d.jsxs)("div",{"data-testid":I.a3,className:I.CL,children:[j&&(0,d.jsx)("div",{"data-testid":"chat-live-turn-body","data-markdown":"true",className:I.Et,children:(0,d.jsx)(I.Gn,{content:c,onFilePathClick:h})}),(0,d.jsxs)("div",{"data-testid":"chat-settling-turn-note",className:["flex flex-wrap items-center gap-2 text-xs text-muted-foreground",j?"mt-1.5":""].filter(Boolean).join(" "),children:[(0,d.jsx)("span",{children:i("chatSurface.settling")}),e&&(0,d.jsx)("span",{"data-testid":"chat-live-turn-partial",className:"rounded border border-warning-border bg-warning-subtle px-1 py-0.5 text-warning-foreground",children:i("chatSurface.progressPartial")})]})]})]})}function R({count:a,isOpen:b,regionId:c,onToggle:e}){let g=(0,f.c)("worktree"),h=b?n.A:o.A;return(0,d.jsx)("div",{className:"mb-2 flex w-full items-center",children:(0,d.jsxs)("button",{type:"button","data-testid":"chat-previous-session-toggle","data-count":String(a),onClick:e,"aria-expanded":b,"aria-controls":c,"aria-label":g(b?"chatTranscript.previousSession.collapse":"chatTranscript.previousSession.expand"),className:"flex min-h-[32px] items-center gap-1.5 rounded-full border border-border bg-surface-2 px-3 py-1 text-xs font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",children:[(0,d.jsx)(p.A,{size:12,"aria-hidden":"true"}),(0,d.jsx)("span",{children:g("chatTranscript.previousSession.summary",{count:a})}),(0,d.jsx)(h,{size:12,"aria-hidden":"true"})]})})}function S(){let a=(0,f.c)("worktree");return(0,d.jsxs)("div",{"data-testid":"chat-session-ended-banner",role:"status",className:"mt-2 flex flex-col gap-0.5 rounded-lg border border-border bg-surface-2 px-3 py-2 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{children:a("terminal.sessionEnded")}),(0,d.jsx)("span",{children:a("chatTranscript.previousSession.hint")})]})}function T(){let a=(0,f.c)("worktree");return(0,d.jsxs)("div",{"data-testid":"chat-transcript-empty",className:"flex flex-col items-center justify-center gap-1 py-10 text-center text-muted-foreground",children:[(0,d.jsx)(q.A,{className:"mb-1 h-10 w-10 opacity-50","aria-hidden":"true"}),(0,d.jsx)("p",{className:"text-sm",children:a("chatTranscript.empty")}),(0,d.jsx)("p",{className:"text-xs",children:a("chatTranscript.emptyHint")})]})}let U=(0,e.memo)(function({messages:a,worktreeId:b,worktreePath:c,cliToolId:g,instanceId:j,isLoading:k=!1,className:l="",onFilePathClick:n,showToast:o,onInsertToMessage:p,onRetryPending:q,onDiscardPending:u,splitIndex:J,liveTurn:U=null,sessionEnded:V=!1,onScrollControlsChange:W,hideCornerControls:X=!1,openSearchOnWindowEvent:Y=!1,searchBarTopClassName:Z="top-2"}){let $=(0,f.c)("worktree"),_=(0,e.useRef)(null),aa=(0,e.useMemo)(()=>void 0===J?G:{highlightName:`chat-search-${J}`,currentHighlightName:`chat-search-current-${J}`,fallbackOverlayId:`chat-search-fallback-overlay-${J}`,fallbackOverlayBgColor:G.fallbackOverlayBgColor},[J]),ab=(0,e.useMemo)(()=>{let b=a.filter(a=>!a.archived);return b.length===a.length?a:b},[a]),ac=V&&!k,ad=`${b}|${g??""}|${j??""}`,ae=(0,e.useRef)(null),af=(0,e.useRef)(ad);af.current!==ad&&(af.current=ad,ae.current=null),ac?null===ae.current&&(ae.current=new Set(ab.filter(a=>!a.optimisticState).map(a=>a.id))):ae.current=null;let ag=ae.current,{previousMessages:ah,currentMessages:ai}=(0,e.useMemo)(()=>{if(null===ag||0===ag.size)return{previousMessages:[],currentMessages:ab};let a=[],b=[];for(let c of ab)!c.optimisticState&&ag.has(c.id)?a.push(c):b.push(c);return{previousMessages:a,currentMessages:b}},[ag,ab]),aj=ah.length,ak=ac&&aj>0,[al,am]=(0,e.useState)(!1),an=(0,e.useCallback)(()=>{am(a=>!a)},[]);(0,e.useEffect)(()=>{ak||am(!1)},[ak]),(0,e.useEffect)(()=>{am(!1)},[ad]);let ao=(0,e.useMemo)(()=>void 0===J?"chat-previous-session-region":`chat-previous-session-region-${J}`,[J]),ap=(0,e.useRef)(!0),aq=(0,e.useRef)(-1),ar=(0,e.useRef)(k),as=(0,e.useRef)(0),[at,au]=(0,e.useState)(!0),av=(0,e.useMemo)(()=>(al?ab:ai).filter(a=>!a.archived&&!(0,F.nY)(a)&&"string"==typeof a.content&&a.content.length>0),[ab,ai,al]),{isOpen:aw,query:ax,matchCount:ay,currentIndex:az,isAtMaxMatches:aA,matchPositions:aB,currentMatch:aC,openSearch:aD,closeSearch:aE,setQuery:aF,onCompositionStart:aG,onCompositionEnd:aH,nextMatch:aI,prevMatch:aJ}=(0,v.w)({messages:av}),aK=aw&&aB.length>0,aL=(0,e.useMemo)(()=>new Map(av.map(a=>[a.id,a.content])),[av]),[aM,aN]=(0,H.Af)(),aO=(0,e.useMemo)(()=>({showAll:aM}),[aM]),aP=(0,e.useMemo)(()=>aw&&0!==aB.length?new Set(aB.map(a=>a.messageId)):null,[aw,aB]);(0,e.useEffect)(()=>{aE()},[b]);let aQ=(0,e.useRef)(null),[aR,aS]=(0,e.useState)(0);(0,e.useEffect)(()=>{if(!Y)return;let a=()=>{aD(),aS(a=>a+1)};return window.addEventListener("chat-search-open",a),()=>window.removeEventListener("chat-search-open",a)},[Y,aD]),(0,e.useEffect)(()=>{0!==aR&&aQ.current?.querySelector("input")?.focus()},[aR]);let aT=(0,e.useMemo)(()=>ak?[{kind:"previousSessionHeader",key:"previous-session-header",count:aj},...al?(0,E.UY)(ah).map(a=>({...a,previousSession:!0})):[],...(0,E.UY)(ai)]:(0,E.UY)(ab),[ak,al,ab,ah,ai,aj]);as.current=aT.length;let aU=null!==U,aV=(0,e.useMemo)(()=>(function(a,b){let c=a.length-1;if(c<0)return null;let d={index:c,align:"end"};if(b)return d;for(let b=c;b>=0;b-=1){let c=a[b];if("approvals"===c.kind)continue;let e="message"===c.kind?c.message:void 0;if(!e)break;if(!(0,I.t_)(e))return"assistant"===e.role&&"normal"===e.messageType?{index:b,align:"start"}:d}return d})(aT,aU),[aT,aU]),aW=(0,e.useRef)(aV);aW.current=aV;let aX=(0,m.Te)({count:aT.length,getScrollElement:()=>_.current,estimateSize:()=>E.hM,overscan:E.B7,getItemKey:a=>aT[a]?.key??a}),aY=aX.getVirtualItems(),aZ=aY.length>0?`${aY[0].index}-${aY[aY.length-1].index}`:"",a$=(0,e.useMemo)(()=>{let a=new Map;return aT.forEach((b,c)=>{if("previousSessionHeader"!==b.kind)if("message"===b.kind)a.set(b.message.id,c);else for(let d of b.entries)for(let b of d.messageIds)a.set(b,c)}),a},[aT]),a_=(0,e.useRef)(null),a0=(0,e.useCallback)(()=>{let a=a_.current;a_.current=null,a&&null!==a.frame&&cancelAnimationFrame(a.frame)},[]),a1=(0,e.useCallback)(a=>{let b=_.current,c=aX.getOffsetForIndex(a.index,a.align)?.[0];return b&&void 0!==c?Math.abs(b.scrollTop-c):1/0},[aX]),a2=(0,e.useCallback)(()=>{a0();let a=aW.current;if(null===a||(aX.scrollToIndex(a.index,{align:a.align}),"function"!=typeof requestAnimationFrame))return;let b={frame:null,frames:0,stableFrames:0,totalSize:aX.getTotalSize(),target:a,deadline:Date.now()+600},c=()=>{if(b.frame=null,a_.current!==b)return;b.frames+=1;let a=aW.current;if(null===a||!ap.current||b.frames>12||Date.now()>b.deadline){a_.current=null;return}let d=aX.getTotalSize();if(d===b.totalSize&&a.index===b.target.index&&a.align===b.target.align&&(b.frames>1||1>=a1(a))){if(b.stableFrames+=1,b.stableFrames>=3){a_.current=null;return}}else b.stableFrames=0,b.totalSize=d,b.target=a,aX.scrollToIndex(a.index,{align:a.align});b.frame=requestAnimationFrame(c)};a_.current=b,b.frame=requestAnimationFrame(c)},[aX,a0,a1]);(0,e.useEffect)(()=>a0,[a0]);let a3=(0,e.useCallback)(()=>{ap.current=!0,au(!0),a2()},[a2]),a4=(0,e.useCallback)(()=>{a0(),ap.current=!1,au(!1),as.current>0&&aX.scrollToIndex(0,{align:"start"})},[aX,a0]),a5=(0,e.useCallback)(()=>{let a=_.current;if(!a)return;let b=aW.current,c=(0,D.Mp)({scrollTop:a.scrollTop,scrollHeight:a.scrollHeight,clientHeight:a.clientHeight})||null!==b&&"start"===b.align&&a1(b)<=D.r4;(c||null===a_.current)&&(ap.current=c,au(c))},[a1]),a6=(0,e.useRef)(aU),a7=(0,e.useRef)(aM);(0,e.useLayoutEffect)(()=>{let a=aq.current,b=ar.current,c=a6.current,d=a7.current,e=ab.length;if(aq.current=e,ar.current=k,a6.current=aU,a7.current=aM,k||aK||0===aT.length||!ap.current)return;let f=c!==aU||d!==aM;(-1===a||b||f||!(e<=a))&&a2()},[ab.length,aT.length,k,aK,aU,aM,a2]),(0,e.useEffect)(()=>{if(W)return W({scrollToLatest:a3,scrollToTop:a4}),()=>W(null)},[W,a3,a4]);let a8=(0,e.useCallback)(a=>{if("Home"!==a.key&&"End"!==a.key)return;let b=a.target;b&&("INPUT"===b.tagName||"TEXTAREA"===b.tagName||b.isContentEditable)||0!==as.current&&(a.preventDefault(),"End"===a.key?a3():a4())},[a3,a4]);(0,e.useEffect)(()=>{if(!aw||!aC)return;let a=a$.get(aC.messageId);void 0!==a&&aX.scrollToIndex(a,{align:"center"})},[aw,aC,a$,aX]);let a9=(0,v.i)(_,aK);(0,e.useLayoutEffect)(()=>{let a=_.current;if(!a)return;if(!aw||0===aB.length)return void(0,B.fq)(aa);let b=null;for(let d of aB){var c;let e=a.querySelector(`[data-message-id="${CSS.escape(d.messageId)}"]`);if(!e)continue;let f=aC?.messageId===d.messageId;(0,B.Gg)(e,d.ranges,f?aC.localIndex:-1,aa,void 0===(c=aL.get(d.messageId))?{}:{sourceText:c,sections:(0,C.Hc)(c)}),f&&e instanceof HTMLElement&&(b=e)}return b&&"function"==typeof b.scrollIntoView&&b.scrollIntoView({block:"center",behavior:"smooth"}),()=>{(0,B.fq)(aa)}},[aw,aB,aC,aa,aZ,aL,a9]);let ba=(0,e.useRef)($);ba.current=$;let bb=(0,z.O)(),bc=c??bb.worktreePath,bd=(0,e.useMemo)(()=>({worktreeId:b,worktreePath:bc}),[b,bc]),be=(0,e.useCallback)(a=>{if(!n)return;let c=(0,x.h)(a,bc);null!==c&&(async()=>{if("missing"===await (0,y.o4)(b,c))return o?.(ba.current("conversation.filePathMissing"),"error");n(c)})()},[n,b,bc,o]),bf=(0,e.useCallback)(async a=>{try{await (0,w.l)(a),o?.(ba.current("history.copied"),"success")}catch{o?.(ba.current("history.copyFailed"),"error")}},[o]),bg=(0,e.useCallback)(a=>{let b=aT[a];if(!b)return null;if("previousSessionHeader"===b.kind)return(0,d.jsx)(R,{count:b.count,isOpen:al,regionId:ao,onToggle:an});let c=a=>b.previousSession?(0,d.jsx)("div",{"data-previous-session":"true",className:"opacity-60",children:a}):a;if("approvals"===b.kind)return c((0,d.jsx)(I.ZK,{entries:b.entries}));let e=(0,d.jsx)(I.qI,{message:b.message,showHeader:b.showHeader,header:b.header,onFilePathClick:be,onCopy:bf,onInsertToMessage:p,onRetryPending:q,onDiscardPending:u});return c(aP?.has(b.message.id)?(0,d.jsx)(I.PZ,{value:I.vY,children:e}):e)},[aT,be,bf,p,q,u,aP,al,ao,an]),bh=null!==U&&!0!==U.settling;return(0,d.jsxs)("div",{"data-testid":"chat-transcript","data-tool-activity":aM?"shown":"folded",role:"log","aria-label":$("chatTranscript.regionLabel"),className:["relative flex h-full min-h-0 w-full flex-col overflow-hidden bg-surface",l].filter(Boolean).join(" "),children:[(0,d.jsx)("div",{ref:_,"data-testid":M,onScroll:a5,onKeyDown:a8,tabIndex:0,className:"min-h-0 flex-1 overflow-y-auto overflow-x-hidden px-3 py-3",children:(0,d.jsx)(I.PZ,{value:aO,children:(0,d.jsxs)(A.lK,{value:bd,children:[k?(0,d.jsx)(P,{}):0===aT.length?U?null:(0,d.jsx)(T,{}):0===aY.length?(0,d.jsx)("div",{"data-testid":"chat-transcript-fallback-list",id:ak?ao:void 0,children:aT.slice(0,E.JD).map((a,b)=>(0,d.jsx)("div",{children:bg(b)},a.key))}):(0,d.jsx)("div",{id:ak?ao:void 0,style:{height:aX.getTotalSize(),width:"100%",position:"relative"},children:aY.map(a=>(0,d.jsx)("div",{"data-index":a.index,ref:aX.measureElement,className:"absolute left-0 top-0 w-full",style:{transform:`translateY(${a.start}px)`},children:bg(a.index)},a.key))}),U&&(U.settling?(0,d.jsx)(Q,{turnKey:U.turnKey,version:U.version,body:U.body,partial:U.partial,showHeader:(0,E.CK)(ab[ab.length-1]),onFilePathClick:be}):(0,d.jsx)(K,{turnKey:U.turnKey,version:U.version,body:U.body,partial:U.partial,isThinking:U.isThinking,showHeader:(0,E.CK)(ab[ab.length-1]),onFilePathClick:be})),ak&&(0,d.jsx)(S,{})]})})}),aT.length>0&&(at?(0,d.jsx)("button",{type:"button","data-testid":N,"data-direction":"top",onClick:a4,"aria-label":$("chatTranscript.jumpToTop"),title:$("chatTranscript.jumpToTop"),className:O,children:(0,d.jsx)(r.A,{size:16,"aria-hidden":"true"})}):(0,d.jsx)("button",{type:"button","data-testid":N,"data-direction":"latest","data-generating":bh?"true":void 0,onClick:a3,"aria-label":$(bh?"chatSurface.jumpToLatestGenerating":"chatSurface.jumpToLatest"),title:$(bh?"chatSurface.jumpToLatestGenerating":"chatSurface.jumpToLatest"),className:O,children:bh?(0,d.jsx)(h.A,{size:16,className:"animate-spin","aria-hidden":"true"}):(0,d.jsx)(i.A,{size:16,"aria-hidden":"true"})})),(0,d.jsxs)("div",{ref:aQ,className:`pointer-events-none absolute right-2 ${Z} z-10 flex items-start justify-end gap-1`,children:[!aw&&!X&&(0,d.jsx)("div",{className:"pointer-events-auto",children:(0,d.jsx)("button",{type:"button","data-testid":"chat-transcript-tool-activity-toggle",onClick:aN,"aria-pressed":aM,"aria-label":$(aM?"chatTranscript.toolActivity.hide":"chatTranscript.toolActivity.show"),title:$(aM?"chatTranscript.toolActivity.hide":"chatTranscript.toolActivity.show"),className:["rounded-full border border-border p-1.5 shadow-sm backdrop-blur transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",aM?"bg-accent-500/15 text-accent-700 hover:bg-accent-500/25 dark:text-accent-400":"bg-surface-2/80 text-muted-foreground hover:bg-muted hover:text-foreground"].join(" "),children:(0,d.jsx)(s.A,{size:14,"aria-hidden":"true"})})}),(aw||!X)&&(0,d.jsx)("div",{className:"pointer-events-auto",children:aw?(0,d.jsx)(L.Y,{query:ax,onQueryChange:aF,matchCount:ay,currentIndex:az,onNext:aI,onPrev:aJ,onClose:aE,isAtMaxMatches:aA,onCompositionStart:aG,onCompositionEnd:aH}):(0,d.jsx)("button",{type:"button","data-testid":"chat-transcript-search-toggle",onClick:aD,"aria-label":$("chatTranscript.openSearch"),title:$("chatTranscript.openSearch"),className:"rounded-full border border-border bg-surface-2/80 p-1.5 text-muted-foreground shadow-sm backdrop-blur transition-colors hover:bg-muted hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",children:(0,d.jsx)(t.A,{size:14,"aria-hidden":"true"})})})]})]})});var V=c(27357),W=c(7879),X=c(39203),Y=c(43907);let Z=/^[^\S\n]*[❯›●][^\S\n]/;function $({frame:a,maxLines:b=Y.d8,maxHeightClassName:c="max-h-64",actions:g,reason:h,className:i="",flattenIntoParent:j=!1}){let k=(0,f.c)("worktree"),l="selectionList"===h,m=(0,e.useMemo)(()=>(0,Y.Bw)(a,{maxLines:b,selectionList:l}),[a,b,l]),n=(0,e.useMemo)(()=>m?(0,V.l5)(m):"",[m]),o=(0,e.useRef)(null);return((0,e.useMemo)(()=>l&&m?function(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a-=1)if(Z.test((0,W.aJ)(b[a]))){c=a;break}return Math.max(c,function(a){let b=a.map(X.HB),c=b.map(X.L1),d=b.map(X.$U);for(let a=b.length-1;a>=0;a-=1){let{bg:e,columns:f}=c[a];if(!(null===e||f<8||a>0&&d[a-1].has(e))&&!(a+1<b.length&&d[a+1].has(e)))return a}return -1}(b))}(m):-1,[l,m]),m)?(0,d.jsxs)("div",{"data-testid":"chat-dialog-card","data-reason":h,role:"group","aria-label":k("chatSurface.dialogCardLabel"),className:[j?"contents":"flex min-h-0 min-w-0 flex-col gap-2",i].filter(Boolean).join(" "),children:[(0,d.jsx)("div",{"data-testid":"chat-dialog-card-frame-slot",className:"flex min-h-0 shrink-[100000] flex-col overflow-hidden",children:(0,d.jsx)("div",{ref:o,"data-testid":"chat-dialog-card-frame",className:`min-h-0 overflow-auto rounded-lg border border-border bg-terminal-surface p-2 font-mono text-[11px] leading-snug text-terminal-foreground ${c}`,children:(0,d.jsx)("div",{className:"whitespace-pre w-max",dangerouslySetInnerHTML:{__html:n}})})}),g?(0,d.jsx)("div",{"data-testid":"chat-dialog-card-actions",className:j?"contents":"flex min-h-0 min-w-0 flex-col",children:g}):null]}):null}var _=c(99086),aa=c(12178),ab=c(52935),ac=c(47015),ad=c(30872),ae=c(15457),af=c(12529),ag=c(74930);c(12055);var ah=c(44047),ai=c(98639);let aj=`[data-testid="${M}"]`,ak={pager:"chatSurface.reasonPager",selectionList:"chatSurface.reasonSelectionList",dismissablePanel:"chatSurface.reasonDismissablePanel",unclassified:"chatSurface.reasonUnclassified",promptUnreadable:"chatSurface.reasonPromptUnreadable"};function al(a,b){return"number"==typeof a.startingSince?null:a.isPagerActive?"pager":a.isSelectionListActive?"selectionList":a.isDismissablePanelActive??(0,ad.gg)(b)?"dismissablePanel":a.isUnclassifiedActive?"unclassified":a.isPromptWaiting&&((0,ae.ds)(a.promptData)?.kind??"unreadable")==="unreadable"?"promptUnreadable":null}function am(a,b,c){return!!b&&!!c&&"selectionList"===al(a,b)}let an=(0,e.memo)(function({messages:a,worktreeId:b,worktreePath:c,cliToolId:m,instanceId:n,live:o,onSurfaceModeChange:p,frame:q,onKeysSent:r,compact:s=!1,history:t,className:u=""}){let v=(0,f.c)("worktree"),w=(0,e.useRef)(null),x=(0,e.useMemo)(()=>(function(a){let b=new Map;for(let c of a)b.set(c.id,c);return b.size===a.length?a:Array.from(b.values())})(a),[a]),y=!1===o.attaching&&!1===o.isRunning,z=(0,e.useRef)(!0),A=(0,e.useRef)(-1),[B,C]=(0,e.useState)(!1),[E,F]=(0,e.useState)(!0),G=(0,e.useCallback)(()=>w.current?.querySelector(aj)??null,[]),[H,I]=(0,e.useState)(!1),J=(0,e.useCallback)(a=>{I(null!==a)},[]),K=(0,e.useCallback)(()=>{let a=G();a&&(a.scrollTop=a.scrollHeight),z.current=!0,F(!0),C(!1)},[G]);(0,e.useEffect)(()=>{let a=G();if(!a)return;let b=()=>{let b=(0,D.Mp)({scrollTop:a.scrollTop,scrollHeight:a.scrollHeight,clientHeight:a.clientHeight});z.current=b,F(b),b&&C(!1)};return a.addEventListener("scroll",b),()=>a.removeEventListener("scroll",b)},[G,t?.isLoading]),(0,e.useLayoutEffect)(()=>{let a=A.current,b=x.length;if(A.current=b,-1!==a&&!(b<=a)){if(z.current){let a=G();a&&(a.scrollTop=a.scrollHeight);return}C(!0)}},[x.length,G]);let L="number"==typeof o.startingSince?o.startingSince:null,M=null!==L,N="running"===o.sessionStatus&&!M,O=function({worktreeId:a,cliToolId:b,instanceId:c,enabled:d=!0}){let{addListener:f,connected:g}=(0,ag.xM)(),[h,i]=(0,e.useState)(null);(0,e.useRef)(0);let j=(0,e.useMemo)(()=>null===h?null:{...h,settling:!0},[h]);return d?g?h:null:j}({worktreeId:b,cliToolId:m,instanceId:n,enabled:N}),P=x.length?x[x.length-1].id:null,Q=O?.settling===!0,R=(0,e.useRef)(null),[S,T]=(0,e.useState)(!1);(0,e.useEffect)(()=>{if(!Q){R.current=null,T(!1);return}if(null===R.current){R.current={id:P};return}R.current.id!==P&&T(!0)},[Q,P]);let[V,W]=(0,e.useState)(null);(0,e.useEffect)(()=>{y&&null!==O&&W(O.turnKey)},[y,O]);let X=null===O||O.turnKey===V||function(a,b){for(let c=a.length-1;c>=0;c-=1)if(a[c].requestId===b)return!0;return!1}(x,O.turnKey)||O.settling&&S?null:O,Z=(0,e.useMemo)(()=>y?null:null!==X?{turnKey:X.turnKey,version:X.version,body:X.body,partial:X.partial,isThinking:!X.settling&&!0===o.isThinking,settling:X.settling}:N?{isThinking:!0===o.isThinking}:null,[X,N,o.isThinking,y]),ae=null!==Z,am=ae&&!0!==Z.settling,an=(0,e.useRef)(!1);(0,e.useLayoutEffect)(()=>{if(!an.current){an.current=!0;return}if(!z.current)return;let a=G();a&&(a.scrollTop=a.scrollHeight)},[X?.body,ae,G]);let ao=al(o,q),ap=(0,e.useMemo)(()=>"selectionList"===ao&&(0,ad.pw)(q,m),[ao,q,m]),aq=(0,e.useCallback)(()=>{p("terminal")},[p]),ar=(0,ai.qi)(b,n??m??""),as=(0,ai.Bj)(ar,L),at=(0,e.useCallback)(()=>{as.revealTerminal(),p("terminal")},[as,p]),au=(0,e.useRef)(null);(0,e.useEffect)(()=>()=>{null!==au.current&&clearTimeout(au.current)},[]);let av=(0,e.useCallback)(()=>{r?.(),null!==au.current&&clearTimeout(au.current),au.current=setTimeout(()=>{au.current=null,r?.()},400)},[r]),aw=(0,e.useMemo)(()=>"selectionList"===ao&&q?(0,Y.Bw)(q,{selectionList:!0}).split("\n").length:0,[ao,q]),ax=(0,e.useMemo)(()=>"selectionList"===ao&&(0,af.p1)((0,af.gO)(q),m),[ao,q,m]),ay=(0,e.useMemo)(()=>{if(null===ao||!m)return null;let a={worktreeId:b,cliToolId:m,instanceId:n,onKeysSent:av};switch(ao){case"pager":return(0,d.jsx)(_.y,{...a,showPagerKeys:!0});case"selectionList":return(0,d.jsx)(ac.Z,{...a,frame:q,surface:"chat",compact:s});case"dismissablePanel":return(0,d.jsx)(ab.bC,{...a});case"unclassified":return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(aa.U,{...a}),(0,d.jsx)(ab.LN,{...a})]});case"promptUnreadable":return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("p",{"data-testid":"chat-surface-unreadable-hint",className:"text-xs text-muted-foreground",children:v("chatSurface.unreadableHint")}),(0,d.jsx)(ab.LN,{...a})]})}},[ao,m,b,n,av,q,s,v]),az=t??{},aA=(0,k.UI)(b),aB=n??m??null,aC=(0,e.useMemo)(()=>aB?(0,l.yJ)((0,l.gV)({owed:aA.owedBy(aB),awaiting:aA.awaitedBy(aB),held:aA.heldFor(aB),closedBlocked:aA.closedBlockedFor(aB),aliasOf:a=>a.worktreeId===b?a.instanceId:`${a.instanceId} @ ${a.worktreeId}`})):null,[aA,aB,b]);return(0,d.jsxs)("div",{ref:w,"data-testid":"chat-surface","data-instance-id":n??m,className:["flex h-full min-h-0 w-full flex-col overflow-hidden bg-surface text-surface-foreground",u].filter(Boolean).join(" "),children:[aC&&(0,d.jsxs)("div",{"data-testid":"chat-surface-relay","data-relay-tone":aC.tone,role:"status",className:`flex shrink-0 items-center gap-1.5 border-b border-border px-3 py-1 text-xs ${(0,l.Vf)(aC.tone)?"bg-warning-subtle text-warning-foreground":"bg-surface-2 text-muted-foreground"}`,children:[(0,d.jsx)(g.A,{size:12,className:"shrink-0","aria-hidden":"true"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:v(`relay.${aC.key}`,aC.params)})]}),(0,d.jsxs)("div",{className:"relative min-h-0 flex-1 overflow-hidden",children:[(0,d.jsx)(U,{...az,messages:x,worktreeId:b,worktreePath:c,cliToolId:m,liveTurn:Z,instanceId:n,sessionEnded:y,onScrollControlsChange:J,className:"h-full"}),!H&&(B||ae&&!E)&&(0,d.jsxs)("button",{type:"button","data-testid":"chat-surface-new-messages","data-generating":am?"true":void 0,onClick:K,"aria-label":am?v("chatSurface.jumpToLatestGenerating"):void 0,className:"absolute bottom-3 left-1/2 z-10 flex min-h-[36px] -translate-x-1/2 items-center gap-1.5 rounded-full border border-border bg-surface-2 px-3 py-1.5 text-xs font-medium text-foreground shadow-lg transition-colors hover:bg-muted focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",children:[am?(0,d.jsx)(h.A,{size:14,className:"animate-spin","aria-hidden":"true"}):(0,d.jsx)(i.A,{size:14,"aria-hidden":"true"}),v("chatSurface.jumpToLatest")]})]}),null!==L&&m?(0,d.jsx)("div",{"data-testid":"chat-surface-starting",className:"flex shrink-0 flex-col gap-2 border-t border-border bg-surface px-3 py-2",children:(0,d.jsx)(ah.TE,{cliToolId:m,startingSince:L,onShowTerminal:at,variant:"strip"})}):null,null!==ao&&(0,d.jsxs)("div",{"data-testid":"chat-surface-live",role:"group","aria-label":v("chatSurface.liveRegionLabel"),className:`flex flex-col border-t border-border bg-surface px-3 py-2 ${ax?"min-h-0 gap-1.5 overflow-y-auto":"shrink-0 gap-2"}`,children:[(0,d.jsxs)("div",{"data-testid":"chat-surface-terminal-banner","data-reason":ao,"data-trust-confirmation":ap?"true":void 0,role:"status","aria-label":v("chatSurface.bannerLabel"),className:`flex flex-wrap items-center gap-2 rounded-lg border border-warning-border bg-warning-subtle px-2 py-1.5${ax?" min-h-0 shrink-[100000] overflow-y-auto":""}`,children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 text-xs text-foreground",children:v(ap?"chatSurface.reasonTrustConfirmation":ak[ao])}),(0,d.jsxs)("button",{type:"button","data-testid":"chat-surface-open-terminal",onClick:aq,className:"flex min-h-[32px] shrink-0 items-center gap-1 rounded-md border border-warning-border bg-surface px-2 py-1 text-xs font-medium text-warning-foreground transition-colors hover:bg-muted focus:outline-none focus-visible:ring-2 focus-visible:ring-ring touch-manipulation",children:[(0,d.jsx)(j.A,{size:14,"aria-hidden":"true"}),v("chatSurface.openTerminal")]})]}),q?(0,d.jsx)($,{frame:q,reason:ao,maxLines:s?12:void 0,maxHeightClassName:aw>24&&!ax?"max-h-[35vh]":s?"max-h-32":"max-h-64",actions:ay,flattenIntoParent:ax}):null]})]})})},88826:(a,b,c)=>{c.d(b,{Mp:()=>h,__:()=>e,b:()=>d,r4:()=>f,vC:()=>g});let d=6,e=160,f=80,g=30;function h({scrollTop:a,scrollHeight:b,clientHeight:c},d=f){let e=b-a-c;return!!Number.isFinite(e)&&e<=d}},89983:(a,b,c)=>{c.d(b,{$C:()=>d,WT:()=>g,f8:()=>i,lN:()=>j,sD:()=>e,tC:()=>f,z1:()=>k});let d={activeMs:2e3,idleMs:5e3,wsFallbackMs:15e3,activeRequiresGenerating:!1,idleTrustsConnection:!1},e={activeMs:4e3,idleMs:1e4,wsFallbackMs:15e3,activeRequiresGenerating:!0,idleTrustsConnection:!0},f={pollMs:5e3,wsFallbackMs:15e3},g={pollMs:15e3,wsFallbackMs:3e4},h=new Set(["running","waiting"]);function i(a){return h.has(a)}function j(a,b){if(b.interactionActive)return a.activeMs;let c=a.activeRequiresGenerating?b.generating:b.sessionAlive;return b.connected&&b.pushHealthy||b.connected&&!c&&a.idleTrustsConnection?a.wsFallbackMs:c?a.activeMs:a.idleMs}function k(a,b){return b.connected?a.wsFallbackMs:a.pollMs}},90349:(a,b,c)=>{c.d(b,{I:()=>d,k:()=>e});let d="skill:installed";function e(a){}},93467:(a,b,c)=>{c.d(b,{C:()=>d});function d(a){let b=Math.max(0,Math.floor(a/1e3));if(b<60)return`${b}s`;let c=Math.floor(b/60);return`${c}m ${String(b%60).padStart(2,"0")}s`}},93777:(a,b,c)=>{c.d(b,{o4:()=>g});var d=c(12894);let e={method:"HEAD",cache:"no-store"},f=(a,b)=>fetch(a,b);async function g(a,b,c=f){try{var h;return(h=await c(`/api/worktrees/${encodeURIComponent(a)}/files/${(0,d.o)(b)}`,e)).ok?"present":404===h.status||400===h.status||403===h.status?"missing":"unknown"}catch{return"unknown"}}},98354:(a,b,c)=>{c.d(b,{LQ:()=>g,Ml:()=>f,sh:()=>e});let d=/^\p{M}$/u;function e(a,b){if(a.length<=b)return a.length;let c=0,e=0;for(let f of a){let a=+!d.test(f);if(1===a&&c>=b)break;c+=a,e+=f.length}return e}function f(a,b,c){return a.slice(e(a,b),e(a,c))}function g(a){let b=0;for(let c of a)d.test(c)||(b+=1);return b}},98639:(a,b,c)=>{c.d(b,{Bj:()=>i,qi:()=>h});var d=c(38301);let e=new Set,f=new Set;function g(a){return f.add(a),()=>{f.delete(a)}}function h(a,b){return`${a}:${b}`}function i(a,b){let c="number"==typeof b?b:null,h=(0,d.useSyncExternalStore)(g,()=>null!==c&&e.has(`${a}@${c}`),()=>!1),i=(0,d.useCallback)(()=>{null!==c&&function(a,b){let c=`${a}@${b}`;if(!e.has(c)){if(e.size>=64){let a=e.values().next().value;void 0!==a&&e.delete(a)}for(let a of(e.add(c),f))a()}}(a,c)},[a,c]),j=null!==c;return{startingSince:c,starting:j,noticeVisible:j&&!h,revealTerminal:i}}},98882:(a,b,c)=>{c.d(b,{h:()=>h});let d="Tool calls",e=RegExp(`^>[ \\t]*\\*\\*${d}(?:[ \\t]*\\((\\d+)\\))?\\*\\*[ \\t]*$`),f=/^- `[^`\n]+`(?: — .*)?$/;function g(a){return{prose:a,toolLog:"",toolCalls:0}}function h(a){if("string"!=typeof a||0===a.length)return g(a??"");if(!a.includes(d)&&!a.startsWith("- `"))return g(a);let b=a.split("\n"),c=b.length;for(;c>0&&0===b[c-1].trim().length;)c-=1;for(let a=c-1;a>=0;a-=1){let d=e.exec(b[a]);if(!d){if(!b[a].startsWith(">"))break;continue}if(a>0&&b[a-1].startsWith(">"))break;let f=b.slice(a+1,c).map(a=>a.replace(/^>[ \t]?/,"")).join("\n").replace(/^\n+/,"").replace(/\n+$/,""),g=d[1]?Number.parseInt(d[1],10):0;return{prose:b.slice(0,a).join("\n").replace(/\n+$/,""),toolLog:f,toolCalls:Number.isFinite(g)&&g>0?g:f.split("\n").filter(a=>a.trim().length>0).length}}let h=0;for(;h<b.length&&f.test(b[h]);)h+=1;return 0===h?g(a):{prose:b.slice(h).join("\n").replace(/^\n+/,""),toolLog:b.slice(0,h).join("\n"),toolCalls:h}}},99086:(a,b,c)=>{c.d(b,{y:()=>k});var d=c(21124),e=c(38301),f=c(20481),g=c(50391),h=c(22631);let i=[{key:"Left",label:"◀",ariaLabel:"Left"},{key:"Up",label:"▲",ariaLabel:"Up"},{key:"Down",label:"▼",ariaLabel:"Down"},{key:"Right",label:"▶",ariaLabel:"Right"},{key:"Enter",label:"↵",ariaLabel:"Enter"},{key:"Escape",label:"Esc",ariaLabel:"Escape"}],j=[{key:"PageUp",label:"PgUp",ariaLabel:"Page Up"},{key:"PageDown",label:"PgDn",ariaLabel:"Page Down"},{key:"Home",label:"Home",ariaLabel:"Home"},{key:"End",label:"End",ariaLabel:"End"},{key:"q",label:"q",ariaLabelKey:"navigation.quitPager"}];function k({worktreeId:a,cliToolId:b,instanceId:c,onKeysSent:k,showPagerKeys:l=!1,hideEnterKey:m=!1}){let n=(0,f.c)("worktree"),{activeKey:o,markPressed:p}=(0,h.t)(),q=(0,g.B)(a,b,c,k),r=(0,e.useCallback)(a=>{p(a[0]),q(a)},[p,q]),s=(0,e.useMemo)(()=>{let a=m?i.filter(({key:a})=>"Enter"!==a):i;return l?[...a,...j]:a},[l,m]),t=(0,e.useCallback)(a=>{if(m&&"Enter"===a.key)return;let b={ArrowLeft:"Left",ArrowUp:"Up",ArrowDown:"Down",ArrowRight:"Right",Enter:"Enter",Escape:"Escape"}[a.key];b&&(a.preventDefault(),r([b]))},[r,m]);return(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 py-1.5 bg-muted rounded-lg",onKeyDown:t,role:"toolbar","aria-label":n("navigation.toolbarLabel"),children:[(0,d.jsx)("span",{className:"text-xs text-muted-foreground mx-2",children:n("navigation.caption")}),s.map(({key:a,label:b,ariaLabel:c,ariaLabelKey:e})=>(0,d.jsx)("button",{type:"button",className:`min-w-[44px] min-h-[44px] px-3 py-2 text-sm font-medium rounded-md
|
|
11
11
|
border border-border
|
|
12
12
|
focus:outline-none focus:ring-2 focus:ring-ring
|
|
13
13
|
transition-colors duration-75
|